ipv6头部格式 c语言,[转载]IPv4报头格式、IPv6包头格式

表1 IPv4报头格式

4bit版本号

4bit头标长度

8bit服务类型

16bit数据包长度

标识(16bit)

df mf 标准偏移量(16bit)

生存时间(8bit)

传输协议(8bit)

头标校验和(16bit)

发送地址(32bit)

信宿地址(32bit)

选项(8bit)

.........

填充

表2 IPv6包头格式

4bit版本号

4bit优先级

24bit流量标识

数据长度(16bit)

下一包头(8bit)

跳数限制(8bit)

起始地址(128bit)

目的地址(128bit)

struct iphdr {

#if defined(__LITTLE_ENDIAN_BITFIELD)

__u8 ihl:4,

version:4;

#elif defined (__BIG_ENDIAN_BITFIELD)

__u8 version:4,

ihl:4;

#else

#error "Please fix

"

#endif

__u8 tos;

__be16

tot_len;

__be16

id;

__be16

frag_off;

__u8 ttl;

__u8 protocol;

__be16

check;

__be32

saddr;

__be32

daddr;

};

struct ipv6hdr {

#if defined(__LITTLE_ENDIAN_BITFIELD)

__u8 priority:4,

version:4;

#elif defined(__BIG_ENDIAN_BITFIELD)

__u8 version:4,

priority:4;

#else

#error "Please fix

"

#endif

__u8 flow_lbl[3];

__u16 payload_len;

__u8 nexthdr;

__u8 hop_limit;

struct in6_addr saddr;

struct in6_addr daddr;

};

IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

Version(版本号):4位,IP协议版本号,值= 6。

Traffice

Class(通信类别):8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型(TOS)字段。

Flow

Label(流标记):20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。

Payload Length(负载长度):

16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65,535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(Jumbo

Payload)选项。

Next

Header(下一包头):8位,识别紧跟IPv6头后的包头类型,如扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或着ICMPv6)。

Hop

Limit(跳段数限制):8位,类似于IPv4的TTL(生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。

Source Address(源地址):128位,发送方主机地址。

Destination

Address(目的地址):128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值