사이의 논리적 통신을 제공한다.
- 데이터 프레임(data frame) : 링크 계층.
- 역다중화 : 세그먼트를 생성하기 위해 각 데이터를 헤더 정보로 캡슐화하고, 그 세그먼트들을 네트워크 계층으로 전달하는 작업.
UDP(user datagram protocol)
: L4에서 제공해야할 최소한의 서비스, 즉 프로세스 대 프로세스 데이터 전달과 오류 검출만을 제공하는 비연결형 전송 프로토콜.
UDP의 특징- 비연결형
- UDP가 제공하는 두 가지 서비스(최소한의 두 가지 전송 계층 서비스) :
1. 프로세스 대 프로세스 데이터 전달(포트 - 프로세스 매핑, 두 개의 포트 정보(근원지, 목적지)를 통해 소켓 식별).
2. 오류 검출 : 헤더에 오류 검출 필드를 포함함으로 무결성 검사를 제공.
- 3 Way Handshake같은 연결 설정이 없다.
- 연결 상태가 없다. 따라서 패킷 오버해드가 적다: 세그먼트 당 8byte.
- DNS, NFS, SNMP, RIP 등이 사용.
- 세그먼트 구조 : 포트번호(근원지, 목적지), 길이, checksum | payload.
|
Bits |
16 |
32 |
|
32 |
Source Port |
Destination Port |
|
64 |
Length |
Checksum |
| |
Data |
- UDP 세그먼트의 구조(헤더: 8byte)
* 잘 알려진 포트(well-known port) : 0 ~ 1023 | HTTP : 80, FTP : 21
TCP(transmission control protocol): UDP가 제공하는 서비스 뿐 아니라 신뢰성있는 데이터 전달과 흐름 제어 및 혼잡 제어를 지원하는 L4의 연결 지향형 프로토콜
TCP의 특징- 연결 지향형(실제로 연결된 것은 아니기에 요런 애매모호한 말을 사용)
- TCP가 제공하는 서비스 : UDP가 제공하는 서비스 더하기,
1. 신뢰적인 데이터 전달
2. 흐름 제어(flow control: 수신자 버퍼오버플로 방지), 혼잡 제어(congestion control: 네트워크 내의 패킷 수가 과도하게 증가하는 현상 방지)
- 두 개의 포트 정보(목적지, 근원지)와 두 개의 IP 정보(목적지, 근원지)를 통해 소켓 식별
- packet overhead : 20byte
- 대부분의 L7 프로토콜(HTTP, FTP, SMTP, Telnet 등)이 사용.
- 전이중(full-duplex), 점대점(point to point) 서비스.
- 통신 시작 : 3 way handshake, 통신 종료 : 4 way handshake
|
Bits |
4 |
8 |
16 |
32 |
|
32 |
Source port |
Destination port |
|
64 |
Sequence number |
|
96 |
Acknowledgment number |
|
128 |
header length |
reserved |
flags(urg,ack,
psh,rst,syn,fin) |
rcvr window size |
|
160 |
Checksum |
ptr to urgent data |
|
160/192 |
Options (optional) |
|
|
Data
|
- TCP 세그먼트의 구조(헤더: 20 ~ 24byte )
TCP vs UDP
|
구분 |
TCP |
UDP |
|
연결 형태 |
연결 지향 |
비연결형 |
|
데이터 순서 |
순서 유지 |
순서 유지하지 않음 |
|
데이터 손실 |
손실 없음 |
손실 가능 |
|
흐름/혼잡/오류 제어 |
GBN, SR ARQ 사용 |
해당 제어기능 없음 |
|
패킷 오버해드 |
20byte |
8byte |
|
사용 예 |
대부분의 L7 프로토콜(HTTP, FTP, SMTP, Telnet 등) |
DNS, NFS, SNMP, RIP 등 |
댓글을 달아 주세요
너무 자세한 느낌입니다. 원리만 아시다는 기분으로 정리하세요...