网关:
网关(getaway)实质上是一个网络通向其它网络地IP地址 get away就是英文离开的意思,类似于小区大门,要离开小区必须从大门走,也与下一跳概念相同。
一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
静态路由:
是指用户或网络管理员手工配置的路由信息。当网络拓扑结构或链路状态发生改变时,需要网络管理员手工配置静态路由信息。
相比较动态路由协议,静态路由无需频繁的交换各自的路由表,配置简单,比较适合小型、简单的网络环境。不适合大型和复杂的网络环境的原因是:当网络拓扑结构和链路状态发生改变时,网络管理员需要做大量的调整,工作量繁重,而且无法感知错误发生,不易排错。[i]
动态路由:
是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。
动态路由机制的运作依赖路由器的两个基本功能:路由器之间适时的路由信息交换,对路由表的维护[i]
OSPF
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。
Link State Protocols(地图原理) 每台路由器初始化时仅包含直连网段信息 相邻路由器与建立邻居建立邻接关系 路由器学习真实的网络拓扑信息 交换链路状态信息( LSA) 保存到本地数据库中 获取完整的拓扑信息后,仅在拓扑变化时更新 使用 Dijkstra算法计算最短路径 对于大型网络,支持分区。BGP
边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。
图 1 preference界面
在GNS3软件上方菜单栏选择Edit->preference->IOS routers->New 选择镜像文件(*.image)打开。
图 2 添加镜像
确定路由器型号,名称,点击Next下一步。
图 3 配置路由器默认端口
为路由器设置默认端口数量及类型,计算空闲值。
点击OK,镜像添加成功。
图 4 初始拓扑结构及接口情况
从GNS3软件左列的路由器列表中拖出路由,这里选用的是S7200,再由软件窗口左侧下端选择添加链接(add a link)如图所示链接图上路由器。
图 5 添加路由 链接
路由器序号 |
接口 |
IP地址 |
R1 |
f0/0 |
192.168.1.1 |
f1/0 |
/ |
|
R2 |
f0/0 |
192.168.1.2 |
f1/0 |
192.168.2.1 |
|
R3 |
f0/0 |
192.169.2.2 |
f1/0 |
192.168.3.1 |
|
R4 |
f0/0 |
192.168.3.2 |
f1/0 |
/ |
根据表中所示配置各路由器接口的IP地址,具体过程如下。
鼠标位于路由器之上,右键选择consel,键入config t进入配置模式,输入interface f0/0(或简写为 int f0/0),用以下命令指定IP地址:
ip addr + 地址值 + 掩码,输入no shutdown保持该端口不关闭,最后用end语句结束配置。
图 6 R1配置IP地址
图 7 R2配置ip地址
图 9 R4配置IP地址
IP地址配置完成后可使用sh ip int bri查看各端口IP地址配置情况。
现在实验发觉各路由器只能Ping通直连的路由器,二段,三段等非直连网段均显示不可达。
图 10 R1连通测试
图 11 R2连通测试
图 12 R3联通测试
图 13 R4连通测试
最简单的让路由器之间可互相通信的方法就是手动为各路由器配置静态路由,就是“搭桥”,告诉路由器哪些路可以走,适用于小型的拓扑结构简单且比较固定的网络。具体操作如下:
右键路由器选择consel,键入config t进入配置状态,
ip route +目的地址 + 掩码 + 出口地址,为静态路由配置格式,end结束配置。
这里通过观察我们知道,R1和R4作为末端网络,要想与其他路由器连通,R1必须经过R2,R4必须经过R3,所以无论去往哪个路由器,对应的下一跳都是R2,R3,就像离开城市必须从(机场火车站汽车站)走一样。
图 14 给R1添加静态路由
此处掩码为通配符掩码,不是子网掩码
通配符掩码的计算:(255.255.255.255)减(子网掩码)
例如:子网掩码为:255.255.255.0,通配符掩码为:0.0.0.255
any: 表示任意IP地址,即:0.0.0.0
所以图中语句表示,从R1到任意ip地址需要经过192.168.1.2地址。
配置完成后可使用sh ip route 查看当前路由器路由表,从图中可以看到,刚刚添加的S打头的static静态路由,via表示经过(下一跳)。
也可以一个一个写目的地址。
图 15 给R4添加静态路由
对于R2,R3,要实现全网互通,只要再添加R2->R3,R3->R2的静态路由即可,过程与之前类似。
图 16 给R2添加静态路由
这里的192.168.3.0表示的是整个192.168.3.0的网段,包括192.168.3.1和192.168.3.2。在路由表中可以看到除了C打头的直连路由,还有新配置的静态路由。
图 17 给R3添加静态路由
由R4 ping R1地址 成功连通。
图 18 静态路由配置后连通性测试
这种通信是一种递归过程,若假设主机1和主机2之间可以正常的通信,即可以正常的连通,则主机1将发送数据给其网关设备R1;而R1在收到其数据之后,根据数据包中的目的地址查看自己的路由表,找到相应的目的网络的所在的路由条目,并根据该条目中的下一跳和出接口信息将该数据转发给下一个路由器R2;同时R2采用相同的方式将数据转发给R3,最后R3页同样的将数据转发给与自己直接相连的主机2;主机2在收到数据后,与主机1发送数据到主机2的过程一样,再发送相应的回应信息给主机1。[i]
动态路由
正如之前所说,在网络结构较复杂或者时常发生变动时,静态路由非常不便于管理,于是乎有了路由器可以自动建立,修改,选路的动态路由。这里我们假设有两个自治系统的互联,分别是在刚刚静态路由实验基础拓扑结构上的Xiyou AS100和另一个较简易的网络Xidian AS200。域内采用OSPF协议,域间采用BGP协议。
因为OSPF路由器之间会将所有的链路状态(LSA)相互交换,毫不保留,
当网络规模达到一定程度时,LSA将形成一个庞大的数据库,势必会给OSPF计算带来巨大的压力;为了能够降低OSPF计算的复杂程度,缓存计算压力,OSPF采用分区域计算,将网络中所有OSPF路由器划分成不同的区域,每个区域负责各自区域精确的LSA传递与路由计算,然后再将一个区域的LSA简化和汇总之后转发到另外一个区域,这样一来,在区域内部,拥有网络精确的LSA,而在不同区域,则传递简化的LSA。区域的划分为了能够尽量设计成无环网络[i] 区域划分为一个星型结构,area1,area2都把LSA发送给核心area0.
图 19 动态路由实验拓扑结构
向拓扑图中拖入VPCS1 VPCS2 和R5。和静态路由实验中过程类似,分配接口IP地址。本次新增的IP地址有:
设备名 |
接口 |
IP地址 |
R1 |
f1/0 |
192.168.4.254 |
R4 |
f1/0 |
192.168.5.1 |
PC1 |
e0 |
192.168.4.1 |
PC2 |
e0 |
192.168.6.2 |
R5 |
f0/0 |
192.169.5.2 |
f1/0 |
192.168.6.1 |
PC的ip地址分配句式为 ip + 本接口地址 + 网关地址 + 掩码
图 20 PC1 IP地址分配
图 21 PC2 IP地址分配
图 22 R4 IP地址分配2
图 23 R5 IP地址分配
使用no语句撤销之前配置的静态路由。
图 24 R4撤销静态路由配置
图 25 R3撤销静态路由配置
图 26 R2撤销静态路由配置
图 27 R1撤销静态路由配置
现在为AS100中各路由器配置OSPF动态路由。
Config t进入配置模式,router ospf 10启用ospf协议 进程号10
Network + 端口所在网段IP +通配符掩码 + 分区号 宣告网段属于某区域
下图中 宣告R1两臂192.168.4.0 和192.168.1.0网段属于area 1
图 28 R1 ospf配置
R2两臂192.168.1.0网段属于area1 ,192.168.2.0网段属于area 0
可以看到 宣告网段后收到了192.168.4.254的邻居消息
R1也收到来自192.168.2.1的邻居消息
图 29 R2 ospf配置
图 30 R2配置完ospf后 R1收到邻居消息
R3两臂192.168.3.0网段属于area2 ,192.168.2.0网段属于area 0
可以看到 宣告网段后收到了192.168.2.1的邻居消息,同时R2也收到192.168.3.1的邻居消息。
图 31 R3 ospf配置
图 32 R3配置ospf后 R2收到邻居消息
R4 192.168.3.0网段属于area2
可以看到 宣告网段后收到了192.168.3.1的邻居消息
因为右臂192.168.5.1为AS200和AS100共用网段 不属于任一,所以不配置ospf
图 33 R4 ospf配置
图 34 R4 ospf配置后的路由表
此时使用sh ip route指令查看R4路由表可以看到 除了直连网段,还有O打头的三条ospf路由。
As200是一个较简单的网络,由R5和VPCS2直连构成,但是AS100和AS200之间无法通信。
所以我们需要在边界配置BGP协议。
Config t 进入配置模式 Router bgp + 自治系统号 //启用BGP协议
Network + 网段IP + 掩码 //宣告网络进入BGP进程
Neighbor + 邻居IP + remote-as +自治网络号//手动配置邻居
R4将R1 R2 R3都设成邻居。
图 35 R4bgp协议配置
R1手动配置R4为邻居。
图 36 R1 bgp协议配置
R2手动配置R4为邻居。
图 37 R2 bgp协议配置
R5手动配置R4为邻居
宣告vpcs2进入BGP进程。
图 38 R5 bgp协议配置
图 39 bgp邻居关系
邻居关系如图所示,R4将VPCS1,R1,R2,R3的信息宣告到R5一侧,R5将VPCS2的信息宣告到R4一侧。此时查看R1路由表发现
图 40 R1配置完bgp后路由表
观察R1路由表发觉没有到192.168.6.0网段的路由。但是由sh ip bgp指令可以看到去往192.168.6.0的下一跳是192.168.5.2
图 41 R1查看BGP路由
BGP路由中看到,通往192.168.6.0的路由下一跳地址为192.168.5.2,该地址在R1的路由表中不可达,所以路由器认为是无效路由没有记录至路由表。即火星不可达问题。解决办法有配置多条静态路由,或者将bgp协议内容重分布至ospf中(ospf和bgp内容虽然互相公告后但是不互通的)
这里采用重分布的解决方式,在边界路由R4键入指令router ospf 10 配置ospf
协议
redistribute bgp 100将bgp协议内容重分布到ospf中。
图 42 R4重分布
图 43 重分布后R1路由表
此时可以看到R1路由表中出现了192.168.6.0网段的路由,但是是以外部OSPF协议的形式显示的。
由于OSPF有着多种区域,所以OSPF的路由在路由表中也以多种形式存在,共分以下几种:
如果是同区域的路由,叫做Intra-Area Route,在路由表中使用O来表示; 如果是不同区域的路由,叫做Inter-Area Route或Summary Route,在路由表中使用O IA来表示; 如果并非OSPF的路由,或者是不同OSPF进程的路由,只是被重分布到OSPF的,叫做External Route,在路由表中使用O E2或OE 1来表示。
图 45 撤销重分布再重连后R1路由表
这时看到通往192.168.6.0网段的路由显示为BGP路由。
这是由于OSPF协议的显示优先级在BGP协议之上,所以在R4取消重分布操作后重连即可。
图 44 撤销重分布后重连
图 45 撤销重分布再重连后R1路由表
这时看到通往192.168.6.0网段的路由显示为BGP路由。
静态路由配置完成后R4ping 192.168.1.1成功
动态路由完成ospf协议后,由VPCS1 pingR4 192.168.3.2可以连通 ping192.168.5.0和192.168.6.0不通,证明AS100内部连通性良好。
图 46 ospf配置完成后连通性检验
配置完BGP协议后各路由器路由表:
图 47 bgp配置后R1路由表
图 48 bgp配置后R2路由表
图 49 bgp配置后R3路由表
图 50 bgp配置后R4路由表
图 51 bgp配置后R5路由表
图 52 动态路由配置完成后连通性测试
初学难免有纰漏请见谅
[1] https://blog.csdn.net/qq_42248536/article/details/90047246
[2]https://baike.baidu.com/item/%E5%8A%A8%E6%80%81%E8%B7%AF%E7%94%B1/100533?fr=aladdin
[3] https://blog.csdn.net/qq_42248536/article/details/90047246
[4] https://blog.csdn.net/zzj244392657/article/details/92617311
[i] https://blog.csdn.net/zzj244392657/article/details/92617311
[i] https://blog.csdn.net/qq_42248536/article/details/90047246
[i]https://baike.baidu.com/item/%E5%8A%A8%E6%80%81%E8%B7%AF%E7%94%B1/100533?fr=aladdin
[i] https://blog.csdn.net/qq_42248536/article/details/90047246