본문 바로가기

Programming Theory/Network

UDP protocol

1. 개괄

TCP/IP protocol 의 transport 계층은 TCP/UDP로 나뉜다.

cf. TCP/IP protocol : Application / Transport / Internet / Network Interface

transport 계층은 

1) 데이터의 안정적 전송 (flow / acknowledgement / connection control)

2) 응용 프로그램의 식별 (port 이해)

역할을 한다.


UDP 방식의 경우 데이터의 안정적 전송이 안되는데, 데이터 신뢰성 보장을 해야 한다면, application 계층에서 신뢰성을 보장할 수 있다.


2. 특징

1) 신뢰성을 고려하지 않음 (신뢰성을 보장해야 한다면, 응용 계층에서 설정 가능)

2) 비 연결 지향 (Connectionless protocol)

3) (TCP 대비) 전송 속도가 빠르다.

4) Unicast(1:1), Broadcast(1:all), Multicast(1:many) 모두 지원 가능

cf. TCP : Unicast 만 지원 가능


3. UDP Header의 구조

1) source port number(16bit)

destination port number(16bit)

2) length

3) checksum 


1) source port number / destination port number

* UDP 의 경우 데이터의 안정적 전송을 하지 않을 뿐, 응용 프로그램의 식별은 정확하게 한다.

- port 번호의 범위는 0 ~ (2의 16제곱 -1 = 65535)

 Well-known ports

- IANA 지정

0 ~ (2 의 10제곱 -1 = 1023)

 Registered ports

- IANA 지정 예정

(2의 10제곱=1024) ~ (2의 15제곱 - 1 = 49151)

 Dynamic ports

- 필요시 할당 가능 port

(2의 15제곱=49152) ~ (2의 16제곱 -1 = 65535)

- HTTP 응용 프로토콜을 사용해서 client(web browser) 와 server(web server) 가 통신을 한다고 하면, server 의 port는 80 으로 고정, client 의 port 는 그때마다 Dynamic ports 의 범위의 숫자 중 사용되지 않는 숫자가 할당된다. client 의 port 가 지정되지 않는 이유는 한 PC 에서 여러개의 web browser를 띄울 수 있기 때문이다. 


2) length
length = UDP header 길이(8byte) + Data 길이

* TCP 는 header length 인데 반해, UDP는 전체 segment 길이를 말한다. 
* TCP 의 header length는 option 때문에 최소 20, 최대 60으로 가변적이나, UDP 의 header는 8 byte로 고정되어 있다.

3) checksum
TCP와 마찬가지로, 데이터 손상 여부를 체크한다.


'Programming Theory > Network' 카테고리의 다른 글

network 명령  (0) 2014.12.28
IP/ARP/RARP/ICMP protocol  (0) 2014.12.28
TCP protocol  (0) 2014.12.27
OSI 7 layer 와 level 별 switch 장비  (0) 2014.12.21
OSI 7 Layer 와 network 장비  (0) 2014.12.21