[컴퓨터네트워크] TCP & UDP 정리
[컴퓨터네트워크] TCP & UDP 정리
TCP 프로토콜(Transmission Control Protocol)
플래그 M 비트 : 끝이냐(0) 끝이 아니냐(1) |
OSI 계층모델의 관점에서 전송 계층(4계층)에 해당
양 종단 호스트 내 프로세스 상호 간의 신뢰적인 연결지향적 서비스를 제공
- IP의 비신뢰적인 최선형 서비스에다가 신뢰적인 연결지향성 서비스를 제공하게 됨
- 신뢰적인 전송을 보장함으로써, 어플리케이션 구현이 한층 쉬워지게 됨
1. 신뢰성 있음 (Reliable)
- 패킷 손실, 중복, 순서바뀜 등이 없도록 보장
- TCP 하위계층인 IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성을 제공
2. 연결지향적 (Connection-oriented)
- 같은 전송계층의 UDP가 비연결성(connectionless)인 것과는 달리, TCP는 연결지향적임
- 이 경우, 느슨한 연결(Loosly Connected)을 갖으므로 강한 연결을 의미하는 가상회선이라는 표현보다는 오히려 연결지향적이라고 말함
- 연결 관리를 위한 연결설정 및 연결해제 필요
- 양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신
UDP 프로토콜(User Datagram Protocol)
발신지 포트, 목적지 포트는 필수, 체크섬은 옵션 |
- 신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나
- 단, 출발지 포트 번호와 목적지 포트 번호를 포함함
- 가상회선을 굳이 확립할 필요가 없고 유연하며 효율적 응용의 데이터 전송에 사용
1. 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
- 메시지가 제대로 도착했는지 확인하지 않음 (확인응답 없음)
- 수신된 메시지의 순서를 맞추지 않음 (순서제어 없음)
- 흐름 제어를 위한 피드백을 제공하지 않음 (흐름제어 없음)
- 검사합을 제외한 특별한 오류 검출 및 제어 없음 (오류제어 거의 없음)
- UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖춰야 함
- 단 체크섬을 통한 간단한 오류검사는 가능 -> 체크섬은 선택
- 데이터그램 지향의 전송 계층용 프로토콜 (논리적인 가상회선 연결이 필요 없음)
- 비연결접속상태 하에서 통신
2. 실시간 응용 및 멀티캐스팅 가능
- 빠른 요청과 응답이 필요한 실시간 응용에 적합
- 여러 다수 지점에 전송 가능 (1:多)
3. 헤더가 단순함
- UDP는 TCP처럼 16비트의 포트 번호를 사용하나
- 헤더는 고정크기의 8바이트(TCP는 20바이트)만 사용
- 즉, 헤더 처리에 많은 시간과 노력을 요하지 않음
댓글
댓글 쓰기