c语言设置ipv6报文扩展头,IPv6扩展报文头

本文详细介绍了IPv6扩展报头的结构和功能,包括逐跳选项、目的地选项、路由、分段、认证头和ESP报头等。这些扩展报头在数据包传输过程中起到关键作用,如定义源路由、处理可选信息、确保数据安全以及处理超过MTU的分段数据。此外,还提到了TCP和UDP作为传输层协议的标识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

紧跟着IPv6报文头8个基本字段后面的是扩展报头和数据部分。扩展报头部分并不固定,如果存在,以

紧跟着8个基本字段后面是扩展报头和数据部分。扩展报头部分并不固定,如果存在,以64比特为单位附加。多个扩展报文头层层嵌套,内部扩展头由外层扩展头中的下一个报头字段指示(如图1-9所示)。如果数据包携带有上层数据,则最后一个下一个报头字段用来指示传输层协议,比如TCP或UDP。如果不携带上层数据,也就是没有下一个报头,则下一个报头的值为59。

代码如下:

l逐跳扩展头(Hop-by-Hop option):代码是0。用来携带一些可选信息,数据包所经由的路径上的所有路由器都必须处理该可选信息。可选信息的结构包括可选数据类型、可选数据长度和可选数据3部分。RFC2460附录B介绍了如何定义可选数据结构。

l目的地(Destination option)扩展头:代码是60。用来携带那些仅需要数据包目的地节点处理的可选信息。可选信息的结构包括可选数据类型、可选数据长度和可选数据3部分。

l路由(Routing)扩展报头:代码是43。用来定义源路由。该扩展报头中的数据部分列出了一系列数据包到达目的地必须经由的节点地址。

l分段(Fragment)扩展报头:代码是44。当发送方必须对超出MTU的数据进行分段时使用该扩展报头。扩展报头在每一个数据片段中都存在。

l认证头(Authentication Header)扩展报头:代码时51。封装IPSec数据。

lESP扩展报头:代码是50。封装IPSec数据。

lTCP:代码是6。表示携带TCP数据。

lUDP:代码是17。表示携带UDP数据。

l移动性(Mobility)扩展报头:代码是135。移动节点等使用。

64比特为单位附加。多个扩展报文头层层嵌套,内部扩展头由外层扩展头中的下一个报头字段指示(如图1-9所示)。如果数据包携带有上层数据,则最后一个下一个报头字段用来指示传输层协议,比如TCP或UDP。如果不携带上层数据,也就是没有下一个报头,则下一个报头的值为59。

代码如下:

l   逐跳扩展头(Hop-by-Hop option):代码是0。用来携带一些可选信息,数据包所经由的路径上的所有路由器都必须处理该可选信息。可选信息的结构包括可选数据类型、可选数据长度和可选数据3部分。RFC2460附录B介绍了如何定义可选数据结构。

l   目的地(Destination option)扩展头:代码是60。用来携带那些仅需要数据包目的地节点处理的可选信息。可选信息的结构包括可选数据类型、可选数据长度和可选数据3部分。

l   路由(Routing)扩展报头:代码是43。用来定义源路由。该扩展报头中的数据部分列出了一系列数据包到达目的地必须经由的节点地址。

l   分段(Fragment)扩展报头:代码是44。当发送方必须对超出MTU的数据进行分段时使用该扩展报头。扩展报头在每一个数据片段中都存在。

l   认证头(Authentication Header)扩展报头:代码时51。封装IPSec数据。

l   ESP扩展报头:代码是50。封装IPSec数据。

l   TCP:代码是6。表示携带TCP数据。

l   UDP:代码是17。表示携带UDP数据。

l   移动性(Mobility)扩展报头:代码是135。移动节点等使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值