让我们明确下各层的工作职责(以五层协议为例):
应用层,该层协议主要负责各个应用程序之间交互的规则.如http,dns,其交互的数据单元可以称为”报文”.运输层,为应用层提供通用的数据传输服务.为上层跑腿的.tcp,udp均是运输层协议.网络层,为网络中不同的主机提供通信服务.ip协议工作在该层.数据链路层,负责相邻两点的数据传送.物理层, 传输比特流, 0 或 1. 每一层将数据封装成自己能理解的数据格式,交付给下一层,下一层将收到的作为自己的数据再次添加本层的必要数据,向下交付,直到链路层,传递到目的地后,每层再将该层的必要数据去掉,交付给上层.如下图:
首部校验和, 占16位.数据报的首部校验和,不包括数据部分.源地址, 目的地址, 各占32位ipv6
ipv6的出现是解决ipv4资源枯竭的问题.其仍然支持无连接的传送, 但传送的是pdu分组,而不是ipv4的数据报.
ip地址
ipv6的地址是128bit,在可预见的未来是够用的.但和ipv4版本并不兼容, 若使用ipv4版本的主机a和使用ipv6版本的主机b之间通信是需要特殊处理的,在后面会介绍方法.
ipv6的地址表示
ipv6的地址采用冒号十六进制记法 , 8组4个16进制数字,中间使用冒号隔开.例如:
6845:8c64:ffff:ffff:0:1180:9000:ffff
若一组中全是0,可以省略三个.若存在连续多组0,可以使用冒号取代,但只能压缩一次 ff05:0:0:0:0:0:0:b3 可以压缩为 ff05::b3 1090:0:0:0:8:800:200c:417a 可以压缩为 1090::8:800:200c:417a 全零可记为 ::最后的2组可以使用ipv4的点分十进制表示 0:0:0:0:0:0:128.10.2.1 可表示为 ::128.10.2.1数据报格式
ipv6数据报由两大部分组成, 基本首部和有效载荷.有效载荷运行有0个或多个扩展首部.
可以看到,ipv6的首部是固定的40字节,和ipv4不同;在组成上也有很大区别,下面看下各部分的意思.
版本, 占4位, 协议的版本,通信双方需要相同通信量类, 占8位.区分不同的ipv6的数据报或优先级.流标号, 占20位. ipv6一个新机制就是支持资源预分配, 运行路由把每个数据报与特定的资源分配和联系.ipv6提出流的概念.指互联网上从特定源点到特定终点的一系列数据报(如实时的音频或视频传输), 在这个流经过的路径上路由都保证指明的服务质量.所有属于同一个流的数据报具有相同的流标号.赋值为0即为关闭.有效载荷长度, 占16位.指明除基本首部以外的字节数.大64kb.下一首部, 占8位.相当于ipv4的协议字段或可选字段.当ipv6没有扩展首部时, 该字段和ipv4的协议字段一样.有扩展首部时,表示第一个扩展首部的类型.跳数限制, 和ipv4的ttl一样源地址,目的地址, 各占128位从ipv4向ipv6过渡
网络如此庞大,从ipv4向ipv6的变换不可能一蹴而就.若要在两个版本的协议下通信,有下面的2个方法
双协议栈
简单的说就是一个主机能够理解两个版本的内容,这样主机也要有2个版本对应的ip地址.具有双协议栈的主机, 可以通过dns系统知道目的主机使用的协议版本.
下面是两台使用ipv6的主机通信示意图,它们之间需要通过ipv4网络, 在必要的时候经过双协议栈的主机进行协议的转换,当然转换的时候有些信息可能丢失,这也是不可避免的.
使用隧道技术
隧道技术的原理是,在ipv6的数据需要进入ipv4网络时,将ipv6的数据报(准确的说是pdu)当成ipv4数据报的数据部分,使用ipv4版本传输,在离开ipv4网络时在此组装成ipv6的数据,发往目的地.下面是一个示意图:
结束语
关于ip协议,还有很多可以谈的地方, 这里就不再深入了.读完希望你能有一个”明镜一样”的感觉。
内容电商新趋势,短视频+电商赢在哪里?企业网站建设的重要性都体现在哪些方面美国云服务器性能影响的有哪些因素?网站日志分析深圳网站建设网站建设不可忽略的地方网站建设报价|网站优化与推广的技巧有哪些?品牌纷争时期 网站推广企业必须积极寻求转变企业网站建设工作中的四大要点