408计算机网络——第4章网络层

修改于:https://changlu.blog.csdn.net/article/details/132141007

一、网络层的功能

1.1、网络层功能概述(三种功能介绍)

网络层主要任务:将分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。

网络层传输单位:数据报。

功能层的功能如下所示:

功能一:路由选择与分组转发

通过使用路由算法来确定一条最佳路由,接着将这个分组按照路由的顺序发送出去,也就是选择一个最佳路径。

功能二:异构网络互联

无论是手机、连着网线电脑、4G、Wifi、校园网,通过不同的网络可以实现彼此之间的通信,这就是异构的网络。
通过路由器这个异构网络可以相互连接在一起,形成一个巨大的网络。

功能三:拥塞控制

若是所有的结点都来不及接收分组,而要丢弃大量分组的话,网络就要处于拥塞状态,因此要采取一定措施,缓解这种拥塞。

拥塞与流量控制区别:
拥塞控制:是一个全局性的概念,是因为整个网络当中负载过重,也就是说每一个节点都在非常忙碌的工作,所以导致分组的转发速度非常慢,进而导致大部分的分组都被丢弃,这种情况就是产生了拥塞。
流量控制:发送方的发送速率太快,此时接收方要告诉发送方慢点发。

解决拥塞控制的两种方法:
开环控制:静态的控制方式,在网络开始工作之前就把所有能够产生拥塞的因素,全部考虑到,然后进行一个预先的控制。
闭环控制:动态的控制方式,预先不去考虑这些,而是让网络运行起来的时候,自行的去进行调整来实现拥塞的控制。

1.2、SDN基本概念

2022新增考点(主要选择题)

1.2.1、理解转发与路由选择

路由器功能:转发&路由选择

1.2.1.1、转发

转发:也就是指我们的一个分组如何从一个端口转发出去,到另外一个端口当中,此时这个转发过程是数据平面最主要的一个功能。

转发的实现解决方式:通常硬件解决,时间短。

数据平面:对于数据处理过程中的各种具体处理转发过程。

1.2.1.2、路由选择

路由选择:主要都是在路由选择过程中所使用到的协议,可以理解为路由选择的这个过程的一些功能。

路由选择的实现解决方式:通常使用软件解决,时间长。

控制平面:控制平面用于控制和管理网络协议的运行,比如OSPF协议、RIP协议、BGP协议。

-注意:对于数据平面、控制平面都是逻辑上的词,数据平面是相对于转发的,控制平面是相对于路由选择的。

1.2.2、数据平面(转发)

数据平面执行的主要功能:根据转发表进行转发,这是路由器的本地动作。

转发表:就是基于路由表所生成。

1.2.3、控制平面(路由计算与选择)

两种实现方法:传统方法(每路由器法)、SDN方法

实现方式一:传统方法(每路由器法)
传统方法:控制平面、数据平面都是在一个路由器内进行的。在一台路由器中的路由选择算法与其他路由器中的路由选择算法进行通信(通过交换路由选择报文),计算出路由表和转发表。

实现方法二: SDN方法
SDN(Software-Defined Networking):控制平面从路由器物理上分离。路由器仅实现转发,远程控制器计算和分发转发表以供每台路由器所使用。路由器通过交换包含转发表和其他路由选择信息的报文与远程控制器通信。

传统方法中与SDN方法中的路由选择处理器

传统方法:路由选择处理器执行控制平面功能。在传统的路由器中,它执行路由选择协议,维护路由选择表与关联链路状态信息,并为该路由器计算转发表。

SDN方法:在SDN路由器中,路由选择处理器用于负责与远程控制器通信,目的是接收远程控制器计算的转发表项。

SDN控制平面的三个层次

北向API(往上)、南向API(往下)可以叫做北向接口、南向接口,通过这个接口可以访问上面的服务或者下面的服务。
南向API可以实现SDN控制器和网络设备之间数据的一个交换。

SDN控制器:维护准确的网络状态信息(远程链路、交换机和主机的状态);为运行在控制平面中的网络控制应用程序提供这些信息。(逻辑集中,在多台服务器上实现)

网络控制应用程序:根据SDN控制器(网络操作系统)传来的信息进行计算接下来这个路由选择应该是选择一个什么样的路径。最终的计算会交由网络控制应用程序来完成。

SDN控制平面展开的三个层次

分为三层如下:

对于网络控制应用程序的接口(含北向API):SDN控制器通过北向接口与网络控制应用程序交互。该API允许网络控制应用程序在状态管理层之间读写网络状态。

网络范围状态管理层(含SDN控制器):由SDN控制平面作出的最终控制决定,将要求控制器具有有关网络的主机、链路等最新状态信息。

通信层(含南向API):SDN控制器与受控网络设备之间的通信(OpenFlow)协议,包含"南向接口"。

总结

二、路由算法

2.1、认识路由表

路由表/转发表如下图所示:

最佳路由:"最佳"只能是相对某一种特定要求下得出的较为合理的选择而已。

2.2、路由算法的分类

在这里插入图片描述

2.3、分层次的路由选择协议

2.3.1、分层次的路由选择协议

采用分层次路由选择协议的主要原因:
1、因特网规模很大。
2、许多单位不想让外界知道自己的路由选择协议,但还想连入因特网。

根据这些原因就出现了自治系统AS:
描述:由于整个因特网规模太大,将整个因特网分成很多小的团体,这个小的团体,称之为自治系统的一个单位。在这个自治系统内,它所使用的协议外部是完全不知道的,此时我们就可以尽量减少每一个路由器表项的个数,同时还可以使一个自治系统内的这些路由器它们所使用的协议对于外界来看是透明的,也就是外界并不清楚内部自治系统使用的协议。

自治系统AS:在单一的技术管理下的一组路由器,这些路由器使用的是AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

2.3.2、路由选择协议分为IGP与EGP(包含图示)

内部网关协议 (IGP):指的就是内部路由器之间进行转发的协议。一个AS内使用的RIP、OSPF协议。

外部网关协议 (EGP):指的是外部路由器之间转发的协议。AS之间使用的BGP协议。

如下图所示:可以看到在自治系统内部使用的是RIP、OSPF协议,在自治系统外部两个路由器直接转发的协议则是BGP-4

三、IPV4

3.1、IP数据报

3.1.1、TCP/IP协议栈

TCP/IP协议栈:

在网路层中,ARP协议在最下面,此时就需要为IP协议服务,此时这个IP协议也要为ICMP、IGMP协议进行服务。

3.1.2、IP数据报格式(具体字段介绍)

IP数据报分为两个部分:首部、数据部分

具体的首部有哪些字段:

版本:占了4位,指的是IPV4/IPv6。
首部长度:占了4位,用来表示具体这个首部的大小,并且针对这个表示的大小单位是4B。
区分服务:占了8位,用于指示期望获得哪种类型的服务。
总长度:占了16位,首部+数据,单位是1B。
生存时间(TTL):占8位,IP分组的保质期。经过一个路由器-1,变成0后则丢弃。
协议:占8位,表示数据部分的协议(对应运输层传下来的报文段)。
首部检验和:占16位,只检验首部,而不检验数据部分。
源地址、目的地址:32位表示。
可选字段(长度可变):占0-40B,用来支持排错、测量以及安全等措施。
填充:全0,把首部补成4B的整数倍。与之前的首部长度以4B为单位相对应。

3.1.3、IP数据报分片

3.1.3.1、认识最大传输单元MTU

最大传输单元MTU:链路层上每一个帧都有一个封装数据的上限,这个上限大小就是MTU。对于特殊以太网来说,以太网的MTU是1500字节。

若是所传输的数据报长度超过某链路的MTU时怎么解决?
可以采用分片,也就是将数据报来进行分组,主要要根据数据报是否支持分片来决定能否去完成分片。
若是不分片,那么IP分组无法向下传递,此时就会返回一个ICMP的差错报文。

3.1.3.2、IP数据报首部中的分片字段(标识、标志、片偏移)

对于分片方法要结合IP数据报中的标识、标志、片偏移来确定。

标识:占16位,用于来表示与原来数据报保持一致的同一标识。
标志:占3位,其中第1位用来最高位保留不用,只有后2位才有用。
中间位:DF(Don’t Fragment),表示是否进行分片。
DF = 1:禁止分片。
DF = 0:允许分片。
最低位:MF(More Fragment),表示后面是否有分片。
MF = 1:表示当前这个分片后还有分片。
MF = 0:代表当前这块分片已经是最后一片了,之后没有分片。
片偏移:占16位,较长分组分片后,当前这片分片在数据报分组中的相对位置,8B为单位。

3.2、IPV4地址

3.2.1、认识IP地址

IP地址:给每一个主机的接口以及路由器的接口赋予一个标识符为全球唯一化标识符。全世界唯一的32位/4字节的标识符,标识路由器主机的接口。
IP地址组合:由网络号、主机号组成。

3.2.2、互联网中的IP地址(识别多少个网段)

如下图通过不同层的物理设备来对网路进行了一个划分,总共有6个网络:

3.2.3、分类的IP地址

网络类别、最大可用网络数、最大主机数如下

A类中的最大可用网络数为什么-2?
一个要删减掉全0的情况,还有一个就是环回地址127。

3.2.4、特殊的IP地址与私有地址

特殊的IP地址:实际当中不能使用或者说比较特殊的

3.2.5、网络地址转换NAT技术(包含原理、案例)

网络地址转换NAT(Network Address Translation):在专用网络连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫做NAT路由器,至少有一个有效的外部全球IP地址。

3.2.6、子网划分和子网掩码

3.2.6.1、分类IP地址的弱点

1、IP地址空间的利用率有时很低。
2、两级IP地址不够灵活。

3.2.6.2、子网划分

在原本的二级IP地址中主机号来进行拆分为子网号+主机号:


说明:某单位划分子网后,对外仍然表现为一个网络,即本单位外的网络看不见本单位内子网的划分。

注意点如下:
1、进行子网划分时,主机号至少要留多少位?
主机号至少要留两位,若是只留下一位,那么主机号要么就是0,要么就是1,完全不能够分配作为一台主机。
2、进行子网划分,子网号能否全0、全1?
要看情况,最开始的情况是不行的,随着CIDR技术的广泛应用,全0、全1也都开始被允许。

3.2.6.3、子网掩码

子网掩码的目的:通过相与来提取出对应的IP地址,也就是网络号。
在这里插入图片描述
在这里插入图片描述

3.2.6.5、使用子网时分组的转发(包含转发流程)

若是使用了子网掩码,那么就需要再路由表中多增加一个字段也就是目的网络子网掩码。

此时路由表中包含的内容如下:
1、目的网络地址。
2、目的网络子网掩码。
3、下一条地址。

接下来我们了解一下使用子网时分组的转发过程:
1、数据报来到路由器时,首先会提取目的地的IP地址。
2、通过对IP地址与路由表中的IP地址来进行比对是否有相对应的,若是有直接根据"下一跳"指出的进行处理;若是不匹配此时我们进入下一步。
3、比较判断是否有特定主机路由:指的是在路由表中有专门特定的一行与目的地址是一样的。若是IP地址与路由表中的特定主机路由IP地址一样,那么直接就按照路由表路由规则进行转发。
4、将IP地址与路由表中的子网掩码相&,来判断是否有与子网段相匹配的,若是有根据"下一条"指出的进行处理;若是不匹配继续下一步。
5、若是转发表中有默认路由,若是有则将该分组传送给默认路由,进入到新路由后同样进行上面的步骤;若是没有路由,那么报告转发分组出错。
6、经过不断地默认路由转发,依旧找不到对应的网段或者主机地址,此时TTL为0时,报文则会被丢弃掉。

3.2.7、无分类编址CIDR

3.2.7.1、认识CIDR编址形式

CIDR是目前比较普遍实用的编址形式。

产生原因:B类地址很快被分配完毕,路由表中的项目急剧增长。

CIDR编址:在子网这个概念启发下,将整个网络号和子网号都合并到了一起,称之为网络前缀,再次回到了二级IP地址形式。

3.2.7.2、无分类编址CIDR的特点

特点一:消除了传统A类、B类、C类地址以及划分子网的概念。

CIDR记法:IP地址后加上"/",然后写上网络前缀(可以任意长度)的位数。

例如:128.14.32.0/20。此时就划分好了,前20位就是子网掩码,可以直接计算出相应的网段。
特点2:融合子网地址与子网掩码,方便子网划分。

CIDR将网络前缀都相同的连续的IP地址组成一个"CIDR地址块"。
例如:128.14.35.7/20,是某CIDR地址块中的一个地址。其表示网络前缀为20。

下面是这个网络的二进制、最小主机地址以及最大主机地址:

地址块:128.14.35.7/20。也称为"/20地址块"。
地址掩码(子网掩码):11111111 111111111 111110000 00000000。

3.2.7.3、CIDR重要的两个应用:构成超网、最长前缀匹配

应用一:构成超网
构成超网(路由聚合):将多个子网聚合成一个较大的子网。
方法:将网络前缀缩短(所有网络地址取交集)。

案例描述:在实际应用当中采用CIDR可能会出现路由网段掩码记录,那么我们可以来进行将多个网络对应接口来取交集构成单个网络前缀,如下在R2路由器中有两个网络。

对于网络1、网络2的IP地址如下:

此时就能够将两个网络构成超网:206.1.0.0。

效果如下图所示:

结论:划分子网是少—>多,构成超网是多—>少。

应用二:最长前缀匹配
最长前缀匹配:使用CIDR时,查找路由表可能会得到多个匹配结果(根网络掩码按位相与),应当选择具有最长网络前缀的路由。

两个条件:①IP地址与掩码&匹配成功。②匹配成功多个,根据掩码也就是前缀越长,地址块越小先满足。
在这里插入图片描述

3.3、网络层协议

3.3.1、ARP协议

3.3.1.1、认识ARP协议与使用过程

使用ARP协议的原因:由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址,对于网络层只能够使用IP地址完成寻址。

ARP表:每个主机和路由器都有一个ARP高速缓存,用来存放IP地址与MAC地址的映射。

ARP协议使用过程:
1、检查本机ARP高速缓存,若是有对应表项则写入到MAC帧中,若是没有则将目的MAC地址设置为FF-FF-FF-FF-FF-FF的帧封装来进行广播发起ARP请求分组。
2、此时当前的局域网中的所有主机都能够收到该请求。目的主机收到请求后(对应主机ARP表中有该IP地址表项)首先会将源主机的MAC地址记录到自己的ARP高速缓存表,接着就会向源主机单播一个ARP响应分组。
3、源主机收到后会将此映射写入 到ARP缓存(10-20min更新一次),同时会写入到MAC帧中。

ARP协议4种典型情况:
1、主机A发给本网络上的主机B:用ARP找到主机B的硬件地址。
2、主机A发给另一网络上的主机B:用ARP找到本网络上的一个路由器(网关)的硬件地址。
3、路由器发给本网络的主机A:用ARP找到主机A的硬件地址。
4、路由器发给另一个网络的主机B:用ARP找到本网络的一个路由器的硬件地址即可。

3.3.1.2、发送数据的过程(典型情况1,考虑到本机有ARP记录和没有的两种情况)

从主机1发送给主机3一个PDF:

在应用层是一个PDF文档,由于传输的文档数据过大,进入到传输层的时候就需要进行报文分段。

1.在网络层当中,加上源地址、目的地址。
情况1:若是1号机也就是本机的ARP表中是否有对应IP的地址映射,由于刚好有,此时我们就直接获取到目标地址的MAC地址,接着写入到MAC帧中。


情况2:若是当前的1号机的ARP表并没有该IP地址的MAC地址,此时会进行广播ARP请求分组。

此时这个广播ARP请求分组会从交换机的各个端口转发出去,此时刚好主机3就是在同一个网段当中,主机3首先会将发来的请求分组中的源地址以及源MAC地址存入到自己的ARP表中,接着就响应一个单播ARP相应分组,其中就是IP3以及它的MAC地址。

此时主机1收到了响应回来的ARP响应分组,将其中的主机3MAC地址以及IP地址存入到自己的ARP表中,接着就写入到MAC帧中,最终在物理层将数据形成比特流或者信号的形式在链路上传输出去。

3.3.1.3、发送数据的过程(典型情况2)

需求:当前的目标是从主机1发送PDF到主机5当中:

这里直接快进到数据链路层,此时需要在MAC帧中填入目标主机5的MAC地址,由于当前主机1中的ARP表并没有对应IP地址的MAC地址:

此时就会发送一个广播ARP请求分组,由于并不知道目标的MAC地址是什么,此时将目的MAC地址设置为FF-FF-FF-FF-FF-FF的帧封装来进行广播发起ARP请求分组:

由于当前局域网的主机中并没有主机5,此时只路由路由器才会相应这个请求,此时进行单播返回一个ARP的响应分组,这里的MAC地址是路由器的MAC地址:

此时将传入过来的路由器的MAC地址填入到MAC帧发了出去到网关IP6位置,接着进行物理层、数据链路层、网络层的解封装,由于到了新的网络了,此时就需要更换MAC地址,此时当前源地址MAC变为了MAC7,目标MAC地址变为了MAC8。
![](https://img-blog.csdnimg.cn/img_convert/b00cf7988e76c785e6bfc58b53149d33.png" alt="image-20230804204553713)
到了下一阶段,此时源MAC地址就变为了MAC9,目标MAC地址为MAC5,这个MAC5同样也是通过在MAC9网段左边路由器的时候发起一个ARP请求,此时在当前网段中有主机5,此时就会返回过来的ARP响应分组,获取到了主机5的MAC地址:

此时目标的MAC5地址也有了,那么就可以在局域网中通过MAC5的地址来发送给主机5了。

3.3.2、DHCP协议(应用层协议,仅仅只是给网络层通信提供基础)

3.3.2.1、主机如何获取到IP地址呢?(静态、动态配置)

主机获取IP地址主要包含两种方式:静态配置、动态分配

静态配置:提前固定好IP地址配置。
动态配置:通过借助DHCP服务器来完成自动分配的过程。

3.3.2.2、认识DHCP以及客户端服务器之间的交换过程

DHCP:动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端与服务器通过广播方式进行交互,基于UDP传输。
DHCP提供功能:提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。
地址重用:当一台主机进入到这个局域网当中,DHCP服务器就给它分配一个IP地址,等主机离开的时候,此时又有新的主机来询问获取IP地址,此时就可以将刚刚主机分配的IP地址给它。
地址续租:具有时间性质的,称为租用期。

DHCP服务器和DHCP客户端的交换过程如下:
1、主机广播"DHCP发现"报文:寻找网络中的DHCP服务器。
2、DHCP服务器收到"DUCP发现"消息后,向网络中广播"DHCP提供"报文:包括提供DHCP客户机的IP地址和相关配置信息。
3、主机收到"DHCP提供"消息,如果接收到DHCP服务器提供的广播参数,那么进行"广播DHCP请求"报文:主机向服务器请求提供IP地址。
4、DHCP服务器广播"DHCP确认"报文:将IP地址分配给DHCP客户机。

3.3.3、ICMP协议

3.3.3.1、处于TCP/IP协议站的位置

TCP/IP协议栈:

中间部分的ICMP以及IGMP协议处于网络层和传输层的协议,ICMP协议是起了一个桥梁的作用,作用就是为了更加有效的转发IP数据报和提高交付成功的机会。

3.3.3.2、网际控制报文协议ICMP提供的功能和报文结构

ICMP协议支持主机或路由器的功能:
1、差错(或异常)报告。
差错报告:对于一些分组出错被丢弃的情况来给源主机发送一个ICMP差错报文。
2、网络探询。
对于上述两个实现功能最终都会发送特定ICMP报文。

ICMP报文的结构:
类型:指的是ICMP报文实际发送的属于哪一类的差错报告。
代码:为了进一步区分某种类型的当中的不同情况。
检验和:用来检验ICMP报文。
对于IP数据报当中首部的检验和,是只检查首部的检验和而不检验数据报部分的数据部分,因此仅仅只是靠IP数据报中的首部无法保证数据部分一定是没错的。

3.3.3.3、两种ICMP报文类型

ICMP报文两种类型:ICMP差错报文、ICMP询问报文。

类型一:ICMP差错报文
5种ICMP差错报文
ICMP差错报文(5种):
1、终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。【无法交付】
2、源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送抑制报文,使源点知道应当把数据报的发送速率放慢。【拥塞丢数据】
3、时间超过:当路由器收到生存时间TTL=0的数据报时,除了丢弃数据报外,还要向源点发送时间超过报文;当终点在预先规定的时间内不能够收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。【TTL = 0】
4、参数问题:当路由器或者目的主机收到的数据报首部中有的字段的值不正确时,就该丢弃该数据报,并向源点发送参数问题报文。【首部字段有问题】
5、改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。【可通过更好的路由】

ICMP差错报告报文数据字段

所有的ICMP差错报告报文数据字段都是一样的。

不应该发送ICMP差错报文的情况(四种情况)
1、对ICMP差错报告报文不再发送ICMP差错报告报文。
2、对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3、对具有组播地址的数据报都不发送ICMP差错报告报文。
4、对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。

类型二:ICMP询问报文
ICMP实际应用(PING、Traceroute)
PING:测试两个主机之间的连通性,使用了ICMP回送请求和回答报文。

Traceroute:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。

工作流程:发送一连串的数据报,第一个发送的数据报TTL时间为1,第二个发送数据报TTL为2,接着依次增加,这种方式主要是利用了当TTL = 0的时候,路由器会将它丢弃,接着返回一个差错时间超过的差错报告报文,此时就可以通过差错报告报文测算出分组从原点到路径之间的距离。
两种应用的报文类型不同:PING是询问报文,Traceroute是差错报告报文。

四、IPv6

4.1、IPv6的诞生原因以及优点

随时如今互联网连通,人人都能够上互联网,此时出现了IPV4地址不够用的情况。

解决32位IPV4地址划分的三个策略:
策略1:CIDR无类别编址,让IP地址的分配更加合理。
策略2:NAT,实现私有地址到公网地址转换,来节省IP地址
策略3:使用IPv6协议,大大增加IP地址的数量。

使用IPv6同样包含如下的几个优点:
1、改进首部格式,让路由器处理效率更高。
2、快速处理/转发数据报。
3、支持QoS(服务质量):提供多种服务。

4.2、IPv6数据报格式(首部、有效载荷)

IPv6数据报格式:


基本首部:固定40B。
有效载荷:实际就是将原本IPV4中的可变部分移动到了有效载荷当中。若是需要有一些新的要求,数据报增加某些功能,此时就可以放在扩展首部当中来实现。

版本:4位,指明协议版本,总是6。
优先级:8位,区分数据报的类别和优先级。
流标签:"流"是互联网上从特定源点到特定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。
有效载荷长度:指的是IPv6中有效载荷的大小(扩展首部+数据)。
下一个首部:用来标识下一个扩展首部或上层协议首部。
跳数限制:与IPV4中的TTL一样,指的是生命周期,当TTL=0时,路由器会将这个数据报丢弃,接着返回一个ICMP差错报告报文。
源地址、目的地址:128位,在IPV4中只有32位,扩展了十分多的IP地址。

4.3、IPv6与IPV4的对比(11点)

IPv6与IPV4的对比:
1、IPv6将地址从32位(4B)扩大到了128位(16B),更大的地址空间。
2、IPv6将IPv4的校验和字段彻底移除,减少每跳的处理时间。
3、IPv6将IPv4的可选字段移出首部,变成了扩展首部,称为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
4、IPv6支持即插即用(即自动配置),不需要DHCP协议。
5、IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。
6、IPv6只能在主机处分片,IPv4则可以在路由器和主机处分片。
7、ICMPv6:针对于上面链路层若是要求MTU大小范围<当前传输IVP6数据包大小,会附加报文类型"分组过大"。
8、IPv6支持资源的预分配,支持实时视像要求,保证一定的带宽和时延的应用。
9、IPv6取消了协议字段,改成下一个首部字段。
10、IPv6取消了总长度字段,改用有效载荷长度字段。
11、IPv6取消了服务类型字段。

4.4、IPv6地址表示形式

一般形式(冒号十六进制记法):8小组,一组有4个十六进制(1个十六进制4位)

压缩形式:若是4个都是0那么直接使用一个0表示,若是像这种连续0,我们可以忽略如000A写成A就行

特殊的一种压缩形式(零压缩):一连串连续的0可以被一对冒号取代。

注意:此时是::(两个冒号),爽冒号表示法在一个地址中仅可出现一次。

4.5、IPv6的基本地址类型(单播、多播、任播)

IPv6基本地址类型:单播、多播、任播
单播:一对一通信,可做原地址+目的地址。


多播:一对多通信,可做目的地址。

任播地址:一对多种的一个通信,可作目的地址。

4.6、IPv6向IPv4过渡的两种策略(双栈协议、隧道技术)

策略1:双栈协议
描述:双协议栈技术就是指一台设备上同时启动IPv4协议栈和IPv6协议栈,此时设备那么既能和IPv4,也能够和IPv6网络通信。

策略2:隧道技术
描述:通过使用互联网络的基础设施在网络之间传递数据的方式。
效果:使用隧道传递的数据(或负载)可以是不同协议的数据帧或包,隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。

五、路由选择协议

5.1、认识路由选择协议


路由选择分为两种:内部网关协议IGP、外部网关协议EGP。

内部网关协议IGP:指的是一个AS内使用的,具体的协议有RIP、OSPF。
RIP使用的是距离向量(适用于比较小的网络),OSPF使用的是链路状态(适用于比较大的网络)。
外部网关协议EGP

:指的是AS之间使用的,具体的协议有BGP。

5.2、RIP协议(应用层协议)

5.2.1、认识RIP协议

RIP:是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

RIP协议要求网络中的每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离,也就是经过路由器跳数最短(路由器包含一组距离)。

距离:通常为"跳数",即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。

下面是一组路由器以及多个连接的网络:可以看到与R2路由器直接连接的就是Net2,此时路由表中就包含有一条记录到达Net2网络是直连距离就是1,若是到达的目的网络为Net1,中间相连了一个路由器,那么距离就是2。

直接交付:指的是这个路由器和目的网络是直接相连的,直接相连的就可以直接交付了。
间接交付:交付给下一条路由器。
举例:RIP允许一条路由最多只包含15个路由器,距离为16表示网络不可达,若是超过16也是按照16算。

5.3、RIP协议交换过程

RIP协议交换过程:
路由器刚刚开始工作时,路由表中仅仅只有自己直接相连接的网络距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
当经过若干次更新后,所有路由器最红都会知道到达当前的自治系统AS中任何一个网络的最短距离和下一条路由器的地址。即"收敛"。
收敛的过程示例如下,在下图中有多个相邻的路由器,每个路由器有自己的一个数:

接着隔了30s后,路由器与路由器之间开始进行更新路由信息,例如1号路由器将自己的路由表中记录发给了2号路由器,与此同时3号路由器也将路由表发给了2号路由器,此时2号路由器中就包含了两个临近路由器的路由信息:

此时2号路由器将自己的路由表又发给3号路由器,此时3号路由器中也就有了1号路由器的路由记录:

随着一段时间路由器相互之间更新,很快整个自治系统重每个路由器都包含整个自治系统的网络的路由最佳记录。

5.3.1、距离向量算法(实现过程)

距离向量算法实现过程:
1、修改相邻路由器发来的RIP报文中所有表项。
即:对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目,把"下一跳"字段中的地址改为X,并把所有"距离"字段+1。

2、对修改后的RIP报文中的每一个项目进行下面步骤(同样针对上图X路由器更新表项到R1路由器):
(1)R1路由表中若是没有Net3,则把该表项直接填入R1路由表(距离+1,更新下一条的路由器为发送路由表项方)。
(2)R1路由表中若是有Net3,则查看下一条路由器地址:
若是下一跳是X,那么直接用收到的项目表项替换源路由表中的项目。
若是下一条不是X,原来距离比从X走的距离远则跟更新,否则不作处理。

(3)若180s还没收到相邻临近路由器X的更新路由表,则把X记录为不可达的路由器,此时将该对应距离设置为16。
(4)返回(就是循环一下,之后继续隔30s进行更新,直到全部达到收敛为止)

5.3.2、RIP协议的报文格式


其中首部+路由部分塞入到了UPD用户数据报当中,接着加上UDP首部称为UDP数据报,

所属层:RIP是应用层协议,使用UDP传送数据。

注意点:一个RIP报文最多可以包括25个路由,如超过(如有50个多个路由,就需要拆成两个发送),必须再用一个RIP报文传输。

5.3.3、RIP好消息传得快,坏消息传的慢(正常情况、错误情况案例)

RIP特点:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此消息传送到所有的路由器,“慢收敛”。

核心:对于某个网络出现故障,因为部分路由器没有及时更新已经认为是可到达的,此时就会出现来回交换的问题,导致最终距离都增大到了16。

最终效果:若是一个路由器发现了更短的路由就会出传的很快,若是坏消息传的慢(不可达情况,脏更新传递)。

5.4、OSPF协议(网路层协议)

5.4.1、认识开放最短路径优先OSPF协议及特点

开放最短路径优先OSPF协议(OSPF):"开放"标明OSPF协议不是受某一家厂商控制,而是公开发表的;"最短路径优先"使用了Dijkstra提出的最短路径算法OSPF。
OSPF最主要的特征就是使用分布式的链路状态协议
OSPF的特点:
①和谁交换?
使用泛洪法向自治系统中所有路由器发送消息,即路由器通过输出端口向所有相邻的路由器发送消息,而每一个相邻路由器又再次将信息发往其所有的相邻路由器。(广播形式)
②交换什么?
发送的信息就与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价—费用、距离、时延、带宽等)。
③多久交换?
只有当链路状态发生变化时,路由器才向所有路由器泛洪发送此信息。

5.4.2、链路状态路由算法

五个重要类型的分组:

1、每个路由器发现它的邻居节点【HELLO问候分组】,并了解邻居节点的网络地址。
2、设置它的每个邻居的成本度量(metric)。
3、构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库当中的所有链路状态项目的摘要信息。
4、如果DD分组中的摘要自己都有,则邻站不做处理;如果没有的或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息。
5、收到临近的LSR分组后,发送【LSU链路状态更新分组】进行更新。
6、更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。

路由器链路状态发生变化场景
场景:只要有一个路由器的链路状态发生变化。
1、那么此时会进行泛洪发送【LSU链路状态更新分组】进行更新。
2、更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。
3、使用Dijkstra根据自己的链路状态数据库构造到其他节点之间的最短路径。

5.4.3、OSPF区域

若是自治系统依旧很大,此时可以对自治系统再次进行划分范围为区域。

分为两个区域:主干区域、普通区域。
主干区域的标识符为:0.0.0.0,其作用就是用来连通其他在它下面的区域。
四种类别的路由器:
第一个路由器:主干当中的路由器叫做主干路由器,如主干区域当中的R6、R5,以及图中的R3、R7、R4(对于这三个同时还是有一个称号叫做区域边界路由器)。
第二种路由器:区域边界路由器:主要处于两个区域之间交界的位置。
第三种路由器:自治系统边界路由器,指的是主干路由器当中有一个路由器它是要连到其他的自治系统AS当中。
第四种路由器:区域内部路由器,在划分的下层路由器当中。
特点:通过分层次划分区域,使得交换信息的种类增多了,使得OSPF协议更加复杂。

好处:使每一个区域内部交换路由信息的通信量大大的减少,因而,OSPF协议就能够使用于规模比较大的自适系统。

5.4.4、OSPF分组情况

以考纲为标准当做是网络层协议、

OSPF分组如下图所示:直接用IP数据报来进行传送

5.4.5、OSPF其他特点

1、每隔30min,要刷新一次数据库中的链路状态。
2、由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。当互联网规模很大的时候,OSPF协议要比距离向量协议RIP好得多。
3、OSPF不存在坏消息传的慢的问题,它的收敛速度很快。

收敛速度的区别:
RIP协议:与相邻路由器的路由表交换后,首先需要和自己的路由表进行一个对照之后才能够确定一个最短路径。
OSPF:省去对照哪一步,而是会把手来的所有更新,放入到自己的链路状态数据库当中,接着根据整个链路数据库通过Dijkstra算法来计算出最短路径。【收敛速度最快】

5.5、边界网关协议BGP(应用层协议)

5.5.1、BGP三个关注问题

1、和谁交换?
与其他AS的邻站BGP发言人交换信息。

2、交换什么?
交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS自治系统。

3、多久交换?
与OSPF一致,都是在发生变化时更新有变化的部分。

5.5.2、BGP协议交换信息的过程(以及发言人之间交换路径向量)

工作原理过程:
1、每个自治系统管理员选择至少一个路由器作为该自治系统的"BGP发言人"。
2、一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,先建立TCP连接。
3、再利用BGP会话交换路由信息。
4、所有BGP发言人都相互交换网络可达性的信息后,各BGP发言人就可以找到到达各个自治系统的较好路由。

5.5.3、BGP协议报文格式

过程:一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后再此连接上交换BGP报文来建立BGP会话(session),利用BGP会话交换路由信息。

构成组合:BGP协议同样包含报文通用首部+报文主体部分,放入到BGP报文当中,接着加上TCP首部(构成TCP协议),接着我们进入到网络层再包裹添加上IP首部。


说明:BGP是应用层协议,借助TCP传送。

5.5.4、BGP的协议特点

BGP的协议特点:
1、BGP支持CIDR:此时BGP的路由表就包括目的网络前缀、下一条路由器以及到达该目的网络所要经过的各个自治系统序列。
2、BGP在刚刚运行阶段是通过邻站交换整个BGP路由表,但在之后只有在需要发生变化时更新有变化的部分。
好处:对于节省网络带宽和减少路由器的处理开销都有好处。

5.5.5、BGP-4的四种报文:

1、OPEN(打开)报文:用来与相邻区域的另一个BGP发言人建立关系,并认证发送方。
2、UPDATE(更新)报文:通告新路径或撤销原路径。
3、KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性,也作为OPEN的确认。
4、NOTIFICATION(通知)报文:报告先前报文的差错,也被用于关闭连接。

5.5.6、三种路由协议的比较

RIP:是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。
OSPF:是一种内部网关协议,要交换的信息量比较大,应该使报文的长度尽量短,所以不适用传输协议(如UDP或TCP),而是直接采用IP数据报。
BGP:是一种外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。

三个协议比较汇总图如下:

交换结点部分:RIP是和本节点相邻的路由器交换信息与BGP相同;OSPF形式上将自己的路由当中的列入状态发送给了邻站,实际这个邻站依旧会把这个路由状态拷贝一个副本转发给它相邻的路由器,看上去就是在进行广播路由器的链路状态。

六、IP组播

6.1、认识三种传输方式

方式一:单播:单播用于发送数据到单个目的地,且每发送一份单播报文都是用到一个单播IP地址作为目的地址,是一种点对点的传输方式。

方式二:广播:广播是指发送数据包到同一广播域或子网内的所有设备一种数据传输方式,是一种点对多点传输方式。

发送端还是单一的单播IP地址,目的地址则是一个全1的广播地址,会发给局域网当中的所有主机,即使有交换机也会从交换机的端口中转发出去。

方式三:组播(多播):当网络中的某些用户需要特定数据的时候,组播数据发送者仅仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点的方式。

好处:仅仅只会给组播组内的有需求的主机发,并不会在一开始原点就进行复制,而是经过很多路由器,直到马上到了这个局域网时,经过下一个路由器就到局域网了,此时才会在下一个路由器的时候进行一个复制,此时才会分发给这个网络当中的组播组当中的主机。

6.2、多播在视频服务器的应用

采用单播方式:需要构建90个数据报来发送给90个主机
问题:传输资源占用的带宽比较多,在发送者和每一个接受者之间需要单独的数据信道。

组播方式:组播提高了数据传输效率,减少了主干网出现拥塞的可能性,组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)

组播路由器:指的是组播协议的路由器。

好处:大大节省了带宽,可以看到最后在进入到最后一个路由器的时候会进行多播给一组中的不同主机。

6.3、IP组播地址

6.3.1、认识IP组播地址

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。

组播地址范围为:224.0.0.0 — 239.255.255.255(D类地址),一个D类地址表示一个组播组。
每一个IP组播地址,只能够作为数据报或者说分组的目的地址,但是不能够作为源地址。

组播地址的特点:
1、组播数据报也是"尽最大努力交付",不提供可靠交付,应用于UDP。
2、对组播数据报不会产生ICMP差错报文。
3、并非所有D类地址都可以作为组播地址。

部分D类地址有些是不能够随便用的,因为有些地址已经被指派为永久组地址了。
对应组播地址的分类如下,有一部分是被已经永久分配出去了:

6.3.2、两类IP组播(因特网范围、硬件)

两类组播介绍
下图中可以看到将图分为了两个部分,一部分叫做因特网范围内组播,另一种叫做硬件组播。

前者只能够在因特网的范围内,也就是没有进入到局域网内的这个范围来进行组播。
后者是局域网范围中的组播。
![](https://img-blog.csdnimg.cn/img_convert/249d5c15e6f9ff0f1dc7c5da63ea19d5.png" alt="image-20230806164858652)

硬件组播详解
同单播地址一样,组播IP地址需要相应的组播MAC地址在本地网络中实际传送帧

注意:我们的组播地址实际上并不是单单指的是一个主机,所以实际不仅仅需要指明组播IP地址,还需要指明相对应的MAC地址。

对于映射有多个的情况时,我们就需要再IP层利用软件来进行过滤(对比IP地址),把不是本主机要接收的数据报丢弃。

6.4、IGMP协议与组播路由选择协议

6.4.1、认识IGMP协议

IGMP存在意义:在路由器内部的,所规定的使用的一个协议,对于IGMP协议的存在就是要让这一个连接在局域网上的组播路由器,也就是在这个路由器知道,所连接的局域网是不是还有其他主机加入当前组或者退出组。

组播路由选择协议:就是在多个路由器之间进行一个路径选择的问题。

网际组管理协议IGMP:
下图可以看到其中R1、R2、R3、R4全部加入了组播组,实际他们自己本身也是拥有一个全球唯一的IP地址:

6.4.2、IGMP所处协议栈位置

IGMP所处的协议栈位置:其和ICMP都是属于这个网络层协议的上层,都会使用IP数据报来传递报文。

6.4.3、IGMP工作的两个阶段

阶段一:
某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员。
本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。

阶段二:
本地组播路由器周期性会探询本地局域网上的主机,来知道这些主机是否在线(也就是还是组播组的成员)。
只要有一个主机对某个组相应,那么组播路由器就会认为这个组是活跃的,当经过多次探询后没有一个主机相应,那么组播路由器就认为本网络上的没有此组播组的主机,那么也就不会把这组的成员关系发给其他的组播路由器。

6.4.4、组播路由选择协议

组播过程中,一个组播组中的成员是可以动态变化的,可以突然加入或者突然离开。
**组播路由选择协议目的:**找到以源主机为根节点的组播转发树。
构造树可以避免在路由器之间兜圈子。对于不同的多播组对应于不同的多播转发树;同一个多播组,对于不同的源点就会有不同的多播转发树。

6.4.5、组播路由协议常使用的三种算法

组播路由协议常使用的三种算法:
①基于链路状态的路由选择。
②基于距离-向量的路由选择。
③协议无关的组播(稀疏/密集)

协议无关:指的是在建立转发树的时候,是使用单播数据报和远程路由器来联系,但是并不要求使用相同的一个单播路由选择协议。
稀疏和密集:指的是一个组播组中的主机,若是比较分散就是稀疏,若是比较近那么就是密集。

七、移动IP

7.1、认识漫游

漫游:对于漫游的过程是需要移动IP的技术,其目的是当我这个手机不管移动到哪里都可以保证原来的IP地址不变,别人依旧能够跟我这个IP地址设备进行通信,因此,我们就会在手机上的原有永久地址基础上,再引入一个转交地址,那么就需要对这两个地址进行管理,此时就需要额外再收取一些费用。

7.2、移动IP的相关概念(专属名词)

移动IP技术是移动节点(计算机/服务器等)以固定的网络IP地址,来实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

移动节点:具有永久IP地址的移动设备。
归属代理(本地代理):一个移动结点的永久"居所"称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。
永久地址(归属地址/主地址):移动站点在归属网络中的原始地址。
外部代理(外地代理):在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
转交地址(辅地址):可以是外部代理的地址或动态配置的一个地址。

7.3、移动IP的通信过程

实际网络应用景例子(转交地址的获取两种方式,三种场景)
一开始主机是在归属代理的归属网络当中,若是想要给这台主机发送数据,那么就需要发送给这个归属网络即可:

此时主机移动到了外部网络当中,就能够获得转交地址:

对于转交地址的获取有两种方式:
方式一:被动获得。
过程:外部代理会在这样的一个外部网络内广播一个ICMP的报文,那么这个报文里面就会包含这个转交地址,当主机收到之后那么就知道所在的网络外部代理是谁以及外部代理的转交地址是什么。
方式二:主动获得。
过程:需要主机主动的发送一个广播报文来获得外部代理的一个转交地址。

场景一:主机A刚刚进入外部网络
1、获得外部代理的转交地址(外部代理广播报文,这是被动获取方式)。
2、接着移动节点有了转交地址之后会通过外部代理发送注册报文给到归属代理(其中包含了自己主机的永久地址以及转交地址)。
3、归属代理接收请求,并将移动节点的永久地址和转交地址绑定(以后若是到达归属代理的数据报且要发往移动节点的数据会被封装以隧道方式转发给转交地址),并返回一个注册响应报文。
4、外部代理会接受注册响应,并转发给移动节点。
之后则进行正常通信,此时就可以保证主机A的永久地址不变。

场景二:A移动到了下一个网络之后
1、在新外部代理登记注册一个转交地址。
2、依旧是借助新外部代理给本地代理发送新的转交地址(覆盖旧的)。
3、之后就是进行通信。

场景三:A回到了归属网络
1、主机A向本地代理注销转交地址。
2、按原始方式通信。

八、网络层设备

8.1、路由器

8.1.1、认识路由器

路由器:是一种具有多个输入端口和多个输出端口的专用计算机,其任务就是转发分组。


路由选择:根据所选定的路由选择协议来构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
交换结构:根据转发表(路由表得来)对分组进行转发。

8.1.2、输入端口与输出端口的详细信息

输入端口对线路上收到分组的处理:

1、首先到物理层进行比特的接收
2、接着进入到数据链路层进行处理,按照链路层的协议来接收这个传送分组的帧,接着将帧头、帧尾去掉交给网络层。
3、进入到网络层①若是收到RIP/OSPF分组等,则将分组送往路由选择处理机。②若是收到数据分组,那么查找转发表并输出。

输出端口的处理:

网络层阶段:在网络层中会有一个缓冲区,若是第一个分组到达后进行处理,此时第二个、第三个分组同样到达,那么此时会将分组暂存到缓冲区当中,此时这些分组就会产生一定的等待时延。

8.2、三层设备的区别

路由器:可以互联两个不同网络层协议的网段。
网桥:可以互联两个物理层和链路层不同的网段。
集线器:不能互联两个物理层不同的网段。

注意:并不是任何层次的设备都能够互联它所在的层次以及以下层次不同协议的网段,错误,集线器就不能够互联两个物理层不同的网段。

对于能否隔离冲突域与广播域的对比如下图:

8.3、路由表与路由转发

路由表:根据路由选择算法得出。
主要用途:路由选择,总是使用软件来实现。
默认路由:指的是局域网当中一个具体路由器,子网掩码全0即可。
路由表主要是选择下一条要走哪个路由器或者下一跳IP地址是什么。

转发表:由路由表得来,可以使用软件实现,也可以使用特殊的硬件来实现。转发表必须包含完成转发功能所必须得信息,在转发表中的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值