一、DHCP
1、手工配置网络参数问题
- 对于普通用户而言,网络参数是知识盲区,错误的配置导致网络无法正常访问
- 对于网络管理员而言,对IP地址进行合理规划工作量较大
- 对每个员工的IP地址,IP地址的利用率低
2、基本知识
- C/S架构(客户端/服务端架构):响应速度快
- 基于UDP,端口67/68(68用于客户端,67用于服务端)
3、八种报文类型
- DHCP discover:客户端用于寻找DHCP服务器
- DHCP offer:DHCP服务器回复客户端的discover报文,该报文携带了网络参数
- DHCP request:客户端请求配置确认或续租
- DHCP ack:服务器对request确认
- DHCP nak:服务器对request拒绝
- DHCP release:客户端请求释放地址
- DHCP decline:客户端用于检测IP地址冲突后发送给服务器
- DHCP inform:当客户端获取IP地址后,使用此报文获取其他配置信息
4、DHCP的工作过程
- 客户端广播发送DHCP Discover报文,用于发现当前网络中的DHCP服务器
- 服务端单播发送DHCP Offer报文,携带即将分配给客户端的IP地址
- 客户端广播发送DHCP Request报文,向服务器请求使用该IP地址
- 服务器单播发送DHCP Ack报文,告知客户端允许使用该IP地址
5、DHCP租期
租期更新计时器
1.华为设备租期为24小时
2.当租期到达一半(12小时):
- PC单播发送一个DHCP request报文
- 若服务器回复ACK报文,则租期更新计数器刷新
- 若服务器回复NAK报文,PC等待下一更新周期
租期冲绑定计时器
1.当租期到达87.5%(21小时),此时PC进行第二次续租
2.PC广播发送DHCP request:
- 若收到ACK报文,则刷新各类计时器,并绑定新的服务器
- 若收到NAK报文,则PC必须立刻停止使用现在使用的IP地址,然后重新申请新的IP地址
租期失效计时器
1.PC在租期内正常到期,服务器没有回复,PC才停止使用该IP地址,并发送DHCP release报文
- PC重新进入DHCP工作流程,发送DHCP discover报文
2.PC主动放弃使用分配的IP地址,此时发送DHCP release报文
6、地址池
- 全局地址池:为所有连接到服务器的PC提供地址
- 接口地址:为连接到该接口的PC提供地址
配置
接口0/0/0使用全局地址池,接口0/0/1使用接口地址池
全局地址池:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[R1]dhcp enable
[R1]ip pool v2
[R1-ip-pool-v2]network 192.168.1.0 mask 24
[R1-ip-pool-v2]gateway-list 192.168.1.1
[R1-ip-pool-v2]dns-list 114.114.114.114
[R1]int GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcp select global
***补充***
[R1-ip-pool-v2]excluded-ip-address 192.168.1.200 192.168.1.254 //将192.168.1.200 -192.168.1.254排除在地址段外,不进行分配
[R1-ip-pool-v2]lease day 0 hour 3 minute 0 //更改租期时间
[R1-ip-pool-v2]static-bind ip-address 192.168.1.100 mac-address 5489-9842-
3FA4 //IP-MAC绑定
接口地址
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[R1]dhcp enable
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]dhcp select interface
[R1-GigabitEthernet0/0/1]dhcp server dns-list 114.114.114.114
***补充***
[R1-GigabitEthernet0/0/1]dhcp server excluded-ip-address 192.168.2.100 192.168.2
.253
[R1-GigabitEthernet0/0/1]dhcp server static-bind ip-address 192.168.1.5 mac-address 5489-9842-3FA4
二、静态路由
1、查看路由表
[R1]display ip routing-table
2、路由项
- 目的地址/掩码 出接口 下一跳
- Protocol:协议,代表:直连>静态>动态
- Preference:优先级,优先级更小的更优
- Cost:开销值,越小越优
假设目的IP为X,某一个路由项为Z/Y,如果X与Y做“与”运算后,得出结果为Z;则说明该IP与该路由项匹配
- 若匹配上一条路由项,则按照该路由项指示进行转发
- 若匹配到多条路由项,则按照“最长掩码匹配规则”进行选择
3、路由的来源
- 设备自动发现—>直连路由
- 手工配置—>静态路由
- 通过动态协议算法计算得出—>动态路由
4、直连路由
直连路由产生的条件
- 接口双up
- 必须具备IP地址
5、路由的优先级
路由来源 | 缺省优先级(华为) | 缺省优先级(思科) |
---|---|---|
直连路由 | 0 | 0 |
OSPF | 10 | 110 |
静态路由 | 60 | 100 |
RIP | 100 | 120 |
BGP | 255 | 255 |
EIGRP | 90 |
6、静态路由配置
配置命令:
R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 10.0.12.1 24
[R1]ip route-static 192.168.2.0 24 10.0.12.2
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.0.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.2.254 24
[R2]ip route-static 192.168.1.0 24 10.0.12.1
路由环路:
1、当两个路由器上的路由表内,分别存在一条到达同一网段且下一跳是另外一台路由器时,将形成环路
- 占用大量带宽,影响正常数据包转发
- 损耗路由器资源,当路由器消耗过大时,设备会宕机
2、解决方式—TTL
三、静态路由扩展配置
1、等价路由
当路由器访问同一目标网段时,具备多条开销路径相等的路径时,可以让流量拆分后沿多条路径进行传输,达到叠加宽带的效果减少单条链路数据传输压力
- 形成等价路由的条件:来源相同(同一种路由协议发现)、开销相同的路由
2、环回接口
路由器上的虚拟接口,用于测试,通常一个虚拟接口代表一个真实的用户网段
3、手工汇总
当路由器需要配置多条路由项时,可以选择将其进行子网汇总,减少路由表数量,降低CPU运算负载,提高转发效率
4、路由黑洞
在手工汇总的时候,可能会包含一些网络中实际不存在的网段,造成流量有去无回的现象,浪费链路资源
5、缺省路由
一条不限定目标的路由
[R2]ip route-static 0.0.0.0 0 10.0.12.1
因为缺省路由代表所有网段,所以会跟任何路由流量进行匹配,但是又由于最长掩码匹配规则,所以只有当路由表在没有其他路由项匹配流量时,才会选择缺省路由,每台路由器上仅存在一条缺省路由
6、空接口防环
解决方法:在存在路由黑洞的路由器上配置一条通往汇总网段的空接口路由
[r1]ip route-static 192.168.0.0 21 NULL 0
7、浮动静态路由
通过修改优先级来对路由项进行备份
两台路由器通过两条链路相连,带宽分别为千兆和百兆,已知千兆带宽完全可以满足正常的网络通讯,而百兆不满足,此时,就可将百兆链路作为备份链路,当千兆链路出现故障时,启用备份链路,确保网络不会完全断开。
配置命令:
R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 12.2.2.1 24
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip address 192.168.1.254 24
[R1]ip route-static 192.168.2.0 24 12.1.1.2
[R1]ip route-static 192.168.2.0 24 12.2.2.2 preference 70
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/0]int g0/0/01
[R2-GigabitEthernet0/0/1]ip address 12.2.2.2 24
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip address 192.168.2.254 24
[R2]ip route-static 192.168.1.0 24 12.1.1.1
[R2]ip route-static 192.168.1.0 24 12.2.2.1 preference 70
四、动态路由
1、自治系统
AS
由单一的机构或组织所管理的一系列IP网络设备的集合
AS的管理:
- 每一个AS区域都有一个编号(ASN),由互联网数字分配机构(IANA)分配,ANS由16位二进制组成,1-65535
AS通讯
- AS内部使用相同路由协议—内部网关协议(IGP)
- AS之间使用专有路由协议—边界网关协议(BGP)
2、动态路由分类
按照范围分类:
- IGP—内部网关协议:RIP、OSPF、isis、EIGRP
- EGP—外部网关协议:BGP
IGP协议按照协议特点分类:
- 距离矢量型–DV—共享路由表:RIP、EIGRP
- 链路状态型—LS----共享拓扑:OSPF、ISIS
IGP协议按照是否携带真实掩码分类
- 有类别路由协议:不传递真实网络掩码(RIPv1)
- 无类别路由协议:传递真实网络掩码
3、RIP—路由信息协议
基本概念
版本:
- RIPv1—IPv4
- RIPv2—IPv4
- RIPng—ipv6
RIP是一个标准的DV型协议—距离矢量型—共享路由表,基于UDP封装,端口号为520
RIP存在一个保活机制,更新机制—30s发送一次应答报文
RIP度量值:
- 根据跳数计算
- 最大跳数为15,当跳数=16时则认为该路由项不可达
- 开销值计算方式:数据包中传递的开销值==本地的开销值+1
RIP数据包
request包—请求报文
- 只有启动RIP进程后会使用
- 希望尽快获取邻居的路由信息
response包—应答报文
- 携带了具体的路由信息
- 用来回答请求报文
RIP工作原理
初始化:
- RIP在初始化的时候,会从每一个参与工作的接口上发送请求数据包,该请求数据包会向所有的RIP路由器请求一份完整的路由表
- 该请求以广播的形式发送
请求接收
- RIP路由器在接收到请求数据包后,使用应答数据包回复,该数据包包含了本地所有的路由信息
接收到响应数据包
- 路由器接收并处理该数据包
- 将接收到的数据包内容与本地路由表进行对比,然后进行添加、删除、修改等操作
常规路由更新
- 当收敛完成后,路由器会以30s为周期,发送应答报文
- 邻居路由器收到应答报文后,会设置180s的超时时间,如果180s内没有收到邻居发来的应答报文,路由器会认为邻居出现问题,并将下一跳设置为16
触发路由更新
- 当某个路由器开销值发生改变时,路由器只会发生与改变有关的路由,不会发生完整的路由表
RIP算法—贝尔曼福特算法
- 当接收到的数据包中包含本地路由表中没有的路由项,则直接加载到本地路由表
- 当接收到的数据包含有本地已具备的路由项时,且下一跳地址相同,则将数据包中的路由项更新至本地
- 当接收到的数据包含有本地已具备的路由项时,但是下一跳地址不同,则比较COST值,若本地路由表的COST值比较大,则将数据包中的路由项更新至本地
- 当接收到的数据包中包含本地已具备的路由项时,但是下一跳地址不同,则比较COST值,若本地路由表的COST值比较小,则不进行更新
RIP计时器
更新计时器:
- 每台启动了RIP协议的路由器都有一个属于自己的更新计时器
- 更新计时器时间为30s
- 当更新时间为0时,则向周围发送响应报文
- 为什么进行周期更新:
UDP时不可靠的
RIP路由传递过程中需要可靠性机制
RIP本身没有可靠性机制
无效计时器
- 每台路由器上的每一个RIP路由项都有一个无效计时器
- 更新时间为180s
- 每条路由项更新时,计时器刷新为180s
- 当计时器为0时,则认为该路由项无效,会将开销值设置为16,并向外传输
垃圾收集计时器
- 当一个路由项变为无效路由项时,虽然cost值会被设置为16,但是路由项本身不会被立刻删除,而是启动垃圾收集计时器,在这个计时器倒计时为0前,该路由器周期更新时仍然会携带该无效路由项
- 垃圾收集计时器的更新时间为120s
- 一旦该计时器为0,则删除该路由项(包括之前与之对应的无效计时器,垃圾收集计时器)
- 垃圾收集计时器为0前的某一时刻,该路由项被更新,则该路由项可以正常加表使用,cost值恢复,删除垃圾收集计时器,恢复无效计时器
RIPv1和v2的区别:
更新方式:
- RIPv1使用广播更新
- RIPv2使用组播更新,224.0.0.9
更新时是否携带掩码:
- RIPv1不携带真实掩码
- RIPv2携带真实掩码
RIPv2支持手工认证
RIP环路问题
触发更新:
- 当某一个路由器中的路由项发生改变时,不需要等待下一次更新周期到来,直接将发生改变的路由项转发
- 不能完全避免环路产生
水平分割:(华为默认开启)
- 路由器不允许把从一个接口进来的路由项再从这个接口转发出去(从此口进不从此口出)
毒性逆转:
- 把从一个接口进来的路由项再从这个接口转发出去时,但是cost值设置为16
水平分割和毒性逆转机制原理相同,但是处理方法不同,所以只能选择一个与触发更新搭配防环,若水平分割与毒性逆转同时开启,则按照毒性逆转执行
RIP基本配置
RIPv1配置:
[r1]rip 1 //启动RIP进程,且配置进程号为1,进程号仅具有本地意义
[r1-rip-1]version 1 //选择版本
[r1-rip-1]network 12.0.0.0 //宣告,宣告时选择主类宣告
[r1-rip-1]network 1.0.0.0
***补充***
宣告:
要求:需要宣告所有的直连接口,并且宣告主类
目的:激活接口(只有激活的接口才能收发RIP的报文)、发布路由(只有激活接口的对应网段信息才能发
布)
RIPv2配置:
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]undo summary //关闭自动汇总,如果不关闭,宣告的属于同一个主类的路由会自动汇总
后发送
[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0
RIP扩展配置
- RIPv2的手工汇总
在更新源路由器上所有的更新出接口上配置汇总命令
[R1] int g0/0/0
[R1-GigabitEthernet0/0/0]rip summary-address 192.168.1.64 255.255.255.192
- RIPv2的认证
在路由协议的邻居间直连接口上设定身份核实密钥,同时对邻居间传递的路由信息进行加密
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 123
- 沉默接口
用于路由器上连接用户终端的接口,这些接口在沉默后即使被宣告,依然不会发送周期性路由信息,沉默端口不能用于骨干链路,否则导致邻居间无法共享路由信息
[R1]rip
[R1-rip-1]silent-interface GigabitEthernet 0/0/0
- 加快收敛
通过修改计时器的值,可以加快协议的收敛速度,修改时尽量维持原有的倍数关系,且不宜修改的太小
[R1]rip
[R1-rip-1]timers rip 30 180 300
- 缺省路由
边界路由器上配置缺省命令后,将向内部发送一条缺省信息,使得内部所有路由器自动生成缺省路由指向边界路由器位置,但是边界路由器上只想ISP的缺省需要管理员静态指定
[R3]rip
[R3-rip-1]default-route originate
RIP扩展配置实验
要求:
1、R1-R3地址为192.168.1.0/24;请合理分配地址
2、R1,R2各有两个环回;R3的环回地址为3.3.3.3 /24,该网段不能在RIP中宣告
3、整个网络使用RIPv2,全网可达,路由表汇总,防止环路,保证更新安全,加快收敛速度
配置:
1、为路由器接口和环回接口配置IP
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.1 30
[R1-GigabitEthernet0/0/0]int lo0
[R1-LoopBack0]ip address 192.168.1.65 27
[R1-LoopBack0]int lo1
[R1-LoopBack1]ip address 192.168.1.97 27
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.1.2 30
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.1.5 30
[R2-GigabitEthernet0/0/1]int lo0
[R2-LoopBack0]ip address 192.168.1.129 27
[R2-LoopBack0]int lo1
[R2-LoopBack1]ip address 192.168.1.161 27
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.1.5 30
[R3-GigabitEthernet0/0/0]int lo0
[R3-LoopBack0]ip address 3.3.3.3 24
2、启动RIP协议,选择版本为2,宣告直连网段
[R1]rip 1
[R1-rip-1]version 2
[R1-rip-1]network 192.168.1.0
[R2]rip 1
[R2-rip-1]version 2
[R2-rip-1]network 192.168.1.0
[R3]rip 1
[R3-rip-1]version 2
[R3-rip-1]network 192.168.1.0
3、将路由器R3配置边界缺省路由
[R3]rip
[R3-rip-1]default-route originate
4、地址汇总
[R1] int g0/0/0
[R1-GigabitEthernet0/0/0]rip summary-address 192.168.1.64 255.255.255.192
[R2] int g0/0/0
[R2-GigabitEthernet0/0/0]rip summary-address 192.168.1.128 255.255.255.192
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]rip summary-address 192.168.1.128 255.255.255.192
5、设置空接口防环
[R1]ip route-static 192.168.1.64 26 NULL 0
[R2]ip route-static 192.168.1.128 26 NULL 0
6、RIPv2认证
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 123
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 123
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]rip authentication-mode md5 usual cipher 123
[R3]int g0/0/0
[R1-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 123
7、加快收敛速度
[R1]rip
[R1-rip-1]timers rip 30 180 300