路由的实现

来自CloudWiki
跳转至: 导航搜索

路由与路由器

路由是指导IP报文从源发送到目标的路径信息,也可以理解为通过相互连接的网络把数据包从源地点移动到目标地点的过程。路由和交换虽然相似,但却是不同的概念。

交换发生在OSI参考模型的数据链路层,而路由发生在网络层。两者虽然都是对数据进行转发,但是所利用的信息和处理方式方法都是不同的。在互联网中进行路由选择

或者实现路由的设备称为路由器。路由器用于连接不同网络,在不同网络间转发数据单元,是互联网络的枢纽。路由器系统构成了基于TCP/IP协议的Internet的骨架,路

由器技术是网络技术中的核心部分。路由器功能包括:

路由功能

路由器从端口收到报文后,去除链路层封装,交给网络层处理。网络层先检查报文是否是送给本机的,如果是则去掉网络层封装,送给上层协议处理。

如果不是则根据报文的目的地址查找路由表,若找到路由,则将报文交给相应端口的数据链路层,封装端口对应的链路层协议后发送报文;若找不到路

由,则将报文丢弃。因此,路由的功能包括路由表的建立、维护和查找。

交换转发功能

数据在路由器内部传送与处理的过程。从路由器一个端口接收,再选择合适端口转发其间做帧的解封装,并对数据包做相应处理。根据目的网络查找路由表,

决定转发端口,做新的数据链路层封装等过程。简单的说就是在网络之间转发分组数据的过程。

隔离广播功能

指定访问规则路由器以阻止广播的通过,并且可以设置访问控制列表ACL对流量进行控制。

连接异种网络功能

异种网络互连支持不同的数据链路层协议。

子网间的速率匹配功能

路由器具有多个端口,不同的端口具有不同的速率,路由器需要利用缓存和流控协议进行速率适配。

路由表信息查看

路由器工作时依赖于路由表进行数据转发,路由表包含到达各个目标的路径信息。在路由器中,可以通过命令 display ip routing-table查看路由表。路由表信息见表:

路由.jpg

路由的来源

根据路由信息产生的方式和特点,路由分为以下4种:

直连路由

指与路由器直连网段的路由条目。直连路由不需要特别配置,只需要在路由器端口上设置IP地址,然后由数据链路层发现。链路层发现的路由不需要维护,

减少了维护的工作。缺点是链路层只能发现端口所在的直连网段的路由,无法发现跨网段的路由,跨网段的路由需要用其他的方法获得。在路由表中,直

连路由的Protocol字段显示为 Direct。当给端口配置IP地址后,在路由表中出现相应的路由条目。

静态路由

系统管理员手工设置的路由称为静态路由,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络拓扑的改变自动改变。优点是不占用网络

和系统资源,安全。缺点是当一个网络故障发生后,静态路由不会自动修正,必须由网络管理员手工逐条配置,不能自动对网络状态变化做出相应的调整。在路

由表中,静态路由的 Protocol字段显示为Static。

动态路由

动态路由是由动态路由协议发现的路由。当网络拓扑十分复杂时,手工配置静态路由工作量大而且容易出现错误,这时候就可以用动态路由协议,

让其自动发现和修改路由,无须人工维护。但动态路由协议开销大,配置复杂。网络中存在多种路由协议,如RIP、OSPF、IS-IS、BGP等,各种路

由协议都有其特点和应用环境。在路由表中,动态路由的 Protocol字段显示为具体的某种动态路由协议。

特殊路由

特殊路由也称为默认路由,是一种特殊的路由。默认路由的网络地址和子网掩码全部为0。管理员可以通过静态方式配置默认路由,也可以在边界路由器上使用

动态路由协议生成默认路由,再下发给其他路由。当路由器收到一个目的地址在路由表中查找不到的数据包时,会将数据包转发给默认路由指向的下一跳。如果路

由表中不存在默认路由,则该报文将被丢弃,并向源端返回一个ICMP报文,报告该目的地址或网络不可达。

VLAN间通信

通过划分VLAN隔离了广播域,增强了安全性。但是划分VLAN后,不同VLAN的计算机之间的通信也相应地被阻止。因此,为了实现VLAN间的通信,

必须借助于三层设备。VLAN间通信的实质就是VLAN间的路由问题。实现VLAN间路由可以采用普通路由、单臂路由和三层交换这3种方式。

普通路由

为每个 VLAN单独分配一个路由器端口。每个物理端口就是对应VLAN的网关,VLAN间数据通信通过路由器进行三层路由,这样就可以实现VLAN间相互通信。

随着每个交换机上 VLAN 数量的增加,就必然需要大量的路由器端口。出于成本的考虑,不可能采用这种方案解决VLAN间路由选路问题。

单臂路由

为了解决物理端口需求过大的问题,在 VLAN技术的发展中,出现的单臂路由技术来实现VLAN间的通信。它只需要一个以太网端口,通过创建子端口可以

承担所有VLAN的网关,从而在不同的VLAN间转发数据。但是当VLAN间的数据流量过大的时候,路由器与交换机间的链路将成为网络的瓶颈。

三层交换

在实际网络搭建中,三层交换技术成为解决 VLAN间通信的首选方式。三层交换机在功能上实现了VLAN的划分、VLAN内部的二层交换和VLAN间路由的功能。

三层交换i通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表。当同样的数据流再次通过时,将根据此表直接从二层通过而不是通过

三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。此外,为了保证第一次数据流通过路由表正常转发,路由表中必须有

正确的路由表项。因此必须在三层交换机上部署三层端口及路由协议,实现三层路由可达,逻辑端口VLANIF由此而产生。

网络地址转换NAT

网络地址转换NAT是将P数据包报头中的IP地址转换为另一个IP地址的过程。在实际应用中,主要用于实现私有网络访问外部网络的功能。IP地址定义了私有地址和公有地址。

私有地址是由InterNIC预留的由各个企业内部网自由支配的IP地址。使用私有地址不能直接访问Internet。因为公网上没有针对私有地址的路由。当访问Internet时,需要

利用NAT或代理技术把私有地址转换为非私有地址来对公网进行访问。使用私有地址不仅减少用于购买公有IP地址的投入,而且节省地址资源。同时,NAT还可以有效地将内

部网络地址对外隐藏,在NAT出口路由器上实施安全措施的机制将减小网络安全配置的工作难度NAT地址转换分为两种方式:NO_PAT方式和PAT方式。在NO_PAT方式下,私网地址

和公网地址一一对应,不转换端口,但这并不能解决公网地址短缺的问题。PAT方式允许多个私有地址映射到同一个公有地址上。PAT 映射P地址和端口号的方式,是将来自

不同内部地址的数据包映射到同一个外部地址,但它们被转换为该地址的不同端口号,因而可以共享同一个地址。NAT隐藏了内部网络的结构,具有屏蔽内部主机的作用。但

在实际应用中,可能需要提供给外部一个访问内部主机的途径。使用NAT可以灵活地添加内部服务器。外部网络的用户访问内部服务器时,NAT将请求报文内的目的地址转换

成内部服务器的私有地址。对内部服务器回应报文时,NAT将回应报文的源地址(私有地址)转换成公有地址。