网络层的主要任务就是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。
网络层的主要功能:
功能一:路由选择与分组转换
功能二:异构网络互联
功能三:拥塞控制
一.SDN
路由器的功能:转发和路由选择
**转发:**达到路由器输入链路之一的数据报然后转发到该路由器的输出链路之一。
路由选择:控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。
两大平面:数据平面和控制平面
**数据平面:**数据平面对于数据处理过程中各种具体处理转发过程。
**控制屏幕:**控制平面用于控制和管理网络协议的运行,比如:OSPF协议,RIP协议,BGP协议
1.数据平面
数据平面对应的就是路由器的转发功能。

2.控制平面
传统方法:也叫每路由器法,路由选择算法运行在每个路由器中,并且每台路由器都包含转发和路由选择两种功能。

**SDN(软件定义网络)方法:**将控制平面从路由器上物理分离,路由器仅仅只实现转发,通过远程控制器来计算和转发转发表以供每台路由器使用。

控制平面中的路由选择控制器
在传统方法中,路由选择处理器负责执行控制平面的功能, 而在SDN方法中,因为控制平面被物理分离出去了,所以无法负责执行控制平面,而是负责与远程控制器进行通信

3.SDN控制器的三个层次
SDN控制器和网络控制应用程序:

SDN控制器的三个层次分别是:对于网络控制应用程序的接口、网络范围状态管理层、通信层。

例题:


总结:

二.IP数据报
1.IP数据报格式


首部长度最小是5,因为首部长度的单位是4B,最小就是20B,正好是首部中固定部分的大小,首部中的可变部分可以有,也可以没有,因此最小是5。
协议部分占8位,指的是传输层传下来的数据部分所含的协议,具体如下:

2.IP数据报分片
我们先来复习一下数据链路层最大传输单元MTU:MTU指数据链路层的数据帧可封装的数据的上限,以太网的MTU是1500b

也就是数据链路层中数据帧的数据部分不能超过MTU,那如果所传送的数据报长度超过了数据链路的MTU,这怎么办呢?这就是现在介绍的IP数据报分片。
IP数据报分片的目的就是为了解决IP数据报长度大于了数据链路层的MTU的问题
在上一小节介绍IP数据报格式时,并没有介绍固定部分中的标识、标志和片偏移三个字段的意义,他们主要就是为了控制IP数据报分片以及分片后的重组问题。

例题:

该例题中,需要把IP数据报分片成不超过1420B的数据报分片,注意:每一片分片都会添加一个相同的首部,因此分成了长度为1420B,1420B以及1020B的三片IP数据报分片,因三个报片都是原IP数据报的,所以他们的标识字段值是相同的(12345是随便写的),对于DF字段,三个报片都是允许分片,因为它们自己就是分片得来的,所以都是0(表示允许分片),对于MF字段,它表示该报片后面还有没有报片,很显然,报片1后面有报片2,报片2后面有报片3,报片3后面没有报片,所有分别赋值1,1,0。
三.IPv4地址
IP地址:IP地址表面了当前主机是在哪个网络,哪个主机,就跟人的身份证一样。是全世界唯一的32位标识符,由网络号和主机号组成。(一般用点分十进制表示)

1.分类的IP地址

2.特殊的IP地址

3.私有IP地址

4.常用各类网络可用情况

A类网络中,网络号有7位可变,但是网络号全0表示本网络的意思,如果是127表示环回地址,这两种都是特殊的IP地址,因此最大可用网络为2^7-2,同理,主机号有24位,但是要减去全0和全1,都是属于特殊的IP地址
B类网络也是与A类同理,这里最大网络数应该是2^14,因为现在128.0的网络也可以指派了,最大主机数也是要减去全0和全1的特色IP地址。
C类网络中,最大网络数应该是2^21,因为现在的128.0.0也可以指派。
四.网络地址转换NAT
在前面介绍了私有IP地址,如图:

私有IP地址也叫本地IP地址,一般用于本地网或者专用网,**路由器对于这种私有IP地址的数据报一律不进行转发。**那这种IP地址又该怎么样与外界互联网或者因特网建立通信呢?这就是现在介绍的网络地址转换NAT!
网络地址转换NAT:在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。

五.子网划分和子网掩码
分类IP地址的缺点:①IP地址空间利用率有时会很低。②二级IP地址不够灵活
例如:一个企业要申请多个网络IP地址,但是如果使用B类网络,所连的主机并不会有那么多,这样就会有大量B类网络IP地址被浪费。并且要申请多个网络IP地址,需要向ISP进行申请,这显然很麻烦,所以,有没有什么办法可以灵活增加单位的网络而不用去向ISP申请?这个办法就是通过子网划分。
1.子网划分
子网划分就是对两级IP地址修改成三级IP地址,对主机号部分修改成子网号加上主机号,子网号能否全0全1看情况,主机号不能全0全1。
划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内的子网划分。

由于外部并不知道内部单位网络是否进行了子网划分,因此对于外部网络的主机想要发送IP数据报到内部单位主机,它只知道发送给哪一个路由器,但是传给哪台主机呢?这就要借助子网掩码了!

2.子网掩码

子网掩码就是主机号位数部分全部是0,网络部分全部为1.子网掩码与IP地址相与,可以得到子网网络地址
例题:


六.无分类编址(CIDR)

1.构成超网
构成超网:将多个子网聚合成一个较大的子网,叫做构成超网,或者叫路由聚合。
方法 :将网络前缀缩短(所有网络地址取交集)

例题:

2.最长前缀匹配
使用CIDR时,查找路由表可能得到几个匹配结果(与网络掩码按位相与),应选择最长网络前缀的路由,前缀越长,地址块越小,路由越具体。

例题:

七.ARP协议
发送端发送数据时,从应用层开始,到传输层会根据发送数据的大小来对数据进行分段,即报文段,运输层将各报文段交付给网络层,网络层会给各报文段加上发送主机IP地址IP1和目的IP地址IP2,IP1是自己的IP地址,很好获得,而目的IP地址IP2的获取与传输层有关,之后交付给数据链路层,当然,还有根据数据链路层的MTU来决定是否进行分片,在数据链路层,会进行封装,加上主机MAC地址和目的MAC地址作为帧首部,尾部加上FCS形成帧。那目的MAC地址应该怎么填入呢?这就涉及到ARP协议了。
ARP高速缓存:IP地址与MAC地址的映射。
一个网段内发送数据的过程:

如果ARP高速缓存当中没有目的IP地址和目的MAC地址的映射,那么会使用ARP协议,即源主机会发送广播ARP请求分组并等待目的主机单播ARP响应分组
不同网段内发送数据的过程:

如果发送目的主机不在本网段内,并且ARP高速缓存中没有映射,那么就会向默认网关发送广播ARP分组。
ARP协议总结如下:

例题:

八.DHCP协议

主要內容:

九.ICMP协议


1.ICMP差错报告报文
ICMP差错报告报文有以下五种:

2.形成ICMP差错报告报文的过程:

3.不发送ICMP差错报文情况:

2.ICMP询问报文

3.ICMP应用

十.路由算法与路由协议
1.路由算法
路由算法是指在计算机网络中,根据网络拓扑结构和路由策略,计算出数据包从源节点到目的节点的最佳路径的算法。
路由算法的分类:

2.分层次的路由选择协议
采取分层次的路由选择协议的原因:

自治系统AS:一个有权自主地决定在本系统中应采用各种路由协议的小型单位。

十一.IPv6
为什么要有IPv6?
32位的IPv4地址空间已分配殆尽,而CIDR和NAT并不能从根本上解决问题,因此就有了IPv6。简而言之,IPv6就是为了从根本上解决地址耗尽问题。

1.IPv6数据报格式

2.IPv6和IPv4

3.IPv6地址表示形式

4.IPv6基本地址类型
IPv6主要有单播地址、多播地址和任播地址。


十二.RIP协议与距离向量算法
1.RIP协议
RIP协议要求网络中每一台路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录。只适用小互联网。
距离:通常指跳数,从源端口到目的端口,经过一个路由器跳数+1,距离为16,表示网络不可达。


1.距离向量算法

例题:


3.RIP协议的报文格式

RIP协议特点:好消息传得快,坏消息传得慢。





十三.OSPF协议及链路状态算法
1.OSPF协议

2.链路状态路由算法

3.OSPF区域(了解)

OSPF特点:

十四.BGP协议

BGP协议:

BGP协议特点:

三种路由协议(RIP、OSPF、BGP)比较:


十五.IP组播
IP数据报的三种传输方式:

举个例子,如果有90台主机需要接收视频节目,那么源站点就会复制90份视频数据通过路由分发给各主机,而组播(多播),只需要准备一个,到路由器需要分路传输就会进行复制,提高了数据传送速率。



1.IP组播地址
组播地址范围为:224.0.0.0------239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是单播地址。

2.IGMP协议


IGMP工作的两个阶段:

2.组播路由选择协议
组播路由选择协议的目的是找出以源主机为根节点的组播转发树。

组播路由选择协议常用的三种算法:

十六.移动IP

移动IP通信过程:

十七.网络层设备
路由器功能:转发和路由选择
三层设备的区别:

路由表和路由转发
