UDP 用户数据报格式(单播+组播)
2018-03-01 19:51
218 查看
UDP单播:
UDP的主要特点是:UDP是无连接的;UDP使用最大努力交付;UDP是面向报文的。
Wireshark抓取一个UDP单播数据报在以太网的传输,截图如下:
从上往下分别是:
(1)数据链路层,以太网MAC帧的格式如下:
前两个字段分别为6个字节的目的地址MAC和源地址MAC字段,第三个字段是2字节的类型字段。
(2)网络层,IP数据报格式如下
各字段内容如图所示。
(3)运输层,UDP数据报格式如下:
UDP首部格式:
数据字段和首部字段,首部字段很简单,只有8个字节,有四个字段组成,每个字段的长度都是两个字节。各字段意义如下:
(1)源端口 源端口号。在需要对方回信时选用。不需要时可用全0。
(2)目的端口 目的地端口号。这在终点交付报文时必须要用到。
(3)长度 UDP数据报的长度,其最小值是8(仅有首部)。有错就丢弃。
(4)检验和 检测UDP用户数据在传输中是够有错。有错就丢弃。
UDP校验和区间:首部和数据部分一起校验。
UDP伪首部:第3字段全是零,第4个字段是IP首部中的协议字段的值。对于UDP,此协议字段值为17。
UDP组播:
组播报文的目的地址使用D类IP地址, D类地址不能出现在IP报文的源IP地址字段。单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”的原理[路由选择]在IP网络中传输。
组播地址:
组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。
224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用;
224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;
224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;
239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。
组播是一对多的传输方式,其中有个组播组的 概念,发送端将数据向一个组内发送,网络中的路由器通过底层的IGMP协议自动将数据发送到所有监听这个组的终端。至于广播则和组播有一些相似,区别是路由器向子网内的每一个终端都投递一份数据包,不论这些终端是否乐于接收该数据包。UDP广播只能在内网(同一网段)有效,而组播可以较好实现跨网段群发数据。
UDP组播是采用的无连接,数据报的连接方式,所以是不可靠的。也就是数据能不能到达接受端和数据到达的顺序都是不能保证的。但是由于UDP不用保证数据 的可靠性,所有数据的传送效率是很快的。
Wireshark抓取一个UDP组播数据报在以太网的传输,截图如下:
Wireshark过滤UDP组播报的方法:(eth.dst[0]&1)
UDP的主要特点是:UDP是无连接的;UDP使用最大努力交付;UDP是面向报文的。
Wireshark抓取一个UDP单播数据报在以太网的传输,截图如下:
从上往下分别是:
(1)数据链路层,以太网MAC帧的格式如下:
前两个字段分别为6个字节的目的地址MAC和源地址MAC字段,第三个字段是2字节的类型字段。
(2)网络层,IP数据报格式如下
各字段内容如图所示。
(3)运输层,UDP数据报格式如下:
UDP首部格式:
数据字段和首部字段,首部字段很简单,只有8个字节,有四个字段组成,每个字段的长度都是两个字节。各字段意义如下:
(1)源端口 源端口号。在需要对方回信时选用。不需要时可用全0。
(2)目的端口 目的地端口号。这在终点交付报文时必须要用到。
(3)长度 UDP数据报的长度,其最小值是8(仅有首部)。有错就丢弃。
(4)检验和 检测UDP用户数据在传输中是够有错。有错就丢弃。
UDP校验和区间:首部和数据部分一起校验。
UDP伪首部:第3字段全是零,第4个字段是IP首部中的协议字段的值。对于UDP,此协议字段值为17。
UDP组播:
组播报文的目的地址使用D类IP地址, D类地址不能出现在IP报文的源IP地址字段。单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”的原理[路由选择]在IP网络中传输。
组播地址:
组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。
224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用;
224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;
224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;
239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。
组播是一对多的传输方式,其中有个组播组的 概念,发送端将数据向一个组内发送,网络中的路由器通过底层的IGMP协议自动将数据发送到所有监听这个组的终端。至于广播则和组播有一些相似,区别是路由器向子网内的每一个终端都投递一份数据包,不论这些终端是否乐于接收该数据包。UDP广播只能在内网(同一网段)有效,而组播可以较好实现跨网段群发数据。
UDP组播是采用的无连接,数据报的连接方式,所以是不可靠的。也就是数据能不能到达接受端和数据到达的顺序都是不能保证的。但是由于UDP不用保证数据 的可靠性,所有数据的传送效率是很快的。
Wireshark抓取一个UDP组播数据报在以太网的传输,截图如下:
Wireshark过滤UDP组播报的方法:(eth.dst[0]&1)
相关文章推荐
- 网络基本概念之TCP, UDP, 单播(Unicast), 多播(组播)(Multicast)
- Linux UDP 单播 组播 广播实现
- linux udp 单播组播广播实现
- linux udp 单播组播广播实现
- 单播、广播、组播 - udp
- linux udp 单播 组播 广播实现
- C# 完整的UDP客户端代码 组播+单播 异步+同步
- 【网络编程】UDP数据报格式
- [转载] linux udp 单播组播广播实现
- UDP用户数据报头格式
- 3.用户数据报(UDP):进程到进程的通信
- udp数据报从网卡驱动到用户空间流程总结
- 网络基本概念之TCP, UDP, 单播(Unicast), 多播(组播)(Multicast)
- Java UDP 单播、多播(组播)、广播、任播(未实现)
- Linux 网络编程——TCP 和 UDP 数据报格式详解
- Java UDP 多用户 组播 聊天程序
- udp单播-广播-组播-python例子
- linux udp 单播组播广播实现
- Linux UDP 单播 组播 广播实现
- MAC帧格式、IPV4数据报格式、TCP报文格式、UDP数据报格式