认识IPv4地址:
32=网络位长度+主机位长度
通过掩码长度来确定网络位长度
表达方式:
192.168.1.1/24
192.168.1.1
255.255.255.0
网络划分(VLSM)将一个大网络划分成多个小网络。
- 从右向左(主机位)
- 从左向右(网络位)
地址块block大小,其中就有16。其中可用的只有14
地址块大小为32才够用。
关注的网络位计算方法:
2^B=8
B=3
/27
关注主机位计算方法:
2^H=32
H=5(主机位长度为5)
网络位长度=32-5=27
网络汇总(CIDR)将多个小网络合并成一个大网络。
精确汇总:汇总之后不应该包括没有罗列出的明细路由!
A 0 /8
B 10 /16
C 110 /24
D
E
私有地址
未指定地址
环回地址
路由:
路由和路由器是不是一回事?
路由器是一种设备名称。
路由可以分为两种理解方式:
- 名词性理解:路由表中的一个个条目,被称为“路由”
- 动词性理解:IP数据包从路由器的一个接口进入,从另一个接口发出,咱们称之为“将该数据包从一个接口路由到另一个接口”
协议 路由类型 prefix/mask [AD/metric] next-hop time local outgoing interface
O IA 10.1.1.0/24 [110/3] via 12.1.1.2 33:22:11 Fastethernet 0/0
O IA 10.1.1.0/24 [110/5] via 14.1.1.5 33:22:11 Fastethernet 0/2
R 20.1.1.0/24 [120/4] via 13.1.1.3 11:22:33 Fastethernet 0/1
D
S
C
B
Next-hop的本质是什么?其本质是一个Ip地址。
是哪个位置上的IP地址呢?本地直接口的对端接口IP地址。
connected:
一般设备互联接口互通,都是依赖于直连路由。
static:静态路由的配置方法
ip route x.x.x.x y.y.y.y next-hop
x.x.x.x y.y.y.y 这个代表什么?目的网络(数据包可以去到的地方)
next-hop 下一跳
ip route x.x.x.x y.y.y.y interface next-hop
ip route x.x.x.x y.y.y.y next-hop
ip route x.x.x.x y.y.y.y interface
Arp-proxy
静态路由配置思路:
若想配置静态路由,得先问自己:这个路由器到底要发数据包去到哪里?
标准静态路由: ip route 10.1.1.0 255.255.255.0 12.1.1.2 fastethernet 0/0
缺省静态路由: ip route 0.0.0.0 0.0.0.0 12.1.1.2 fastethernet 0/0
浮动静态路由: ip route 10.1.1.0 255.255.255.0 12.1.1.2 fastethernet 0/0 100
ip route 10.1.1.0 255.255.255.0 13.1.1.3 fastethernet 0/1 200
甲方虐我千百遍
我待甲方如初恋
有朝一日进甲方
虐遍天下代理商
过线
做问题分析时,不要将其”灵异化“
你以为你做的和你实际做的,有很大出入!
linus
show me the code, talk is too expensive!
dynamic routing protocol:
该图中蓝色传递的是路由信息,绿色传递的是流量信息。
路由的传递方向与流量的传递方向,永远相反。
如果路由器不具备路由信息,是不可能发送数据包出来的。因此需要先有路由信息,后发流量信息。
distance vector:距离矢量。道听途说,其根本是每个路由器对全网的结构没有了解!
水平分割(标准水平分割,毒性反转水平分割)
路由毒化
路由定时器
RIPv2
EIGRP
successor 后继路由器(正常最优的next-hop节点)
feasible successor 可行后继路由器(仅次于正常最优的next-hop节点)(是否能够成为可行后继得看造化。因为是有判断条件的。如果条件不满足,哪怕是仅次于正常最优的next-hop节点,也不会是可行后继。)
R1的后继路由器是谁?(这种表达不正确,必须明确目的网络!)
对于R1要去往4.4.4.0/24这个地方,其后继路由器和可行后继路由器分别是谁?
successor 后继路由器是R2
feasible successor 可行后继路由器R3
AD advertised distance 通告距离 本节点的邻居到达目的网络的metric
FD feasible distance 可行距离 其计算公式如下:
feasible distance = advertised distance + metric to neighbor
feasible successor是否存在的判断标准是什么?
备份路径的通告距离是否小于当前路径的可行距离。
是:feasible successor
否:no feasible successor
可行后继路由器的优势在于:当后继路由器丢失,可行后继路由器会被直接加入到本地路由表中作为转发依据,无需经过查询和确认机制!(设置可行后继路由器的目的在于,加快路由表的收敛速度)
eigrp的三张表:
show ip eigrp neighbors 查看邻居表
show ip eigrp topology 查看拓扑表(eigrp的数据库)
show ip route eigrp 查看路由表中eigrp的条目
link-state protocol:链路状态。自行计算,其根本是每个路由器对全网的结构都有认知!
eigrp的配置:
router eigrp 100
# 创建eigrp路由进程。其中100是自治系统ID,需要不同的路由器保持相同的自治系统ID才可以建立邻居。
no auto-summary
# 关闭自动汇总(自动汇总会在路由的主类边间汇总,因此需要将其关闭。)
network 12.1.1.1 0.0.0.0
# 将该IP地址所对应的接口运行eigrp协议。
network 13.1.1.1 0.0.0.0
# 将该IP地址所对应的接口运行eigrp协议。
network 192.168.11.1 0.0.0.0
# 将该IP地址所对应的接口运行eigrp协议。
passive-interface FastEthernet0/1
# 将连接终端的网关接口运行此命令,目的在于不收也不发eigrp报文,以维护网络中的安全。
variance 66
# 定义非等价负载均衡系数。该系数是由可行后继的FD除以后继的FD,其商小数点入一取整。
exit
12.1.1.0/24
12.1.1.0 255.255.255.0 正掩码表达方式
12.1.1.0 0.0.0.255 反掩码表达方式
ripv2的配置:
router rip
version 2
# 定义RIP运行版本
no auto-summary
network 192.168.11.0
# 以主类形式使能接口
network 12.0.0.0
network 15.0.0.0
network 13.0.0.0
一台路由器到底发送哪些路由出去让其他设备学习呢?
OSPF Open Shortest Path First
OSPF的三张表:
show ip ospf neighbors 查看邻居表
show ip ospf database 查看拓扑表(LSDB)
show ip route ospf 查看ospf的路由表
- 信息的同步:
LSA link-state advertisement每个路由器的接口一旦运行了ospf之后,就会将本地的直连路由以lsa的形式发送出去,以使本area内其他路由器可以学习到。
思考:这种lsa都发送出去了,其他路由器也都学到了。那么最后稳定下来之后会是什么结果?
结果就是每个路由器所了解的信息都一致。称为lsa同步。
实际上每个路由器都会将收到的lsa信息放到自己的link-state database中,最终这个lsdb的内容应该是同步的。 - 信息的计算:
会将lsdb中的lsa信息作为计算原料,使用spf算法(迪杰斯特拉算法)作为指导方针,area内每个路由器以自己为root,进行计算,最终得出spf-tree。
思考:每个area内,到底有几棵树?area内有多少个路由器,就有多少个root,就有多少棵树!
大质数因式分解:
66108233616263
37865431*1745873=
哥尼斯堡七桥事件
一个封闭图形,若想实现一笔画,那么这个图形至少要存在一个点,并且该点向外辐射的线的数目为偶数! - 基于spf-tree每个路由器就可以计算出本地到达网络中所有其他地方的最短路径。这些最短路径就是转发依据。将其汇总到路由表中。
OSPF的多area:
- area0是绝对骨干(backbone),没得商量
- 其他area都是非骨干,并且在做网络设计师,非骨干要与骨干直接相连。
- 路由器如果其有的接口工作在骨干,而有的接口工作在非骨干。那么这类路由器被称为ABR(area boundary router)。在ABR上,会维护多个area的database。
注意:lsdb同步指的是,在同一个area内是同步的。即,跨area,database不可以同步。 - 路由器如果其有的接口工作在ospf内,而又同时和本ospf的AS外部路由器建立关系,那么该路由器被称为ASBR(AS boundary router)
- area是一个接口级概念。每个接口都应该运行在某个area。而非整个路由器节点运行在某个area。
OSPF的报文:
- Hello
- DBD Database Description
- LSR Link-state request
- LSU Link-state update
- LSAck Link-state Acknowledge
OSPF的状态机:
- down
- init
- 2-way
- exstart
- exchange
- loading
- full
ospf的router-id:
router-id实际上是运行ospf进程路由器的名字。既然是名字,就不应该和其他路由器一样!
router-id是一个以IPv4地址格式呈现的字符串。
router-id的产生:
- 手工指定(强烈推荐)
- 自动选举:优先选择loopback口中具有更大的IP地址,其次选择物理口中具有更大的IP地址
邻居和邻接:
邻居关系:只要彼此相互知道对方的存在,即为邻居!
邻接关系:不仅仅彼此相互发现,而且彼此之间还有深入的了解!
情况一,和对门儿。邻接 (full)
情况二,和四楼。邻居 (2-way)
DR/BDR DR-other
此三个角色是在MA环境中才会出现。
DR和BDR的选举是基于router-id的。
谁的router-id大,谁就是DR,次大就是BDR。
DR/BDR和DR-other都是接口级概念,并非节点级概念。
DR角色非抢占!(为了保证网络结构的稳定性,不支持抢占)
选举期内,大家一起竞选DR和BDR。选举期外,新加入只能是DR-other。选举期默认40s。
在MA环境中,所有接口都会监听224.0.0.5这个组播地址。但只有DR和BDR才会监听224.0.0.6这个组播地址。
OSPF配置:
# R1配置:
router ospf 100
router-id 1.1.1.1
passive-interface FastEthernet0/1
network 192.168.11.1 0.0.0.0 area 1
network 10.1.1.1 0.0.0.0 area 1
# R2配置:
router ospf 100
router-id 2.2.2.2
network 10.1.1.2 0.0.0.0 area 1
# R3配置:
router ospf 100
router-id 3.3.3.3
network 10.1.1.3 0.0.0.0 area 1
# R4配置:
router ospf 100
router-id 4.4.4.4
network 10.1.1.4 0.0.0.0 area 1
network 45.1.1.4 0.0.0.0 area 0
# R5配置:
router ospf 100
router-id 5.5.5.5
network 45.1.1.5 0.0.0.0 area 0
network 56.1.1.5 0.0.0.0 area 2
# R6配置:
router ospf 100
router-id 6.6.6.6
passive-interface FastEthernet0/1
network 56.1.1.6 0.0.0.0 area 2
network 192.168.22.1 0.0.0.0 area 2
# 该命令用于重置ospf之间的邻居关系,并激发路由器之间重新学习lsa信息,重新计算路由表!
R1#clear ip ospf process
Reset ALL OSPF processes? [no]: y