네트워크

TCP 와 UDP

1. TCP 프로토콜(Transmission Control Protocol)
OSI 계층모델의 관점에서 전송 계층(4계층)에 해당
양종단 호스트 내 프로세스 상호 간에 신뢰적인 연결지향성 서비스를 제공
- IP의 비신뢰적인 최선형 서비스에다가 신뢰적인 연결지향성 서비스를 제공하게 됨
. 신뢰적인 전송을 보장함으로써, 어플리케이션 구현이 한층 쉬워지게 됨

1. 신뢰성 있음 (Reliable)
패킷 손실, 중복, 순서바뀜 등이 없도록 보장
TCP 하위계층인 IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성을 제공

2. 연결지향적 (Connection-oriented)                              
같은 전송계층의 UDP가 비연결성(connectionless)인 것과는 달리, TCP는 연결지향적 임
이 경우, 느슨한 연결(Loosly Connected)을 갖으므로 강한 연결을 의미하는 
가상회선이라는 표현 보다는 오히려 연결지향적이라고 말함
연결 관리를 위한 연결설정 및 연결해제 필요         
양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신

 

2. UDP 프로토콜(User Datagram Protocol)
전송 계층의 통신 프로토콜
- 신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나, 가상회선을 굳이 확립할 필요가 없고 유연하며 효율적 응용의 데이타 전송에 사용

1. 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공 
- 메세지가 제대로 도착했는지 확인하지 않음 (확인응답 없음)
- 수신된 메세지의 순서를 맞추지 않음 (순서제어 없음) 
- 흐름 제어를 위한 피드백을 제공하지 않음 (흐름제어 없음)
- 검사합을 제외한 특별한 오류 검출 및 제어 없음 (오류제어 거의 없음)
- UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖추어야 함
- 데이터그램 지향의 전송계층용 프로토콜 (논리적인 가상회선 연결이 필요없음) 비연결접속상태 하에서 통신 

2. 실시간 응용 및 멀티캐스팅 가능
- 빠른 요청과 응답이 필요한 실시간 응용에 적합
- 여러 다수 지점에 전송 가능 (1:多)

3. 헤더가 단순함
- UDP는 TCP 처럼 16 비트의 포트 번호를 사용하나,
- 헤더는 고정크기의 8 바이트(TCP는 20 바이트) 만 사용 즉, 헤더 처리에 많은 시간과 노력을 요하지 않음

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

HTTP 동작 순서  (0) 2021.04.22
TCP/IP 4계층(Layer)  (0) 2021.02.23
OSI 7계층(Layer)  (0) 2021.02.23
http 상태 코드 정리 및 예외처리  (0) 2021.02.16
TCP-(3way handshaking & 4way handshaking)  (0) 2021.02.16