企业私有网络构建运维—路由的实现
路由与路由器
路由是指导IP报文从源发送到目标的路径信息,也可以理解为通过相互连接的网络把数据包从源地点移动到目标地点的过程。路由和交换虽然相似,但却是不同的概念。交换发生在OSI参考模型的数据链路层,而路由发生在网络层。两者虽然都是对数据进行转发,但是所利用的信息和处理方式方法都是不同的。
在互联网中进行路由选择或者实现路由的设备称为路由器。路由器用于连接不同网络,在不同网络间转发数据单元,是互联网络的枢纽。路由器系统构成了基于TCP/IP协议的Internet的骨架,路由器技术是网络技术中的核心部分。
路由器功能
路由器的功能包括以下五个方面:
- 路由功能
路由器从端口收到报文后,去除链路层封装,交给网络层处理。网络层先检查报文是否是送给本机的,如果是则去掉网络层封装,送给上层协议处理。如果不是则根据报文的目的地址查找路由表,若找到路由,则将报文交给相应端口的数据链路层,封装端口对应的链路层协议后发送报文;若找不到路由,则将报文丢弃。因此,路由的功能包括路由表的建立、维护和查找。 - 交换转发功能
数据在路由器内部传送与处理的过程。从路由器一个端口接收,再选择合适端口转发,其间做帧的解封装,并对数据包做相应处理。根据目的网络查找路由表,决定转发端口,做新的数据链路层封装等过程。简单的说就是在网络之间转发分组数据的过程。 - 隔离广播功能
指定访问规则路由器以阻止广播的通过,并且可以设置访问控制列表ACL对流量进行控制。 - 连接异种网络功能
异种网络互连支持不同的数据链路层协议。 - 子网间的速率匹配功能
路由器具有多个端口,不同的端口具有不同的速率,路由器需要利用缓存和流控协议进行速率适配。
路由的来源
根据路由信息产生的方式和特点,路由分为以下4种:
(1)直连路由
直连路由是指与路由器直连网段的路由条目。直连路由不需要特别配置,只需要在路由器端口上设置IP地址,然后由数据链路层发现。链路层发现的路由不需要维护,减少了维护的工作。缺点是链路层只能发现端口所在的直连网段的路由,无法发现跨网段的路由,跨网段的路由需要用其他的方法获得。在路由表中,直连路由的Protocol字段显示为Direct。当给端口配置IP地址后,在路由表中出现相应的路由条目。
(2)静态路由
系统管理员手工设置的路由称为静态路由,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络拓扑的改变自动改变。优点是不占用网络和系统资源,安全。缺点是当一个网络故障发生后,静态路由不会自动修正,必须由网络管理员手工逐条配置,不能自动对网络状态变化做出相应的调整。
浮动静态路由:通过配置去往相同的目的网段,但优先级不同的静态路由,以保证在网络中优先级较高的路由,即主路由失效的情况下,提供备份路由。备份路由不会出现在路由表中。当数据有多条可选路径前往同一目的网络,可以通过配置相同优先级和开销的静态路由实现负载均衡,使得数据的传输均衡地分配到多条路径上,从而实现数据分流、减轻单条路径负载过重的效果。
(3)动态路由
动态路由是由动态路由协议发现的路由。当网络拓扑十分复杂时,手工配置静态路由工作量大而且容易出现错误,这时候就可以用动态路由协议,让其自动发现和修改路由,无须人工维护。但动态路由协议开销大,配置复杂。网络中存在多种路由协议,如RIP、OSPF、IS-IS、BGP等,各种路由协议都有其特点和应用环境。在路由表中,动态路由的Protocol字段显示为具体的某种动态路由协议。
(4)特殊路由
特殊路由也称为默认路由,是一种特殊的路由。默认路由的网络地址和子网掩码全部为0。管理员可以通过静态方式配置默认路由,也可以在边界路由器上使用动态路由协议生成默认路由,再下发给其他路由。当路由器收到一个目的地址在路由表中查找不到的数据包时,会将数据包转发给默认路由指向的下一跳。如果路由表中不存在默认路由,则该报文将被丢弃,并向源端返回一个ICMP(互联网控制报文协议)报文,报告该目的地址或网络不可达。
主机路由是针对主机的路由条目,通常用于控制到达某台主机的路径。主机路由的特点是其子网掩码为32位。
黑洞路由是一条指向NULL0的路由条目。NULL0是一个虚拟端口,特点是永远Up,不可关闭。凡是匹配该路由的数据,都将在此路由器上被终结,而且不会向源端通告信息。黑洞路由通常应用于安全防范、路由防环等场景。
路由的度量值
路由度量值Metic也是判定路由条目是否能被优选的重要条件。它表示到达这条路由所指定路径的代价,也称为路由权值。各路由协议定义度量值的方法不同
度量值只对动态的路由协议有意义,静态路由协议的度量值统一规定为0。不同的动态路由协议会选择其中的一种或者几种因素来计算度量值。
VLAN间通信
通过划分VLAN隔离了广播域,增强了安全性。但是划分VLAN后,不同VLAN的计算机之间的通信也相应地被阻止。因此,为了实现VLAN间的通信,必须借助于三层设备。VLAN间通信的实质就是VLAN间的路由问题。实现VLAN间路由可以采用普通路由、单臂路由和三层交换这3种方式。
普通路由:为每个VLAN单独分配一个路由器端口。每个物理端口就是对应VLAN的网关,VLAN间数据通信通过路由器进行三层路由,这样就可以实现VLAN间相互通信。随着每个交换机上VLAN数量的增加,就必然需要大量的路由器端口。出于成本的考虑,不可能采用这种方案解决VLAN间路由选路问题。
单臂路由:为了解决物理端口需求过大的问题,在VLAN技术的发展中,出现的单臂路由技术来实现VLAN间的通信。它只需要一个以太网端口,通过创建子端口可以承担所有VLAN的网关,从而在不同的VLAN间转发数据。但是当VLAN间的数据流量过大的时候,路由器与交换机间的链路将成为网络的瓶颈。
三层交换:在实际网络搭建中,三层交换技术成为解决VLAN间通信的首选方式。三层交换机在功能上实现了VLAN的划分、VLAN内部的二层交换和VLAN间路由的功能。三层交换机通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表。当同样的数据流再次通过时,将根据此表直接从二层通过而不是通过三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。此外,为了保证第一次数据流通过路由表正常转发,路由表中必须有正确的路由表项。因此,必须在三层交换机上部署三层端口及路由协议,实现三层路由可达,逻辑端口VLANIF由此而产生。
动态路由协议
路由表可以是由系统管理员固定设置好的静态路由表,也可以是配置动态路由协议,根据网络系统的运行情况而自动调整的路由表。根据所配置的路由协议提供的功能,动态路由可以自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。它适应大规模和复杂的网络环境应用。
常见的动态路由协议包括:路由信息协议RIP、开放式最短路径优先OSPF、中间系统到中间系统IS-IS、边界网关协议BGP等。这些动态路由协议在TCP/IP协议栈中都属于应用层的协议,但是不同的路由协议使用的底层协议不同。动态路由协议配置后,通过交换路由信息,生成并维护转发路由表。当网络拓扑改变时,动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。动态路由协议的优点是可以自动适应网络状态的变化,自动维护路由信息而不需要网络管理员的参与。缺点是由于需要相互交换路由信息,因而占用网络带宽与系统资源。
RIP协议
路由信息协议RIP是一种较简单的内部网关协议IGP,主要应用于规模较小的网络中。它是基于距离矢量算法的协议,通过UDP报文进行路由信息的交换,使用端口号为520。RIP使用跳数来衡量到达目的地址的距离,即它采用跳数作为度量值。在RIP中,默认情况下,设备到与它直接相连网络的跳数是0,通过一个设备可达的网络的跳数为1,其余以此类推。为了限制收敛时间,RIP规定度量值取0-15之间的整数,跳数为16以上被定义为无穷大,即目的网络或主机不可达。RIP协议工作过程包括:路由器、路由表的建立和路由器、路由表的更新。
OSPF协议
开放式最短路径优先协议OSPF是目前使用最广泛的路由协议之一。它是一种链路状态协议,克服了RIP协议和其他距离向量协议的缺点。OSPF协议直接运行于IP协议之上,使用IP协议号89。它的特点包括:支持无类域间路由和可变长度子网掩码,无路由自环;支持区域分割,路由收敛变化速度快,使用组播和单播收发协议报文;支持等价负载分担;支持协议报文的认证。
OSPF协议互相通告链路状态信息,每台路由器都将自己的链路状态信息(包括接口的IP地址和子网掩码、网络类型、该链路的开销等)发送给其他路由器,并在网络中泛洪,当每台路由器收集到网络内所有链路状态信息后,就能拥有整个网络的拓扑情况,然后根据整网拓扑情况运行SPF算法,得出所有网段的最短路径。OSPF协议工作过程包括:邻居发现、邻接关系建立、链路状态数据库LSDB同步、路由计算这4个阶段。
运行OSPF协议的网络类型包括:点对点网络、广播网络、非广播多路访问网络、点到多点网络和虚链路。OSPF支持区域的划分,区域是从逻辑上将路由器划分为不同的组,每个组用区域号(Area ID)来标识。一个网段只能属于一个区域。区域0为骨干区域,骨干区域负责在非骨干区域之间发布区域间的路由信息。在一个OSPF区域中,有且只有一个骨干区域。
实战案例—使用模拟器接入互联网
案例目标
学习目标
- 通过组网设计,掌握局域网的组建、路由的设计。
- 了解在模拟器中,局域网接入互联网的操作。
案例分析
架构分析
(1)需求分析
在已构建完成的小型局域网中,将网络接入互联网,局域网中实现各个网段互联互通,通过总路由器连接至互联网,在总路由器中添加默认路由策略,并通过动态路由协议分发给其他设备进行学习默认路由。
(2)环境要求
配置虚拟网卡的计算机,华为eNSP模拟软件,以及在eNSP模拟器中构建完成的小型局域网。
规划拓扑
(1)拓扑描述
配置完成的局域网络,路由器和交换机之间通过OSPF动态路由协议分发路由策略。由总路由器设置默认路由访问外网,并通过OSPF下发默认路由。
通过配置Cloud设备,将局域网络与物理机虚拟网卡进行连通,通过物理机虚拟网卡模拟互联网,使物理机可以访问局域网中各个部门PC机。
(2)拓扑图
接入互联网拓扑图如图所示。注意:路由器使用AR2220。
案例实施
配置Cloud
(1)添加Cloud设备
将Cloud设备拖入拓扑中,双击Cloud设备进行配置,具体配置如图所示。
(2)增加UDP端口
UDP端口为Cloud设备与虚拟设备的连接端口,如图所示。
(3)添加物理机虚拟网卡
选择所使用的虚拟网卡,单击“增加”按钮,可以在下方端口列表中查看添加成功的虚拟网卡,192.168.10.1为当前虚拟网卡地址,
如图所示。
(4)添加端口映射
添加端口映射,入端口编号为UDP端口编号,出端口编号为虚拟网卡编号,勾选“双向通道”复选框,单击下方“增加”按钮,可以在端口映射表中查看添加的端口映射关系,如图所示。
(5)连接Cloud和路由器
如图所示,这时Cloud将有一个GE0/0/1端口,连接至总路由器的GE0/0/2端口。
配置路由器
(1)R1路由器配置
<R1>system-view
[R1]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]ip address 192.168.10.9 24
[R1-GigabitEthernet0/0/2]quit
[R1]ip route-static 0.0.0.0 0 192.168.10.1
[R1]ospf 1
[R1-ospf-1]default-route-advertise always cost 200 type 1
(2)查看R1路由器配置
通过在R1路由器中查看路由表,可以发现一条默认路由指向物理机虚拟网卡。
[R1-ospf-1] display ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 18 Routes : 18
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 192.168.10.1 GigabitEthernet0/0/2
10.0.5.0/24 OSPF 10 3 D 192.168.3.1 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.3.0/24 OSPF 10 2 D 192.168.2.1 GigabitEthernet0/0/1
172.16.9.0/24 OSPF 10 2 D 192.168.2.1 GigabitEthernet0/0/1
192.168.2.0/24 Direct 0 0 D 192.168.2.2 GigabitEthernet0/0/1
192.168.2.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
192.168.3.0/24 Direct 0 0 D 192.168.3.2 GigabitEthernet0/0/0
192.168.3.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.3.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.4.0/24 OSPF 10 2 D 192.168.3.1 GigabitEthernet0/0/0
192.168.10.0/24 Direct 0 0 D 192.168.10.9 GigabitEthernet0/0/2
192.168.10.9/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2
192.168.10.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
(3)查看R2路由器配置
进入R2路由器命令行模式,通过命令查看当前路由策略,可发现通过OSPF学习到的默认路由。
<R2> display ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 15 Routes : 15
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 201 D 192.168.3.2 GigabitEthernet0/0/0
10.0.5.0/24 OSPF 10 2 D 192.168.4.1 GigabitEthernet0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.3.0/24 OSPF 10 3 D 192.168.3.2 GigabitEthernet0/0/0
172.16.9.0/24 OSPF 10 3 D 192.168.3.2 GigabitEthernet0/0/0
192.168.2.0/24 OSPF 10 2 D 192.168.3.2 GigabitEthernet0/0/0
192.168.3.0/24 Direct 0 0 D 192.168.3.1 GigabitEthernet0/0/0
192.168.3.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.3.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.4.0/24 Direct 0 0 D 192.168.4.2 GigabitEthernet0/0/1
192.168.4.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
192.168.4.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
(4)查看S3交换机路由表
进入S3查看路由表策略,可以看到通过OSPF学习的默认路由。
<S3>display ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 201 D 192.168.2.2 Vlanif1002
10.0.5.0/24 OSPF 10 4 D 192.168.2.2 Vlanif1002
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.3.0/24 Direct 0 0 D 172.16.3.1 Vlanif3
172.16.3.1/32 Direct 0 0 D 127.0.0.1 Vlanif3
172.16.9.0/24 Direct 0 0 D 172.16.9.1 Vlanif9
172.16.9.1/32 Direct 0 0 D 127.0.0.1 Vlanif9
192.168.2.0/24 Direct 0 0 D 192.168.2.1 Vlanif1002
192.168.2.1/32 Direct 0 0 D 127.0.0.1 Vlanif1002
192.168.3.0/24 OSPF 10 2 D 192.168.2.2 Vlanif1002
192.168.4.0/24 OSPF 10 3 D 192.168.2.2 Vlanif1002
(5)查看S4交换机路由
查看S4交换机路由表,可以查看到通过OSPF学习的默认路由策略。
<S4>display ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 202 D 192.168.4.2 Vlanif1004
10.0.5.0/24 Direct 0 0 D 10.0.5.1 Vlanif105
10.0.5.1/32 Direct 0 0 D 127.0.0.1 Vlanif105
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.3.0/24 OSPF 10 4 D 192.168.4.2 Vlanif1004
172.16.9.0/24 OSPF 10 4 D 192.168.4.2 Vlanif1004
192.168.2.0/24 OSPF 10 3 D 192.168.4.2 Vlanif1004
192.168.3.0/24 OSPF 10 2 D 192.168.4.2 Vlanif1004
192.168.4.0/24 Direct 0 0 D 192.168.4.1 Vlanif1004
192.168.4.1/32 Direct 0 0 D 127.0.0.1 Vlanif1004
物理机添加访问路由
(1)使用管理员身份运行CMD
在物理机上,通过管理员身份运行CMD命令行,添加访问三个部门的路由策略。路由的下一跳地址填写模拟网络中路由器端口地址。
PS C:\Windows\system32> route add 172.16.3.0 mask 255.255.255.0 192.168.10.9
操作完成!
PS C:\Windows\system32> route add 172.16.9.0 mask 255.255.255.0 192.168.10.9
操作完成!
PS C:\Windows\system32> route add 10.0.5.0 mask 255.255.255.0 192.168.10.9
操作完成!
(2)物理机进行PING测试
通过物理机,进行连通三个部门测试。
PS C:\Windows\system32> ping 172.16.3.2
正在 Ping 172.16.3.2 具有 32 字节的数据:
请求超时。
来自 172.16.3.2 的回复: 字节=32 时间=69ms TTL=126
来自 172.16.3.2 的回复: 字节=32 时间=60ms TTL=126
来自 172.16.3.2 的回复: 字节=32 时间=48ms TTL=126
172.16.3.2 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 48ms,最长 = 69ms,平均 = 59ms
PS C:\Windows\system32> ping 172.16.9.254
正在 Ping 172.16.9.254 具有 32 字节的数据:
请求超时。
来自 172.16.9.254 的回复: 字节=32 时间=57ms TTL=126
来自 172.16.9.254 的回复: 字节=32 时间=64ms TTL=126
来自 172.16.9.254 的回复: 字节=32 时间=65ms TTL=126
172.16.9.254 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 57ms,最长 = 65ms,平均 = 62ms
PS C:\Windows\system32> ping 10.0.5.2
正在 Ping 10.0.5.2 具有 32 字节的数据:
请求超时。
来自 10.0.5.2 的回复: 字节=32 时间=51ms TTL=125
来自 10.0.5.2 的回复: 字节=32 时间=44ms TTL=125
来自 10.0.5.2 的回复: 字节=32 时间=44ms TTL=125
10.0.5.2 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 44ms,最长 = 51ms,平均 = 46ms