?本文由Zhang_Jiawen发表于Dell Technology"网络基本功"
?
如有侵犯版权,还请这位头像萌萌的大姐姐前辈联系我商讨删帖,道歉,赔偿,下跪等事宜.
以太网交换机工作在第二层即数据链路层,用于在同一网络内部转发以太网帧。但是,当源和目的IP地址位于不同网络时,以太网帧必须发送给路由器。路由器负责在不同网络间传输报文,通过路由表来决定最佳转发路径。当主机将报文发送至不同IP地址时,由于主机无法直接与本地网络以外的设备通信,报文被转发至默认网关。默认网关就是数据流从本地网络路由至远端设备的目的地。它通常用来连接本地网与公共网。
路由器在一个接口接收报文并将它从另一个接口转发出去,这一过程的关键步骤是为输出链路将报文封装在适当的数据链路帧中。路由器主要执行以下三个步骤:
如下图所示:设备有三层IPv4地址,以太网接口有二层数据链路地址。例如PC 1的IPv4地址192.168.1.10,示例MAC地址0A-10。在报文从原设备传输至目的设备的过程中,三层IP地址不会改变。但是,每一跳随着报文在路由器中被解封装和重新封装,二层数据链路地址都会改变。很可能报文被封装成与接收时不同的另一种类型的二层帧。
PC 1发送报文给PC 2时,首先必须确定目的IPv4地址是否位于同一网络。PC 1通过将自己的IPv4地址与子网掩码做与操作,来判断PC 1所属的网段。接下来,PC 1对目的IPv4地址与PC 1的子网掩码做同样的与操作。如果目的网络地址与PC 1网络相同,则PC 1不使用默认网关,而是在ARP缓存中查找目的IPv4地址的设备MAC地址。如果MAC地址不在缓存中,则PC 1产生一个ARP请求来获取地址并将报文发给目的地址。如果目的网络地址位于另一网络,则PC 1将报文转发至默认网关。
要确定默认网关的MAC地址,PC 1在它的ARP表中查找默认网关的IPv4地址以及相应的MAC地址。如果ARP表中没有默认网关的对应表项,则PC 1发送ARP请求。路由器R1回复ARP响应。之后PC 1将报文转发至默认网关的MAC地址,即路由器R1的Fa0/0接口。
R1从PC 1接收到以太网帧后执行以下步骤:
由于下一个接口是在以太网上,所以R1必须用ARP解析出下一跳IPv4地址的MAC地址。
当帧到达R3时执行以下步骤:
由于输出接口是一个直连以太网,所以R3必须用ARP解析出目的IPv4地址的MAC地址。
路由表存储的信息包括:
「直连路径」:来自活动路由接口的路径。当接口为活动状态并配置了IP地址时,路由器添加一条直连路径。
「远端路径」:远端的网络连接到其他路由。通过静态配置或动态路由协议到达该网络。
路由表是存储在RAM中的一份数据文件,用于存储直连以及远端网络的路由信息。路由表中包含网络或下一跳地址的信息。这些信息告知路由器可以通过将报文发送至代表下一跳地址的路由器以最佳路劲到达目的地址。下一跳信息也可以是到下一个目的地的输出接口。
Cisco IOS路由器可用show IP route
命令显示IPv4路由表。路由器还提供一些额外的路由信息,包括路径是怎样学习到的,路径在表中有多长时间,使用哪一接口去到达预定义的目的地。
路由表中的表项可作为以下内容添加:
「本地路径接口」:当接口配置并激活时添加。
「直连接口」:当接口配置并激活时添加。
「静态路径」:当手动配置路径并且输出接口激活时。
「动态路由协议」:当路由协议动态学习到网络时添加,如EIGRP或OSPF。
路由表项的来源通过代码来标识,代码表明路径是怎样学习到的。 例如,常用代码包括:
「L」:路由器接口地址。当路由器接收到报文时发送至本地接口而无需转发。
「C」:直连网段。
「O」:通过OSPF从另一个路由器动态学习到的网络。
「D」:通过EIGRP从另一个路由器动态学习到的网络。
下图显示了R1的路由表:
下图显示了R1到远端网络10.1.1.0的表项:
「Route source」:路径是怎样学习到的。
「Destination network」:远端网络地址。
「Administrative distance」:路由来源的可信度。较低值表明优先选择。
「Metric」:是路由算法用以确定到达目的地的最佳路径的计量标准。较低值表明优先选择。
「Next hop」:转发报文的下一个路由器的IP地址。
「Route timestamp」:自学习到路径以来过了多少时间。
「Outgoing interface」:用以转发报文的输出接口。
下图显示了R1到直连网络192.168.10.0的路由表项:
在一个接口状态为up/up并添加到IPv4路由表之前,接口必须:
当接口up之后,该接口的网络作为直连网络添加到路由表中
原文:https://www.cnblogs.com/thecatcher/p/12439254.html