UDP/IP传输协议

您所在的位置:网站首页 udp网络 UDP/IP传输协议

UDP/IP传输协议

2023-09-15 18:59| 来源: 网络整理| 查看: 265

一、传输层最重要的协议就是TCP和UDP。TCP协议复杂,是面向连接的传输协议且传输可靠;而UDP协议简单,是面向无连接的传输协议,传输速度快但传输不可靠。可以将UDP协议看作IP协议暴露在传输层的一个接口。

UDP协议同样以数据报(datagram)的方式进行数据传输,而且UDP协议提出了端口(port)的概念。IP协议进行的是IP地址到IP地址的传输。但是每台计算机有多个通信通道,并将多个通信通道分配给不同的进程(例如QQ、WEB等),这样一个端口就代表一个通信通道。UDP协议实现了端口到端口的数据传输服务,UDP的数据报也是被封装成“应用层-UDP-IP”的形式进行传输的。

二、UDP的数据报:UDP数据包分为头部(header)和数据(payload)两部分。UDP是传输层的协议,这意味着UDP数据包需要经过IP协议的封装,然后通过IP协议传输到目的电脑。随后UDP数据包在目的电脑上进行拆封,并将信息送到对应的端口缓存中。应用层则可以根据socket等编程接口获取相关端口的数据包信息,用于上层的进一步应用。

如上图所示为UDP协议数据的头部信息,包括源端口(可选的,端口不用置0即可)、目的端口、报文长度、校验和(其覆盖UDP的头部信息和数据信息,在IPV4中,checksum可以为0;IPV6中必须进行校验)。其中报文长度用来指定UDP数据报包括数据部分的长度(最小值为8字节,且包括IP头等数据)。UDP传输协议相比于TCP协议有以下优点:①当使用广播或多播时,一般使用UDP协议而不是TCP协议。②UDP协议是面向无连接的,协议实现简单且速度较快。

三、IP的数据报:IP协议是不可靠且无连接的网络层传输协议。所有的TCP、UDP等数据都是以IP数据报的形式进行传输的。IP协议通过IP地址进行目的电脑的识别与连接。待传输的数据经过UDP头部信息的封装后,还需进一步经过IP头部信息的封装,进而通过IP协议传输到目的电脑。

4位版本信息:IPv4为0100,IPv6为0110。

4位首部长度:用于标识首部的长度(单位为4字节),所以首部的最大长度为15*4字节=60字节。

8位服务类型:包括3位优先权字段,4位TOS字段,1位始终为0。

16位总长度(字节数):整个IP数据报的长度。IP数据报中的数据长度=IP数据报总长度-IP首部长度。

16位标识:唯一地标识主机发送的每一份数据。

3位标志:用于IP数据报分片,第1位未用;第二位是DF位,DF=1表明IP不对该数据报分片;第3位是MF位,当对数据报分片时,除了最后一片外,其他每个数据报片都要将此位设1。

13位偏移:用于IP数据报分片。单位为8字节,表明该片相对于原始数据报开始处的位置,能表示的最大偏移为。

8位生存时间(TTL):设置数据报可以经过的最多路由器的数量,每经过一个路由器,该值就减去1,当该值为0时,数据报被丢弃,通常设置为32或64。

8位协议:表示上层传输层所用的协议类型,1表示ICMP协议,2表示IGMP协议,3表示TCP协议,17表示UDP协议。

16位首部校验和:用于对IP首部的正确性进行校验,但是并不包括数据部分,这与TCP/UDP的首部校验和有所区别。

32位源IP地址:发送端的32位IP地址。

32位目的IP地址:接收端的32位IP地址。

选项(如果有):可变长度的可选信息,若IP首部不包括这个可选部分,则IP首部长度为20字节。

四、IP首部校验和的计算:

①发送端对IP首部校验和的计算步骤:

Ⅰ将IP数据报首部的校验和字段置为0。

Ⅱ把IP数据报的首部看成16位为单位的数字组成,依次进行二进制反码求和,然后将求和结果取反。

Ⅲ将得到的2个字节数据存入首部校验和位置即可。

②接收端对IP首部校验和的校验步骤:

Ⅰ把首部看成16位为单位的数字组成,依次进行二进制反码求和,然后将求和结果取反。

Ⅱ如果结果为0,则表示校验和校验通过,否则校验失败。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3