RFC 768 - User Datagram Protocol

RFC 768                                                        J. Postel

                                                                     ISI

                                                          28 August 1980

                         User Datagram Protocol

                         ----------------------

Introduction

------------

This User Datagram  Protocol  (UDP)  is  defined  to  make  available  a

datagram   mode  of  packet-switched   computer   communication  in  the

environment  of  an  interconnected  set  of  computer  networks.   This

protocol  assumes  that the Internet  Protocol  (IP)  [1] is used as the

underlying protocol.

This protocol  provides  a procedure  for application  programs  to send

messages  to other programs  with a minimum  of protocol mechanism.  The

protocol  is transaction oriented, and delivery and duplicate protection

are not guaranteed.  Applications requiring ordered reliable delivery of

streams of data should use the Transmission Control Protocol (TCP) [2].

Format

------

                  0      7 8     15 16    23 24    31 

                 +--------+--------+--------+--------+

                 |     Source      |   Destination   |

                 |      Port       |      Port       |

                 +--------+--------+--------+--------+

                 |                 |                 |

                 |     Length      |    Checksum     |

                 +--------+--------+--------+--------+

                 |                                    

                 |          data octets ...           

                 +---------------- ...                

                      User Datagram Header Format

Fields

------

Source Port is an optional field, when meaningful, it indicates the port

of the sending  process,  and may be assumed  to be the port  to which a

reply should  be addressed  in the absence of any other information.  If

not used, a value of zero is inserted.

Postel                                                          [page 1]

                                                             28 Aug 1980

User Datagram Protocol                                           RFC 768

Fields

Destination  Port has a meaning  within  the  context  of  a  particular

internet destination address.

Length  is the length  in octets  of this user datagram  including  this

header  and the data.   (This  means  the minimum value of the length is

eight.)

Checksum is the 16-bit one's complement of the one's complement sum of a

pseudo header of information from the IP header, the UDP header, and the

data,  padded  with zero octets  at the end (if  necessary)  to  make  a

multiple of two octets.

The pseudo  header  conceptually prefixed to the UDP header contains the

source  address,  the destination  address,  the protocol,  and the  UDP

length.   This information gives protection against misrouted datagrams.

This checksum procedure is the same as is used in TCP.

                  0      7 8     15 16    23 24    31

                 +--------+--------+--------+--------+

                 |          source address           |

                 +--------+--------+--------+--------+

                 |        destination address        |

                 +--------+--------+--------+--------+

                 |  zero  |protocol|   UDP length    |

                 +--------+--------+--------+--------+

If the computed  checksum  is zero,  it is transmitted  as all ones (the

equivalent  in one's complement  arithmetic).   An all zero  transmitted

checksum  value means that the transmitter  generated  no checksum  (for

debugging or for higher level protocols that don't care).

User Interface

--------------

A user interface should allow

  the creation of new receive ports,

  receive  operations  on the receive  ports that return the data octets

  and an indication of source port and source address,

  and an operation  that allows  a datagram  to be sent,  specifying the

  data, source and destination ports and addresses to be sent.

[page 2]                                                          Postel

28 Aug 1980

RFC 768                                           User Datagram Protocol

                                                            IP Interface

IP Interface

-------------

The UDP module  must be able to determine  the  source  and  destination

internet addresses and the protocol field from the internet header.  One

possible  UDP/IP  interface  would return  the whole  internet  datagram

including all of the internet header in response to a receive operation.

Such an interface  would  also allow  the UDP to pass  a  full  internet

datagram  complete  with header  to the IP to send.  The IP would verify

certain fields for consistency and compute the internet header checksum.

Protocol Application

--------------------

The major uses of this protocol is the Internet Name Server [3], and the

Trivial File Transfer [4].

Protocol Number

---------------

This is protocol  17 (21 octal)  when used  in  the  Internet  Protocol.

Other protocol numbers are listed in [5].

References

----------

[1]     Postel,   J.,   "Internet  Protocol,"  RFC 760,  USC/Information

        Sciences Institute, January 1980.

[2]     Postel,    J.,   "Transmission   Control   Protocol,"   RFC 761,

        USC/Information Sciences Institute, January 1980.

[3]     Postel,  J.,  "Internet  Name Server,"  USC/Information Sciences

        Institute, IEN 116, August 1979.

[4]     Sollins,  K.,  "The TFTP Protocol,"  Massachusetts  Institute of

        Technology, IEN 133, January 1980.

[5]     Postel,   J.,   "Assigned   Numbers,"  USC/Information  Sciences

        Institute, RFC 762, January 1980.

Postel                                                          [page 3]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值