글
■ 전송 계층 프로토콜(Transport Layer Protocol)
- 서로 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신(Logical Communication)을 제공하지만,
Network Layer Protocol은 호스트 사이의 논리적 통신을 제공한다.
■ 계층 별 패킷(Packet)을 일컫는 말
- 세그먼트(Segment) : 전송 계층
- 데이터그램(Datagram) : 네트워크 계층
- 데이터프레임(Data Frame) : 링크 계층
■ 다중화(Multiplexing) & 역다중화(Demultiplexing)
- 다중화 : 세그먼트를 생성하기 위해 각 데이터를 헤더 정보로 캡슐화하고, 그 세그먼트들을 네트워크 계층으로 전달하는 작업으로 데이터 통신망에서 하나의 통신회선을 여러 장치들이 공유하여 사용할 수 있는 방법.(시분할 다중화, 주파수 분할 다중화)
- 역다중화 : 세그먼트 데이터를 올바른 소켓으로 전달하는 작업으로 원래의 독립 신호 또는 이들 신호의 군(群)을 복원시키기 위해 다중화된 복합 신호를 분리하여, 원래의 신호 또는 신호의 군으로 복원하는 과정.
(1) TCP 소켓 통신
: "Trasmission Control Protocol"의 약자로 "전송 과정을 컨트롤하는 프로토콜" 이라는 뜻이다.
호스트간 신뢰성 있는 데이터 전달과 흐름제어 및 혼잡제어 등을 제공하는 전송계층의 연결 지향형 프로토콜.
○ 특징
- 높은 신뢰성 (Sequence Number, Ack Number를 통한 신뢰성 보장)
- 가상 회선 연결방식(연결지향형)
- 연결의 설정(3way-handshake)과 해제(4way-handshake)
- 데이터 흐름 제어(수신자 버퍼 오버플로우 방지) 및 혼잡제어(네트워크 내의 패킷 수가 과도하게 증가하는 현상 방지)
- 대부분의 L7 프로토콜(HTTP, FTP, SMTP, Telnet 등)이 사용
- 전이중(Full-Duplex), 점대점(Point to Point) 서비스
- Packet Overhead : 20 bytes
○ 소켓통신 과정
- 서버 측 : 소켓을 생성하고, 주소를 할당하고, 연결요청을 기다리고, 요청에 대한 응답을 한다.
- 클라이언트 측 : 소켓을 생성하고, 주소를 할당하고, 연결요청을 한다.
(2) UDP 소켓 통신
: "User Datagram Protocol"의 약자로 "사용자 데이터그램형 프로토콜" 이라는 뜻이다.
전송계층에서 제공해야할 최소한의 서비스. 즉, 호스트간 데이터 전달과 오류검출만을 제공하는 비연결형 전송 프로토콜.
○ 특징
- 비연결형 (port만 확인하여 소켓을 식별하고 송수신)
- 패킷 오버헤드가 적어 네트워크 부하 감소(세그먼트 당 8 bytes)
- 비 신뢰성
- 오류검출(헤더에 오류 검출 필드를 포함하여 무결성 검사)
- handshake와 같은 연결 설정이 없다
- DNS, NFS, SNMP, RIP 등이 사용
- 세그먼트 구조 : 포트번호(송신/수신), 길이, checksum | payload
- 잘 알려진 포트 (well-known port) : 0~1024 (http : 80, FTP :21)
○ 소켓통신 과정
- 서버 : 소켓을 생성하고, 주소를 할당하고 데이터를 송수신 한다.
- 클라이언트 : 소켓을 생성하고 데이터를 받는다.
○ UDP 통신의 경우 신뢰성을 주기 위해 패킷의 데이터 헤더를 따로 만들어서 일련번호를 부여한다.
일련번호를 확인하는 방법을 통해 신뢰성을 부여하고 있다. (어플리케이션 차원의 소스코딩)
(3) TCP vs UDP
※ 참고자료 : http://anyflow.net/252
'T heory > Protocol' 카테고리의 다른 글
IPC (InterProcess Comunication) - 프로세스간 통신 (0) | 2012.03.28 |
---|---|
TCP 와 UDP 프로토콜 (서술형) (1) | 2012.03.08 |
[TCP] TIME_WAIT (0) | 2012.03.02 |
RTP (Real-time Transport Protocol) (0) | 2012.02.22 |
FTP & TFTP 프로토콜 (0) | 2011.12.15 |
RECENT COMMENT