找回密码
 立即注册
搜索
查看: 62|回复: 0

网络层概述:实现网络互连与数据传输的关键任务与挑战

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
64802
发表于 2024-12-11 00:34:28 | 显示全部楼层 |阅读模式
网络层概述介绍

网络层的主要任务是实现网络互连,进而实现网络间数据包的传输。

如果这些异构网络N1~N7只需要自己的内部通信,则只需要实现自己的物理层和数据链路层。

但如果要将这些异构网络互连起来形成更大的互联网,就需要实现网络层设备路由器

有时为了简单起见,不需要画出这些网络,图中的N1~N7,只将它们视为一个环节即可。

为了实现网络层任务,需要解决以下主要问题:

① 网络层向传输层提供哪些服务(“可靠传输”或“不可靠传输”) ② 网络层寻址问题 ③ 路由问题

数据链路层课程中讨论了可靠传输。详细内容请参考数据链路层的注释: 网络层针对丢包、数据包乱序、数据包重复等传输错误采取措施,使接收方能够正确接受发送方发送的数据,进行可靠传输。相反,如果不采取任何措施,那就是不可靠传输(使用的TCP/IP协议系统的层提供无连接、不可靠的数据报服务。而ATM、帧中继和X. 25 这些层提供面向连接且可靠的虚拟电报服务。)

网络的网络号+路由器接口(网络号的个数可能如上图所示,一位数、两位数、三位数)

路由器收到数据后,根据什么来决定从哪个接口转发数据包呢?

根据数据包的目的地址和路由器中的路由表

但在实际应用中,路由器是如何知道这些路由记录的呢?

互联网是目前世界上用户数量最多的互联网。它使用TCP/IP协议栈

由于TCP/IP协议栈的网络层使用的是网际协议(IP),而IP是整个协议栈的核心协议,因此TCP/IP协议栈中的网络层往往会成为网际层。

补充网络层(层)除了IP协议外,还包括之前介绍过的地址解析协议ARP、控制消息协议ICMP、组管理协议IGMP等。

总结

网络层提供的两种服务

① 面向连接的虚电路服务 ② 无连接的数据报服务

面向连接的虚电路服务

一种观点:让网络负责可靠的交付

从发送方发送到接收方的所有数据包都沿着同一虚拟电路传输

无连接数据报服务

另一种观点:网络提供数据报服务

从发送方发送到接收方的数据包可能会沿着不同的路径传播

尽力交付

虚电路服务与数据报服务比较 比较方面 虚电路服务 数据报服务

想法

可靠的通信应由网络来保证

可靠的通信应由用户主机来保证

建立连接

必须有

不必要

结束地址

仅在连接建立阶段使用,每个数据包使用一个短虚电路号

每组都有完整的目的地地址

数据包转发

属于同一虚电路的报文按照相同的路由进行转发。

每个数据包独立选择一条路由进行转发

当一个节点出现故障时

所有经过故障节点的虚电路都无法工作

故障节点可能会丢失数据包并且某些路由可能会发生变化

分组顺序

始终按照发送的顺序到达目的地

到达终点不一定是按照发送的顺序。

端到端错误处理和流量控制

它可以是网络或用户主机的责任。

负责用户主机

IPv4概述

分类寻址 IPv4 地址概述

A类地址

B类地址

C类地址

实践

总结

IP地址分配范围

一般不使用的特殊IP地址

IP地址的一些重要特征

(1)IP地址是一种层次化的地址结构。具有两个级别的优点是:

(2) IP地址实际上标识了一台主机(或路由器)和一条链路的接口。

(3)由交换机或网桥连接的几个局域网仍然是一个网络,因此这些局域网都具有相同的网络号net-id。

(4)分配了网络号net-id的所有网络,无论是小型局域网还是可能覆盖较大地理区域的广域网,都是平等的。

为什么要对子网的 IPv4 地址进行子网划分?

为什么要子网?

请参见以下示例:

假设某单位有一个很大的局域网,需要连接到。如果申请C类网络地址,只能分配254个IP地址,不够用。因此,单位申请了B类网络地址,可分配的IP地址数量达到了65534个。为每台计算机和路由器接口分配了IP地址后,仍有大量剩余IP地址。这些剩余的 IP 地址只能由与本机相同的网络使用,而不能由其他设备使用。随着单位计算机网络的发展建设,单位新增了一些计算机,需要将原来的网络划分为三个独立的网络,我们称之为子网1、子网2和子网3。假设子网1仍然想使用原来申请的B类网络地址,那么需要分别申请子网2和子网3的网络地址。 【不划分子网会进一步造成IP地址的浪费】

将原网络划分为三个独立的网络

那么是否可以借用部分主机号作为子网号呢?

但如果图中没有标出子网号部分,那么我们和计算机如何知道分类地址中的主机号有多少位作为子网号呢?

于是就有了划分子网的工具:子网掩码

如何划分子网

基本思路

划分为三个子网后,对外仍然是一个网络。

减少IP地址的浪费,使网络组织更加灵活,更易于维护和管理子网掩码。

例子

实施例2

默认子网掩码

总结

为什么对 IPv4 地址使用非分类寻址?

无类域间路由 CIDR (Inter-)

CIDR的主要特点

如何使用无类寻址

例子

路由聚合(构建超网)

当找到公共前缀时,所有后续位都变为0。

总结

IPv4地址应用规划

给定一个IPv4地址,如何将其划分为几个更小的地址块,并将这些地址块分配给中的不同网络,从而可以将IPv4地址分配给每个网络中的主机和路由器接口

固定长度子网掩码FLSM(Fixed Mask)

IPv4划分子网的是固定长度的子网掩码。

例子

确定子网掩码

子网

通过以上步骤的分析,可以从子网18中选择任意5个子网,分配给左图中的N1N5。

采用定长子网掩码划分,只能划分2^n个子网,其中n是借用主机号部分的位数作为子网号,每个子网分配相同数量的IP地址。

但由于分配给每个子网的IP地址数量相同,不够灵活,很容易造成IP地址的浪费。

可变长度子网掩码 VLSM(掩码)

未分类 IPv4 是可变长度子网掩码

与上面的例子相同

分配不同的子网掩码

每个子块的起始位置不能任意选择。只能选择块大小整数倍的地址作为起始点。建议先分配大的子块。

从这个例子可以看出,采用变长子网掩码来划分子网。根据需要可以划分相应数量的子网。每个子网分配的IP地址数量可以不同,这样就尽可能的减少了IP地址的数量。的废物。

IP数据报的发送和转发过程

例子

同一网络直接投递,不同网络间接投递

源主机如何知道目的主机是否与自己在同一个网络,是直接投递还是间接投递?

将目的地址IP与源地址的子网掩码进行逻辑与运算即可得到目的网络地址。

主机C如何知道路由器R的存在?



为了让这个网络中的主机能够与其他网络中的主机进行通信,用户必须将其分配给这个网络中的一个路由器接口,路由器会帮助转发。指定路由器也称为默认网关。

例如。左侧网络的默认网关为路由器192.168.0.128的0号接口IP地址

主机 A 将 IP 数据报发送到其默认网关,即路由器接口 0,如图所示。

路由器收到IP数据报后如何转发?

根据IP数据报的目的地址在路由表中查找匹配条目

假设IP数据报头中没有错误,路由器取出IP数据报头中各个地址字段的值。

接下来,路由器查找该表并转发 IP 数据报。

逐一检查路由表项,将路由表项中的目的地址与地址掩码进行逻辑与运算,得到目的网络地址,然后与路由表项中的目的网络进行比较。如果相同,则该路由项就是匹配的路由项。根据其下一条指令,如图所示,接口1转发IP数据报

当我们为路由器的接口配置IP地址和子网掩码时,路由器就知道其接口直接连接到哪个网络。

路由器隔离广播域

概括

静态路由配置和可能的路由环路问题的概念

各种情况的例子

静态路由配置

例子

默认路由

由于包含很多网络,如果我们将每个网络的路由条目都添加到R1路由器中,将会给手动配置带来巨大的工作量,并使R1的路由表变得非常庞大,从而减少搜索时间。转发速度。事实上,对于下一跳相同的不同目的网络的路由项,我们可以用默认路由项来替换。默认路由表项中的目的网络地址为0.0.0.0,地址掩码也为0.0.0.0。

默认路由可以被所有网络匹配,但路由匹配具有优先级,默认路由的优先级最低。

主机特定路由

例子

有时,我们可以为某个主机在路由器中添加特定的主机路由条目

一般用于网络管理员的网络管理和测试

多条路线可选,匹配最具体的路线

静态路由配置错误导致路由环路

假设R2路由表中的第三个目录配置了错误的下一跳。

这会导致 R2 和 R3 之间形成路由环路

聚合不存在的网络导致路由循环

正常情况

错误条件

IP数据包被转发到不存在的网络。检查R2路由表时,跳转到10.0.0.1。然后检查R1路由表,没有找到默认网关,导致路由环路。

解决方案是为实际不存在的网络配置黑洞路由。

黑洞路由的下一跳是null0,它是路由器内部的一个虚拟接口。 IP数据报进入后将被丢弃。

网络故障导致路由环路

假设此时路由器R1的接口1出现故障。

R1路由表自动删除路由条目

解决方案

添加故障网络作为黑洞路由

假设一段时间后故障网络恢复

R1自动生成其接口0直连网络的路由条目。

针对该网络的黑洞网络将自动失败

如果再次失败

然后网络的黑洞网络就生效了。

总结

路由协议概述

路由协议在路由器上运行。

互联网使用的路由协议的主要特点

互联网使用分层路由协议

自治系统 AS:由单一技术管理的一组路由器,该技术使用 AS 内路由协议和通用度量来确定 AS 内数据包的路由,以及 AS 间路由协议。路由协议用于确定 AS 之间数据包的路由。

自治系统之间的路由称为域间路由,自治系统内的路由称为域内路由。

域间路由使用外部网关协议(EGP)类型的路由协议。

域内路由使用内部网关协议(IGP)类型的路由协议。

网关协议的名称可以称为路由协议

常用路由协议

路由器的基本结构

路由器是一台具有多个输入端口和输出端口的专用计算机,其任务是转发数据包

路由器结构可分为两部分:路由部分和报文转发部分。

1. 群转发部分

由三部分组成

物理层将信号转换为比特流,送至数据链路层进行处理

数据链路层识别从比特流中识别出帧,去除帧头和帧尾,然后将其发送到网络层进行处理

如果发送到网络层的数据包是要转发的普通数据包

然后根据报文头中的目的地址进行查表转发。

如果没有找到匹配的转发表项,则丢弃该报文;否则,按照匹配表项指示的端口转发报文。

网络层更新数据包头中某些字段的值,例如将数据包的生存期减1,然后发送到数据链路层进行封装。

数据链路层将数据包封装成帧,并将其传递给物理层进行处理。

物理层将帧视为比特流,并将其转换为相应的电信号进行传输。

路由器的每个端口还具有输入缓冲区和输出缓冲区。

路由器端口一般具有输入和输出功能。这些示例将输入端口和输出端口分开,以更好地演示路由的基本工作过程。

2.路由选择部分

路由部分的核心组件是路由处理程序,其任务基于所使用的路由协议。定期与其他路由器交换路由信息以更新路由表

如果发送到输入端口网络层的数据包是用于在路由器之间交换路由信息的路由消息,则该数据包被发送到路由处理器

路由处理器根据数据包的内容更新其路由表

路由处理器还定期将其所知的路由信息​​发送给其他路由器。

路由信息协议 RIP

RIP的基本工作流程

例子

RIP路由表项更新规则

实施例1

路由器 C 的表中到达每个目标网络的下一个条目被标记为问号。可以理解,不需要关心的这些内容。

假设的RIP更新报文发送周期已到,则将其路由表中的相关路由信息封装成RIP更新报文发送给

可以到达这些网络,这意味着  的邻居路由器也可以到达这些网络,但距离比  大 1。因此, 根据距离比较来更新路由表。

实施例2

RIP存在“坏消息传播缓慢”的问题

解决方案

然而,这些方法并不能完全解决“坏消息传播缓慢”的问题,而这是距离向量的本质决定。

总结

RIP协议的优点和缺点

优势:

实现简单,开销小。

缺点:

RIP限制了网络的大小,它可以使用的最大距离是15(16表示不可达)。路由器之间交换的路由信息​​是路由器中完整的路由表,因此随着网络规模的扩大,开销也随之增加。 “坏消息传得很慢”,使得更新过程需要很长时间才能收敛。开放最短路径优先 OSPF

开放最短路径优先 OSPF(开放路径优先)

注意:OSPF只是一个协议的名称,并不代表其他路由协议不是“最短路径优先”。

概念

你好分组



IP数据报报头中的协议号字段的值应为89,以指示IP数据报的数据负载是OSPF数据包。

发送链路状态通告LSA

这样,自治系统中各路由器发送的链路状态通告中封装的链路状态更新报文将被传递到系统中的所有其他路由器。

链路状态数据库同步

使用SPF算法计算每个路由器到其他路由器的最短路径

OSPF五种分组类型

OSPF的基本工作流程

OSPF在多点接入网络中建立路由器邻居关系

如果不使用其他机制,将会产生大量的组播数据包

如果DR出现问题,BDR将取代DR。

为了使OSPF能够在大型网络中使用,OSPF将一个自治系统划分为多个较小的区域,称为区域。

如果一台路由器的所有接口都在同一个区域内,则该路由器称为区域内路由器。

为了使该区域能够与自治系统的其他区域连接,每个区域都会有一个区域边界路由器。其一个接口用于连接自己的区域,另一个接口用于连接骨干区域。

位于骨干区域的路由器称为骨干路由器。区域边界路由器也可以视为骨干路由器。骨干区域中还有一台路由器,专门与自治系统之外的其他自治系统交换路由信息。此类路由器称为自治系统边界路由器。

分层划分区域的方法增加了交换机交换的信息类型,但也使OSPF协议变得更加复杂。但这样做可以大大减少各个区域内交换的路由信息​​的通信量,从而使OSPF协议能够在大规模的自治系统中使用。

总结

边界网关协议BGP

BGP(BGP)是一种用于在不同自治系统中的路由器之间交换路由信息的协议。

总结

直接封装RIP、OSPF、BGP报文的协议

RIP -> UDP 协议

OSPF -> IP 协议

BGP -> TCP 协议

IPv4数据报头格式

图中每一行由32位(即4个字节)组成。每个小网格称为一个域或域。每个字段或某些字段的组合用于表达IP协议的相关功能。

IP数据报的报头长度必须是4字节的整数倍

因为报头中可选字段的长度范围为1字节到40字节,那么当20字节的固定部分加上长度为1到40字节的可变部分时,报头的长度将为不是4字节的整数倍,则用值为全0的填充字段填充相应字节,以保证IP数据报的报头长度为4字节的整数倍。

对 IPv4 数据报进行分段

现在假设分片2的IP数据报在经过某个网络时需要进行分片。

总结

互联网控制消息协议 ICMP 概念

建设IP网络需要特别注意两点:

ICMP就是实现这些问题的协议

ICMP的主要功能包括:

通过这些功能,您可以获取网络是否正常、设置是否错误、设备是否存在异常等信息,方便诊断网络问题。

ICMP 错误报告消息

从H1到H2的网络

目的地无法到达

表中找不到下一跳路由。

源抑制

路由器或主机拥塞

时间超过

在到达目的主机之前,生存时间TTL被减为0,或者在指定的时间内无法接收到数据报的所有数据报片段。

参数问题

IP数据报传输过程中发生位错误

更改路由(重定向)

路由器选择一条更好的路由到达目的主机

不应发送 ICMP 错误报告消息

常用的ICMP查询报文

ICMP不是一个高层协议(它看起来像一个高层协议,因为ICMP报文作为数据部分安装在IP数据报中),而是一个IP层协议

ICMP 报文格式

ICMP 报文封装在 IP 报文中

ICMP应用示例数据包网间检测PING()

跟踪路由()

命令的实现原理

总结

虚拟专用网络VPN和网络地址转换NAT虚拟专用网络VPN()

上图显示了互联网编号官方网站 IANA IANA官方网站上的特殊地址的分配方案。

以粉红色标记的地址是无需应用并且可以自由分配或私人地址的专用地址。

私人地址只能用于组织内部的内部通信,并且不能用于与上的主机进行通信。

私人地址只能用作本地地址,而不是全球地址

上的所有路由器都不会转发其目标地址为私人地址的IP数据报。

本地地址与全球地址

因此,A和部门B需要至少一个具有合法全球IP地址的路由器,以便他们各自的私人网络可以使用公共互联网进行通信。

部门A将数据流程发送到部门B

两个专用网络中的主机之间发送的数据报通过了公共,但实际上它们似乎是在组织的专用网络上传输的。

数据报可能会通过上的多个网络和路由器,但从逻辑上讲,R1和R2之间似乎有直接的点对点链接

因此,它也称为IP隧道技术

网络地址翻译NAT()

例子

使用专用地址的主机如何使用全局IP地址与上的主机进行通信?

这要求将NAT软件安装在路由器上,将专用网络连接到

配备NAT软件的路由器称为NAT路由器

它至少有一个有效的外部全局IP地址

通过这种方式,所有使用私人地址的主机都必须在与外界通信时将其私人地址转换为NAT路由器上的全局IP地址。

假设使用专用地址的主机希望使用全局IP地址将IP数据报发送到上的另一个主机。

上的该主机将数据报发送回源主机

当使用上使用全局地址的两个主机使用专用网络中的两个主机将数据报发送到另一个主机时,将在NAT路由器的NAT转换表中生成两个记录,分别记录两个私人地址。与全局地址的通信

这种基本转换存在问题

解决方案

我们现在使用的许多家庭路由器都是NART路由器。

内部网络主机和外部网络主机之间的通信是否可以首先由外部网络主机启动?

答案是否定的。只有从内部和外部访问外部网络时,才能建立私人地址和全局地址之间的映射关系,反之亦然。

总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【远见汇智】 ( 京ICP备20013102号-17 )

GMT+8, 2025-5-7 04:02 , Processed in 0.352313 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表