文章目录
版本号(Version)
- 占4位
- 此字段为 0110 = 6,即:IPv6
流量类型(Traffic Class)
- 占8位
- 与IPv4中ToS字段含义相似,表示IPv6数据报的类或优先级,主要应用于QoS
流标签(Flow Label)
- 占20位(IPv6新增字段)
流标签 + 源地址
可以唯一确定一条数据流- 用于实现负载分担
在没有流标签时如何确定一条数据流?
- 源IP + 目的IP + 协议(TCP/UDP等)+ 源端口 + 目的端口
以HTTP协议为例
HTTP协议 使用 TCP的 80 端口作为目的端口,源端口由客户端随机产生
这条流便可以用五元组标识:客户端IP + HTTP服务器IP + TCP + 随机源端口号 + 80
负载分担
- 去往某一目的地时,有多条路由可选,且这些路由的优先级与开销都相同,这些路由便称为等价路由
- 等价路由可同时存在于路由表中实现负载分担,即:数据包可以走任意一条路由
基于流的负载分担:
- 路由器会根据五元组选择路由,由于同一条连接的五元组是相同的,所以这4个包会从等价路由中的其中一条进行转发
链接:等价路由与负载分担
流标签的作用?
- 在没有流标签时,路由器会根据五元组选择路由,而五元组中涉及到传输层的端口号,所以路由器必须要看到传输层的报头
- 这会增加路由器转发处理的复杂性
- 而增加了流标签字段,路由器便可以根据
源IP + 流标签
来确定一条流,只需看到网络层报头即可
有效载荷长度(Payload Length)
- 占16位
- 定长40B首部后面的字节数量(扩展包头 + 上层数据)
下一个首部(Next Header)
- 占8位
- 与IPv4中协议字段类似
- 若此字段是
协议号
,如:6, 即表示上层协议为TCP(与IPv4一样) - 若是一个
扩展首部
的值,如:0,即表示逐跳可选项
跳数限制(Hop Limit)
- 占8位
- 相当于IPv4的TTL
- 每到达一个路由器,路由器直接对此字段减1,当减到0时,便丢弃此数据报
源地址(Source Address)
- 占128位,16B
目的地址(Destination Address)
- 占128位,16B
扩展首部(Extension Header)
- 可选项
- 扩展首部长度不在40B的基本首部内
- 此字段长度会算在
有效载荷长度
中
每个扩展首部对应的下一个首部值
扩展首部 | 下一个首部(Next Header) |
---|---|
逐跳可选项 | 0 |
目的地选项 | 60 |
路由选择 | 43 |
分段 | 44 |
认证(AH) | 51 |
封装安全有效载荷(ESP) | 50 |
- 若一个IPv6报文中有多个扩展首部,则必须按以上顺序出现
如何处理扩展首部?
- 如图
参考资料
- 《TCP/IP路由技术》