UDP : User Datagram Protocol
Download
Report
Transcript UDP : User Datagram Protocol
UDP : User Datagram Protocol
Computer Network System
Sirak Kaewjamnong
1
UDP : User Datagram Protocol
•
•
•
•
RFC 768
connectionless protocol (no connection establishment)
provide unreliable service
use socket as TCP
2
UDP Encapsulation
• With Ethernet frame
Ethernet header IP header
UDP datagram
UDP header
data
protocol type in IP header = 17
3
Ports
• Port : A 16 bits address allocated for the most common
application level service
• UDP and TCP use port addressing to deliver information to
applications
• Service are known by port number
– FTP 20, TELNET 23, SMTP 25, HTTP 80
4
Ports
• Port numbers are generally allocated by
•
•
•
•
0 not used
1- 255 Reserves port to well known service
256 - 1023 Other reserve port
1024 - 65535 user defined server ports
• UNIX store general used ports in /etc/service
5
Sockets
• Socket : a pair of the IP address and the port number
IP address
Port number
172.28.80.96, 5160
• IP address is a unique to a node, the port is unique on a node
the socket gives a unique identification of an application layer
service
6
Socket Address
• A connections identified by the socket address at its to ends
– client socket : 172.28.80.96,3000; 192.168.100.3 ,21
– server socket : 192.168.100.3,21 ; 172.28.80.96,3000
IP 172.28.80.96
Client port: 3000
IP 192.168.100.3
connection
Server port: 21
7
UDP Format
15 16
0
31
Source port :16
Destination port: 16
UDP length :16
Checksum : 16
data
• Source and destination port : 16, 16 identify applications at ends of
the connection
• length: 16 - length of datagram including header and data
• checksum :16 -one’s complement of header and data including
pseudo data
8
UDP Pseudo Header
0
78
15 16
Source IP address : 32
Destination IP address : 32
Zero:8
Protocol : 8
Source port : 16
UDP length : 16
UDP length :16
Destination port : 16
Checksum : 16
Data….
31
Pseudo header
UDP header
9
UDP Pseudo Header
• Include destination for double checking that destination is
correct
• if datagrams be an odd number of bytes, UDP append a pad
byte of 0, just for computation
• 0 indicates no checksum (checksum disable)
• if compute checksum is 0, it stores as all one bits (65,535)
10
UDP for Application
•
•
•
•
TFTP
DNS
RPC, NFS
SNMP
11