《MY网络基础知识》----网络层之IP协议(包含IPv4与IPv6)

  

OSI模型

协议

数据包叫法

常见设备

5层模型

应用层

HTTP,DHCP,FTP

报文

常见PC机,工作站,终端等

应用层

表示层

 

会话层

 

传输层

TCP/UDP

传输协议分组,分组

网关

传输层

网络层

IP协议,ICMP协议,IGMP协议

IP包,IP数据报

路由器,三层交换机

网络层

数据链路层

以太网协议,ARP协议

帧,数据帧

交换机,网桥

数据链路层

物理层

802.3

比特流

网口,网线,集线器

物理层

 

一:IP(网际协议)协议

通常我们说的IP协议指的是IPv4协议,通常我们说的IP地址默认也是指IPv4地址。但是各种资料和书籍上都说IPv6将会用于未来。但是由于IPv4已经大规模使用了,替换掉也不是一天两天的事,所以IPv4 和IPv6都各了解一些。做个简单介绍。

 

 

《MY网络基础知识》----网络层之IP协议(包含IPv4与IPv6)_第1张图片

 

二:IPv4和IPv6的报文对比

2.1 IPv4头部

《MY网络基础知识》----网络层之IP协议(包含IPv4与IPv6)_第2张图片

其各个字段的含义如下:

版本号:协议版本号,IPv4为4,IPv6则为6(当然IPv6的头部不完全是这样,但是4个比特含义一致)

首部长度:首部长度指的是首部占32 bit字的数目,包括任何选项。因此IPv4首部最长为60个字节

服务类型:服务类型(TOS)字段包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TOS子字段和1 bit未用位但必须置0。4 bit的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用

数据报长度:以字节为单位的整个IP数据报的长度(包括首部)。

标识、标志、片偏移:标识用来唯一确定主机发送的每一个IP数据报。标志和片偏移用来支持IP分片,当然它们必须和标识一起使用。IPv6则不允许在路由器分片,在IPv6中,分片和重组必须在源和目的进行

生存时间:数据报可以经过的路由器数,这使得IP数据报早晚会在网络中消失,即要么被消失,要么由于生存时间达到而“死亡”

协议:标识IP层承载的上一层协议类型,比如UDP/TCP/SCTP。

首部校验和:首部检验和字段是根据I P首部计算的检验和码。IPv6首部中不再包含首部校验和。

源、目的地址:源的IP地址和目的的IP地址

选项:最后一个字段是任选项,是数据报中的一个可变长的可选信息。主要包括:

安全和处理限制

记录路径(让每个路由器都记下它的I P地址)

时间戳(让每个路由器都记下它的I P地址和时间)

宽松的源站选路(为数据报指定一系列必须经过的I P地址)

严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能经过其他的地址)。

 

 

2.2 IPv6头部

《MY网络基础知识》----网络层之IP协议(包含IPv4与IPv6)_第3张图片

 

版本。长度为4位,对于IPv6,该字段必须为6。

类别。长度为8位,指明为该包提供了某种“区分服务”。该字段的定义独立于IPv6,目前尚未在任何RFC中定义。该字段的默认值是全0。

流标签。长度为20位,用于标识属于同一业务流的包。一个节点可以同时作为多个业务流的发送源。流标签和源节点地址唯一标识了一个业务流。

净荷长度。长度为16位,其中包括包净荷的字节长度,即IPv6头后的包中包含的字节数。这意味着在计算净荷长度时包含了IPv6扩展头的长度。

下一个头。这个字段指出了IPv6头后所跟的头字段中的协议类型。与IPv6协议字段类似,下一个头字段可以用来指出高层是TCP还是UDP,但它也可以用来指明IPv6扩展头的存在。

跳极限。长度为8位。每当一个节点对包进行一次转发之后,这个字段就会被减1。如果该字段达到0,这个包就将被丢弃。

源地址。长度为128位,指出了IPv6包的发送方地址。

目的地址。长度为128位,指出了IPv6包的接收方地址。这个地址可以是一个单播、多播或任意点播地址。如果使用了选路扩展头(其中定义了一个包必须经过的特殊路由),其目的地址可以是其中某一个中间节点的地址而不必是最终地址。

 

 

2.3 IPv4头部与IPv6头部对比总结:

1.包头长度不存在了因为IPv6的头是固定长度。

2.服务类型字段变成了流类别。

3.数据报长度变成了净荷长度。IPv6的净荷长度中包含了扩展头,而IPv4数据报长度字段中则指明包含包头在内的整个数据报的长度。因而在IPv4中,路由器需要将数据报长度减去包头长度来计算包的净荷长度,而在IPv6中则无须这种计算。

4.数据报ID,标识和标志三个字段被删除了,因为它们在IPv4中用于数据报分片,但是IPv6中分片通过分片扩展头来实现而且必须在源设备完成。

5.生存字段变成了跳极限,使用方式类似

6.协议字段变成了下一个头。v4中协议字段用来指示高层的协议类别,但是这里的下一个头可以用来指示扩展头或者高层协议头。

7.头部校验和被删除,因为由于如TCP和UDP等高层协议均计算头的校验和, IPv4头校验显得有些多余,因此这个字段在IPv6中已消失。对于那些真的需要对内容进行身份验证的应用, IPv6中提供了身份验证头。

8.源目地址被扩展到了128比特。

 


三:IPv4与IPv6地址对比

 

3.1 IPv4地址

概括:长度32位,表示用4个十进制点分制,x.x.x.x,每个x取值0-255

IPv4地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。

IPv4地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。

因特网中,每台主机或路由器的接口都有一个IP地址。但是每个接口的IP地址不能随意选择,每个接口的IP地址的组成部分需要由其连接的子网来决定。

 

3.2 IPv6地址

 

概括:长度128位,表示用8个十六进制冒号分制,x:x:x:x:x:x:x:x,每个x取值0x0000-0xffff

介绍:一个x通常叫做一个块。一共8个块

IPv6地址的简写方法:

1.一个块(块对应例子中的x)中的前面的0可以不用写。1111:2222:3333:0044:0055:0066:0077:0088简写为1111:2222:3333:44:55:66:77:88

2.全0的块可以省略,用::代替。如0:0:0:0:0:0:0:1省略为::1,20:0:0:0:0:0:0:1省略为20::1

为避免出现歧义,::只能用一次

 

 

3.3 IPv4与IPv6地址对比总结:

IPv4本地环回地址  127.0.0.0/8 通常只用127.0.0.1

IPv6本地环回地址  ::1/128

 

 

 

 四:IP地址的历史演变

分类寻址->子网寻址->CIDR(无类别寻址)和聚合

 

4.1 分类寻址:

最初的设计是将IP地址分成了ABCDE5类,这介绍的太多了就不啰嗦了。即A类~E类。其中A、B、C3类(如下表格)由InternetNIC在全球范围内统一分配,D、E类为特殊地址。

网络类别

最大网络数

第一个可用的网络号

最后一个可用的网络号

每个网络中的最大主机数

A

126(2^7-2)

1

126

16777214

B

16384(2^14)

128.0

191.255

65534

C

2097152(2^21)

192.0.0

223.255.255

254


《MY网络基础知识》----网络层之IP协议(包含IPv4与IPv6)_第4张图片

 

分类寻址引出问题:

一个IP地址块分配给一个站,该站内需要再细分,则无法实现,必须要再申请一个IP地址块。解决方法就是引入子网寻址。

 

 

4.2 子网寻址:

分配给每个站的一个IP地址块,可以由该站的管理员将它划分为多个子网,各个子网互相独立。各个子网间的联系通过路由。所以引出子网掩码的概念,用子网掩码和IP地址相与,得到网络段。在站外的路由器看到的还是ABCDE五类的IP地址寻址。还是可以根据之前的路由规则来路由。

 

 

分类寻址和子网寻址仍未解决的问题:

 

某个站用B类地址太多了造成浪费,用C类地址又不够使用。解决方法是改变原来的路由表示路由规则。采用CIDR无分类间路由。

 

 

 

4.3 CIDR无分类间路由

在这种编址方案中IP地址被分为网络部分和主机部分两部分,并且具有形式a.b.c.d/x,其中x指示了第一部分中的比特数。前x比特被称为该地址的前缀。该组织内部的设备得IP都将具有该前缀,因而对于外部的路由器,它只需要一条指向该前缀的路由即可。当数据报进入该组织内部网络后,内部的路由器将根据32-x比特的信息转发数据报。

CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”

聚合:

聚合技术是为了解决路由器的路由表项太多的问题

如:192.168.2.5/24对应转发端口2。192.168.3.5/24也对应转发端口2

那么路由表项就是192.168.0.0/16对应转发

 

 

 

 

 

你可能感兴趣的:(MY网络基础知识)