reference: Computer Networking 3판. James F. Kurose, Keith W.Ross

전송계층 프로토콜(transport layer protocol) : 은,
서로 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신(logical communication)을 제공하지만, network layer protocol은 호스트 사이의 논리적 통신을 제공한다.

계층 별 패킷(packet)을 일컫는 말 :
    - 세그먼트(segment) : 전송 계층,
    - 데이터그램(datagram) : 네트워크 계층,
    - 데이터 프레임(data frame) : 링크 계층.

다중화(multiplexing) & 역다중화(demultiplexing)
    - 역다중화 : 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업
    - 다중화 : 세그먼트를 생성하기 위해 각 데이터를 헤더 정보로 캡슐화하고, 그 세그먼트들을 네트워크 계층으로 전달하는 작업.

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


신고
Posted by 어쨌건간에