《计算机网络 | 第四章:网络层》复习笔记
第四章:网络层
4.1 网络层的功能
网络层向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务。可靠性交给更高层的传输层来处理,这就降低了网络层的造价等。
4.1.1 异构网络互联
-
把全世界不同的计算机通过一定的设备、方法连接起来,称为异构网络互联。
-
中间设备称为中间系统或中继系统
中继系统分为以下四种:
-
物理层中继系统:中继器、集线器
-
数据链路层中继系统:网桥或交换机
-
网络层中继系统:路由器
-
网络层以上:网关
注意:物理层或数据链路层使用中继器只是把网络放大了,而放大后的任然是网络,一般不称为网络互联。网络互联一般指通过路由器进行网络互联和路由选择。
-
4.1.2 路由与转发
路由器主要完成两个任务:路由选择、分组转发
-
路由选择:按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态的改变所选择的路由。
-
分组转发:路由器根据转发表将用户的IP数据报从合适的端口转发出去。
4.1.3 拥塞控制
拥塞:过量的分组而引起网络性能下降的现象。
判断网络拥塞的方法?-观察网络的吞吐量与网络负载的关系。
避免网络拥塞的方法?-采用能防止拥塞的一系列方法对子网进行拥塞控制。
拥塞控制的两种方法:
-
开环控制(静态方法):设计网络时考虑到将可能会发生拥塞,来进行拥塞控制。
-
闭环控制(动态方法):设计网络时不考虑将可能会发生拥塞,而是动态的去检测,来进行拥塞控制。
4.2 路由算法
4.2.1 静态路由与动态路由
路由器转发分组是通过路由表转发的,而路由表是通过各种算法得到的。
-
静态路由算法(非自适应性路由算法):网络管理员手工去配置路由信息。
-
动态路由算法(自适应性路由算法):通过相互连接的路由器间交换信息,按照一定的算法优化出来的。
4.2.2 距离-向量路由算法
所有结点都定期地将他们整个路由选择表传送给所有与之直接相邻的结点,这种路由选择表包含:
-
每条路径的目的地(另一结点)
-
路径的代价(距离)
距离-向量路由算法的实质是,迭代计算一条路由中的站段数或延迟时间,从而得到到达一个目标的最短(最小代价)通路。它要求每个结点在每次更新时都将它的全部路由表发送给所有相邻的结点。
4.2.3 链路状态路由算法
链路状态路由算法要求每个参与该算法的结点都具备完全的网络拓扑信息,执行两个任务:
-
主动测试所有相邻结点的状态
-
定期地将两路状态传播给所有其他结点。
典型的链路状态路由算法是OSPF算法。
4.2.4 层次路由
层次路由解决的问题:网络规模的增大,路由表成比例的增大。这不仅仅会消耗越来越多路由器缓冲区空间,而且需要更多的CPU时间来扫描路由表,用更多的带宽来交换路由状态信息。因此,路由选择必须按照层次的方式进行。英特网将互联网划分为许多较小的自治系统,每个自治系统有权决定使用那种路由选择协议。
-
自治系统内部使用的路由协议
-
自治系统间使用的路由协议
4.3 IPv4
4.3.1 IPv4分组
IPv4:IP的第四个版本。
IP定义数据传送的基本单元—IP分组及其确切的数据格式。
-
IPv4分组的格式:首部+数据构成。首部前一部分的长度固定,共20B,是所有IP分组必须有的。在首部固定长度后面有一些可选字段,其长度可变,用来放校验等控制信息。首部重要字段含义如下:
-
版本
-
首部长度,占4位
-
总长度,占16位
-
标识,占16位
-
标志,占3位
-
片偏移,占13位
-
生存时间(TTL),占8位
-
协议,占8位
-
首部校验和,占16位
-
源地址字段,占4B
-
目标地址字段,占4B
-
-
IP数据报分片
一个数据链路层数据报能承载的最大数据量称为最大传送单元(MTU)。因为IP数据报被封装在数据链路层的数据报中,因此数据链路层的MTU严格地限制了IP数据报的长度。各段链路的可能有不同的MTU,IP报的总长度也有可能大于链路的MTU,所以要将IP数据报分装在两个或多个较小的IP数据报中,这些较小的数据报称为。
片在目的地网络层被重新组装。目的地主机使用IP首部中的标识、标志、偏移字段来完成对片的重组。
-
网络层转发分组的流程
网络层的路由器执行分组转发算法如下:
-
从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
-
若网络N与此路由器直接连接,则把数据报直接交付给目的主机D,这称为路由器的直接交付。
-
若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器。
-
若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器。
-
若路由表中有一个默认路由,则把数据报传送给路由表所指明的默认路由器。
-
报告转发分组出错。
-
4.3.2 IPv4地址与NAT
-
IPv4 地址
连接到网络的主机都分配一个唯一的32比特的IP地址。传统的IP地址分为A、B、C、D、E五类。
IP地址 = {<网络号>,<主机号>}
在各类IP地址中,有些IP地址具有特殊用途,不做主机的IP地址:
-
主机号全为0表示网络本身。
-
主机号全为1表示本网络的广播地址,又称直接广播地址。
-
127.xxx.xxx.xxx保留为环回自检(Loopback Tets)地址。
-
32位全为0,即0.0.0.0表示本网络上的本主机。
-
32位全为1,即255.255.255.255表示整个TCP/IP网络的广播地址,又称受限广播地址。
常见三种类别IP地址的使用范围:
网络类别 | 最大可用网络数 | 第一个可用的网络 | 最后一个可用的网络 | 每个网络中的最大主机数 |
---|---|---|---|---|
A | 2^7 - 1 | 1 | 126 | 2^24 - 2 |
B | 2^14 - 1 | 128.1 | 191.255 | 2^16 - 2 |
C | 2^21 -1 | 192.0.1 | 223.255.255 | 2^8 - 2 |
A类地址为2^7 - 1的原因:①网络号字段全为0的IP地址是保留地址,意思是“本网络”,②网络号为127的IP地址是回环自检地址。
B类地址为2^14 - 1的原因:128.0这个网络是不可指派的。
C类地址为2^21 -1的原因:192.0.0这个网络是不可指派的。
IP地址有以下重要特点:
-
IP地址由两部分组成,是一种分等级的地址结构;好处是,①方便管理,②路由器仅根据网络号来转发分组,减小了路由表所占的存储空间。
-
IP地址标志一台主机或一条链路的接口。
-
LAN中所有网络号必须相同,主机号必须不同。
-
在IP地址中,所有分配到网络号的网络都是平等的。
-
在同一个局域网上的网络号是相等的。
-
网络地址转换
网络地址转换(NAT):通过专用网络地址转换为公用网络地址,从而对外隐藏内部管理的IP地址。
目的:使整个专用网络只需要一个全球IP地址就可以与因特网连通。
好处:由于专用网的IP地址是可重用的,所以NAT大大降低了IP地址的开销,同时隐藏了内部网络结构,降低了内部网络收到个攻击的风险。
为了网络安全,将部分IP地址划为私有地址,私有IP地址的网段如下:
A类:1个A类网段:10.0.0.0~10.255.255.255
B类:16个B类网段:171.16.0.0~172.31.255.255
C类:256个C类网段:192.168.0.0~192.168.255.255
举例:一个路由器两个端口的IP地址分别为:192.168.0.2:2333和192.168.0.3:1234;那么他们要连接到WAN需要将自己的IP通过NAT软件映射138.76.29.7:5001和138.76.29.7:5002
4.3.3 子网划分与子网掩码、CIDR
-
子网划分:两级IP地址变为三级IP地址的操作叫做子网划分。
基本思路:
子网划分纯属一个单位内部的事情,对外封装。
从主机号借用若干IP作为子网号; IP地址 = {<网络号>,<主机号>,<子网号>}
通过网络号、主机号、子网号,一层一层将数据报传输到主机上
-
子网掩码:通过子网掩码可以看出一个IP地址是否划分了子网,使用子网掩码来表达对原来网络中主机号的借位。
注意:现在的因特网标准规定,所有网络都必须使用子网掩码。如果一个网络没有划分子网,那么就使用默认的子网掩码。
A类地址的默认子网掩码:255.0.0.0
B类地址的默认子网掩码:255.255.0.0
C类地址的默认子网掩码:255.255.255.0
例如一个主机的IP地址为192.168.5.56,子网掩码为255.255.255.0,逐位“与”运算后,得出该主机所在子网的网络号为192.168.5.0
主机的IP : 192.168.5.56 =1100 0000 1010 1000 0000 0101 0011 1000
子网掩码 : 255.255.255.0 = 1111 1111 1111 1111 1111 1111 0000 0000
子网的网络号 : 192.168.5.0 = 1100 0000 1010 1000 0000 0101 0000 0000
由于子网掩码是一个网络或一个子网的重要属性,所以路由器在相互之间交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉对方。
-
无分类域间路由选择(CIDR)
无分类域间路由选择是在变长子网掩码的基础上提出的一种消除A、B、C类网络划分,并且可以在软件的支持下实现超网构造的一种IP地址的划分方法。
好处:大幅提高IP地址空间的利用率,减少路由器路由表大小,提高路由转发能力。
例如:一个单位需要用2000个地址,那么给他分配2048个地址块(8个连续的C类网络,256 * 8 = 2048),而不是一个完整的B类网络。
CIDR的优点:
-
消除了ABC类地址及划分子网的概念,因此更高效的分配IPv4的地址空间。
CIDR使用“网络前缀”的概念代替子网的概念。所以IP分为两级编址,即IP = {<网络前缀>,<主机号>}。
CIDR还使用“斜线记法”,例如“128.14.32.5/20”,它的掩码是前20个连续的1和后12个连续的0
-
将网络前缀都相同的连续IP地址组成“CIDR地址块”,一个地址块可以表示很多地址,这种地址的聚合称为路由聚合,或称构成超网。
4.3.4 ARP、DHCP与ICMP
-
IP地址与硬件地址
IP地址是网络层使用的地址,它是分层次等级的。
硬件地址是数据链路层使用的地址(如MAC地址)。
-
地址解析协议
无论网络上使用什么地址,在实际的链路上传输数据时必须使用硬件地址,所以需要一种方法来完成IP地址到MAC地址的映射,这就是地址解析协议ARP。
每台主机都有一个ARP高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称ARP表。
-
动态主机配置协议
动态主机配置协议(DHCP),常用于给主机动态的分配IP地址,它使用了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取IP地址,而不用手工参与。DHCP是应用层协议,它是基于UDP的。
-
网际控制报文协议
网际控制报文协议(ICMP),为了提高IP数据报交付成功的机会,在网络层使用了ICMP让主机或路由器报告差错和异常情况。
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去,ICMP是IP层协议。
类型:ICMP差错报告报文和ICMP询问报文。
ICMP差错报告报文用于目标主机的路由器向源主机报告差错或异常,共有五种类型:
-
终点不可达
-
源点抑制
-
时间超过
-
参数问题
-
改变路由
ICMP询问报文共有四种类型:
-
回送请求和回答报文
-
时间戳请求和回答报文
-
地址掩码请求和回答报文
-
路由器询问和通告报文
-
4.4 IPv6
4.4.1 IPv6 的主要特点
解决地址耗尽的措施有三种:
-
采用无类别编码CIDR
-
采用网络地址转换(NAT)方法节省全球IP
-
采用具有更大地址空间的IPv6网络
IPv6的主要特点:
-
更大的地址空间,从32位增加到了128位。
-
扩展的地址层次结构
-
灵活的首部格式
-
改进的选项
-
允许协议继续扩充
-
支持即插即用
-
支持资源的预分配
-
IPv6只有在包的源结点才能分片,是端到端的,传输的路径中是不能分片的。一般意义上说IPv6不允许分片。
-
IPv6首部长度必须是8B的整数倍,而IPv4首部是4B的整数倍
-
增大了安全性
IPv6地址:
-
单播,点对点通信。
-
多播,一点对多点。
-
任播,任播的目的站是一组计算机,但数据报在交付时只交付其中一台计算机,通常是距离最近的一台计算机。
IPv6扩展了IPv4的地址的分级概念,使用以下三个等级:
-
第一级(顶级),指全球都知道的公共拓扑
-
第二级(场点级),指明单个场点
-
第三级,单个网络接口
4.5 路由协议
4.5.1 自治系统
什么是自治系统?
-自治系统(Autonomous System,AS):单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。
一个自治系统由一家单位管辖(比如一所学校、一家公司等等),自治系统内的路由器是连通的。
4.5.2 域内路由与域间路由
域内路由选择:自治系统内的路由选择。
域间路由选择:自治系统间的路由选择。
因特网有两大类路由选择协议:
-
内部网关协议(Interior Gateway Protocol, IGP)
一个自治系统内部使用的路由选择协议,它与互联网中其他自治系统选用什么路由选择协议无关。
-
外部网关协议(External Gateway Protocol, EGP)
源站点和目的站点不在同一个自治系统中,当数据报到达源站点系统的边界时,就需要一种协议将信息传递到目的站点的自治系统中。
4.5.3 路由信息协议(RIP)
路由信息协议(Routing Information Protocol, RIP):是内部网关(IGP)中最先广泛应用的协议。RIP是一种分布式的基于距离向量的路由选择协议,其最大的优点就是简单。
-
RIP规定
-
网络中的每个路由器都要维护从它自身到其他目的网络的距离记录
-
距离也称跳数,规定从一个路由器到直接连接的网络的距离为1。而每经过一个路由器,距离加1
-
RIP认为好的路由就是它通过的路由器的数目越少
-
RIP最多只能包含15个路由器,当路由器个数大于15时,则认为不可达。
-
RIP默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息。
-
在RIP中不支持子网掩码的RIP广播,所以RIP中每个网络的子网掩码必须相同
-
-
RIP的特点
-
仅和相邻的路由器交换信息
-
路由器交换的信息是自己知道的全部信息,即路由表
-
按固定的时间间隔交换路由信息,如每隔30秒
-
-
距离向量算法
每个路由表有三个关键数据<目的网络N,距离d,下一跳路由器地址X>。
RIP是应用层协议,它使用UDP传送数据(端口520)。RIP选择的路径不一定是时间最短的,但一定具有最少的路由器路径。
4.5.4 开放最短路径优先(OSPF)协议
-
OSPF协议的基本特点
开放最短路径有限(OSPF)协议是使用分布式链路状态路由算法的典型代表,也是内部网关协议(IGP)的一种。
OSPF与RIP相比有以下4点主要区别:
-
OSPF向本自治系统中所有路由器发送信息,这里使用的是洪泛法。RIP只向相邻的路由器发送。
-
OSPF发送信息是与本路由器相邻的所有路由器的链路状态。RIP发送的是本路由器所知道的全部信息。
-
当链路状态发送变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛的快。RIP定期更新。
-
OSPF是网络层协议,使用IP数据报发送。RIP是应用层的,使用UDP。
OSPF还具有以下特点:
-
OSPF可根据不同类型IP,而设置不同的代价。因此OSPF可根据不同类型的业务计算出不同的路由。
-
如果到达一个目的网络有多同相同代价的路径,那么可以将通信量分配给这几条路径,这称为多路径间的负载平衡。
-
所有在OSPF路由之间交换的分组都具有鉴别功能。
-
支持可变长度的子网划分和无分类编制CIDR
-
每个链路状态都带上一个32位的序号,序号越大,状态就越新。
-
-
OSPF工作的基本原理
根据迪杰斯特拉算法计算出自己的路由表。
-
OSPF的五重分组类型
-
问候分组
-
数据库描述分组
-
链路状态请求分组
-
链路状态更新分组
-
链路状态确认分组
-
4.5.5 边界网关协议(BGP)
边界网关协议(Border Gateway Protocol, BGP)是不同自治系统的路由器之间交换路由信息的协议,是一种外部网关协议。
4.6 IP组播
4.6.1 IP组播的概念
把一个分组发送给多个目的地主机,不是让源主机单独的给每个目的主机发送一个单独的分组,而是发送一个组播地址,该组播地址唯一标识一组地址,目的主机就可以加入这个地址。
主机使用一个叫IGMP(因特网组管理协议)的协议加入组播组。
4.6.2 IP组播地址
使用D类地址;前四位是 1110 ,因此D类地址范围是224.0.0.0~239.255.255.255。每个D类IP地址标志一个组播组。
4.7 移动IP
4.7.1 移动IP的概念
支持移动性的因特网体系结构与协议共称为移动IP。
确切的说,移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能。
使用移动IP,一个移动结点可以在不改变其IP地址的情况下改变其驻留的位置。
IPv4的移动IP定义三种功能实体:
-
移动结点
-
本地代理
-
外部代理
4.7.2 移动IP的通信过程(随便看看)
-
移动结点在本地网络时,使用TCP/IP通信
-
移动结点漫游到一个外地网络时,任然使用固定的IP地址通信,为了能收到通信对端给他的IP分组,移动结点需要向本地代理注册当前的位置地址,这个位置地址就是转交地址
-
本地代理接收来自转交地址的注册后,后构建一条通向转交地址的隧道。将截获的发给移动结点IP分组,通过隧道送到转交地址处
-
在转交地址处解除隧道封装,恢复原始IP分组,最后送到移动结点,这样移动结点在外网就能收到发送给它的IP分组
-
移动结点在外网通过外网的路由器或外部代理向通信对端发送IP数据包
-
移动结点来到另外一个外网时,只需要更新转交地址,就可以继续通信
-
回到本地网络时,移动结点注销转交地址,重新使用TCP/IP通信
4.8 网络层设备
路由器-->路由表(这里应该很熟悉了,路由器的功能)
路由器的功能:
-
连接不同的网络(网桥是扩大网络)
-
交付数据
-
……(等等)
路由表的四个组成项目:
-
目的无网络IP地址
-
子网掩码
-
下一跳IP地址
-
接口