WOLF-LAB沃尔夫网络实验室中国网络精英的发源地!
24小时咨询热线:173-1636-2402

技术文档

Technical documentation

您当前位置: 首页 > 技术文档 > 详情

IPV6和IPV4报文头部详解-HCIE Datacom考试培训大纲

发布日期:2022-06-15 浏览次数:2712 来源:崔志鹏

IPV6和IPV4报文头部详解-HCIE Datacom考试培训大纲

HCIE Datacom考试报名咨询联系WOLFLAB网络实验室咨询详情

IPv6基本报头、IPv6扩展报头以及上层协议数据单元;

IPv6基本报头有8个字段,固定大小为40字节,每一个IPv6数据报都必须包含报头。

图片 1.png

1、version:标识你是IPV4的头部还是IPV6的头部;

2、IHL:标识IPV4的头部有多长,IPV6取消了,因为ipv4的头部长度是不固定的20B-60B,所以需要有IHL字段标识IPV4的头部长度,但是IPV6的头部长度固定为40B;

3、TOS:相当于IPV6的traffic class,用于对报文进行分类,针对不同的分类提供不同的区分服务的,用于QOS;

4、total length:相当于IPV6的paylaod length,标识IPV4的头部+上层承载的数据一共有多长,IPV6的paylaod length跟IPV4的total length稍有不同,标识上层承载的数据一共有多长(IPV6的扩展头部+上层承载的数据);

5、ID+flags+offset:对IPV4报文进行分片的,IPV6取消了,不在通过基本报头去携带,如果需要分片就通过扩展报头去携带;

注意:分片会出现不带有端口的报文,这时候对于防火墙来说怎么处理,三种?

@针对分片的报文全部放行;

@针对分片的报文全部拒绝;

@防火墙针对所有的分片报文先缓存起来,统一的收集后,在执行相应的策略,会占用防火强的性能;

 

6、TTL:相当于IPV6的hop limit,放环的;

7、protocol:相当于IPV6的next header,标识IPV4头部上层数据的类型,IPV6的next header标识扩展头部或者上层数据的类型;

8、header checksum:校验和字段,IPV6取消了,IPV6因为针对数据的校验不应该是我网络层的工作,数据链路层有校验,传输层也有校验,网络层只针对数据进行转发即可;

8、SIP+DIP:跟IPV6的一样;

9、option:可选项,IPV6的基本头部没有,如果希望实现一些扩展功能我就通过IPV6的扩展头部来实现;

10、padding:IPV6也没有;

------------------------------------------------------------------------------------------------------------------------------------------------------

IPV6新增字段:

FLOW lable:流标签,功能并未实现,那么设计流标签的意义何在?

定义一个流,方便去做负载分担和QOS的

 

路由器的负载分担?

1)基于包去做负载分担

2)基于流去做负载分担:现在都是基于流去做的

R1/R2/R3三台设备底层运行OSPF

图片 1.png

如果是基于包去做负载分担:

AR1访问2.2.2.2,sip:1.1.1.1 dip:2.2.2.2发送5个icmp request的报文,此时AR1查自己的路由表,发现是等价路由0号口扔一个包,1号口扔一个,循环发包;

优点:两条链路占用的带宽的比例是一定的;

缺点:如果一条链路发生拥塞,针对一些需要低延迟的业务是没有办法保障的;

 

现在用的都是基于流去做负载分担的:

如何定义一个流?

针对TCP/UDP的报文通过SIP+DIP+SPORT+DPORT+协议号五元组去定义和区分一个流;

针对非TCP/UDP的报文比如ICMP通过SIP+DIP唯一的区分一个流;

 

路由器在做负载分担的时候,根据流量的五元组去做hash,如果五元组相同那么hash出来的结果一定是相同的,如果五元组不同hash出来的结果一定是不同的,此时路由器就会根据hash出来的结果将不同的流随机的扔到不同的接口上,而不是在基于包去做负载分担了;

AR1访问2.2.2.2,sip:1.1.1.1 dip:2.2.2.2

                           sip:11.11.11.11 dip:2.2.2.2

路由器根据报文的SIP+DIP去做hash,将不同的流随机的扔到不同的链路上,实现负载分担;

优点:可以保障业务的低延迟;

缺点:两条链路占用的带宽的比例可能是不同的;

 

IPV4这种定义流的方式存在什么问题?

因为网络中大多数都是TCP/UDP的流量,路由器需要分析到传输层头部,才能够基于流去做负载分担,效率比较低;

IPV6为了解决该问题,我就在网络层头部定义一个留标签字段,用flow lable+sip地址去定义和区分一个流,提高设备的转发性能。

 

IPV6的扩展头部:

图片 1.png

图片 1.png

逐跳选项:用于告诉转发路径上的每一台路由器所要处理的一些参数,比如给路由器传递警告信息,或者是资源预留RSVP,每一台都要处理。

目的选项包头:只有目标地址才会处理的信息,主要用于移动IPV6,只需要目标节点处理,中间的设备不处理。

路由报头:可以来控制报文在转发的时候要强制的经过哪些路由器,很少用。

分段报头:分段重组

认证报头:又叫AH报头,用来对IPV6的报文进行认证、完整性检测、防重放攻击,但是不加密只认证。

封装安全净载报头:ESP扩展报头,可以针对IPV6报文进行加密,后面两个报头完成IPV6的原生安全功能。

 

注意:

①扩展报头是可选的,只有需要扩展报头对应的功能时,才会添加扩展报头;

②当超过一种扩展报头在IPV6的报文里时,必须要按照上面那个表格的顺序出现;

③路由设备转发时根据基本报头中Next Header值来决定是否要处理扩展头,并不是所有的扩展报头都需要被转发路由设备查看和处理的;

④除了目的选项扩展报头可能在一个IPv6报文中出现一次或两次(一次在路由打展报头之前,另一次在上层协议数据报文之前) ,其余扩展报头只能出现一次。


HCIE Datacom考试阶段提供1v1技术指导,专职老师线上线下同步

返回目录
在线咨询