News
发布日期:2022-06-15 浏览次数:2700 来源:崔志鹏
IPV6和IPV4报文头部详解-HCIE Datacom考试培训大纲
HCIE Datacom考试报名咨询联系WOLFLAB网络实验室咨询详情
IPv6基本报头、IPv6扩展报头以及上层协议数据单元;
IPv6基本报头有8个字段,固定大小为40字节,每一个IPv6数据报都必须包含报头。
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
如果是基于包去做负载分担:
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的扩展头部:
逐跳选项:用于告诉转发路径上的每一台路由器所要处理的一些参数,比如给路由器传递警告信息,或者是资源预留RSVP,每一台都要处理。
目的选项包头:只有目标地址才会处理的信息,主要用于移动IPV6,只需要目标节点处理,中间的设备不处理。
路由报头:可以来控制报文在转发的时候要强制的经过哪些路由器,很少用。
分段报头:分段重组
认证报头:又叫AH报头,用来对IPV6的报文进行认证、完整性检测、防重放攻击,但是不加密只认证。
封装安全净载报头:ESP扩展报头,可以针对IPV6报文进行加密,后面两个报头完成IPV6的原生安全功能。
注意:
①扩展报头是可选的,只有需要扩展报头对应的功能时,才会添加扩展报头;
②当超过一种扩展报头在IPV6的报文里时,必须要按照上面那个表格的顺序出现;
③路由设备转发时根据基本报头中Next Header值来决定是否要处理扩展头,并不是所有的扩展报头都需要被转发路由设备查看和处理的;
④除了目的选项扩展报头可能在一个IPv6报文中出现一次或两次(一次在路由打展报头之前,另一次在上层协议数据报文之前) ,其余扩展报头只能出现一次。
HCIE Datacom考试阶段提供1v1技术指导,专职老师线上线下同步