IP · TCP · UDP 특징
Table of contents
IP(Internet Protocol) 이란?
IP는 인터넷이 통하는 네트워크에서 정보를 송신하고 수신하는 통신에 대한 규약이다.
사용하는 운영체제, 프로그램이 구현된 언어가 다르기 때문에, 공통된 통신 규약을 만든 것이다.
각각 정해진 IP를 갖고 있고, 이 IP는 마치 집 주소와 같다.
그리고, 우리가 데이터를 전송하길 원할 때, 전송할 데이터와 출발지 IP , 도착지 IP 등의 정보를 포함하여 전송한다.
하지만, IP 만으로는 신뢰성있는 데이터 송신을 할 수 없다.
IP의 문제점
데이터를 받을 대상이 없거나 서비스 불능 상태여도 전송하고, 송신자는 이를 알 수 없다.
중간에 데이터가 사라지거나, 보낸 순서에 변동이 생겨도 송신자는 알 수 없다.
한 IP에서 여러 IP와 통신할 때, 올바르게 구분하여 데이터 송·수신이 어렵다.
이러한 문제점을 해결해 주는 것이 TCP(Transmission Control Protocol) 이다.
TCP(Transmission Control Protocol) 이란?
TCP는 위와 같은 IP 통신의 문제점을 해결해준다.
IP에 의해 생성된, 출발지 IP 와 목적지 IP 정보 이외에
출발지 Port와 도착지 Port 그리고 전송제어, 순서, 검증정보 등을 포함시켜준다.
TCP의 특징
- 3 way handshake 방식을 통해 연결지향적이고 IP 의 첫번째 문제점을 해결해준다.
먼저 목적지 IP에 SYN(연결 요청) 을 보낸다.
SYN을 받은 목적지 IP에서 출발지 IP에 ACK(요청 수락) 을 보내고 마찬가지로 SYN(연결 요청)을 보낸다.
연결 요청 확인을 받은 출발지 IP는 ACK(요청 수락)을 보내주고 데이터를 전송한다.
위와 같은 방식을 따르기 때문에, 먼저 연결을 확인하고 데이터를 전송하므로, 신뢰성 있는 데이터 송·수신을 할 수 있고 전달 보증을 할 수 있다.
- TCP는 순서 정보를 포함하고 있기 때문에, 목적지에서 출발지에서 보낸 데이터가 순서대로 도착하지 않을 시 다시 요청을 하므로, 데이터 송·수신 순서를 보증할 수 있다.
UDP(User Datagram Protocol) 이란?
UDP는 IP와 거의 유사하나, Port 정보를 포함하고 있다.
성능이 IP와 거의 유사하여, 신뢰성을 보증할 수 없었지만,
최근 HTTP3 최적화 및 처리 기술 발달과 TCP에 비해 단순하고 빠르다는 장점때문에 최근 각광받고 있다고 한다.
컴퓨터 IP 주소라는 말은 많이 들어본 것 같은데, 통신에 대한 지식이 전무한 상황이었다. 이번 공부를 통해서, 어떤 과정으로 데이터가 전송되고 어떤 문제점이 있어서, 어떤 특징을 지닌 프로토콜이 생겼는지, 역할은 무엇인지 잘 알 수 있었다.