引言
本篇是对计算机网络原理一文中的网络层的详细介绍。
所用教学平台:Cisco Networking Academy
网络层(第3层)
网络层即 OSI 第 3 层,提供能够让终端设备跨整个网络交换数据的服务。如图所示,IP 版本 4 (IPv4) 和 IP 版本 6 (IPv6) 是主要的网络层通信协议。其他网络层协议包括路由协议,如开放式最短路径优先协议(OSPF),和消息传递协议,如Internet控制消息协议(ICMP)。
网络层协议
为了实现跨网络边界的端到端通信,网络层协议执行四个基本操作
:
终端设备编址 - 必须为终端设备配置唯一的 IP 地址,以便在网络上进行识别。
封装 - 网络层将来自传输层的协议数据单元 (PDU) 封装到数据包中。封装过程中会添加 IP 报头信息,例如来源(发送)和目的(接收)主机的 IP 地址。封装过程由 IP 数据包的源主机执行。
路由 - 网络层提供服务,将数据包转发至另一网络上的目的主机。要传送到其他网络,数据包必须经过路由器的处理。路由器的作用是为数据包选择最佳路径,并将其转发至目的主机,该过程称为路由。数据包可能需要经过很多路由器才能到达目的主机。数据包在到达目的主机的过程中经过的每个路由器均称作一跳。
解封 - 当数据包到达目的主机的网络层时,主机会检查数据包的 IP 报头。如果在报头中的目的 IP 地址与其自身的 IP 地址匹配,IP 报头将被会从数据包中删除。网络层解封数据包后,后继的第 4 层 PDU 会向上传递到传输层的相应服务。解封过程由 IP 数据包的目的主机执行。
传输层(OSI 第 4 层)负责管理每台主机上的运行进程之间的数据传输,而网络层通信协议(即,IPv4和IPv6)则指定从一台主机向另一台主机传送数据时使用的数据包结构和处理过程。网络层工作时无需考虑每个数据包中所携带的数据,这使其能够为多台主机之间的多种类型的通信传送数据包。
IP 封装
IP 通过添加 IP 报头将传输层(网络层之上的层)数据段或其他数据进行封装。IP报头用于将数据包传送到目的主机。
逐层封装数据的流程使我们可以开发和扩展位于不同层的服务而不影响其他层。这意味着传输层数据段可以随时通过 IPv4 或 IPv6 进行封装,或使用未来可能开发出的任何新协议进行封装。
IP数据包在通过网络传输到其目的地时,会被第3层设备(即路由器和第3层交换机)检查IP报头
。需要注意的是,从数据包离开源主机到达目的主机之前,IP编址信息保持不变,除非是由为IPv4执行网络地址转换(NAT)的设备进行转换
。
路由器实施路由协议以在网络之间路由数据包。这些中间设备所执行的路由进程会检查数据包报头中的网络层地址。在任何情况下,数据包的数据部分,即封装的传输层 PDU或其他数据,在网络层的各个过程中都保持不变。
IP 特征
IP 被设计为一种低开销协议。它只提供通过互连的网络系统从源主机向目的主机传送数据包所必需的功能。该协议并不负责跟踪和管理数据包的流动。
这些功能(如果需要)将由其他层的其他协议(主要是第 4 层的 TCP)执行
。
这些是IP的基本特征:
无连接 - 发送数据包前不与目的地建立连接。
尽力而为 - IP本质上是不可靠的,因为不保证数据包交付。
介质无关性 - 其工作与传输数据的介质(即铜缆、光纤或无线)无关。
无连接
IP 是无连接协议,这意味着发送数据前IP不会创建专用的端到端连接。
无连接通信的概念类似于不事先通知收件人就邮寄信件
。图中总结了这些要点。
无连接数据通信按照同样的原理工作。如图所示,IP 在转发数据包前,并
不需要初步交换控制信息来创建端到端连接
。
“尽力而为”(Best Effort)
IP 也不需要报头中包含其他字段来维持建立的连接
。此过程显著降低了 IP 的开销。但是,由于没有预先建立端到端连接,发送数据包时,发送方不知道目的地是否存在和正常运行,同时发送数据包时,也不会知道目的地是否接收数据包,或者,目的设备是否可以访问并读取数据包。
IP 协议不保证交付的所有数据包都能被收到。图中显示了 IP 协议不可靠或尽力交付的特征。
介质无关性
不可靠
表示 IP 不具备管理和恢复未送达数据包或已损坏数据包的能力
。这是因为,在根据传输位置信息传输 IP 数据包时,数据包不包含可以经过处理以通知发送方信息交付是否成功的消息。传送到时,数据包可能已经损坏或顺序错乱,或者根本就没有传送成功。
如果出错,IP 无法重新传输数据包
。
如果数据包顺序错乱或丢失,则使用数据或上层服务的应用程序必须解决这些问题。这让 IP 可以非常有效地发挥作用。
在 TCP/IP 协议簇中,可靠性是TCP协议在传输层的功能
。
IP 的工作与在协议栈低层传送数据的介质无关
。如图所示,IP 数据包既可以作为电信号通过铜缆传送,也可以作为光信号通过光纤传送或作为无线电信号无线传送。
OSI 数据链路层负责接收数据包并准备数据包以在通信介质上传输。这就意味着 IP 数据包的交付不限于任何特定的介质
。
但是,网络层会考虑介质的一个重要特征:每种介质可以传输的最大 PDU 大小。此特征称为最大传输单位 (MTU)。数据链路层和网络层之间的部分控制通信就是确定数据包的最大尺寸。数据链路层将 MTU 值向上传送到网络层。网络层会由此确定可以传送的数据包的大小。
有时,中间设备(通常是路由器),在将IPv4数据包
从一个介质转发到具有更小 MTU 的介质时,必须分割数据包
。此过程称为数据包分片或分片。分片会导致延迟
。IPv6 数据包不能被路由器分片
。
IPv4 数据包
IPv4 数据包报头
IPv4 是主要网络层通信协议之一。IPv4 数据包报头用于确保此数据包在到达目的地终端设备的路上被传递到其下一站。
IPv4 数据包报头是由包含重要数据包信息的字段组成。这些字段中包含的二进制数字由第 3 层进程进行检查。
IPv4 数据包报头字段
每个字段的二进制值均用于确定 IP 数据包的各种设置。协议报头图(从左到右、从上到下阅读)可提供在讨论协议字段时参考的直观图。图中所示的 IP 协议报头图标识了 IPv4 数据包中的字段。
两种最常参考的字段是源和目的 IP 地址
。这些字段用于确定数据包的源位置和目的位置。通常,在从源传输到目的地期间,这些地址不会改变。
互联网报头长度(IHL)、总长度和报头校验和字段用于识别和验证数据包
。
其他字段用于重新排列分段的数据包
。具体而言,IPv4 数据包使用标识符、标志和片偏移量字段跟踪分段。路由器从一种介质向具有较小 MTU 的另一种介质转发IPv4数据包时必须将它分片。
IPv6 数据包
IPv4 的局限性
多年来,为应对新的挑战,已经制定了附加议定书和规程。但是,尽管经历了多次变更,IPv4 仍然有三个重要问题:
- IPv4地址耗尽 - IPv4 的
可用唯一公有地址数量有限
。尽管有大约 40 亿的 IPv4 地址
,但是支持 IP 的新设备数量的不断增加,以及始终在线的连接的增加,和欠发达地区的潜在连接的增加,不断催生更多的地址需求。 - 缺乏端到端连接 - 网络地址转换(NAT)是 IPv4 网络中经常实施的一项技术。NAT 为多种设备共享单一的公有 IPv4 地址提供方法。但是,因
为共享了公有 IPv4 地址,内部网络主机的 IPv4 地址会隐藏起来。这会给需要端到端连接的技术造成难题
。 - 增加的网络复杂性 - 虽然 NAT 延长了 IPv4 的寿命,但它只是作为一种过渡到 IPv6 的机制。NAT 在其各种实施中增加了网络的复杂性,从而造成延迟并使故障排除更加困难。
IPv6 概述
早在 20 世纪 90 年代早期,互联网工程任务组 (IETF) 就增加了对 IPv4 相关问题的关注并开始寻找替代方案。这促使了 IP 版本 6 (IPv6) 的开发。IPv6 解决了 IPv4 的限制并有着显著的功能提升,它能更好地适应当前和可预见的网络需求。
IPv6 的功能提升包括以下:
更大的地址空间 - IPv6 地址基于 128 位分层编址,而 IPv4 采用的是 32 位。
改进数据包处理过程 - IPv6 报头简化为更少的字段。
消除了对 NAT 的需求 - 有了数额如此巨大的公有 IPv6 地址,私有 IPv4 地址和公有 IPv4 地址之间不再需要 NAT。这可避免需要端到端连接的应用程序遇到某些由 NAT 引起的故障。
32 位的 IPv4 地址空间提供大约 4,294,967,296 个地址。IPv6 地址空间提供 340,282,366,920,938,463,463,374,607,431,768,211,456 个或 340 涧(10 的 36 次方)个地址。这大致相当于地球上的每一粒沙子。
IPv6数据包报头中的IPv4数据包报头字段
IPv6 较 IPv4 的一个重大改进是简化的 IPv6 报头。
例如,IPv4 报头包含 20 个二进制八位组的可变长度报头(如果使用“选项”字段,则高达 60 字节)和 12 个基本报头字段(不包括“选项”字段和“填充”字段)。
对于 IPv6,某些字段保持不变,某些字段的名称和位置发生了变化,而某些 IPv4 字段不再需要,正如图中突出显示。
相比而言,下图显示的简化 IPv6 报头包含 40 个二进制八位数的固定长度报头(主要为源和目的 IPv6 地址的长度)。
IPv6 简化报头允许更高效地处理 IPv6 报头
。
IPv6 数据包报头
IPv6 数据包还可能包含扩展报头(EH),以便提供可选的网络层信息。扩展报头为可选项,位于 IPv6 报头及负载之间。EH 用于分段、安全性、移动性支持等。
与 IPv4 不同,路由器不会对路由的 IPv6 数据包进行分段
。
主机路由方式
主机转发决策
对于IPv4和IPv6,数据包总是在源主机上创建。源主机必须能够将数据包定向到目的主机。为此,主机终端设备将创建自己的路由表。本主题讨论终端设备如何使用路由表。
网络层的另一个作用是在主机之间转发数据包。主机可以将数据包发送至如下:
主机自己 - 主机可以通过向特定的地址发送数据包来向自己发起ping测试,这个特定的地址是:IPv4地址127.0.0.1,或者IPv6地址 ::1,它被称为环回接口。对环回接口执行 ping 操作可以测试主机上的 TCP/IP 协议堆栈。
本地主机 - 目的主机与发送主机位于同一本地网络。源和目的主机共享同一个网络地址。
远程主机 - 这是位于远程网络上的目的主机。源和目的主机不共享同一个网络地址。
数据包是要发送到本地主机还是远程主机是由源端设备决定的
。源端设备确定目的 IP 地址是否与源设备本身所在的网络相同。确定方法因 IP 版本不同而异:
在 IPv4 中 -源设备使用自己的子网掩码以及自己的 IPv4 地址和目的 IPv4 地址来进行此判断。
在 IPv6 中 -本地路由器将本地网络地址(前缀)通告给网络上的所有设备。
在家庭或企业网络中,您可能有若干通过中间设备(LAN 交换机和/或无线接入点(WAP)等)互联的有线和无线设备。这种中间设备在本地网络上的本地主机之间提供互联服务。本地主机可以互相访问和共享信息,无需任何附加设备。如果主机要将数据包发送到与本主机在同一 IP 网络中的设备,则数据包仅是被转发出主机接口,然后经过中间设备即可直接到达目的设备。
当然,在大多数情况下我们希望我们的设备不仅仅能够连接本地网段,还能连接其他家庭、企业和互联网。位于本地网段外的设备称为远程主机。如果源设备发送数据包到远程目的设备,则需要借助路由器和路由。路由是确定到达目的地之最佳路径的过程。连接到本地网段的路由器称为默认网关
。
默认网关
默认网关是可以将流量路由到其他网络的网络设备(即,路由器或第3层交换机)。如果把一个网络比作一个房间,那么默认网关就好比是门口。如果要去另一个房间或网络,您就需要找到门口。
在网络上,默认网关通常是
具有以下功能的路由器
:
它拥有与本地网络其他主机位于相同地址范围的本地 IP 地址。
它可以接受数据到本地网络,并将数据转发出本地网络。
它向其他网络路由流量。
需要使用默认网关来发送本地网络之外的流量。如果没有默认网关、未配置默认网关地址或默认网关关闭,则无法将流量转发到本地网络之外。
主机路由到默认网关
主机的路由表通常包括默认网关。在IPv4中,主机通过动态主机配置协议 (DHCP) 动态接收默认网关 IPv4 地址,或者通过手动配置。在 IPv6 中,路由器通告默认网关地址,或者可以在主机上手动配置。
配置默认网关会在 PC 的路由表中创建一个默认路由。默认路由是计算机尝试联系远程网络时所用的路由或路径。
PC1 和 PC2 都会使用默认路由将去往远程网络的所有流量发送到 R1。
主机路由表
在 Windows 主机上,使用route print或命netstat -r令可以显示主机路由表。这两个命令生成相同的输出。输出可能乍一看很晦涩,但是实际上相当容易理解。
# PC1 的 IPv4 路由表
C:\Users\PC1> netstat -r
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.10.1 192.168.10.10 25
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.10.0 255.255.255.0 On-link 192.168.10.10 281
192.168.10.10 255.255.255.255 On-link 192.168.10.10 281
192.168.10.255 255.255.255.255 On-link 192.168.10.10 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.10.10 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.10.10 281
输入netstat -r命令或等效的route print命令,显示有关当前 TCP/IP 网络连接的三个部分:
接口列表 - 列出主机上的介质访问控制(MAC)地址和每个网络接口的已分配接口编号,包括以太网、Wi-Fi 和蓝牙适配器。
IPv4 路由表 - 列出所有已知的 IPv4 路由,包括直接连接、本地网络和本地默认路由。
IPv6 路由表 - 列出所有已知的 IPv6 路由,包括直接连接、本地网络和本地默认路由。
路由简介
路由器数据包转发决策
大多数网络还包含作为中间设备的路由器。路由器中也包含路由表。本主题涵盖网络层上路由器的运行。当一台主机发送数据包到另一台主机时,它将查询路由表来确定将数据包发送到哪里。如果目的主机位于远程网络,则数据包会被转发到默认网关,通常是本地路由器。
数据包到达路由器接口时,路由器会检查数据包的目的 IP 地址并搜索其路由表以确定将数据包转发到何处。
路由表包含所有已知网络地址(前缀)以及数据包转发位置的列表。这些条目称为路由条目或路由
。路由器将使用最佳(最长)匹配的路由条目转发数据包。
下表显示了来自R1路由表
的相关信息。
路由 | 下一跳或出口接口 |
---|---|
192.168.10.0 /24 | G0/0/0 |
209.165.200.224/30 | G0/0/1 |
10.1.1.0/24 | 通过 R2 |
默认路由 0.0.0.0/0 | 通过 R2 |
IP 路由器路由表
路由器的路由表包含所有可能的已知目的地网络的路由条目列表。
路由表存储三种类型的路由条目:
直连网络 - 这些网络路由条目是活动的路由器接口。当接口配置了 IP 地址并激活时,路由器会添加直连路由。每个路由器接口均连接到一个不同的网段。在图中,R1 IPv4路由表中的直连网络为192.168.10.0/24和209.165.200.224/30。
远程网络 - 这些网络路由条目连接到其他路由器。路由器通过由管理员明确配置或使用动态路由协议交换路由信息来学习远程网络。在图中,R1 IPv4路由表中的远程网络为10.1.1 /24。
默认路由 - 像主机一样,大多数路由器还包含默认路由条目,即默认网关。当IP路由表中没有更好(更长)的匹配时,将使用默认路由。在图中,R1 IPv4路由表很可能包含一个将所有数据包转发到路由器R2的默认路由。
该图用于确定路由器 R1 的直连和远程网络。
路由器可通过两种方式获知远程网络:
手动 - 使用静态路由将远程网络手动输入到路由表中。
动态 - 使用动态路由协议自动学习远程路由。
静态路由
静态路由是手动配置的路由条目。下图显示了在路由器 R1 上手动配置的静态路由的示例。静态路由包括远程网络地址和下一跳路由器的IP地址。
如果网络拓扑改变,静态路由不会自动更新,必须手动重新配置静态路由。例如,在图中,R1有一条通过R2到达10.1.1.0/24网络的静态路由。如果该路径不再可用,R1将需要重新配置一个新的静态路由,通过R3到达10.1.1.0/24网络。因此,路由器R3需要在其路由表中有一个路由条目,以便将目的地为10.1.1.0/24的数据包发送到R2。
静态路由具有以下特征:
必须手动配置静态路由
。如果拓扑发生变化,且静态路由不再可用,则管理员需要重新配置静态路由。
静态路由适用于小型网络且当冗余链路很少或没有冗余链路的情况。
静态路由通常与动态路由协议一起用于配置默认路由。
动态路由
动态路由协议可让路由器从其他路由器那里自动学习远程网络,包括默认路由
。如果使用动态路由协议,则路由器无需网络管理员的参与,即可自动与其它路由器共享路由信息并对拓扑结构的变化作出反应。如果网络拓扑发生变化,路由器将使用动态路由协议共享此信息,并自动更新路由表。
动态路由协议
包括开放式最短路径优先路由协议(OSPF)和增强型内部网关路由协议(EIGRP)。该图显示了路由器 R1 和 R2 使用路由协议 OSPF 自动共享网络信息的示例。
基本配置只需要网络管理员在动态路由协议中启用直连网络
。动态路由协议将自动执行如下操作:
发现远程网络。
维护最新路由信息。
选择通往目的网络的最佳路径。
当前路径无法再使用时尝试找出新的最佳路径。
当使用静态路由手动配置路由器或使用动态路由协议动态学习远程网络时,远程网络地址和下一跳地址将被输入到IP路由表中。如图所示,如果网络拓扑发生变化,路由器将自动调整并尝试找到新的最佳路径。
注意: 通常一些路由器会同时使用静态路由和动态路由协议。
IPv4 路由表简介
请注意,在图中 R2 连接到了互联网。因此,当路由表中没有与目的IP 地址匹配的特定条目时,管理员将为 R1 配置默认静态路由,将数据包发送到 R2。R1和R2还使用OSPF路由来通告直连的网络。
R1# show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is 209.165.200.226 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 209.165.200.226, GigabitEthernet0/0/1
10.0.0.0/24 is subnetted, 1 subnets
O 10.1.1.0 [110/2] via 209.165.200.226, 00:02:45, GigabitEthernet0/0/1
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0/0
L 192.168.10.1/32 is directly connected, GigabitEthernet0/0/0
209.165.200.0/24 is variably subnetted, 2 subnets, 2 masks
C 209.165.200.224/30 is directly connected, GigabitEthernet0/0/1
L 209.165.200.225/32 is directly connected, GigabitEthernet0/0/1
R1#
特权 EXEC 模式命令 show ip route 用于查看思科 IOS 路由器
上的 IPv4 路由表。该示例显示了路由器 R1 的 IPv4 路由表。每个路由表条目的开头都有一个代码,用于标识路由的类型或路由的学习方式。常见路由源(代码)包括以下内容:
L - 直连的本地接口 IP 地址
C - 直连网络
S - 静态路由由管理员手动配置
O - OSPF
D - EIGRP
路由表显示 R1 的所有已知 IPv4 目的地路由。
当路由器接口配置了IP地址信息并激活时,将自动创建直连路由。该路由器添加了两个带有代码C(即所连接的网络),和L(即连接网络的本地接口IP地址)的路由条目。路由条目还标识用于到达网络的出口接口。
本示例中的两个直连网络分别为192.168.10.0/24 和 209.165.200.224/30。
路由器 R1 和 R2 还使用 OSPF 动态路由协议交换路由器信息。在示例路由表中,R1 具有 10.1.1.0/24 网络的路由条目,它通过 OSPF 路由协议从路由器 R2 中动态学习到该条目。
默认路由具有全都是零的网络地址。例如,IPv4 网络地址为 0.0.0.0。路由表中的静态路由条目以 S\ * 的代码开头,如示例中突出显示的那样。
总结
- 网络层特征
网络层(OSI 第 3 层),提供能够让终端设备跨整个网络交换数据的服务。IPv4 和 IPv6 是主要的网络层通信协议。网络层还包括路由协议 OSPF 和消息传递协议(如 ICMP)。网络层协议执行四个基本操作:寻址终端设备、封装、路由和解封。IPv4和IPv6指定从一台主机向另一台主机传送数据时使用的数据包结构和处理过程。IP 通过添加 IP 报头来封装传输层数据段,以便传输到目的主机。第3层设备(即路由器)在通过网络传输到其目的地时,会检查IP报头。IP 的特点是它是无连接的、尽最大努力的,并且独立于介质。IP 是无连接协议,这意味着发送数据前IP不会创建专用的端到端连接。IP 协议不保证交付的所有数据包都能被收到。这就是“不可靠”或“尽最大努力”的定义。IP 的运作与在协议栈低层传送数据的介质无关。
- IPv4数据包
IPv4 数据包报头是由包含数据包信息的字段组成。这些字段中包含的二进制数字由第 3 层进程进行检查。每个字段的二进制值均用于确定 IP 数据包的各种设置。IPv6报头中的重要字段包括:版本、DS、报头校验和、TTL、协议以及源和目的IPv4地址。
- IPv6数据包
IPv6 旨在克服 IPv4 的局限性,包括:IPv4 地址耗尽、缺乏端到端连接以及网络复杂性增加。IPv6 增加了可用的地址空间,改进了数据包处理,并且消除了对 NAT 的需求。IPv6数据包报头中的字段包括:版本、流量类别、流标签、负载长度、下一个报头、跳数限制,以及源IPv6地址和目的IPv6地址。
- 主机如何路由
主机可以向自己、另一个本地主机和远程主机发送数据包。在 IPv4 中,源设备使用自己的子网掩码以及自己的 IPv4 地址和目的 IPv4 地址确定目的主机是否位于同一网络上。在 IPv6 中,本地路由器将本地网络地址(前缀)通告给网络上的所有设备,以做出此决定。默认网关是可以将流量路由到其他网络的网络设备(即路由器)。在网络上,默认网关通常是一个路由器,它的本地IP地址与本地网络上的其他主机位于相同的地址范围内,可以将数据接收到本地网络并将数据转发到本地网络之外,并将流量路由到其他网络。主机的路由表通常包括默认网关。在IPv4中,主机通过DHCP动态接收默认网关 IPv4 地址,或者通过手动配置。在 IPv6 中,路由器通告默认网关地址,或者可以手动配置主机。在 Windows 主机上,使用route print或命netstat -r令可以显示主机路由表。
- 路由简介
当一台主机发送数据包到另一台主机时,它将查询路由表来确定将数据包发送到哪里。如果目的主机位于远程网络,则数据包会转发到默认网关。当数据包到达路由器接口时会发生什么? 路由器检查数据包的目的 IP 地址并搜索其路由表以确定将数据包转发到何处。路由表包含所有已知网络地址(前缀)以及数据包转发位置的列表。这些条目称为路由条目或路由。路由器将使用最佳(最长)匹配的路由条目转发数据包。路由器的路由表存储三种类型的路由条目:直连的网络、远程网络和默认路由。路由器通常以动态方式使用路由协议或以手动方式使用静态路由来学习远程网络。静态路由是手动配置的路由条目。静态路由包括远程网络地址和下一跳路由器的IP地址。OSPF 和 EIGRP 是两种动态路由协议。特权 EXEC 模式命令 show ip route 用于查看思科 IOS 路由器上的 IPv4 路由表。IPv4路由表的开头都有一个代码,用于标识路由的类型或路由的学习方式。
常见路由源(代码)包括:
- L - 直连的本地接口 IP 地址
- C - 直连网络
- S - 静态路由由管理员手动配置
- O - 开放最短路径优先 (OSPF)
- D - 增强型内部网关路由协议 (EIGRP)