User Datagram Protocol(UDP) | |||||||||||||||||||||||||||||||||||||||||||||
User Datagram Protocol(UDP)는 Internet Protocol(IP)의 상위에 있는 두 개의 주요한 Transport layer 중 하나이다. UDP는 최상의 데이터 스트림(stream) 서비스를 요구하지 않는 어플리케이션들을 위해 transaction-oriented best-effort delivery 서비스를 제공한다. UDP의 서비스 공급자는 IP이다. UDP의 중요한 클라이어트는 다음과 같은 어플리케이션 계층 프로토콜들이다. | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
UDP는 IP의 서비스를 사용하지만, 그것은 인터넷 프로토콜로서 신뢰성이 결여된 커넥션리스 전달 서비스(connectionless delivery service)를 제공한다. UDP는 호스트들 사이에서 변화하는 정보의 비율을 관리하기 위해 흐름제어(flow control)를 수행한다. UDP는 데이터의 성공적 전달을 보장하는 표시를 보내거나 받지 않는다. UDP는 패킷 정렬하는 방법을 제공하지 않기 때문에 패킷은 destination station에 의해 적절한 순서대로 놓이게 된다. 신뢰성 있고 순차적인 전달을 요구하는 어플리케이션들은 TCP의 서비스를 사용해야만 한다. UDP는 어플리케이션 프로그램들간의 통신을 위해 최소한의 프로토콜 오버헤드(마치 TCP 처럼)로 간단한 transaction 서비스를 지원한다. UDP는 IP에 의해 이미 제공된것보다 두 가지 추가적인 특색을 지원한다. UDP는 목적지 포트 넘버에 기초한 어플리케이션 프로세서를 위하여 데이터를 demultiplex하는 기능을 제공한다. | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
Demultiplexing Based on Port Number | |||||||||||||||||||||||||||||||||||||||||||||
UDP가 IP에 의해 제공하는것 이외에 지원하는 추가적인 특색 중 하나는 목적지 포트 넘버에 기초하여 어플리케이션 프로세서를 위한 데이터를 demultiplex하는 능력이다. 반면에 IP는 인터넷을 통한 두 개의 호스트들 사이에 통신이 가능하도록 하는 라우팅 기능을 제공하고, UDP는 주어진 호스트 안에서 다양한 목적지들을 구별하도록 하는 메카니즘을 만든다. 이것은 주어진 호스트에서 데이터그램을 독립적으로 주고 받을 수 있도록 다수의 어플리케이션 프로그램들이 실행하도록 한다. | |||||||||||||||||||||||||||||||||||||||||||||
Demultiplexing | |||||||||||||||||||||||||||||||||||||||||||||
UDP는 요청 프로세스와 서버 프로세스 사이에 분리된 상호작용을 위한 인터페이스를 제공한다. 서버 클라이언트는 passive 클라이언트인 반면에 요청 프로세스(requester process)는 active 클라이언트이다. active 클라이언트는 리모트 passive 클라이언트에 서비스를 요청한다. Receive 요청을 을 받으면, passive 클라이언트는 well-known 포트(주어진 서비스를 위해 이미 정해진) 넘버로 listening socket을 유지한다. passive 서버는 active 클라이언트가 요청하는 서비스에 해당하는 포트에 따라 서비스를 제공한다. Active 클라이언트 는 Well-known 포트로 서비스 요청을 보내고, passive 클라이언트가 응답을 위해 사용하는 포트 넘버에 관심을 갖는다. UDP의 사용 예는 네트웍 매니지먼트의 내용에서 쉽게 참고할 수 있다. 예를 들면, 호스트에 존재하는 SNMP agents(the server process)는 네트웍 매니지먼트 스테이션(the request process)의 요청에 응답해야만 한다. 각 SNMP agent는 destination 호스트의 Well-known 161 UDP 포트에 매니지먼트 요청을 기다린다. 만일 SNMP 매니저가 네트웍 관리 정보를 얻고자 한다면, destination 호스트 UDP 포트 161에 요청을 한다. | |||||||||||||||||||||||||||||||||||||||||||||
Some UDP Port Numbers | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
Frame Encapsulation | |||||||||||||||||||||||||||||||||||||||||||||
UDP 메시지는 인터넷을 통한 이동을 위해 IP 데이터그램 내부로 encapsulate 된다. | |||||||||||||||||||||||||||||||||||||||||||||
UDP Frame Encapsulation | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
UDP Header Format | |||||||||||||||||||||||||||||||||||||||||||||
UDP Header Format | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
Pseudo Header and Checksum | |||||||||||||||||||||||||||||||||||||||||||||
Pseudo 헤더는 IP 헤더와 UDP 헤더로부터 선택된 필드들로 구성된다. Pseudo 헤더는 source 인터넷 어드레스, destination 인터넷 어드레스, IP 헤더로의 프로토콜 필드로 구성된다. 또한 UDP 길이 필드도 포함한다. 다음 절차는 UDP checksum을 계산하는 과정이다. UDP checksum은 source 호스트에서 destination 호스트까지 데이터 그램이 전달될 때 발생하는 모든 에러에 대한 검출이 가능하다. 만일 데이터그램이 destination 호스트의 알맞은 포트에 전달됐다는 것을 검증할 수 있다면, 우리는 적절한 위치에 도착한 것을 안다. | |||||||||||||||||||||||||||||||||||||||||||||
Standard IP Header | |||||||||||||||||||||||||||||||||||||||||||||
Standard UDP Heade | |||||||||||||||||||||||||||||||||||||||||||||
UDP Checksum Fields : Pseudo Header and Data Qctets |
출처: http://blog.naver.com/no1kam
CCNA+CCNP 참고교육사이트 : http://www.lesson-web.com/cisco/main_1.htm
'가지가지' 카테고리의 다른 글
ubuntu 동영상 재생 totem movie player (0) | 2007.01.01 |
---|---|
Ubuntu edgy + XGL + Beryl (0) | 2006.12.28 |
리눅스 디렉토리 구조를 한눈에... (jpg) (0) | 2006.10.29 |
X-Hyper255B (ARM용)보드에 mp3 player 돌리기 (0) | 2006.06.23 |
Motor Position (Modeling, PID, Root Locus) (0) | 2006.06.16 |
Qt 실행시 "세그멘테이션 오류" 잡기 (0) | 2006.05.23 |
linux에서 DHCPd사용시 인터넷이 안될때 설정 (0) | 2006.05.23 |
Sendmail 사용 - 2004년 2학기 (0) | 2006.05.23 |