用户数据报协议:(UDP)
作用
进程的每一个输出操作都正好产生一个UDP数据报,并且组装成一份待发的IP数据报。
结构
16位源端口号 | 16位目的端口号 |
16位UDP长度 | 16位UDP检验和 |
数据 |
端口号:表明了发送进程与接收进程
TCP/UDP端口号相互独立,不一定相同
UDP检验和
特点
1.覆盖UDP首部以及UDP数据
2.可选的,并不是必须的
3.检验和在计算中出现了两次
方式
1.16bit的二进制反码和(与IP检验和计算方式相同)。
2.由于长度可以为奇数字节,因而必要的时候在末尾填充字节0.
3.计算检验和的时候,会构造伪首部(真正发送的时候并不存在)
32位源IP | ||
32位目的IP | ||
0 | 8位协议(17) | 16位UDP长度 |
伪首部存在的原因:
UDP首部并没有源/目的 IP地址,加入伪首部后通过检验和可以进一步确定发送/接收无误。
如果接收端接收的数据中检验和位0,说明发送端未计算检验和。
IP分片
原因
物理层发送存在MTU。
过程
IP发送IP数据报时 ----选路---> 得到接口的MTU ------> 判断是否分片 ----是--->
发送端主机/中间路由器分片 -------> 链路层
结构
1.标识字段在每一片中都相同
2.标志字段用1 bit来表示“更多的片”,除了最后一片为0,其他片均为1.
3.片偏移字段 指 偏移位置
4.IP中的长度改为该片的实际长度
注意
IP数据报指的是分片之前或者重组之后的数据
分组 既可以指IP数据报,也可以指IP数据报的一片。
ICMP不可达差错(需要分片)
原因:IP首部中的标志字段(3bit)中的一位是不分片标志(DF),若其为1,而数据又需要分片,即可产生这种差错。
ICMP源站抑制差错
当一个系统接收数据报的速度比其处理速度快时,可能会产生这种差错。
广播与多播
定义与特征
1.广播与多播仅应用于UDP
2.以太网帧------->目的主机 单播
------>多个主机 多播
------>所有主机 广播
3.网卡接收 目的地址为 网卡物理地址及广播地址 的 以太网帧
4.混杂模式:能接收每个帧的一个复制
5.多播地址 01:00:00:00:00:00
广播地址 ff:ff:ff:ff:ff:ff
广播
受限的广播
255.255.255.255 仅在本地网络中,路由器不转发
指向网络的广播
网络号+主机号(全1),路由器转发
指向子网的广播
网络号+子网号+主机号(全1)
指向所有子网的广播
网络号+子网号(全1)+主机号(全1),未划分子网时,就是第二种
多播
作用
1.向多个目的地址传送数据
2.客户对服务器的请求
多播组地址
能够接收发往一个特定多播地址数据的主机的集合称为主机组,一个主机组可以跨越多个网络