网络术语:单臂路由、环回接口原理
前言:
最近处理一个网络硬件设备的接入问题,原本是一件极其简单的事情,但由于企业的系统集成商的服务缺失,结果不得不自己尝试处理这个额外的工作。既是坏事也是好事,因为这个原因,我才发现,对原来已经掌握的三层网络等的相关知识,现在竟然已经忘记得差不多了。其实对于这种工作中并不常用的内容,我才发觉,我的遗忘速度竟然可以这么快。于是,我不得不计划在近期利用ENSP建立一个标准的企业三层网络模拟实验去重新筑固原有的网络知识。
对于这种复习知识性质的学习,对我来说并没有什么严格的顺序,基本上来说,搜索到那个知识点就看那个知识点;对术语这个东西还真是麻烦,平时用少,忘记速度就是可以这么快。搜索重现知识,效率上实在有点低,往往需要参看多个文章才能发现一篇真正有价值的文章。因此,对于此类理论性较长的知识,并不适合于简单的记录,因此我也发现了本博客的另一个用途,用于记录此类知识的用途或原理。
本文的内容是取材于网络的,我会尽量明确谁是原文作者并加以转载提示,但对于无法确定原作者的内容,我只会加上取材网络的提示。如果你是原内容作者并觉得本文有损你的权益,请告诉我。
一、单臂路由[转载:原文链接]
众多中小企业内部网络结构都很简单,仅仅是用一台交换机将所有员工机以及服务器连接到一起,然后通过光纤访问internet而已。当然为了保证部分主机的安全性以及分割内部广播包提高网络传输速度,采取诸如划分VLAN,分配不同子网的方法来实现。通过划分VLAN可以让在同一台交换机不同端口的客户机不能互相访问,有效的隔离了网络。
通过VLAN划分网络固然可以解决安全和广播风暴的频繁出现,但是对于那些既希望隔离又希望对某些客户机进行互通的公司来说,划分VLAN的同时为不同VLAN建立互相访问的通道也是必要的。
众所周知可以使用三层交换机来实现,但是大多数情况企业网络搭建初期购买的仅仅是二层可管理型交换机,如果要购买三层交换机实现VLAN互通功能的话,以前的二层设备将被丢弃。这样就造成了极大的浪费。那么有没有什么办法在仍然使用二层设备的基础上,实现三层交换机的功能呢?
1、三层交换机的原理:
在告诉各位读者解决方法前我们需要首先了解三层交换机的工作原理。理论上讲一台三层交换机可以看做是一个二层交换机+一个路由模块,实际使用中各个厂商也是通过将路由模块内置于交换机中实现三层功能的。在传输数据包时先发向这个路由模块,由其提供路由路径然后再由交换机转发相应的数据包。
2、单臂路由原理:
既然仍然要使用以前的二层设备,那么我们可以通过添加一台路由器解决上面提到的企业网络升级问题。这台路由器就相当于三层交换机的路由模块,只是我们将其放到了交换机的外部。具体原理拓扑图如下:
网络拓朴结构图
补充A:ROUTER-路由器作用
作用:连接线路[负责多个vlan之间的的通信];
补充B:SWITCH-交换机作用
作用:大家可以看出在router路由器与交换机之间是通过外部线路连接的,这个外部线路只有一条,但是他在逻辑上是分开的,需要路由的数据包会通过这个线路到达路由器,经过路由后再通过此线路返回交换机进行转发。所以大家给这种拓扑方式起了一个形象的名字--单臂路由。说白了,单臂路由就是包从哪个物理接口进去,又从哪个物理接口出来,而不像传统网络拓扑中数据包从某个物理接口进入路由器,而又从另一个物理接口离开路由器。
那么什么时候要用到单臂路由呢?在企业内部网络中划分了VLAN,当VLAN之间有部分主机需要通信,但交换机不支持三层交换,这时候可以采用一台支持802.1Q的路由器实现VLAN的互通。我们只需要在以太口上建立子接口,并分配IP地址作为该VLAN的网关,同时启动802.1Q协议即可。
小提示:一个物理接口当成多个逻辑接口来使用时,往往需要在该接口上启用子接口。通过一个个的逻辑子接口实现物理端口以一当多的功能。
二、环回接口[网络取材]
环回接口习惯上被称为loopback接口,是路由器上的一个逻辑、虚拟接口。路由器默认没有任何环回接口,但是它们很容易创建。所有cisco的IOS平台都支持环回接口,可以根据需要创建任何数目的环回接口。这些接口在路由器上与物理接口一样对待:可以给它们分配寻址信息,包括它们在路由器选择更新中的网络号,甚至在它们上可以终止IP连接,如telnet。环回接口由于独占一个IP地址,子网掩码一般建议设为255.255.255.255;
1、网络接口处理IP数据报的流程
根据原理图上的理论,当传输层检测到目的地址为环回地址时,则可以省去部分传输层和全部网络层及其以下的逻辑操作。但现实中,大部分产品还是完成了传输层与网络层的所有过程,最后当IP数据报离通过“环回驱动程序”报离开网络层时又返回给了自已。
2、创建环回接口的原因/用途
2.1、用来建立路由邻居
我们知道路由协议要想正常运行,大多需要先建立邻居关系,邻居关系的稳定是路由计算正确的基石。实际运用中,常常使用环回接口来建立两个路由器之间的邻居关系,例如BGP协议。比起使用物理接口建立连接,使用环回接口可以使邻居关系更加牢固,因为就算某个物理链路和接口发生了故障,只要能从其他途径访问到该设备,那么邻居关系就不会中断。
2.2、用来作为Router-ID
在常用的OSPF、BGP等路由协议中,都有Router-ID的概念,这相当于一台路由器的身份证号,在一个指定的范围(如一个自治系统)内只能标识一台设备,不能有重复。因为环回接口的稳定性,我们常使用一个环回接口地址来作为Router-ID,使整个设备的标识稳定可靠。使用环回接口作为Router-ID还有一个好处就是可以节省地址,因为环回接口的地址一般和业务地址没有关系,是独立规划的。
2.3、用于虚拟隧道连接
在建立IPSec或GRE之类的虚拟隧道时,使用loopback接口可以保证整个隧道的稳定性。
2.4、用于网络连通性测试
创建并配置好环回接口之后,它的地址是能被ping或telnet的,这就可以被用来测试网络的连通性。
3、应用举例
3.1、PC主机示例
PC主机的网卡就相当于路由器的一个接口。如一台PC网卡上设置的地址为220.172.115.50,网卡连接正常时[协议状态UP],在DOS命令行状态下输入“ipconfig”命令便可看到该网卡上的IP地址。此时在主机上PING其网卡地址的过程如下:主机发送一个icmp包,目的地址为220.172.115.50,请求对方回答;主机通过“以太网驱动程序”[见原理图][主机并不知道该地址就在该网卡上],发现“目标IP地址与接口IP地址”相同,于是将数据报传送给“环回驱动程序”[见原理图],最后主机便收到源IP为220.172.114.50的ping包,于是对该数据包进行回答,回应包亦根据环回路由原路返回。从该过程可看出,该数据包的始发点和被接收点都在同一个接口(即主机本身的loopback接口),寻址过程为一个环回过程,因此该接口称之为“环回接口”。
当网卡连接断开时[协议DOWN],用“ipconfig”命令便发现“media disconnected”等提示,无IP地址显示。使用“ping 220.172.115.50”命令时,便出现“destination unreachable”等提示(由于网卡协议没起来,主机没能发现相应路由,无法做出转发决定,从而提示路由不可达)。但此时“ping 127.0.0.0/8”网段的IP均能ping通,因为一般PC默认把127.0.0.0/8网段IP作为loopback地址,当主机发现该数据包的目的地址为其自身的环回地址时,便将该数据包直接送往其cpu。由此可看出ping通环回地址并不表示就能ping通网卡地址,因此不要拿ping 127.0.0.1来检测网卡的好坏,这样做是行不通的。
3.2、路由器规例
如 RouterA 的接口 S0/1 与 RouterB 的接口 S0/2 直接相连,RouterA S0/1 的地址为"202.56.112.11",而 RouterB S0/2 的地址为"202.56.112.12",两台路由器都没有做接口环回路由。此时在 RouterA 上ping其接口 S0/1 的IP地址能ping通,但执行"tracert 202.56.112.11"便发现该数据包并未直接送给 RouterA 本身,而是通过 RouterB 后再回到 RouterA 的。第一次遇到这种情况时我也很诧异,但理解环回的概念以后,这个疑惑也就自然解开。下面我们也来看看该数据包的寻址过程:首先路由器(cisco2600以上)没有默认接口地址的loopback路由,并且这两台router也没有做相关手工设置。因此当routerA发送目的地址为其s0/1的icmp ping包时,routerA查找路由表没发现指向环回接口的主机路由(主机路由优先级高于网络路由),于是根据直连路由将该数据包转发到routerB;routerB接收到该数据包后也根据直连路由将其转发给routerA;routerA收到该ping包后,作出回应,回应包原路返回。因而便出现一个有趣的现象,routerA ping自己的延迟比其ping routerB的延迟还要大。为此很多设备都手工设置了本地环回路由,从而减少不必要的麻烦。
网络术语:单臂路由、环回接口原理:等您坐沙发呢!