首页 > 代码库 > UDP协议

UDP协议

 

1.计算机网络体系结构简介

计算机网络是一个非常复杂的系统,计算机网络是由大量的结点组成的,各个结点之间进行通信和数据交换构成了互联网。为了保证各节点之间的通信正确,计算机网络需要一个十分合理的体系和通信协议。

(1)计算机网络体系结构简介

计算机网络体系结构采用分层的原理来实现的,计算机网络体系有两种标准,一种是由国际标准化组织(ISO)制定的开放系统互连模型(OSI),一种是事实应用的TCP/IP模型。具体如下所示:

 技术分享

分层设计的优点:灵活性比较好,易于实现和维护,有利于各层功能之间的协作,有利于标准化。

TCP/IP模型与OSI模型相比较来说,在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。

网络接口层: 

负责IP数据报的接收和发送

运行网络接口层的协议  

网络层:  

进行路由选择、流量控制和拥塞控制

提供无连接服务的网络层协议 

传输层: 

传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话,建立端到端的链接。这一层运行两个协议:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。  

TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。  

UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。  

应用层:  

运行进程之间的通信协议

数据处理

       (2)面向连接服务和无连接服务

服务类型分为两大类,一类是面向连接服务,一类是无连接服务。面向连接服务是指在传输数据前,必须建立链接,数据传输完毕后释放链接,无连接服务是指通信是不需要建立链接,通信结束后也不必释放链接的服务。

面向连接服务特点:

面向连接具有连接建立、数据传输和释放连接3个过程。

面向连接的每一个数据分组中均带有该数据分组的源IP地址和目的IP地址。

面向连接的服务是可靠的。

面向连接服务的协议较为复杂

无连接服务的特点:

无连接服务中数据传说过程不需要经过连接建立、连接维护和释放连接3个过程。

无连接服务的可靠性不好,这种服务常被称为“尽最大努力交付”。

无连接服务的协议相对简单,通信效率较高。

2.用户数据报协议UDP

用户数据报协议UDP(User Datagram Protocol),是一种无连接的传输层协议,不可靠的传输层协议。

用户数据报UDP有两个字段,即首部字段和数据字段。UDP用户数据包的首部字段格式比较简单,如下图所示。

源端口号:用于标记该户举报的源端口号。

目的端口号:用于标记该数据报的目的端口号。

UDP用户数据报的长度,包括数据报首部长度和数据部分的长度。

检验和字段,用于防止用户数据报在传输中出错

技术分享技术分享 

 UDP协议使用报头中的检验值来保证数据的安全。但是在在计算UDP用户数据报检验和时,还需要在其数据报前加一个12字节的伪首部。格式如下:

源IP地址:占4个字节,用于标记发送端的IP地址。

目的IP地址:占4个字节,用于标记接收端的IP地址。

0:占1个字节。

协议:占一个字节。UDP的协议号是17.

UDP数据报长度:占两个字节。

 

 

UDP协议