네트워크

IP TCP UDP 프로토콜

린예라 2024. 4. 5. 22:07

통신 프로토콜중에 IP와 TCP 그리고 UDP에 대해 알아보자.

OSI7계층에서 보면 IP프로토콜은 3계층인 네트워크 계층이고

TCP와 UDP프로토콜은 4계층인 전송계층의 프로토콜이다.

OSI7계층에 관한 설명 포스팅: https://linyerawork.tistory.com/53

OSI 7계층

1. IP프로토콜

3계층인 네트워크 계층은 인터넷이 가능하게 하는 근본적인 계층이다.

 

발신지부터 목적지까지 패킷을 전달하는 경로설정(Routing)을 하고, 패킷을 전송하고 교환하고 중계한다.

IP프로토콜 또한 네트워크 계층의 프로토콜이기에 이런 특징을 그대로 가지고 있다. IP주소를 가지고 목적지에 데이터를 보낸다.

하지만 상대에게 전달이 되었는지 등의 여부는 확인 하지 않기에 비연결형 이라고도 한다. 또한 패킷의 순서등도 신경쓰지 않고 그냥 보내기만 하는 비신뢰성 프로토콜인 것이다.

 

이런 IP프로토콜의 단점을 극복하기 위해 사용하는 프로토콜이 4계층의 TCP프로토콜과 UDP프로토콜 이라고 할 수 있다.

IP프로토콜과 이 단점을 보완하는 TCP프로토콜을 같이 사용하는 것이 흔히 말하는 TCP/IP프로토콜인 것이다.

현재 우리가 사용하는 인터넷은 일반적으로 1997년에 나온 HTTP/1.1 버전과 TCP/IP프로토콜이다.

 

2. TCP프로토콜

IP의 비연결성(전송에대한응답)과 비신뢰성(패킷의 순서나 누락)을 확실하게 보완한 프로토콜이다.

 

데이터가 성공적으로 전송되면, 이에대해서 응답을 돌려주기 위해 연결을 유지한다.

 

패킷이 순서대로 도착하지 않으면 TCP세그먼트를 참조하여 패킷의 재전송을 요청한다. 즉 순서를 보장한다.(신뢰성)

 

TCP프로토콜의 연결성은 TCP 3way handshake에 의해 구현된다.

위와같이 연결을 수립한 이후에 본격적으로 데이터를 전송한다.

 

3. UDP프로토콜

UDP프로토콜은 IP프로토콜의 단점을 보완하기 위해 나왔다고 보기에는 애매하다.

IP프로토콜과 마찬가지로 패킷 도착여부라던가 순서등을 신경쓰지 않기 때문이다.

추가로 기능이 많이 없기에 커스터마이징이 비교적 자유롭다.

 

IP프로토콜에 PORT(프로세스의식별번호)Checksum(중복검사) 정도만 추가된 형태로 전송계층에서 더 상위계층인 어플리케이션에 데이터를 분배하는 역할을 한다.

 

TCP처럼 연결을 하지도 않고, 순서도 신경쓰지 않기에 TCP보다 속도가 빠르고 네트워크 부하가 적다.

실시간 서비스(방송이나 게임) 등의 신뢰성보다는 연속성과 성능이 중요한 서비스에 주로 사용된다.

'네트워크' 카테고리의 다른 글

일시적인 리다이렉션 응답코드 302, 303, 307  (0) 2024.10.22
영구 리다이렉트 응답코드 301, 308  (0) 2024.10.21
쿠키와 세션  (0) 2024.04.22