网络基本功系列:细说路由(上)

介绍:

      以太网交换机工作在第二层即数据链路层,用于在同一网络内部转发以太网帧。但是,当源和目的IP地址位于不同网络时,以太网帧必须发送给路由器。路由器负责在不同网络间传输报文,通过路由表来决定最佳转发路径。当主机将报文发送至不同IP地址时,由于主机无法直接与本地网络以外的设备通信,报文被转发至默认网关。默认网关就是数据流从本地网络路由至远端设备的目的地。它通常用来连接本地网与公共网。

报文转发过程:

      路由器在一个接口接收报文并将它从另一个接口转发出去,这一过程的关键步骤是为输出链路将报文封装在适当的数据链路帧中。路由器主要执行以下三个步骤:

      1. 将第二层的帧头和帧尾移除,解析出第三层报文。

      2. 检查IP报文的目的IP地址,在路由表中查找最佳路由。

      3. 如果路由器找到一条最佳路径,则将三层报文封装到新的二层帧中,并将帧转发到输出端口。

      如下图所示:设备有三层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接收到以太网帧后执行以下步骤:

      1. R1检查目的MAC地址,与接收端口FastEthernet 0/0相匹配,因此,将帧复制到buffer。

      2. R1识别以太网类型为0x800,意味着以太网帧的数据部分包含IPv4报文。

      3. R1解封装该以太网帧。

      4. 由于目的IPv4地址与R1直连的任何网络都不相符,R1在路由表中查找包含该目的IPv4地址主机的网络地址。本例中,路由表中有192.168.4.0/24网络的路由。目的IPv4地址为192.168.4.10,即该网络上的主机IPv4地址。

      R1找到192.168.4.0/24路由的下一条IPv4地址为192.168.2.2以及输出端口FastEthernet 0/1,这意味着IPv4报文封装到一个新的以太网帧中,目标MAC地址是下一跳路由器的MAC地址。

      由于下一个接口是在以太网上,所以R1必须用ARP解析出下一跳IPv4地址的MAC地址。

      1. R1在ARP cache中查找下一跳IPv4地址192.168.2.2。如果表项不在ARP cache中,R1会从FastEthernet 0/1 接口发送ARP请求,R2会返回ARP响应。R1之后在ARP cache中更新192.168.2.2的MAC地址。

      2. IPv4报文封装到新的以太网帧中并从R1的FastEthernet 0/1 接口转发出去。

到达目的地:

      当帧到达R3时执行以下步骤:

      1. R3将数据链路帧复制到它的buffer。

      2. R3解封装该数据链路帧。

      3. R3在路由表中查找该目的IPv4地址。R3路由表中有直接连接到该网络的路由。这表示报文可直接发送到目的设备而无需发送至路由器。

      由于输出接口是一个直连以太网,所以R3必须用ARP解析出目的IPv4地址的MAC地址。

      1. R3在它的ARP cache中查找目的IPv4地址,如果此ARP cache中没有此表项,R3会从FastEthernet 0/0 接口发送ARP请求。PC 2回复ARP响应告知它的MAC地址。R3之后在ARP cache中更新192.168.4.10的MAC地址。

      2. IPv4报文封装到新的以太网帧中并从R3的FastEthernet 0/0 接口发出。

      3. 当PC 2接收到该帧,检查帧的目的MAC地址,与网卡接收端口的MAC地址相匹配,PC 2于是将帧的剩余部分复制到自己的buffer。

      4. PC 2识别到以太网类型为0x800,也就是帧的数据部分包含IPv4报文。

      5. PC 2解封装以太网帧,将IPv4报文传递给操作系统的IPv4进程。

路由表:

      路由表存储的信息包括:

      直连路径:来自活动路由接口的路径。当接口为活动状态并配置了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路由表之前,接口必须:

      * 指定有效的IPv4或IPv6地址。

      * 通过no shutdown命令激活。

      * 从另一设备(路由器,交换机,主机等)接收到载体信号。

      当接口up之后,该接口的网络作为直连网络添加到路由表中。

时间: 2024-11-08 07:01:46

网络基本功系列:细说路由(上)的相关文章

网络基本功系列:细说路由(下)

介绍:       静态路由是指由网络管理员手工配置的路由信息.当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息.动态路由是指路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由表的过程.是基于某种协议来实现的.本文详细阐述这两者的实现过程. 静态路由:       静态路由是指由网络管理员手动配置在路由器上的表项.对于特定的目标地址,以及在小型或稳定的网络环境,手动配置静态路由可以非常成功地应用.通过使用静态路由,网络管理员确定了通向一目标网络

网络基本功系列:概述

    注:本系列博客主要转载自EMC-Community,特别感谢Zhang Jiawen .      常言道:欲练神功,必先练好基本功.本系列文章着重于讲解网络管理实际应用中常常涉及的重要知识点,尽量以实用为主.     主要内容为: 网络传输 交换机 VLAN与Trunk 路由(上) 路由(下) 链路聚合 IP地址与子网 TCP滑动窗口 TCP重传 TCP确认机制 TCP窗口调整与流控 细说Linux网络配置(上) 细说Linux网络配置(下) 常用诊断工具:ping  常用诊断工具:n

网络基本功系列:细说VLAN和Trunk

     网络性能是影响业务效率的一个重要因素.将大型广播域分段是提高网络性能的方法之一.路由器能够将广播包阻隔在一个接口上,但是,路由器的LAN接口数量有限,它的主要功能是在网络间传输数据,而不是对终端设备提供网络接入.访问LAN的功能还是由接入层交换机来实现.与三层交换机相类似,通过在二层交换机上创建VLAN来减少广播域.现代交换机就是通过VLAN来构造的,因此在某种程度上,学习交换机就是学习VLAN. 1.问题的产生:      上一节已经讲过广播域的概念:即广播帧传播覆盖的范围.如下图所

网络基本功系列:细说交换机

1.帧转发:     网络及电信中的交换概念     以太网上的帧包含源MAC地址与目的MAC地址.交换机从源设备接收到帧并快速发往目的地址.交换的基本概念指基于以下两条准则做出决策的设备:     * 进入(ingress)端口     * 目的地址     术语ingress用于描述帧通过特定端口进入设备,egress用于描述设备通过特定端口离开设备.交换机做出转发决定的时候,是基于进入端口以及消息的目的地址的.     LAN交换机维护一张表,通过这张表决定如何转发数据流.LAN交换机唯一

最近公司网络不稳定,总是集体上不了网,我去重启下路由就好

问题描述 最近公司网络不稳定,总是集体上不了网,我去重启下路由就好 一大早来就会出现这种情况,中午也会出现一次,其他时间不定时会出现 解决方案 路由器带宽不够用了!该换了!你们现在用几m的 解决方案二: 看看地址分配的够不够 解决方案三: 我们公司也是这样 是交换机的问题-- 解决方案四: 如果是电信的,还有一个ip的问题 解决方案五: 我们公司也是这样,感觉是交换机的问题 解决方案六: 很大很能是iP分配的问题...全部改成固定ip吧 解决方案七: 检查物理层连通性:再看看地址池是不是有问题:

完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

转载自 PiggyXP(小猪) 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三 手把手叫你玩转网络编程系列之三    完成端口(Completion Port)详解                                                              ----- By PiggyXP(小猪) 前 言         本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中

网络协议系列之十一:互联网协议入门(一)

前言 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信.上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite).它们对电脑如何连接和组网,做出了详尽的规定.理解了这些协议,就理解了互联网的原理. 下面就是我的学习笔记.因为这些协议实在太复杂.太庞大,我想整理一个简洁的框架,帮助自己

网络“投毒”系列报告:全国多省软件升级劫持攻击事件数据分析

本文讲的是网络"投毒"系列报告:全国多省软件升级劫持攻击事件数据分析, 概述 初步披露了基于域名bjftzt.cdn.powercdn.com的一组大规模软件升级劫持事件.在这个事件的第一阶段中,用户尝试升级若干知名软件客户端时,HTTP URL会被劫持,实际下载得到的是"加料"的恶意软件.在第二阶段中,恶意软件会在表面上正常安装知名软件客户端的同时,另外在后台偷偷下载安装推广其他软件. 基于网络层面的监测计算,此次软件升级劫持的影响范围远超WannaCry勒索蠕虫

JS组件系列——Bootstrap文件上传组件:bootstrap fileinput

JS组件系列--Bootstrap文件上传组件:bootstrap fileinput 前言:之前的三篇介绍了下bootstrap table的一些常见用法,发现博主对这种扁平化的风格有点着迷了.前两天做一个excel导入的功能,前端使用原始的input type='file'这种标签,效果不忍直视,于是博主下定决心要找一个好看的上传组件换掉它.既然bootstrap开源,那么社区肯定有很多关于它的组件,肯定也有这种常见的上传组件吧.经过一番查找,功夫不负有心人,还是被博主找到了这个组件:boo