第四章 网络层

  • 本章讨论多个互联网通过路由器互相连接成 互联网络(互联网) 的问题。
  • 本章重点:网际协议IP协议

1、网络层提供的两种服务

  • 传统认为:两个计算机进行通话先建立连接计算机网络与互联网知识点总结(四)_IP按照虚电路发送分组。

  • 下图,网络层提供的两种服务:
  • 计算机网络与互联网知识点总结(四)_子网_02

  • 设计新思路:网路层向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务网络层不提供服务质量的承诺

2、网际协议IP

  • 与IP协议配套使用的还有三个协议:地址解析协议ARP网际控制报文协议ICMP网际组管理协议IGMP

计算机网络与互联网知识点总结(四)_路由表_03

  • 网际层协议IP是用来使互联起来的许多计算机网络能够进行通信,因此,TCP/IP体系中的网络层常常称为网际层,或IP层

虚拟互联网络

  • 将数以百万计的网络连起来很复杂,没有一个单一的网络能够适应所有用户的需求
  • 将网络互联起来要使用一些中间设备,(1)物理层:转发器。(2)数据链路层:网桥桥连接。(3)网络层:路由器。(4)网路层以上:网关
  • 路由器就是一台专用计算机。用来在互联网中进行路由选择。历史原因,有关TCP/IP的文献曾把网络层使用的路由器称为网关

  • 下图,(a)用路由器将计算机网络互联,由于都使用相同的网际协议IP,因此,可看成是(b)图,虚拟互联网络,即逻辑互联网络,即各种物理网络异构性本利爱是客观存在的,但使用IP协议使得在网络层看起来好像是一个统一的网络
  • 计算机网络与互联网知识点总结(四)_路由表_04


  • 下图,计算机网络与互联网知识点总结(四)_路由表_05要把IP数据报发送给计算机网络与互联网知识点总结(四)_子网_06计算机网络与互联网知识点总结(四)_IP检查计算机网络与互联网知识点总结(四)_路由表_05路由表是否计算机网络与互联网知识点总结(四)_子网_06在本网络上。是,直接交付;否,IP数据报发送路由器计算机网络与互联网知识点总结(四)_IP_10计算机网络与互联网知识点总结(四)_IP计算机网络与互联网知识点总结(四)_IP_10查看自己路由表,将IP数据报发给计算机网络与互联网知识点总结(四)_IP_13间接交付计算机网络与互联网知识点总结(四)_IP计算机网络与互联网知识点总结(四)_IP_15计算机网络与互联网知识点总结(四)_IP计算机网络与互联网知识点总结(四)_子网_17知道和计算机网络与互联网知识点总结(四)_子网_06在同一网络,直接将IP数据报直接交付给主机计算机网络与互联网知识点总结(四)_子网_06
  • 计算机网络与互联网知识点总结(四)_子网_20

  • 强调:互联网可以由多种异构网络互连组成

分类的IP地址

IP地址及其表示法

  • IP地址就是给因特网上的每个主机(路由器)的每一个接口分配一个全世界范围是唯一的32位标识符,由因特网名字和数字分配机构ICANN进行分配。
  • 经历了三个阶段:(1)分类的IP地址。(2)子网的划分。(3)构成超网
  • 分类的IP地址:将IP地址分为若干类。第一字段是网络号,标志主机所连到的网络。第二字段是主机号,标志该主机(路由器)。
  • 计算机网络与互联网知识点总结(四)_路由表_21,::=表示“定义为”。
  • 下图,A,B,C类地址为单播地址(一对一通信),最常用。

计算机网络与互联网知识点总结(四)_子网_22

  • IP地址不仅仅指明一个主机,而且还指明了主机所连接到的网络
  • 为方便使用,将32位二进制数,每8位加一个空格(机器中没有),使用等效的十进制数表示,两两数字加一个点,叫做点分十进制记法

常用的三种类别的IP地址

  • A类地址,网络号占一个字节,只有7位可以使用(第一位固定为0)。可以指派的为126个。少2的原因:(1)IP地址中全0表示“this”,意为本网络。(2)网络号127(011111111)保留作为本地软件换回测试,不是网络地址。
  • A类地址主机号占用3字节,最大主机数为16 777 214个。减2原因:全0主机号字段表示IP地址是“本主机”所连接到的单个网络地址,全1表示“所有的”主机。
  • IP地址共有计算机网络与互联网知识点总结(四)_IP_23(4 294 967 296)个地址,A类占用50%。
  • B类地址网络字段2字节,前两位(10)已固定,剩下14位。不存在减2的问题。但128.0.0.0不指派。可以指派的最小网络是128.1.0.0,即16 383个。B类最大主机数是计算机网络与互联网知识点总结(四)_子网_24,即65 534。占整个的25%。
  • C类3字节是网络字段,前三位(110)固定,21位可以分配。192.0.0.0不指派,可指派的最小网络是192.0.1.0。可指派总数是计算机网络与互联网知识点总结(四)_IP_25即2097 151。最大主机数是计算机网络与互联网知识点总结(四)_IP_26,即254。占整个的12.5%。

计算机网络与互联网知识点总结(四)_IP_27

计算机网络与互联网知识点总结(四)_路由表_28

  • IP地址重要特性:(1)IP地址是一种分等级的地址结构,路由器仅根据目的主机所连接的网络号转发分组,减小路由表所占的存储空间以及查找路由表的时间
  • (2)实际IP地址是标志一个主机(路由器)和一条链路的接口。一个路由至少连接两个网络,所以;路由器至少有两个不同的IP地址。
  • (3)一个网络是具有相同网络号的主机的集合。因此,用转发器或者网桥连接起来的若干个局域网仍然为一个网络
  • (4)IP地址中,所有分配到的网络都是平等的。
  • 同一个局域网上的IP地址必须一样;路由器总是就有两个或者以上的IP地址,即每一个接口都有不同的IP地址;两个路由器直接相连,常常不分配IP地址,构成无编号网络(无名网络)

IP地址与硬件地址

  • 弄懂主机的IP地址和硬件地址的区别。

  • 物理地址是物理层和数据链路层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址
  • 计算机网络与互联网知识点总结(四)_IP_29


  • IP地址中的IP数据报计算机网络与互联网知识点总结(四)_IP封装成MAC帧。
  • 计算机网络与互联网知识点总结(四)_子网_31

  • 计算机网络与互联网知识点总结(四)_路由表_32

地址解析协议ARP

  • 已知一个主机的IP地址,需要找到相应的硬件地址,ARP就是用来解决这个问题的。

计算机网络与互联网知识点总结(四)_路由表_33

  • ARP在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,经常动态更新。

计算机网络与互联网知识点总结(四)_IP_34

  • (1)主机A发送请求。(2)局域网上的所有运行ARP的主机都收到ARP的请求分组。(3)主机B与ARP请求要查询的IP地址一致时,ARP收下请求分组,不一致,不理睬。(4)主机A收到主机B的ARP响应后,在ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
  • 高速缓存就使得下次ARP中有同样目的地址的主机通信,不用广播的方式发送APR请求分组。
  • APR是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
  • 为什么不直接用硬件地址而是要抽象调用IP地址并调用APR找到硬件地址?
  • 全世界的各式各样的网络的硬件地址不同,必须进行非常复杂的硬件地址转换,统一的IP地址能够解决。

IP数据报格式

  • IP数据报由首部和数据部分组成,前一部分是固定长度20字节,必须有,后面是可选字段,长度可变。

计算机网络与互联网知识点总结(四)_子网_35

IP数据报首部的固定部分中的各字段
  • (1)版本 占4位,IP协议的版本。广泛使用的事IP协议版本号为4(IPv4)。以后是IPv6。
  • (2)首部长度 占4位,表示最大十进制15。首部长度最小值是5(0101)(5 * 4 = 20字节),最大时是1111(15),相当于15 * 4 = 60字节。
  • (3)区分服务 占8位, 一般不使用。
  • (4)总长度 首部和数据之和的长度,单位为字节。占16位,数据报最长为计算机网络与互联网知识点总结(四)_IP_36字节。
  • IP数据报越长,传输效率越高(首部长度占比小);IP数据报越短,路由器转发速度越快。
  • (5)标识 占16位,每产生一个数据报,计数器加1,将此值赋值给标识字段。
  • (6)标志 占3位,两个意义:最低位记MF,MF=1表示后面“还有分片”的数据报,MF=0表示这是若干数据报片中的最后一个;标识字段中间一位记为DF,为不能片分。DF=0时,允许分片。
  • (7)片偏移 占13位。较长的分组在分片后,某片在原分组中的相对位置。
  • (8)生存时间 占8位,是TTL,寿命。防止无法发送的数据报兜圈子。TTL表明数据报在因特网至多可经过多少个路由器。显然最大是255。初值为1。
  • (9)协议 占8位, 指出次数据报使用何种协议。
  • (10)首部校验和 占16位,只检验数据报首部,不包括数据部分
  • (11)源地址 占32位。
  • (12)目的地址 占32位。
IP数据报首部的可变部分
  • 为了增加IP数据报的功能,但增加了路由器处理数据报的开销。实际上很少使用。新版IPv6将IP数据报的首部做成固定的。

IP层转发分组的流程

计算机网络与互联网知识点总结(四)_IP_37

  • 从一个路由器转发到下一个路由器。最重要的这两个信息:目的网络地址下一个跳地址
  • 当发送一连串的数据报时,查找路由表、计算硬件地址、写入MAC帧首部将不断进行。
  • 分组转发算法如下:
  • (1)从数据报首部提取目的主机IP地址D,得出目的网络地址为N。
  • (2)N为次路由器直接相连的网路,进行直接交付,将D转为具体的MAC地址,否则执行(3)。
  • (3)若路由表中有目的地址D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则,执行(4)。
  • (4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器,否则,执行(5)。
  • (5)若路由表中有一个默认路由,则把数据报在传送给路由表中所指明的默认路由器,否则,执行(6)。
  • (6)报告转发分组出错。

3、划分子网和构造超网

划分子网

从两级IP地址到三级IP地址

  • IP地址空间浪费严重。
  • 每个物理网络分配一个网号,会使路由表变得太大,网络性能变坏。
  • 两级IP地址不够灵活
  • 为解决上述问题,提出增加一个子网号字段。叫做划分子网(子网寻址或子网路由选择)

  • 可将所属的物理网络划分为若干个子网。两级IP地址在本单位内部变成三级 IP地址:网络号、子网号、主机号
  • 计算机网络与互联网知识点总结(四)_IP_38

  • 划分子网就是对IP地址的主机号再划分,不改变IP地址原来的网络号。

子网掩码

计算机网络与互联网知识点总结(四)_路由表_39

  • 上面(e)图,路由器计算机网络与互联网知识点总结(四)_IP_10把三级IP地址的子网掩码和收到的数据报的目的地址145.13.3.10逐位相,得出所要找的子网的网络地址145.13.3.0。
  • 因特网标准规定,所有的网络必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。

  • 默认子网掩码:
  • 计算机网络与互联网知识点总结(四)_路由表_41


  • 子网掩码是一个网络或一个子网的重要属性
  • 计算机网络与互联网知识点总结(四)_路由表_42

  • 上图可看出,使用较少位数的子网号,则每一个子网上的可连接的主机数就较多。反之,较少。
  • 结论:划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。比如,B类主机总数为65534台主机,但划分子网,少于这个数。

使用子网时分组的转发

  • 使用子网划分后,路由表必须包含目的网络地址、子网掩码、下一跳地址
  • 使用划分子网的情况下,路由器转发分组算法:(1)收到数据包首部提取目的地址D。(2)各网络的子网掩码和D相与,不匹配进入(3)的间接交付。(3)路由表有目的地址为D的特定主机路由,传送给下一跳地址,否则执行(4)。(4)对路由表中的每一行的子网掩码和D逐位相与,结果是N,将数据报传送给相应的下一跳地址,否则执行(5)。(5)有默认路由,传送给指明的默认路由,否则执行(6)。(6)报错。
  • 下图是主机计算机网络与互联网知识点总结(四)_IP_43向主机计算机网络与互联网知识点总结(四)_路由表_44发送分组的例子:

计算机网络与互联网知识点总结(四)_子网_45

无分类编址CIDR(构成超网)

网路前缀

  • 1992年互联网存在的问题:(1)B类地址,已经分配一半了。(2)因特网主干中的路由表项目急剧增长。(3)整个IPv4空间,在2011年2月3日,地址全部耗尽。
  • 使用变长子网掩码(VLSM)可进一步提高IP地址利用率。进一步研究出无分类编址正式名字是无分类域间路由选择CIDR
  • CIDR的两个特点:(1)消除了传统的A、B、C类地址及其子网划分的概念。(2)CIDR将网络前缀都相同的连续IP地址组成一个“CIDR”地址块
  • 一个CIDR中有多个地址,路由表就利用CIDR查找目的网络。叫做路由聚合。也称为构成超网。有助于减小路由之间的路由选择信息的交换,提高整个因特网的性能。
  • 网络前缀越短,其地址块所包含的地址数就越多。

最长前缀匹配

  • 应当从匹配结果中选择具有最长网络前缀的路由。叫做最长前缀匹配,又称为最长匹配或者最佳匹配
  • 这种分配方式的方法使得IP地址与地理位置相关联,好处是是可以大大压缩路由表中的项目数。

使用二叉搜索树查找路由表

计算机网络与互联网知识点总结(四)_路由表_46

  • 是一种可以快速在路由表中找到匹配的叶节点的机制。但是否和前缀匹配,还要和子网掩码进行一次逻辑与。

4、网际控制报文协议ICMP

计算机网络与互联网知识点总结(四)_路由表_47


  • ICMP报文格式分两种:ICMP差错报告报文ICMP询问报文
  • 计算机网络与互联网知识点总结(四)_路由表_48

  • ICMP差错报告报文分五种:终点不可达源点抑制时间超过参数问题改变路由

计算机网络与互联网知识点总结(四)_路由表_49

  • 常用的ICMP询问报文分两种:回送请求和回答时间戳请求和回答

ICMP的应用举例

  • ICMP一个重要的应用就是分组网间探测 PING(Packet InterNet Groper) 用来测试两个主机之间的连通性。PING使用了ICMP回送请求和会送回答报文。PING是应用层直接使用网络层ICMP的一个例子。

  • tracert命令。
  • 计算机网络与互联网知识点总结(四)_路由表_50

5、因特网的路由选择协议

有关路由选择协议的几个基本概念

理想的路由算法

  • 特点:(1)算法必须是正确的,完整的。(2)算法在计算上应简单。(3)算法应能适应通信量和网络拓扑的变化。(4)算法应具有稳定性。(5)算法应是公平的。(6)算法应是最佳的
  • 从路由选择算法能否从随着网络的通信量或拓扑自适应地进行调整变化来划分,分两类:静态路由选择策略动态路由选择策略

分层次的路由选择协议

  • 两个原因:(1)因特网规模非常大。(2)许多单位不愿意外界了解自己单位网络布局细节。
  • 所以,因特网将整个网络划分诶许多较小的自治系统AS。将路由选择协议划分为两大类:(1)内部网关协议IGP。如:RIP、OSPF协议等等。(2)外部网关协议EGP
  • 自治系统之间的路由选择也叫作域间路由选择。自治系统内部路由选择叫做域内路由选择

内部网关协议RIP

工作原理

  • 叫做路由信息协议。RIP是一种分布式的基于距离向量的路由选择协议。最大优点是简单。
  • RIP自适应于小型互联网
  • 特点:(1)仅和相邻路由器交换信息。(2)交换信息是当前本路由器所知道的全部信息,即自己的路由表。(3)按固定时间间隔交换路由表

距离向量算法

  • Bellman-ford算法。(其实就是动态规划)。
  • RIP协议让一哥自治系统中的所有路由器都和自己相邻的路由器定期交换路由信息,不断更新路由表,使得每一个路由器到每一个目的网络的路由都是最短的(跳数最少)。

RIP协议的报文格式

计算机网络与互联网知识点总结(四)_IP_51

  • RIP协议的缺点:当网络出现故障时,要经过较长时间才能将此信息产送到所有的路由器

内部网关协议OSPF

OSPF协议的基本特点

  • OSPF是开放最短路径优先。为了克服RIP的缺点1989年开发。开放表明OSPF协议不受某一厂商控制,而是公开发表的。“最短路径优先”使用了Dijkstra提出的最短路径算法SPF
  • OSPF最主要的特征就是使用分布式的链路状态协议,不是RIP那样的距离向量协议。和RIP相比,OSPF的三个要点和RIP的不一样:
  • (1)向本自治系统的所有路径发送信息,使用的方法是洪泛法:路由器通过所有输出端口向所有相邻路由器又再将此信息发往其所有相邻路由器。
  • (2)发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
  • (3)当链路发生变化时,路由器才向所有路由器用洪泛法发送此信息。
  • OSPF的更新过程收很快是重要优点。
  • 下图,OSPF将一个自系统划分为更小的区域
  • OSPF使用层次结构的区域划分。上层叫做主干区域,其他区域来的信息都由区域边界路由器概括。
  • OSPF不用UDP而是直接使用IP数据报传送
  • OSPF分组用IP数据报传送:

外部网关协议BGP

  • 使用外部网关协议的原因:(1)因特网的规模太大,使得AS之间路由选择非常困难。(2)AS之间的路由选择必须考虑有关策略

  • 两个BGP发言人往往就是BGP 边界路由表。使用TCP连接的交换路由信息的两个BGP发言人,彼此成为对方的邻站对等站
  • 计算机网络与互联网知识点总结(四)_路由表_52


  • BGP报文的格式:
  • 计算机网络与互联网知识点总结(四)_路由表_53

路由器的构成

路由器的结构


  • 路由器是一种具有多个输入端口和多个输出端口的专用计算机,任务是转发分组。从路由器的某个输入端口收到分组,转发给某个合适的输出端口转发给下一跳地址。
  • 计算机网络与互联网知识点总结(四)_子网_54

  • 整个路由器分为:路由选择部分(控制部分),路由转发部分
  • 路由转发部分:交换结构、输入端口、输出端口

交换结构

  • 三种常用的交换方法:

6、IP多播

IP多播的概念


  • 多播与单播的比较:
  • 计算机网络与互联网知识点总结(四)_路由表_55

  • 因特网范围的多播要靠路由器来实现,能够运行多播协议的路由器称为多播路由器
  • 多播数据报的目的地址写入的是多播组的标识符,然后设法让加入到这个多播组的主机的IP地址与多播组的标识符关联。
  • 多播组的标识符是IP地址中的D类地址。D类地址共可表示计算机网络与互联网知识点总结(四)_路由表_56个多播组。
  • 多播地址只适应于目的地址,不适应于源地址

在局域网上进行硬件多播

  • D类IP地址与以太网多播地址的映射关系。

网际组管理协议IGMP和多播路由选择协议

IP多播需要两种协议

  • 路由器如何知道多播组的成员信息?主要网际组管理协议IGMP
  • IGMP协议是让连接在本地局域网上的多播路由器知道本地局域网上是否有主机参加或退出某个多播组织。
  • 多播路由器在转发多播报时,不能仅仅根据多播数据报中的目的地址,而是要考虑这个多播数据报从什么地方来和要到什么地方去。

网际组管理协议IGMP

  • 和网际控制报文协议ICMP类似,IGMP使用IP数据报传递其报文(IGMP报文加上IP首部构成IP数据报)。
  • IGMP工作分两部分:(1)当某个主机新加入时,该主机向多播组的多播地址发送一个IGMP报文,声明自己要成为改组的成员。(2)组成员关系是动态的。
  • IGMP采取的具体措施:(1)在主机和多播路由器之间的所有通信都是使用IP多播。(2)(3)
  • (还有一部分内容 暂时不写了)

7、虚拟专用网络VPN和网络地址转换NAT

虚拟专用网络VPN

  • 一些专用地址,只能用于一个机构的内部通信,不能用于和因特网上的主机通信。专用地址只能用于本地地址而不能用作全球地址。在因特网的所有路由器,对目的地址是专用地址的数据报一律不进行转发

  • 一些机构有许多部门相距很远,使用专用网通信两种方法:(1)租用电信公司的通信线路。(2)利用公用的因特网作为本机构各专用网之间的通信载体,称为虚拟专用网络VPN所有通过因特网的数据必须加密
  • 计算机网络与互联网知识点总结(四)_IP_57

  • 上图,A到R1,R1加密,到R2,R2解密到B。

网络地址转化NAT

  • 内部主机有专用地址,但是还想和因特网通信,办法就是再申请一些全球IP地址,但是IPv4的地址不多了,所以采用网络地址转换。
  • 网络地址转换NAT,在专用的网络连接到因特网的路由器上安装NAT软件,叫做NAT路由器。