欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CCNP1-CCNA回顾+浮动静态路由

程序员文章站 2024-02-13 20:42:34
...

1. OSI七层模型与TCP-IP四层模型

目的:为解决兼容性问题
----OSI------------------------------------------- TCP-IP
-应用层-----------------------------------------|
-表示层-----------------------------------------| 应用层
-会话层-----------------------------------------|
-传输层-----------------------------------------|主机到主机层
-网络层-----------------------------------------|互联网层
-数据链路层-----------------------------------|
-物理层-----------------------------------------|网络接口层

2. 一些基本概念

格式化和串行化

二层数据帧到一层比特流的过程称为格式化
一层比特流到二层数据帧的过程称为串行化

PDU

PDU:协议数据单元,数据在不同层的表现形式
一层:比特流(bit)
二层:帧(frame)
三层:包(packet)
四层:分片(segment)

各层注重点

二层看MAC地址
三层看IP地址
四层看端口号

各层功能

七层:人机交互
六层:翻译为二进制
五层:管理一条端到端的虚链接(没有实际数据包交互的链接),为每一应用/流量定义一条独立的端到端的会话链接
四层:防止流量互相干扰(通过端口号区分),定义使用何种传输方式(TCP/UDP)
三层:编址寻址
二层:无差错的传送以帧为单位的数据
一层:规定使用电缆和接口的类型等

名词解释

TCP:面向连接的可靠的通信协议
UDP:非面向连接的不可靠的通信协议
可靠:保证数据一定传给对方
保证可靠性:具有确认重传机制
IP数据传输不可靠,因为没有确认和重传机制

地址划分

A类地址:0开头 1-126
B类地址:10开头 128-191
C类地址:110开头 192-223
D类地址:1110开头 224-239
E类地址:1111开头 240-255
其中私有地址为:
A类:10.0.0.0-10.255.255.255
B类:172.16.0.0-172.31.255.255
C类:192.168.0.0-192.168.255.255

子网划分

子网划分
192.168.1.0 255.255.255.128 划分为4个子网
4个子网借2

192.168.1.0000 0000
192.168.1.0010 0000
192.168.1.0100 0000
192.168.1.0110 0000

192.168.1.0/27
192.168.1.32/27
192.168.1.64/27
192.168.1.96/27

子网汇总

子网汇总
100.1.16.0/24 100.1.17.0/24 100.1.18.0/24 100.1.19.0/24 网络进行汇总
取相同位,去不同位。
100.1.0001 0000.0
100.1.0001 0001.0
100.1.0001 0010.0
100.1.0001 0011.0
100.1.16.0/22

VLSM&&CIDR

VLSM可变长子网掩码
10.1.1.0/24
10.1.2.0/24
10.1.3.0/24
汇总后为 10.1.0.0/22
A类地址掩码为/16,/22未超越
其结果仍然属于A类地址
CIDR无类别域间路由,超网
200.1.1.0/24
200.1.2.0/24
200.1.3.0/24
汇总后为 200.1.0.0/22
C类地址掩码为/24,/22已超越
汇总成一个更大的地址块。

与操作与最长匹配和递归查找

与操作最长匹配
将目的IP地址和路由表中所有条目的掩码进行与操作,若结果和掩码所对应的网络号相等,则表示可以转发,然后选择可转发的路由条目中掩码最长的那一个。若路由条目对应的不是出接口而是下一跳地址,则需进行递归查找,继续进行上述操作。

数据层面和控制层面

数据层面控制层面
假设有4台路由器A—B—C—D,其中A是数据发送者、D是接收者。A要发数据给D,首先要知道D在哪儿。D会把自己的路由信息先通过路由选择协议发给C,再传递给B,最后传递到A,即路由信息的流向是D—C—B—A,这就是控制层面,因为该层面传递的是路由信息,而路由信息属于控制信息,所以叫控制层面。当A—D的路由建立起来后,A就把生产流量通过A—B—C—D这个流向传递给D,这就是数据层面,因为该层面传递的是生产数据,是用户想要发送的数据,所以叫数据层面。一般来说,控制层面和数据层面的方向相反。

跨层封装

TCP/IP支持跨层封装
eg:EIGRP
二层上边是三层,三层上边直接为EIGRP报文,没有四层(没有目标端口号,没有TCP或UDP首部)
eg:ARP
直接基于二层封装,二层上边直接为ARP报文,无三层(没有源ip,目标ip),无四层(没有目标端口号,没有TCP或UDP首部)

3. 静态路由

1.出接口:用于点对点链路中(不需要进行递归查找)
2.下一跳:用于MA网络中
3.出接口+下一跳:使用下一跳作为备份
4.浮动静态路由
CCNP1-CCNA回顾+浮动静态路由
以太网为100M,串行链路为1.544M
最好的情况是默认走以太网,万一以太网挂了,可以自动切换到串行链路。
接下来分析两种情况
注: 静态路由的metric值为0且不能被更改,因此只能从AD值下手
第一种情况 将以太网这条路由AD值改为20,串行链路AD值改为10,理论情况应该是默认走串行链路,然后Down掉R2一端串行链路的接口s1/0,R1会自动切换到以太网链路,接下来验证这种情况
R1地址

R1(config)#int s1/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#int f0/0
R1(config-if)#ip address 20.1.1.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#int lo0
R1(config-if)#ip address 1.1.1.1 255.255.255.0

R2地址

R2(config)#int s1/0
R2(config-if)#ip address 10.1.1.2 255.255.255.0
R2(config-if)#no shu
R2(config-if)#int f0/0
R2(config-if)#ip address 20.1.1.2 255.255.255.0
R2(config-if)#no shu
R2(config-if)#int lo0
R2(config-if)#ip address 2.2.2.2 255.255.255.0

测试

R1#ping 10.1.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/21/24 ms
R1#ping 20.1.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 20/26/40 ms

配置静态路由

R1(config)#ip route 2.2.2.0 255.255.255.0 10.1.1.2 10
R1(config)#ip route 2.2.2.0 255.255.255.0 20.1.1.2 20
R1#sho running-config | include ip route
ip route 2.2.2.0 255.255.255.0 10.1.1.2 10
ip route 2.2.2.0 255.255.255.0 20.1.1.2 20

查看静态路由

R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [10/0] via 10.1.1.2

默认走的是AD值为10的串行链路
测试

R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/20/28 ms
R1#traceroute 2.2.2.2
Type escape sequence to abort.
Tracing the route to 2.2.2.2
  1 10.1.1.2 32 msec 24 msec 20 msec

ping 1000次同时Down掉R2的串行链路的接口s1/0

R1#ping 2.2.2.2 repeat 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...............
*Nov  3 21:54:02.126: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0, changed state to down.!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!
Success rate is 94 percent (266/282), round-trip min/avg/max = 8/21/28 ms

再次查看静态路由

R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [20/0] via 20.1.1.2
R1#traceroute 2.2.2.2
Type escape sequence to abort.
Tracing the route to 2.2.2.2
  1 20.1.1.2 36 msec 20 msec 20 msec

可以看到中间丢包之后并成功恢复,而且链路也已经切换到备份链路:AD值为20的以太网链路
第二种情况,为应采用的策略(高速链路运行,低速链路为备份),此时以太网的AD值为20,将串行链路的AD值改为30,则理论上应该是默认走以太网链路,若Down掉R2的f0/0接口,则链路应该切换到备份链路串行链路,接下来验证这种情况
将串行链路的AD值改为30

R1(config)#no ip route 2.2.2.0 255.255.255.0 10.1.1.2 10
R1(config)#ip route 2.2.2.0 255.255.255.0 10.1.1.2 30
R1(config)#en
R1#sho run | include ip route
ip route 2.2.2.0 255.255.255.0 20.1.1.2 20
ip route 2.2.2.0 255.255.255.0 10.1.1.2 30

查看静态路由

R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [20/0] via 20.1.1.2
R1#traceroute 2.2.2.2
Type escape sequence to abort.
Tracing the route to 2.2.2.2
  1 20.1.1.2 56 msec 32 msec 16 msec

默认走的是AD值为20的以太网链路
ping 1000次同时Down掉R2的以太网链路的接口f0/0

R1#ping 2.2.2.2 repeat 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...............
.............
Success rate is 66 percent (55/83), round-trip min/avg/max = 12/20/24 ms
R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [20/0] via 20.1.1.2

等待数分钟后链路仍然无法切换到AD值为30的串行链路,且路由表仍然为以太网链路,与预期不符
直连路由产生的条件为接口双up
串行链路中,为点对点链路,一端Down掉,则另一端没有存在的价值,故R2一端接口Down,则R1一端接口为Up - Down状态,直连路由产生条件缺失,则静态路由消失,这是第一种情况为何会切换。
以太网链路中,为MA链路,中间交换机可能接了多台设备,则不能因为对端Down掉而把自己接口置为Up-Down状态,对端Down掉,跟我无关,我还要继续为其他接口服务。故直连路由存在,静态路由不会消失。
此时则需要浮动静态路由解决问题
应添加条件为:在MA网络中,如果当20.1.1.2这个下一跳存在时,则正常工作,当20.1.1.2这个下一跳不存在时,则删除此条静态路由,切换到低速备份链路。
接下来实现这种做法
1.定义流量发生器判断R2接口是否存活

R1(config)#ip sla 100	//编号为100
R1(config-ip-sla)#icmp-echo 20.1.1.2 source-ip 20.1.1.1	    //目的ip和源ip
R1(config-ip-sla-echo)#frequency 5			//5秒发一次
R1(config-ip-sla-echo)#exi
R1(config)#ip sla schedule 100 start-time now life forever //编号为100,现在开始生效,永不过期

2.定义一个工程来调用流量发生器的存活状态

R1(config)#track 1 ip sla 100 reachability     //编号为1的工程,判断sla的存活状态
R1(config-track)#exi

3.写静态路由时调用工程

R1(config)#no ip route 2.2.2.0 255.255.255.0 20.1.1.2 20
R1(config)#ip route 2.2.2.0 255.255.255.0 20.1.1.2 20 track 1
R1(config)#exi
R1#sho run | in ip route
ip route 2.2.2.0 255.255.255.0 20.1.1.2 20 track 1
ip route 2.2.2.0 255.255.255.0 10.1.1.2 30
R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [20/0] via 20.1.1.2

4.ping 1000次同时Down掉R2的以太网链路的接口f0/0

R1#ping 2.2.2.2 repeat 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
*Nov  3 22:40:49.154: %TRACKING-5-STATE: 1 ip sla 100 reachability Up->Down!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!.
Success rate is 97 percent (221/226), round-trip min/avg/max = 8/20/28 ms
R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [30/0] via 10.1.1.2

可以看到丢包后链路切换到串行链路
启用R2的f0/0,等待日志

R1#
*Nov  3 22:44:04.154: %TRACKING-5-STATE: 1 ip sla 100 reachability Down->Up
R1#sho ip route static 
     2.0.0.0/24 is subnetted, 1 subnets
S       2.2.2.0 [20/0] via 20.1.1.2

可以看到链路重新切换回到以太网链路