UDP User Datagram Protocol
; 응용계층으로부터 수신한 데이터그램을 하위 IP계층으로 전달하는 기능을 수행합니다.
그러나, 목적지까지 해당 데이터 그램에 대하여 정확한 전달을 보장하지 않기때문에 빈신뢰성 데이터그램 프로토콜이라고도 합니다.
- Connectionless 비연결성
; 연결설정을 하고 데이터를 전송하는 TCP와 다르게 UDP는 연결설정 없이 데이터를 전송합니다.
따라서 연결 설정을 위한 시간지연이 없기 때문에 단발성 서비스에 효과적입니다.
- Non-State 비상태정보
; 각각의 연결에 대한 상태정보에 관련된 여러가지 정보를 저장하지 않기 때문에 시스템 구성이 간편하고 상대적으로 속도가 빠릅니다.
- Unregulated Send Rate 비정규적인 송신률
; 실시간 영상 서비스와 같은 지속적인 최소 전송률을 요구하는 경우, 일부 패킷 손상이 일어날 수 있지만 UDP가 적합합니다.
- Best Effort Service 최선형 서비스
; 송신된 메세지에 대해 수신확인을 수행하지않고 또 오류발생시에도 재전송을 하지않아 패킷 손실의 가능성이 있습니다.
- Small overhead 경량의 오버헤드
; TCP overhead -> 20byte / UDP overhead 8byte
UDP Header Format
송신 포트 ( 16 bit ) |
수신 포트 ( 16 bit ) |
전체 길이 ( 16 bit ) |
체크섬 ( 16 bit ) |
데이터 ( 가변 길이 ) |
- 송신 포트번호
; 송신측 프로세스에서 사용되는 포트번호
1) 송신측이 클라이언트 : 임시포트번호사용
2) 송신측이 서버 : well-known 포트번호 사용
3) UDP 사용 포트 ( http://lenrek.tistory.com/4 의 LIST 참고)
* 명령 프롬프트에서 "netstat -ano"옵션을 이용하여 현재 Window에서 활성화 되어있는 포트흘 확인 할 수 있다.
- 수신 포트번호
; 수신측 프로세스에서 사용되는 포트번호
- 전체길이
; 사용자 데이터그램의 전체길이를 나타내는 필드 ( UDP Header + Data length , 16 bit )
- 체크섬
; UDP헤더와 데이터에서 발생한 오류 검출을 위해 사용
1) 수신측은 수신된 IP헤더로 부터 갓강헤더에 필요한 필드들을 추출하여 전체 패킷에 대해 체크섬 계산을 수행합니다.
2) UDP 헤더 체크섬은 선택사항이며, 모두 '0'일 경우 수신측은 체크섬을 하지 않아도 됩니다.
3) TCP헤더 체크섬은 필수사항입니다.
* 이미지 출처 : 정보통신 기술용어 해설
UDP Action
비연결형서비스
- UDP를 통해 전달되는 데이터 그램들이 독립적으로 취급됩니다.
따라서, 연속된 데이터그램들의 송시측 IP와 수신측 IP주소가 같다고 하더라도 데이터그램들 사이에는 아무런 연관성이 없습니다.
- UDP는 연결 설정과 해제 과정이 없기 때문에, 순서번호를 사용하지 않아 데이터의 순서대로 복원 할 수 없습니다.
흐름 / 오류제어
- UDP는 비신뢰적인 전송프로토콜 입니다. 따라서 흐름제어를 할 수 없고 이로인해 수신측에서는 B.O.F를 야기시키기도 합니다.
- 수신측에서는 체크섬을 이용하여 데이터 그램의 오류를 검사하고, 오류가 발생한경우 폐기시킵니다.
캡슐화 / 역캡슐화
- 송신측에서 UDP를 이용하여 데이터를 보내려고 할 때, 응용계층 프로세스는 DATA, IP, Port로 이루어진 소켓주소를 전송 계층으로 전달합니다.
( UDP를 사용하는 의미에서 IP헤더의 프로토콜 필드는 17로 SET )
- 비슷한 방법으로 정보를 계속해서 붙여나가는 과정이 캡슐화, 역과정을 역캡슐화라고 합니다.
다중화 / 역다중화
-TCP/IP 를 사용하는 호스트에서 여러종류의 UDP를 동시에 이용 할 수 있습니다.
- 다중화는 송신측 입장에서 볼 떄 여러개의 UDP응용 프로세스들이 동시에 UDP 데이터그램을 보내려 할 경우, UDP는 다수의 프로세스들로부터 메세지를 받아들여 각각의 프로레스마다 할당받은 포트번호를 UDP헤더에 덧붙여 전달합니다.
- 역다중화는 수신측 입장에서 볼 떄 UDP를 사용하는 다수의 응용프로세스들이 존재할 수 있고, 이 UDP는 수신한 데이터그램의 오류를검사하여 오류가 없으면 UDP헤더의 수신측으로 포트번호 필드값을 통해 적절한 상위 프로세스로 메세지를 전달하게 됩니다.
- 끗 -
'Network' 카테고리의 다른 글
WEP, WPA. WPA2 (0) | 2014.10.13 |
---|---|
TELNET (0) | 2014.10.10 |
well-known port (0) | 2014.10.08 |
ICMP (0) | 2014.10.07 |
3-way Handshaking (0) | 2014.10.07 |