计算机网络复习——第四章 网络层

**计算机网络(自顶向下方法)**内容重点

第四章 网络层

转发功能、路由选择功能、路由器、网络层编址、IP协议、IPv4数据报格式、网络地址转换NAT、数据报分段、因特网控制报文协议ICMP、IPv6

4.1概述

  1. 发送端的网络层获取运输层的报文段,将每个报文段封装成一个数据报(即一个网络层的分组),然后将数据报向相邻的路由器发送。
  2. 路由器的主要作用是将数据报从入链路转发到出链路;

4.1.1 转发和路由选择

  1. 转发:当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路。
  2. 路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所采取的路由或路径。
  3. 每台路由器具有一张转发表。路由器通过检查到达分组首部字段的值来转发分组,然后使用该值在该路由器的转发表中索引查询。储存在转发表项中的该首部的值指出了该分组将被转发的路由器的输出链路接口。
  4. 路由选择算法决定了插入路由器的转发表中的值,可能是集中式的或是分布式的。在任何一种情况下,都是有路由器接收路由选择协议报文,该信息被用于配置其转发表。在人类网络操作员直接配置的情况下,不需要任何路由选择协议。
  5. 分组交换机:指一台通用分组交换设备,根据分组首部字段中的值,从输入链路接口到输出链路接口转移分组。分为链路层交换机和路由器,链路层交换机基于链路层字段中的值做转发决定,路由器基于网络层字段中的值做转发决定。
  6. 连接建立,见4.2。

4.1.2网络服务模型

  1. 网络服务模型:定义分组在发送与接收端系统之间的端到端运输特性。
  2. 运输层向网络层传递分组时,网络层提供的特定服务包括:
  • 确保交付:确保分组最终到达目的地
  • 时延上界的确保交付:在特定的主机到主机时延上界内交付
  • 有序分组交付:以发送顺序到达目的地
  • 确保最小带宽:只要发送主机以低于特定比特率的速率传输比特,则分组不会丢失,且每个分组会在预定的主机到主机时延内到达
  • 确保最大时延抖动:发送方两个相继分组之间的时间量等于接到它们之间的时间量
  • 安全性服务:源主机的网络层能够加密向目的主机发送的所有数据报负载,除了机密性,网络层还能提供数据完整性源鉴别服务
  1. 因特网的网络层提供尽力而为的服务。
  2. 其他网络体系结构能超过因特网,如ATM网络体系结构:恒定比特率可用比特率

4.2虚电路和数据报网络

  1. 网络层也能够在两台主机之间提供无连接服务和连接服务
  2. 在网络层中,这些服务是由网络层向运输层提供的主机到主机的服务;在运输层则是运输层向应用层提供的进程到进程的服务。
  3. 仅在网络层提供连接服务的计算机网络称为虚电路网络;仅在网络层提供无连接服务的计算机网络称为数据报网络
  4. 运输层面向连接服务是在位于网络边缘的端系统中实现的;网络层连接服务除了在端系统中,也在位于网络核心的路由器中实现。

4.2.1虚电路网络

  1. 一条虚电路的组成
    ①源和目的主机之间的路径(一系列链路和路由器);
    ②VC号,沿着该路径的每段链路的一个号码(这样长度较短,且方便虚电路的建立),一条虚电路在每条链路上可能具有不用的VC号,每台中间路由器必须用一个新的VC号替代每个传输分组的VC号;
    ③沿着该路径的每台路由器中的转发表表项(记录出、入接口、出、入VC号)。
  2. 跨越一台路由器创建(终止)一条新的虚电路,转发表就会增加(删除)一个新的表项。
  3. 该网络的路由器必须为进行中的连接维持连接状态信息
  4. 虚电路的3个阶段:
  • 虚电路的建立
    网络层决定发送方与接收方之间的路径,即该虚电路的所有分组要通过一系列链路和路由器。
    网络层也为沿着该路径的每条链路决定一个VC号。
    最后,网络层在沿着路径的每台路由器的转发表中增加一个表项。
    网络层还可以预留该虚电路路径上的资源(如带宽)。
  • 数据传输
    分组沿该虚电路流动。
  • 虚电路拆除
    发送方(或接收方)通知网络层终止该虚电路。
    网络层将通知网络另一侧端系统结束呼叫,并更新路径上每一台分组路由器中的转发表以表明该虚电路已不存在。
  1. 在运输层连接建立期间,端系统独自决定运输层连接的参数,路由器并不知情。
    在虚电路网络层,沿两个端系统之间路径上的路由器都要参与虚电路的建设,且每台路由器都完全知道经过他的所有虚电路。
  2. 端系统向网络发送指示虚电路启动与终止的报文,以及路由器之间传递的用于建立虚电路(即修改路由器表中状态)的报文,称为信令报文

4.2.2数据报网络

  1. 每当一个端系统要发送分组,就为分组加上目的端系统的地址,然后分组推进网络中。
  2. 当分组从源到目的地传输,通过一系列的路由器,每天都是用分组的目的地址来转发该分组。
  3. 每台路由器有一个将目的地址映射到链路接口的转发表;当分组到达路由器时,路由器使用该分组的目的地址在转发表中查找适当的输出链路接口。然后路由器有意将分组向该输出链路接口转发。
  4. 路由器用分组的目的地址的前缀与该表中的表项进行匹配;如果存在一个匹配项,则路由器向与该匹配项相联系的链路转发分组。
  5. 当有多个匹配时,该路由器使用最长前缀匹配规则,即在该表中寻找最长的匹配项,并向与最长前缀匹配相关联的链路接口转发分组。
  6. 路由器不维持连接状态信息,但是维持转发表中的转发状态信息。

4.2.3虚电路和数据报的由来

虚电路来源于电话界;
数据报网络是由将计算机连接在一起的需求发展而来的。

4.3路由器工作原理

一台路由器的输入、输出端口和交换结构共同实现了这种转发功能,并且总是用硬件实现。这种转发功能又称路由器转发平面
在这里插入图片描述

4.3.1输入端口

  1. 输入端口的线路端接功能与链路层处理实现了用于各个输入链路的物理层和链路层。
  2. 路由器在输入端口使用转发表来查找输出端口,使到达的分组将能经过交换结构转发到对应的输出端口。
  3. 转发表的影子副本会被存放在每个输入端口。
  4. 一旦通过查找确定了某分组的输出端口,该分组就能够发送进入交换结构,如果来自其他输入端口的分组当前正在使用该交换结构,该分组就会在进入交换结构时被阻塞。
  5. 还必须:
    出现物理层和链路层处理;
    检查分组的版本号、检验和、寿命字段;
    更新用于网络管理的计数器。

4.3.2交换结构

  1. 交换结构位于一台路由器的核心部位。
  2. 有如下交换方式:
  • 经内存交换
    在CPU(路由选择处理器)的直接控制下完成。首先从首部中提取目的地址,在转发表中找出适合的输出端口,并将该分组复制到输出端口的缓存中。
    不能同时转发两个分组,即使有不同的端口号,因为经过共享系统总线一次只能执行一个内存读/写。
    在这里插入图片描述
  • 经总线交换
    输入端口经一根共享总线将分组直接传送到输出端口,不需要路由选择处理器的干预。
    输入端口为分组预先计划一个交换机内部标签(首部),指示本地输出端口,使分组在总线上传送和传输到输出端口。
    该分组能由所有输出端口收到,但只有与该标签匹配的端口才能保存该分组。然后标签在输出端口被去除,因为其仅用于交换机内部来跨越总线。
    如果多个分组同时到达,则除了一个分组外其他都要等待,因为一次只有一个分组能够跨越总线
    在这里插入图片描述
  • 互联网络交换
    纵横式交换机就是一种有2N条总线组成的互联网络,连接N个输入端口和N个输出端口,如图中的交叉点通过交换结构控制器能够在任何时候开启和闭合。
    不同的分组从不同输入端口到不同输出端口可以同时走不同的路线,因此纵横式交换网络能够并行转发多个分组
    然而,不同输入端口到相同输出端口的两个分组就必须有一个等待。
    在这里插入图片描述

4.3.3输出端口

处理取出存放在输出端口内存中的分组并将其发送到输出链路上。这包括选择和取出排队的分组进行传输,执行所需的链路层和物理层传输功能。

4.3.4何时出现排队

当无内存可用于存储到达的分组时将会出现丢包

4.4网际协议:因特网中的转发和编址

网络层三个主要组件:IP协议,路由选择部分(决定了数据报从源到目的地所流经的路径)、报告数据报中的差错和对某些网络层信息请求进行响应的设施(相关协议:互联网控制报文协议ICMP)。

4.4.1数据报格式

  1. 网络层分组被称为数据报
  2. IPv4数据报关键字段:
  • 版本号:通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分。
  • 首部长度:一般IP数据报具有20字节的首部。
  • 服务类型(TOS)
  • 数据报长度:IP数据报的总长度(首部+数据),以字节为单位。
  • 标识、标志、片偏移:IPv6不允许在路由器上对分组分片。
  • 寿命(TTL):用来确保数据报不会永远在网络中循环。每当数据报由一台路由器处理时,该字段的值减1。若TTL减为0,则该数据报必须丢弃。
  • 协议:仅在一个IP数据报到达最终目的地才会用到,指示了IP数据报的数据部分应交给哪个特定的运输层协议。协议号是将网络层和运输层绑定到一起的粘合剂,而端口号是将运输层和应用层绑定到一起的粘合剂
  • 首部检验和:帮助路由器监测收到的IP数据报中的比特错误。如果检测到错误,路由器会丢弃该数据报。每台路由器必须重新计算检验和并再次存放到原处,因为TTL字段以及可能的选项字段会改变。
  • 源和目的IP地址
  • 选项
  • 数据(有效载荷):包含交付给目的地的运输层报文段(TCP或UDP),还有可能承载其他数据如ICMP。不参与检验和的运算
    在这里插入图片描述
  1. IP数据报分片
  • 一个链路层帧能承载的最大数据量叫作最大传送单元(MTU)
  • 发送方与目的地路径上的每段链路可能使用不用的链路协议,且每种协议可能具有不同的MTU。
  • 将IP数据报中的数据片成较小的IP数据报称为
  • 将数据报切片的工作由路由器自己决定;将数据报重新组装的工作放在端系统而不是路由器中。
  • 发送主机将发送的每个数据报的标识号加1。当某路由器需要对一个数据报分片时,形成的每个数据报(片)具有初始数据报的原地址、目的地址与标识号。
  • 当目的主机从同一发送主机接收到一系列数据报时,能够检查数据报的标识号以确定哪些数据报实际上是同一较大数据报的片。
  • 最后一个片的标志比特被设为0,所有其他片的标志比特设为1。另外,为了让目的主机确定是否丢失了一个片,且能按正确顺序重新组装片(IP是一种不可靠服务),使用便宜字段指定该片应该放在初始IP数据报的哪个位置。

4.4.2IPv4编址

  1. 主机和物理链路之间的边界叫作接口
  2. 因为每台主机和路由器都能发送和接收IP数据报,IP要求每台主机和路由器接口拥有自己的IP地址。
  3. IP地址技术上是与接口相关联,而不是与包括该接口的主机或路由器相关联的。
  4. 地址按点分十进制记法,每8比特一段,每段用十进制表示。
  5. 分类编址
    在这里插入图片描述
    注意在这里插入图片描述

A类网络在这里插入图片描述可指派网络数2^(8-1) - 2 =126
(减2的原因是除去最小网络号0和最大网络号127)
每个网络中可分配的IP地址数量2^24 - 2 = 16777214
(减2的原因是除去主机号为全0的网络地址和全1的广播地址)

B类网络
在这里插入图片描述C类网络
在这里插入图片描述总结在这里插入图片描述
特殊
在这里插入图片描述

  1. 划分子网
  • 子网掩码:用于将本地地址划分为网络和主机端口。
    xx xx xx xx/n n指的是掩码的位数。
    路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
    路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。
    若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
    在这里插入图片描述
    在这里插入图片描述
    默认的子网掩码是指在未划分子网的情况下使用的子网掩码。
    在这里插入图片描述
    幻数:
    256减去最后一个非零八位。
    在C类的例子中,子网掩码是255.255.255.224。224是最后一个非零八位元组我们的幻数是256 -224 = 32
  1. 获得地址
    动态主机配置协议(DHCP)(又称为即插即用协议)允许主机自动获取一个IP地址。
    网络管理员能手动配置DHCP,以使某给定主机每次与网络连接时能得到一个相同的IP地址,或者能得到一个临时的IP地址。
    每个子网都具有一台DHCP服务器
  • DHCP协议的4个步骤
    • GHCP服务器发现:客户生成包含DHCP发现报文的IP数据报,其中使用IP广播地址255.255.255.255并且使用“本主机”源地址0.0.0.0。将该IP数据报传递给链路层,然后链路层将该帧广播到所有与该子网连接的子网。
    • DHCP服务器提供:服务器收到DHCP发现报文时,用一个DHCP提供报文向客户做出响应,仍然使用IP广播地址255.255.255.255。每台服务器提供的报文包含有收到的发现报文的事务ID、向客户推荐的IP地址、网络掩码以及IP地址租用期(即IP地址有效的时间量)。
    • DHCP请求:客户从一个或多个服务器提供中选择一个,并向其提供一个DHCP请求报文进行响应,回显配置参数。
    • DHCP ACK:服务器使用该报文对请求报文进行响应,证实所要求的参数。

4.4.3因特网控制报文协议(ICMP)

  1. ICMP:用来沟通主机和路由器之间网络层的信息,最典型的用途是差错报告。
  2. 源抑制报文:最初用来执行拥塞控制,但TCP有自己的拥塞控制机制。拥塞的路由器向一台主机发送一个ICMP源抑制报文,以强制主机减少其发送速率

4.4.4IPv6

4.5路由选择算法

  1. 数据报服务在不同分组情况下可能采用不同的路由;虚电路服务在不同分组情况下采用相同路由
  2. 主机通常与一台路由器相连接,该路由器为主机的默认路由器,又称为该主机的第一跳路由器
  3. 源主机的默认路由器称为源路由器,目的主机的默认路由器称为目的路由器
  4. 路由选择算法:
  • 全局式路由选择算法:以所有结点之间的连通性以及所有链路的费用为输入计算出最低费用路径。具有全局状态信息的算法成被称作链路状态算法,因为该算法必须知道网络中每条链路的费用。
  • 分散式路由选择算法:只有每个结点仅有与其直接相连链路的费用即可开始工作。然后迭代计算过程并与相邻结点(即与该结点相连链路的另一端的结点)交换信息,一个结点逐渐计算出到达某目的结点或一组目的结点的最低费用路径。距离向量路由选择算法属于该算法类。

还有一种分类方式:在这里插入图片描述

4.5.1链路状态路由选择算法

让每个结点向网络中所有其他结点广播链路状态分组,其中每个链路状态分组包含它所连接的链路的特征和费用。
Dijkstra算法

4.5.2距离向量路由选择算法

在这里插入图片描述

4.5.3层次路由选择

每个自治系统AS由一组通常处在相同管理控制下的路由器组成。在相同AS中的路由器都全部运行相同的路由选择算法,且拥有彼此的信息。
AS之间互联需要一台或多台路由器额外负责向在本AS之外的目的地转发分组,这些路由器被称为网关路由器

4.6因特网中的路由选择

在这里插入图片描述

4.6.1因特网中自治系统内部的路由选择

路由选择信息协议 RIP

  1. RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance-Vector)"。
  2. RIP使用跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离
  3. 路由器到直连网络的距离定义为1。
  4. 路由器到非直连网络的距离定义为所经过的路由器数加1(包括自己本身)。
  5. 只允许一条路径最多只能包含15个路由器。**“距离”等于16时相当于不可达。**因此,RIP只适用于小型互联网。
  6. RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由。
  7. 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡
  8. RIP包含以下三个要点:
  • 仅和相邻路由器交换信息
  • 交换自己的路由表
  • 周期性交换:如每30秒
  1. 工作原理:
  • 路由器刚开始工作时,只知道自己到直连网络的距离为1
  • 每个路由器仅和相邻路由器周期性地交换并更新路由信息
  • 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。
  1. 坏消息传得慢

开放最短路径优先协议 RIP

  1. “最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF
  2. OSPF是基于链路状态的,而不像RIP那样是基于距离向量的。
  3. OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路。OSPF不限制网络规模,更新效率高,收敛速度快
  4. 链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”(cost)。“代价”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定。
  5. OSPF相邻路由器之间通过交互问候(Hello)分组,建立和维护邻居关系。
  6. Hello分组封装在IP数据报中,发往组播地址224.0.0.5;
  7. 发送周期为10秒,40秒未收到来自邻居路由器的Hello分组,则认为该邻居路由器不可达
  8. 使用OSPF的每个路由器都会产生链路状态通告LSA(Link State Advertisement)。LSA中包含以下内容:
  • 直连网络的链路状态信息
  • 邻居路由器的链路状态信息
  1. LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致。
  2. 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。
  3. OSPF的五种分组类型:
  • 问候(Hello)分组:用来发现和维护邻居路由器的可达性。
  • 数据库描述(Database Description)分组:向邻居路由器给出自己的链路状态数据库中的所有链路状态项目的摘要信息
  • 链路状态请求(Link State Request)分组:向邻居路由器请求发送某些链路状态项目的详细信息。
  • 链路状态更新(Link State Update)分组:路由器使用这种分组将其链路状态进行洪泛发送,即用洪泛法对全网更新链路状态。
  • 链路状态确认(Link State Acknowledgment)分组:这是对链路状态更新分组的确认分组。
    在这里插入图片描述

4.6.3自治系统间的路由选择:BGP

  1. 在不同自治系统内,度量路由的“代价”(距离,带宽,费用等)可能不同。因此,对于自治系统之间的路由选择,使用“代价”作为度量来寻找最佳路由是不行的。
  2. 在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的BGP发言人。不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179。
  3. 在此TCP连接上交换BGP报文以建立BGP会话。利用BGP会话交换路由信息(例如,增加新的路由,或撤销过时的路由,以及报告出错的情况等)。
  4. 使用TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻站(neighbor)或对等站(peer)BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP,例如OSPF或RIP。
  5. BGP发言人交换网络可达性的信息(要到达某个网络所要经过的一系列自治系统)。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各自治系统的较好的路由。也就是构造出树形结构、不存在回路的自治系统连通图
    在这里插入图片描述

4.7广播与多播路由选择

  1. 广播路由选择:网络层提供了从一种源结点到网络中的所有其他结点交付分组的服务。
  2. 多播路由选择:使单个源结点能够向其他网络结点的一个子集发送分组的副本。

4.7.1广播路由选择算法

  1. 工作方式:在给定N个目的结点的情况下,源结点产生N份副本,向N个目的地传输N份副本。N次单播
  2. 缺点:
  • 效率低:让第一跳路由器复制副本再向其他结点发送。
  • 需要另外的协议来指导目的地址,增加开销。
  1. 无控制洪泛:当一个结点接收到一个广播分组时,复制该分组并向其所有邻居转发分组。但是如果有环,可能会造成无休止循环;还有可能造成多个副本而形成广播风暴
  2. 受控洪泛
  • 序号控制洪泛:源结点将其地址(或其他唯一标识符)以及广播序号放入广播分组,再向它的所有邻居发送该分组。每个结点维护已经收到的、复制的、转发的源地址和每个广播分组的序号列表。
  • 反向路径转发(RPF):当一台路由器接收到具有给定源地址的广播分组时,仅当该分组到达的链路正好是位于他自己的返回其源的最短单播路径上,才向其所有出链路(除了接收分组的那个)传输报文。否则丢弃分组。
  1. 生成树广播
    每段链路具有相应的费用且一棵树的费用就是其链路费用之和,则该图中所有生成树中费用最小的生成树称为最小生成树

4.7.2多播

  1. 多播数据报使用间接地址来编址。表示一组接收方的单一标识就是一个D类多播地址。与一个D类地址相关联的接收方小组被称为一个多播组
  2. 因特网组管理协议(IGMP)
    用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
    当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员。利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表。
  3. 多播路由选择算法
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Env1sage

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值