-
IP(Internet Protocol)는 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 말합니다.
- 역할
- 지정한 IP 주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
- 한계
- 비연결성 : 패킷을 받을 대상이 없거나 서비스가 불가해도 패킷을 전송할 수 있다.
- 비신뢰성 : 패킷이 유실되거나, 순서대로 오지 않을 수 있다.
- 프로그램 구분 : 애플리케이션이 같은 IP를 사용할 수 있다.
-
TCP는 IP 상위 계층에서 동작한다
- 역할
- 연결 지향(3-way-handshake) - 가상연결
![](https://velog.velcdn.com/images/knhng/post/5ad1a8d3-d5fa-40bc-8d08-3411bb32950d/image.png)
- SYNC : Client가 Server에 접속 요청
- SYNC + ACK : 요청 수락
- ACK : ACK를 Server에 보내고 연결이 establish되고, 데이터 전송을 할 수 있게 된다.
- 데이터 전달 및 순서 보장 : TCP는 IP의 위에서 동작하며(=IP 데이터를 포함), 추가로, Destination Port, Source Port, 전송제어 정보, 순서 정보, 검증 정보등을 포함하여 보낸다.
추가로 데이터 전달 시, 이에 대한 응답을 통해 데이터 전달 및 순서를 보장할 수 있게 된다.
-
UDP : 사용자 데이터그램 프로토콜
- 역할
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다
- 사용하는 이유
- TCP는 3way-handshake가 필요 없어 시간이 빠르고, 매우 단순하기 때문에 전달이 빠르다.
-
PORT : 어플리케이션이 상호구분을 위해서 사용하는 번호이다. 같은 IP에서 여러개의 어플리케이션과 통신을 한다면, 여러개의 PORT를 사용해 각각의 포트로 부터 응답을 받아 응답한다.
-
DNS : Domain Name System
- 역할
- 사용하는 이유
- IP는 기억하기 어려움
- IP는 변경될 수 있음
-
URI : 유일한 이름이나 위치를 표시하는 모든 식별자
- URL : 서버의 한 리소스에 대한 구체적인 위치를 서술(URI의 대부분은 URL임)
- URN : 리소스에 이름을 부여하여 서술