加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

从 IPv4 到 IPv6 过渡,无法错过这些知识点

发布时间:2019-09-05 05:13:14 所属栏目:教程 来源:Gopher Blog
导读:前言 网络是我们工程师的基础技能之一, 毕竟没有网络我们什么也干不了! 从各大公司的招聘要求上看,网络也是重点的考核部分. 今天就和大家一起复习下(还)大学里的课程(欠下的债)! TCP/IP协议簇的IP协议. 理解网络模型 网络的设计大佬们想出了分层的设计,将
副标题[/!--empirenews.page--]

 前言

网络是我们工程师的基础技能之一, 毕竟没有网络我们什么也干不了! 从各大公司的招聘要求上看,网络也是重点的考核部分. 今天就和大家一起复习下(还)大学里的课程(欠下的债)! TCP/IP协议簇的IP协议.

从 IPv4 到 IPv6 过渡,无法错过这些知识点

理解网络模型

网络的设计大佬们想出了分层的设计,将各个功能分开,交付给不同的层,这样的好处是便于更新和维护(IPv6的到来并没有使整个网络重新设计),也便于我们的学习和理解.下面是各个版本的网络体系的结构图:

从 IPv4 到 IPv6 过渡,无法错过这些知识点

让我们明确下各层的工作职责(以五层协议为例):

应用层,该层协议主要负责各个应用程序之间交互的规则.如HTTP,DNS,其交互的数据单元可以称为”报文”.

运输层,为应用层提供通用的数据传输服务.为上层跑腿的.TCP,UDP均是运输层协议.

网络层,为网络中不同的主机提供通信服务.IP协议工作在该层.

数据链路层,负责相邻两点的数据传送.

物理层, 传输比特流, 0 或 1. 每一层将数据封装成自己能理解的数据格式,交付给下一层,下一层将收到的作为自己的数据再次添加本层的必要数据,向下交付,直到链路层,传递到目的地后,每层再将该层的必要数据去掉,交付给上层.如下图:

从 IPv4 到 IPv6 过渡,无法错过这些知识点

理解IP协议

在理解了网络模型和各层直接的配合之后,下面进入今天的正题,网际协议(IP).

该节主要理解IP协议给我们提供的功能有哪些,说白了就是它能干嘛.

  • 为网络中的主机(PC或路由或网关)提供身份证.
  • 定义了网络主机的基本交流方式, 从IP数据报的格式可以看出.
  • 为路由寻址提供方便, 从路由表结构可以看出.

任何一个协议都可以由语法,语义和同步三部分组成.

语法,交换信息的格式,对于IP协议,就是IP报文的格式.

语义,即需要发出何种控制信息,以及接收到信息后如何响应.

同步,对事件顺序的详细说明.

也就是定义了使用IP协议进行交流的法则.

IPv4

IPv4是IP协议的第4个版本,就是我们现在使用的.下面从多个方面了解下该版本.

IP地址

网络上的主机都需要一个IP地址,这样才能知道彼此的位置.IPv4地址由32bit构成,常使用点分十进制表示(192.168.1.1).

分类

IP地址的分类就是把所有IP划分为若干类别, 每一类都由固定长度的字段组成.分别为网络号和主机号.下面是各类地址组成示意图:

从 IPv4 到 IPv6 过渡,无法错过这些知识点

  • A类地址,8位网络号,第一位固定为0,可用的网络号只有126个(2^7-2),网络号从0到127. 减去2是因为:IP地址全为0表示”本网络”,保留; 网络号为127作为软件回环测试使用, 若主机发出目的地为127.0.0.1的数据时,该数据不会向任何网络上的主机发送.也就是说127开头的地址不能使用. 对于A类地址中的每一个网络号,对应的主机号有(2^24-2)个: 主机号全0表示,其网络号对应的网络地址, 全1表示所有主机的意思.
  • B类地址网络号为16位,但前面2位以固定为1 0.无论怎么取值,无法出现全0或全1的情况.128.0.0.0的网络是不使用的,实际使用的最小B类网络地址为128.1.0.0.所以B类的网络地址有(2^14-1)个.
  • C类的地址有24位的网络号,最前面的3位固定为1 1 0.192.0.0.0的网络地址也是不使用的,最小的C类地址为192.0.1.0

总结如下:

从 IPv4 到 IPv6 过渡,无法错过这些知识点

分类的好处:

  • 方便管理,IP地址管理机构只需管理网络号,剩下的可以由下级管理.
  • 路由寻址时根据网络地址转发分组,减小路由表.

数据报格式

先看下IP数据报的基本格式:

从 IPv4 到 IPv6 过渡,无法错过这些知识点

可以看到IP数据报包含了首部和数据部分. 其中首部包含固定的20字节和可变的部分. 下面是各部分的解释:

  • 版本,占4位,IP协议的版本号,通信双方需要相同.
  • 首部长度,占4位, 单位4字节.最大能表示(2^4-1) * 4 = 60字节.当IP分组的首部长度不是4的整数倍时,需要使用填充字段填充.
  • 区分服务,占8位, 表示服务类型,未使用.
  • 总长度, 占16位,表示首部和数据部分的总长度(单位字节).因此数据报的最大总长度为(2^16-1 = 65535)字节.
  • 标识(identification), 占16位.当数据报长度超过下层的MTU时,需要分片, 被分片的数据报的标识一样,这样可以进行重组.
  • 标志(Flag), 占3位, 目前只有2位有意义
  • 最低位,MF(More Fragment) = 1 表示后面还有分片. MF = 0 表示分片中的最后一个.
  • 中间一位,DF(Don’t Fragment),不要分片,只有当DF=0才允许分片
  • 片偏移, 占13位.较长的分组在分片后, 某片在原分组的相对位置.必须是8字节的整数倍.
  • 生存时间, 占8位, Time To Live(TTL),开始指生存的秒数,后来变为经过路由的跳数,每经过一个路由,TTL减小1,当为0时,丢弃该数据.显然,最大跳数为255, 为1时就只能在局域网中传播了。
  • 协议, 占8位.支出该数据报的数据是使用何种协议, 以便目的主机IP层知道将数据交付给哪个协议处理. 常用的协议及对应数值:
  • 从 IPv4 到 IPv6 过渡,无法错过这些知识点

  • 首部校验和, 占16位.数据报的首部校验和,不包括数据部分.
  • 源地址, 目的地址, 各占32位

IPV6

IPv6的出现是解决IPv4资源枯竭的问题.其仍然支持无连接的传送, 但传送的是PDU分组,而不是IPv4的数据报.

IP地址

IPv6的地址是128bit,在可预见的未来是够用的.但和IPv4版本并不兼容, 若使用IPv4版本的主机A和使用IPv6版本的主机B之间通信是需要特殊处理的,在后面会介绍方法.

IPv6的地址表示

IPv6的地址采用冒号十六进制记法 , 8组4个16进制数字,中间使用冒号隔开.例如:

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读