网络层设备
掌握路由器的组成和功能,以及掌握路由表的画法,会在选择题和大题中考察。
路由器组成和功能
组成部分:
- CPU(Central Processing Unit):路由器的中央处理单元,负责处理数据包的转发和路由决策。CPU执行路由算法、管理路由表和处理控制面的任务。
- 内存(Memory):路由器的内存用于存储操作系统、路由表、缓存、缓冲区以及临时数据。内存的大小和速度对路由器的性能至关重要。
- 接口(Interfaces):路由器通常具有多个网络接口,例如以太网端口、无线局域网接口(Wi-Fi)、串行接口等,用于连接到不同类型的网络和设备。
- 操作系统(Operating System):路由器运行的操作系统通常是专门设计的网络操作系统,用于管理设备、执行路由协议、配置接口和提供网络服务。
- 路由表(Routing Table):路由表是路由器的核心组成部分,它存储了关于网络之间如何进行路由的信息。路由表包括目标网络的IP地址、下一跳路由器、接口和跃点数等信息。
功能:
- 数据包转发:路由器的主要功能之一是根据路由表将数据包从一个接口转发到另一个接口,以便在不同网络之间进行通信。
- 路由决策:路由器根据路由协议(如RIP、OSPF、BGP等)和路由表的信息,决定如何将数据包传送到目标网络。
- NAT(Network Address Translation):路由器可以执行NAT,将内部私有网络中的设备使用单一的公共IP地址映射到互联网上,以增加网络安全性和节省IP地址。
路由表的分组转发
路由表
路由表是路由器内部的数据结构,其中包含了有关网络之间如何进行路由的信息。路由表是根据路由协议(如RIP、OSPF、BGP等)和手动配置动态生成和维护的。
路由表包含如下信息:
- 目标网络(Network Destination):表示数据包要传递到的目标网络或主机。
- 子网掩码(Network Mask):确定了目标网络的范围,路由器使用它来匹配数据包的目标地址。
- 网关(Gateway):数据报转接口的IP地址。
- 接口(Interface):指明了路由器上哪个物理或逻辑接口将被用来转发数据包。
- 跳数/度量值(Metric):跳数或度量值是路由选择的一个度量标准,用来表示到达目标地址的成本。如果存在多条路由到同一个目的地,路由器通常会选择跃点数最低的路由。
分组转发
- 当路由器收到一个数据包,它首先查找路由表以确定数据包的目标网络。
- 一旦确定了目标网络,路由器使用路由表中的信息决定下一跳路由器和出接口。
- 路由器会将数据包复制到适当的出接口,并以数据链路层帧的形式发送到下一跳路由器。
- 这个过程在网络中不断重复,直到数据包到达目标网络。
路由表在分组转发的时候,需要修改IP数据包中的哪些字段?
- TTL 减 1。
- 重新计算 checksum(校验和)。
- 如果是 NAT 路由器的话,需要修改 源IP 或者 目的IP地址。
- 如果IP数据包长度超过输出链路的MTU,则总长度字段、标志字段、片偏移字段都需要修改。
NAT
NAT(Network Address Translation,网络地址转换)是一种网络技术,用于在私有网络(通常是局域网)内的多个设备与外部互联网之间共享单一公共 IP 地址。NAT 通过修改数据包的源 IP 地址和目标 IP 地址来实现这一目标。
NAT表
上图中路由器的 NAT表 的示例如下:
私有IP地址 | 私有端口 | 公有IP地址 | 公有端口 | 协议 | 连接状态 |
---|---|---|---|---|---|
192.168.100.3 | 12345 | 145.12.131.7 | 54321 | TCP | ESTABLISHED |
192.168.100.4 | 8888 | 145.12.131.7 | 54322 | UDP | NEW |
192.168.100.5 | 15839 | 145.12.131.7 | 54323 | TCP | SYN_SENT |
192.168.100.3 | 7890 | 145.12.131.7 | 54324 | TCP | ESTABLISHED |
表中条目 包含如下内容:
- 内部私有IP地址:局域网中设备的私有IP地址。
- 内部端口号:发送数据包的私有网络设备所使用的端口号。
- 外部公有IP地址:路由器在广域网(WAN)侧使用的IP地址,通常是单个IP地址,但也可能有多个。
- 外部端口号:与内部端口号对应的,由NAT分配用于标识特定会话的公有端口号。
- 协议类型:数据包使用的协议(如TCP、UDP等)。
NAT表的条目通常是动态创建的。当内部设备发起到外部网络的连接时,路由器会在NAT表中创建一个条目。通过NAT表,路由器可以将从外部网络收到的数据包转发到正确的内部设备。当NAT表中的条目因为超时或者NAT表容量限制而被删除时,新的数据包会触发创建新的NAT条目。
地址转化过程
NAT的地址转化过程如下所示,分为数据包进入公网 或者 进入内网:
- 当内网IP数据包经过NAT路由器向外部发送时,其源IP地址和端口会被修改成公有IP地址和公有端口。
- 当IP数据包经过NAT路由器被发送往内网的某个机器时,其目的IP地址和端口会被修改位私有IP地址和私有端口。
私有IP地址
内网地址(私有IP地址)包含以下三个范围:
10.0.0.0/8
:从10.0.0.0
到10.255.255.255
,用于大型网络和企业网172.16.0.0/12
:172.16.0.0
到172.31.255.255
,用于中型网络192.168.0.0/16
:192.168.0.0
到192.168.255.255
,用于小型网
优势
- 安全性增强:通过隐藏内部网络的真实结构,NAT 提供了一定程度的安全性,可以有效减少攻击者直接访问内部网络的机会。
- 地址空间节省:NAT 允许多个设备使用单一的公共 IP 地址,这有助于缓解 IPv4 地址枯竭的问题,尤其是在大规模部署中。
- IPv4 地址重用:NAT 允许内部网络使用私有 IP 地址,因此可以重复使用相同的私有 IP 地址范围,而不会与其他网络冲突。
路由器接口的IP的地址
- 点对点连接:当两个路由器直接相连时,它们的接口通常会使用一个小的子网,比如一个/30的IPv4子网,提供两个可用的IP地址,每个路由器接口配置一个。
- 连接到子网:路由器的接口连接到局域网或子网时,接口将被分配一个该子网内的IP地址,通常选择子网的第一个或最后一个IP地址,用作该子网内设备的 默认网关。