计算机网络 第四章:网络层

因特网采用的设计思路:

  • 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
  • 网络在发送分组时不需要先建立连接、不编号、不按序发送,独立选择路由,不提供服务质量的承诺。
    网络层提供的两种服务:虚电路服务和数据报服务。

网络层的功能

  • 选择路由
  • 链路拥塞控制/负载均衡
  • 异构网络互联
虚电路服务与数据报服务的对比:
  • 虚电路服务:可靠通信应当由网络来保证;必须先建立连接;目的地址仅在连接建立阶段使用,每个分组使用短的虚电路号,属于同一条虚电路的分组均按照同一路由进行转发;结点出故障时,所有通过此结点的虚电路均不能工作;分组总是按发送顺序到达终点;差错处理和流量控制可以由网络负责,也可以由用户主机负责。
  • 数据报服务:可靠通信由用户主机来保证;不需要建立连接;每个分组都有目的地的完整地址;每个分组独立选择路由进行转发;出故障的结点可能会丢失分组,一些路由可能会发生变化;分组到达终点时不一定按发送顺序;差错处理和流量控制由用户主机负责。
分类的IP地址

IP地址现在由因特网名字与号码指派公司ICANN进行分配。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围内唯一的 32 位标识符。
每一类地址都由两个固定长度的字段组成,一个字段是网络号,标志主机(或路由器)所连接到的网络,另一个字段是主机号,标志该主机(或路由器)。IP地址::=网络号+主机号
点分十进制记法:IP地址是32位二进制代码,为了提高可读性,将每8位的二进制数转换为十进制数(数值从0到255),中间用圆点.隔开。

  • A类地址:网络号字段为1字节(0),主机号字段为3字节。最大网络数126个(1-126),最大主机数224-2,A类地址中的全0地址和127.0.0.0是不指派的。
  • B类地址:网络号字段为2字节(10),主机号字段为2字节。最大网络数214-1个(128.1-191.255),最大主机数216-2,B类地址中的128.0.0.0是不指派的。
  • C类地址:网络号字段为3字节(110),主机号字段为1字节。最大网络数221-1个(192.0.1-223.255.255),最大主机数28-2,C类地址中的192.0.0.0是不指派的。
  • D类地址:D类地址是多播地址(1110).
  • E类地址:E类地址保留为今后使用(1111).
    特殊的IP地址:
  • 回送地址:主机将IP数据报回传自身的地址,IP地址第一个字节为127。回送地址为127.0.0.1。
  • 网络地址:主机地址部分全部定义为“0”,用于区分网络。
  • 广播地址
    直接广播地址:主机地址部分为全“1”,用于向某个网络的所有主机广播。
    有限广播地址(255.255.255.255):在未知本网地址情况下用于本网广播。
  • 公共和私有IP地址
    公共地址:可以直接在Internet上使用的A/B/C类地址,一般是单播地址。
    私有地址:不能直接与Internet连接的地址,解决公共地址短缺的问题。

RFC1918规定了3种私有地址

  • 1个A类地址:10.0.0.0
  • 16个B类地址:172.16.0.0到172.31.0.0
  • 256个C类地址:192.168.0.0到192.168.255.0。

IP 地址的重要特点:

  • IP地址是一种分等级的地址结构。IP地址管理机构在分配IP地址时只分配网络号,剩下的主机号由单位自行分配。路由器仅根据目的主机所连接的网络号来转发分组,减小了路由表所占的存储空间。
  • IP地址是标志一个主机(或路由器)和一条链路的接口。
  • 用转发器或网桥连接起来的若干个局域网仍为一个网络,具有同样的网络号。
  • 所有分配到网络号的网络,不管是范围很小的局域网,还是广域网,因特网对待每个IP地址都是平等的。

注意:

  • 同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。
  • 路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。
  • 两个路由器直接相连的接口处,可指明也可不指明IP地址。
划分子网

在二级的IP地址中增加一个“子网号字段”,使两级的IP地址变成为三级的IP地址,这种做法叫作划分子网。
划分子网的基本思路:

  • 从主机号借用若干个位作为子网号,主机号就相应减少了若干个位。
    IP地址::= {<网络号>, <子网号>, <主机号>}
  • 注意:凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号,先找到连接在本单位网络上的路由器。然后此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网。最后将IP数据报直接交付目的主机。
  • 划分子网纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络。

划分子网的步骤:

  • 确定需要几个子网,每个子网需要多少台主机。
  • 使用公式2n确定子网位数2n-2确定主机位数
  • 确定IP地址的类型。
  • 确定子网地址范围。
  • 对于每一个子网地址,在保持子网位不变的情况下写出所有的主机组合(减去主机号为全0和全1的地址)。
子网掩码

使用子网掩码可以找出IP地址中的子网部分。
功能:告知主机或路由设备,IP地址的哪一部分代表网络号,哪一部分代表主机号。
子网掩码构成:使用与IP地址相同的编址格式,32位长度的二进制比特位,也可分为4个8位组并采用点分十进制来表示。网络号和子网号部分全为1,主机号部分全为0。
默认子网掩码:

  • A类:255.0.0.0
  • B类:255.255.0.0
  • C类:255.255.255.0

(IP地址) AND (子网掩码)=网络地址
变长子网掩码VLSM:
允许在同一网络范围内使用不同长度子网掩码称为可变长子网掩码。使用变长子网掩码可进一步提高 IP 地址资源的利用率。

无分类编址CIDR

它的正式名字是无分类域间路由选择 CIDR
CIDR最主要的特点:
CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。
IP地址::= {<网络前缀>, <主机号>}

CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块”。CIDR地址块中的地址数一定是2的整数次幂
CIDR仍然使用“掩码”这一名词(但不叫子网掩码),使用“斜线记法”。如:/20地址块,它的掩码是20个连续的1。斜线记法中的数字就是掩码中1的个数
一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,路由聚合也称为构成超网。网络前缀越短,其地址块所包含的地址数就越多而在三级结构的IP地址中,划分子网是使网络前缀变长
最长前缀匹配:最长前缀匹配又称为最长匹配或最佳匹配。
使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由。网络前缀越长,其地址块就越小,路由就越具体。

扫描二维码关注公众号,回复: 11848012 查看本文章
网际协议IP

与IP协议配套使用的四个协议:

  • 地址解析协议ARP
  • 逆地址解析协议RARP
  • 网际控制报文协议ICMP
  • 网际组管理协议IGMP

地址解析协议ARP和逆地址解析协议RARP:
ARP:将IP地址转换为物理(MAC)地址。
每台主机都设有一个ARP高速缓存,里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。
当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
由于IP协议使用了ARP协议,通常把ARP协议划归网络层。但ARP协议的用途是为了从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。因此,按照协议的使用,也可把ARP协议划归在数据链路层。
RARP:将物理(MAC)地址转换为IP地址。
ARP报文格式:
硬件类型(1-以太网)+协议类型(0X0800-IP协议)+硬件地址长度(6B)+协议地址长度(4B)+操作码(1-request,2-reply)+源硬件地址+源IP地址+目的硬件地址+目的IP地址。
使用ARP的四种典型情况 :

  • 发送方是主机,要把IP数据报发送到本网络上的另一台主机。这时用ARP找到目的主机的硬件地址。
  • 发送方是主机,要把IP数据报发送到另一个网络上的一台主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
  • 发送方是路由器,要把IP数据报转发到本网络上的一台主机。这时用ARP找到目的主机的硬件地址。
  • 发送方是路由器,要把IP数据报转发到另一个网络上的一台主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

注意:
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。
从IP地址到硬件地址的解析是自动进行的。只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。
网际控制报文协议ICMP
ICMP不是高层协议,而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成 IP数据报发送出去
ICMP报文的种类:ICMP差错报告报文和ICMP询问报文。
ICMP询问报文:回送请求和回答报文,时间戳请求和回答报文。
ICMP差错报告报文:终点不可达、源点抑制(Source quench) 、时间超过、参数问题、改变路由(重定向)(Redirect) 。
ICMP的应用举例:ping和traceroute。

虚拟互连网络
网络互相连接起来要使用一些中间设备,中间设备又称为中间系统或中继系统。

  • 物理层中继系统:转发器(repeater)或集线器。
  • 数据链路层中继系统:网桥或交换机。
  • 网络层中继系统:路由器(router)。
  • 网络层以上的中继系统:网关(gateway)。

互联网都是指用路由器进行互连的网络。
虚拟互连网络就是逻辑互连网络,即互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
使用IP协议的虚拟互连网络简称为IP网。
使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。

IP 协议的特点:

  • 提供无连接的、不可靠的数据报传输服务。——尽力而为的服务
  • 支持异构网络的互连——介质无关性。
  • 以统一的IP分组传输提供了对异构网络互连的支持;
  • 向传输层屏蔽了底层通信子网中的不同网络技术在物理层和数据链路层的差异;
  • IP编址模式实现了跨越不同LAN、MAN和WAN的主机通信。

IP地址与硬件地址
网络层及以上使用IP地址:从虚拟的IP层上看IP数据报的流动,只能看到IP数据报,路由器只根据目的站的IP地址的网络号进行路由选择,路由器的IP地址不出现在IP数据报的首部。
数据链路层及以下使用硬件地址:在具体的物理网络的链路层只能看见MAC帧而看不见IP数据报。

IP数据报的格式
一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是可选字段,长度是可变的。首部最大长度为60字节。
20字节的固定部分:版本号+首部长度+区分服务+总长度+标识+标志(DF、MF)+片偏移+生存时间+协议(ICMP、IGMP、TCP、UDP等)+首部检验和+源地址+目的地址
IP数据报首部的可变部分:选项字段的长度可变,从1个字节到40个字节,用来支持排错、测量以及安全等措施。很少用。
IP数据报分片:对数据部分分片。片数、每片长度、片偏移量的计算;MF、DF取值。
缺省网关:与主机位于同一网段中的某个路由器接口的IP地址就是缺省网关。

路由与路由器

路由的实现

  • 路由器:用于实现网络层路由功能的专用网络互连设备。
  • 路由模块:某些交换机里面带了路由功能模块,这些交换机被称为三层交换机。
  • 软件路由:在操作系统软件中所实现的路由功能。
    路由表:用于存放路由信息的表被称为路由表。
    两种方式可用于路由表信息的生成和维护:静态路由和动态路由。
    静态路由是指网络管理员根据其所掌握的网络连通信息以手工配置方式创建的路由表表项,也称非自适应路由。
    动态路由指路由器通过自主学习而获得的路由信息,又称自适应路由。
    路由条目分类
  • 直连路由:直接和路由器相连的网络。
  • 目的路由:目的地址,下一跳路由。
  • 特定主机路由:为特定的目的主机指明一个路由。
  • 默认路由:一种特殊的静态路由,为那些找不到直接匹配目标网络的分组指出转发端口,只要目的网络不在目的地址列表内,就一律选择默认路由。

IP层转发分组的流程(不划分子网的分组转发算法)
(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
(2)若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6)报告转发分组出错。

使用子网掩码的分组转发过程(划分子网的分组转发算法):
(1)从收到的分组的首部提取目的IP地址D。
(2)用直连网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
(4)对路由表中的每一行的子网掩码和D逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
(5)若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。

因特网的路由选择协议
从路由算法的自适应性考虑,分为静态路由选择策略——非自适应路由选择和动态路由选择策略——自适应路由选择。
理想的路由算法:

  • 算法必须是正确的和完整的。
  • 算法在计算上应简单。
  • 算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。
  • 算法应具有稳定性。
  • 算法应是公平的。
  • 算法应是最佳的。

因特网的路由选择协议:
内部网关协议IGP:在一个自治系统内部使用的路由选择协议。如RIP和OSPF协议。
外部网关协议EGP:在自治系统之间使用的路由选择协议。将自治系统内部的路由选择信息传递到另一个自治系统中。目前使用最多的是BGP-4。

内部网关协议RIP
RIP是一种分布式的基于距离向量的路由选择协议。它要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。
RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。
RIP允许一条路径最多只能包含15个路由器。“距离”=16时即相当于不可达。
RIP只适用于小型互联网。

RIP协议的三个要点:

  • 仅和相邻路由器交换信息。
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
  • 按固定的时间间隔交换路由信息。

距离向量算法:

  • 对于收到的相邻路由器X发来的RIP报文,先把下一跳的地址改为X,并把所有的距离字段值加1
  • 若本路由表中没有到目的网络的路由,则表明这是新的目的网络,应当加入路由表中。
  • 若路由表中有到目的网络的路由,且下一跳地址是X,则不管距离是增大还是减小了,都要更新为新的。
  • 若路由表中有到目的网络的路由,且下一跳地址不是X,则如果距离减小了,就进行更新。
  • 如果距离更大了,或者距离不变,不更新。

RIP2 协议的报文格式 :
首部(4字节)+路由部分(一条路由20个字节,最多可重复出现25个),RIP报文封装在UDP数据报中传输。
RIP报文的最大长度:4+20*25=504字节
RIP协议的优缺点 :
优点:实现简单,开销较小。
缺点:RIP限制了网络的规模,它能使用的最大距离为15,16表示不可达
路由器之间交换的路由信息是路由器中的完整路由表,随着网络规模的扩大,开销也增加。
当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。即好消息传播得快,坏消息传播得慢。

内部网关协议OSPF
开放最短路径优先,是分布式的链路状态协议。
OSPF的三个要点

  • 向本自治系统中所有路由器发送信息,使用的方法是洪泛法。OSPF使用的是可靠的洪泛法。
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。即本路由器与哪些路由器相邻,以及该链路的度量。
  • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。

OSPF分组格式
OSPF直接用IP数据报传送。
分组格式:OSPF分组首部(24字节)+类型1至类型5的OSPF分组。
OSPF的五种分组类型:

  • 类型1,问候(Hello)分组:发现和维持邻站的可达性。
  • 类型2,数据库描述(Database Description)分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息。
  • 类型3,链路状态请求(Link State Request)分组: 向对方请求发送某些链路状态项目的详细信息。
  • 类型4,链路状态更新(Link State Update)分组:用洪泛法对全网更新链路状态。
  • 类型5,链路状态确认(Link State Acknowledgment)分组:对链路更新分组的确认。

OSPF的基本操作 :
确定可达性(hello分组)——达到数据库的同步(数据库描述分组)——新情况下的同步(链路状态请求分组、链路状态更新分组、链路状态确认分组)

OSPF的优越性

  • OSPF允许管理员给每条链路指定不同的代价。
  • 如果到同一个目的网络有多条相同代价的路径,可以进行多路径间的负载平衡。
  • 所有在OSPF路由器之间交换的分组都具有鉴别功能,保证了仅在可信赖的路由器之间交换链路状态信息。
  • 协议的收敛时间短。
  • 不存在路由环路。
  • 支持VLSM和CIDR。
  • 可扩展性强-无跳数限制,大规模网络可采用“多域”配置模式。

外部网关协议BGP
BGP是不同自治系统的路由器之间交换路由信息的协议。
边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。

路由器在网际互连中的作用

路由器的结构
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。即,将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。
典型的路由器结构分为两大部分路由选择部分(核心构件是路由选择处理机)和分组转发部分(由三部分组成,交换结构、一组输入端口和一组输出端口)组成。

路由器的作用

  • 作用一:提供异构网络的互连。
  • 作用二:源到目标的IP分组传输。
  • 作用三:实现网络的逻辑划分。

不同网络互连设备网络逻辑划分能力的比较:

  • 集线器(Hub):物理层设备,仅提供物理扩展网络的能力。
  • 交换机(Switch):数据链路层设备,提供物理上扩展网络能力的同时,能进行冲突域的逻辑划分。
  • 路由器(Router):网络层设备,在提供物理上扩展网络、逻辑划分冲突域的能力之外,还提供了划分广播域的功能。
IPv6

IPv6具有更大的地址空间,IPv6将地址从IPv4的32位增大到了128位。
IPv6数据报由两大部分组成基本首部(40字节)和有效载荷(也称为净负荷)。有效载荷允许有零个或多个扩展首部,再后面是数据部分。
IPv6数据报的目的地址可以是以下三种基本类型地址之一:

  • 单播:传统的点对点通信。
  • 多播:一点对多点的通信。
  • 任播:IPv6增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

Pv6使用冒号十六进制记法,在此记法中,允许把数字前面的0省略。冒号十六进制记法可以允许零压缩,即一连串连续的零可以为一对冒号所取代。
注意:在任一地址中只能使用一次零压缩。

从IPv4向IPv6过渡采用逐步演进的办法,目前常采用两种过渡策略:
双协议栈:指在完全过渡到IPv6之前,使一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6,记为IPv6/IPv4。
隧道技术:在IPv6数据报要进入IPv4网络时,把IPv6数据报封装成为IPv4数据报,整个的IPv6数据报就变成了IPv4数据报的数据部分。当IPv4数据报离开IPv4网络中的隧道时,再把数据部分(即原来的IPv6数据报)交给主机的IPv6协议栈。

网络地址转换NAT
将私有地址转换为可以在公网上被路由的公有IP地址,实现私有地址节点与外部公网节点之间相互通信的技术。
多个私有地址节点共享一个或若干个全局地址,有效实现了私有地址节点与公网节点之间的相互通信,同时大大降低了对全局地址的需求。
NAT分类

  • 静态NAT:静态的一对一转换,一般适合于服务器。
  • 动态NAT:动态的一对一装换,不能节省公网IP地址。
  • 网络地址与端口号转换NAPT:最常用,动态的多对一转换,可以节省大量公网IP地址。

猜你喜欢

转载自blog.csdn.net/weixin_43916678/article/details/103746219
今日推荐