目录
第一节.复习OSI·TCP/IP 模型
OSI 模型
OSI 模型: 开放式系统互联参考模型
应用层:
抽象语言-->编码
表示层:
编码--->二进制 (定义了数据的格式,对数据进行加密、解密、压缩、解压缩等)
会话层:
提供会话地址,建立应用程序端到端的会话
(提供会话进程--session ID,建立、维护、断开一个会话,区分同一应用程序的多个进程)
上三层为应用程序对数据加工处理的阶段; 故统称为应用层;
传输层:
分段 端口号 TCP/UDP
端口号:一共有0-65535个
0和65535系统保留端口号
1-1023 为注明端口,用于标记固定的服务
老师讲:1024-65534 为随机端口号,用于标记客户端的进程
自己搜:
1024-49151 为注册端口(Registered Ports):(由应用程序注册使用)。
49152-65535 为动态或私有端口(Dynamic or Private Ports):(通常由客户端临时分配)。
计算 网速(兆)=[带宽(比特)/8]*85% 数据单位=字节
分段: 超大数据包在网络中无法与他人共享带宽,将出现带宽抢占,导致数据包损坏,重传,大大增加网络的延时; 故必须对数据包进行分段;分段时需要受到 MTU 限制
MSS:默认 1500字节; 最大分段字节
端口号:16位二进制构成 取值范围 0-65535 其中1-1023 注明端口 静态端口号 1024-65535 动态端口 高端口
客户端访问服务端时,客户端随机使用高端口作为源端口号来标记本地的进程;使用注明端口号作为目标端口号来对应服务;
TCP (6) :ftp——20(数据端口)/21(控制端口) ssh——22 telnet——23
smtp——25 接收邮件 pop3——110 发送邮件 BGP——179 DNS——53
http—— 80 https——443 http 安全版,下加入 ssl 层
UDP(17) :DNS——53 Bootp——67 服务器/68 客户端 (就是 dhcp ,dhcp 基于 bootp 发展而来 ) Tftp——69 Snmp——161/162 服务器监听的端口号 161 ,客户端监听端口号 RIP——520。
有兴趣可以去查看端口号对应列表
UDP: 用户数据报文协议
非面向连接的不可靠传输协议仅完成传输的基础工作--- 分段、端口号
UDP报头:
TCP :传输控制协议
面向连接的可靠传输协议--在完成了传输层的基础工作外,还需要保障传输的可靠性;面向连接:在传输数据前,需要通过三次握手 建立端到端的虚链路
可靠传输:传输过程中使用到 4 种可靠传输机制; -- 确认、排序、流控(滑动窗口)、重传
俩本相关的书 《TCP/IP 路由技术》(行业圣经)、《TCP/IP 详解》TCP头部:
TCP三次握手详见:
假设有一个客户端A和一个服务器B,它们需要建立一个TCP连接来传输数据。下面是这个过程的详细步骤:
客户端发送请求(SYN):
- 客户端A首先向服务器B发送一个带有SYN标志的数据包(SYN置为一),假设客户端选择的初始序列号(ISN)为X。
- 这个数据包告诉服务器B:“我(客户端A)想要和你(服务器B)建立连接,并且我的序列号是X。”
服务器响应(SYN + ACK):
- 服务器B收到了客户端A的请求后,会发送一个带有SYN(SYN置为一)和ACK标志的数据包作为响应。
- 假设服务器B选择的初始序列号(ISN)为Y,并且确认号(ACK Number)为客户端发送的序列号加一,也就是X+1。
- 这个数据包告诉客户端A:“我(服务器B)收到了你的请求,我也想要和你建立连接,我的序列号是Y,同时确认收到了你的序列号X。”
客户端确认(ACK):
- 客户端A收到了服务器B的响应后,会发送一个带有ACK标志的数据包给服务器B。
- 这个ACK数据包的序列号为X+1,确认号为服务器发送的序列号加一,也就是Y+1。
- 这个数据包告诉服务器B:“我(客户端A)确认了你的请求,我的序列号是X+1,同时确认收到了你的序列号Y。”
总结起来,TCP的三次握手确保了:
- 客户端和服务器之间的通信能够正常开始,双方知道彼此的初始序列号。
- 双方都确认了彼此的请求,确保连接的建立是双方都同意的。
- 第三次握手时就可以发送信息
TCP四次挥手:
假设有一个客户端A和一个服务器B,它们之前建立了一个TCP连接,现在需要关闭这个连接。下面是这个过程的详细步骤:
客户端发送关闭请求(FIN):
- 客户端A首先向服务器B发送一个带有FIN标志的数据包,表示客户端不再发送数据,希望关闭连接FIN=1。
- 这个数据包告诉服务器B:“我(客户端A)不再发送数据了,我想要关闭连接。”
服务器确认关闭请求(ACK):
- 服务器B收到了客户端A的关闭请求后,会发送一个带有ACK标志的数据包作为响应,表示确认了客户端的关闭请求,但未断开链接 AKC=1。
- 这个数据包告诉客户端A:“我(服务器B)收到了你的关闭请求。但未断开链接”
服务器发送关闭请求(FIN):
- 服务器B可能还有数据要发送给客户端A,在发送完最后一批数据后,会向客户端A发送一个带有FIN标志的数据包,表示服务器也希望关闭连接,同时断开链接 FIN=1 AKC=1。
- 这个数据包告诉客户端A:“我(服务器B)不再发送数据了,我也想要关闭连接。并且关闭链接”
客户端确认关闭请求(ACK):
- 客户端A收到了服务器B的关闭请求后,会发送一个带有ACK标志的数据包给服务器B,表示确认了服务器的关闭请求 AKC=1。
- 这个数据包告诉服务器B:“我(客户端A)确认了你的关闭请求。”
总结起来,TCP的四次挥手确保了:
- 双方都有机会告知对方自己不再发送数据,避免了数据丢失的可能性。
- 双方都确认了对方的关闭请求,确保连接的正常关闭。
TCP/UDP各自优缺点:
TCP/IP的优点:
- 可靠性: TCP在数据传输过程中使用确认机制、重传机制和校验和等方法,确保数据传输的可靠性,适用于需要确保数据完整性和顺序的场景。
- 流量控制: TCP能够根据接收方的处理能力动态调整数据发送速率,避免了网络拥塞和数据丢失的可能性。
- 顺序保证: TCP保证了数据的顺序传输,接收方可以按照发送方的顺序接收数据,保证了数据的完整性和正确性。
TCP/IP的缺点:
- 开销大: TCP在保证可靠性和顺序传输的同时,会增加一定的传输开销,包括确认机制、重传机制等,可能影响传输效率。
- 连接建立耗时: TCP在建立连接时需要进行三次握手,这会增加一定的连接建立时间,对于实时性要求较高的应用可能不太适合。
- 不适合实时性要求高的应用: 由于TCP的确认机制和流量控制机制,对于实时性要求较高的应用(如视频直播、在线游戏等)可能会引入较大的延迟。
UDP的优点:
- 低延迟: UDP不使用确认机制和流量控制机制,传输开销较小,因此具有较低的延迟,适用于实时性要求较高的应用。
- 轻量级: UDP头部较小,不需要维护连接状态,传输开销较小,适用于网络带宽较小或者需要频繁通信的场景。
- 适用于广播和多播: UDP支持广播和多播,能够同时向多个接收方发送数据,适用于实时视频、音频等广播场景。
UDP的缺点:
- 不可靠性: UDP不使用确认机制和重传机制,无法保证数据传输的可靠性,可能会导致数据丢失或者乱序。
- 顺序不保证: UDP不保证数据传输的顺序,接收方收到数据的顺序可能与发送方不同,需要应用层自行处理。
- 易受网络攻击: UDP没有连接状态,容易受到网络攻击,如UDP洪水攻击等,安全性较差。
网络层:
运行的是 互联网协议(internet协议) ---IP地址 ---逻辑寻址(最重要的功能)
提供路由,转发数据 ---IP地址(范围寻址)
MTU: 最大传输单元,默认 1500字节; 提供分片
IPV4报头:标准20字节 可扩展到60字节
Service Type:标识业务的优先级
Protocol:上层数据使用的协议
Time to Live(TTL):生存时间 每个数据包存在初始的跳数寿命,基于目标系统为255、128、64间的一个数字,
每经过一次路由器转发,该值减1,为0时数据包将不得再被传输;
意义在于环路中可以将数据传递停止下来;
数据链路层:
介质访问控制---控制物理设备 (核心作用) MAC寻址、封装成帧、差错检测、
---MAC寻址(精确寻址)
逻辑链路控制子层LLC(校验)+介质访问控制子层MAC(控制物理层)
逻辑链路控制子层为数据的传输提供一个可靠性的保证,减少数据帧出现丢失、重复、失序
介质访问控制层MAC(控制物理层)负责识别网络层的协议(又叫媒体接入控制子层)
数据链路层的核心作用在于控制物理层设备;因为物理设备不能 自动工作的;需要程序控制:由于大部分网络环境物理层均使用以太网技术,故数据链路层的思考大多基于以太网的二层封装封装来进行;
以太网二代帧头部:
仅以太网技术在二层使用 MAC 地址进行物理寻址;
物理层:
物理硬件,处理光电信号,定义一些物理参数(电压、接口、线缆标准、传输距离、传输介质、信号模式)
网络名词注解:
【1】TCP/IP:
TCP/IP: 协议栈道 是OSI模型的前身;也是当下真实运行的模型
TCP/IP与OSI模型的区别:
1、层数不同TCP/IP支持跨层封装,而0SI不行:
2、TCP/IP 在 3 层仅支持IP 协议,OSI 支持所有网络层协议:
3、TCP/IP 支持跨层封装 -- 跳层封装 (OSI模型必须有七层)
作用:主要在于直连设备间协议,减少层面,加快计算;
非直连间使用的跨层封装协议为ICMP.
当跨层后,被跨层面的工作,必须由其他层面临时的来进行;
4、分层思想:0SI参考模型的核心思想是分层,而分层的目的就是上层协议在其下层协议提供的服务的基础上提供增值服务。所以,0SI在设计协议的时候,层次之间还是存在依赖性的;
TCP/IP模型其本身就是先有的协议,后有的模型。ICP/IP协议里的协议本身都是相互独立的,每层中的协议可以根据系统的需要进行组合匹配。跨层的种类:
没有传输层---应用层数据包直接跨层到网络层时:(跨四层)
IP包头将实施分片,分片后将数据填充到报头--取代分段
协议号----取代端口号
正常封装,其上层是TCP或者UDP协议。TCP协议对应的协议号是6,UDP协议对应的协议号是17,但是我们这个协议号的取值范围是0-255,八位进制),剩余的这些协议号都是用来标定跨层封装协议的。比如我们OSPF协议,对应的协议号是89。ICMP协议,对应协议号是1
当没有传输成和网络层---应用层数据包直接跨层到数据链路层(跨三四层)
若二层为以太网封装时,将不能在使用第二代以太网数据报头,必须使用第一代报头
第一代以太网数据报头分为俩个子层, ---LLC逻辑链路控制层+MAC介质访问控制层
LLC为802.2报头 MAC为802.3报头
LLC负责分片和提供帧类型号
MAC负责正常的MAC地址和前导
典型代表:stp 协议
第一代以太网报头:
【2】封装,解封装
封装--- 从高向低层数据加工处理的一个过程;过程中数据包将不断的变大
解封装--- 数据从低层向高层的一个读取过程; 过程中数据包将不断的变小
两个设备正常的通讯,必须已知目标ip地址;
ip地址的获取方式: 1.域名 2.APP 记录 3.管理员直接提供
在一个网络中各设备是如何收发信息的:
PC----访问的目标ip地址与本地在同一网段
--- ARP 获取对端 mac 地址:获取失败放弃通讯,等待超时获取成功后正常通讯
交换机---- 接收到一段比特流后,先识别成二层数据帧,优先查看数据中的源mac地址将其对应的进入接口映射后记录在本地的MAC地址表中; 再关注数据中的目标mac地址,基于本地mac表查询,表中存在记录将按照记录单播转发,若没有记录将洪泛该流量;路由器---- 接收到一段比特流后,先识别成二层数据帧: 查看目标 mac 地址,之后丢弃或解封装; 解封装到 3 层后,关注目标 ip 地址,查询本地的路由表,若表中存在记录将无条件按照记录重新封装二层后转发; 若没有记录将丢弃该流量;
【3】ARP--- 地址解析协议
正向ARP --- 已知同一网段的目标ip地址,通过广播的形式获取该ip地址对应的MAC地址
反向ARP --- 已知本地的MAC地址,通过对端获取本地的ip地址;
无故ARP(免费ARP)--- 设备在使用新的ip地址,或获取ip地址的过程中;
主动向外进行正向 ARP,被请求的ip地址为本地ip地址;
一旦接收到应答,及代表ip地址冲突;
(用于ip地址的冲突检测)
【4】PDU-- 协议数据单元 不同层面对数据的不同记录单位
应用层-- 数据报文
传输层-- 段
网络层-- 包
数据链路层-- 帧
物理层--- 比特流
【5】] DNS--- 域名解析,
用于域名与 ip地址的关系记录: 访问域名时需要 DNS 服务器解析出对应的 ip 地址,之后客户端可以进行访问;
基于TCP/UDP协议的53号端口,绝大多数的 DNS 查询来说都会使用 UDP 数据报进行传输,TCP 协议只会在区域传输(它的作用就是在多个命名服务器之间快速迁移记录,由于查询返回的响应比较大,所以会使用 TCP 协议来传输数据包)的场景中使用
域名的属性层次化结构:
域是因特网中一种管理范围的划分:根域、顶级域名、二级域名、三级域名等等域名结构:根域、顶级域名、二级域名、三级域名等等
域名的特点:不同等级的域名之间使用点号隔开,级别最高的写在右边,低的在左边:每一级域名都由字母和数字组成,不区分大小写;
域名的根域用’,’表示,以点号结尾的域名被称为完全合格域名(FQND)
根域
顶级域:主机所在的国际/区域,注册人的性质
二级域:注册人自行创建的名称
主机名:区域内部的主机名称DNS查询方式:
从客户端到本地DNS服务器是属于 递归查询 (返回确切的查询结果)
DNS服务器之间使用的交互查询(本地服务器与各级域名服务器) 迭代查询
域名含有的符号只有“ .”和“-”而“_”不在其内
迭代查询:
本地CP发送的数据包
物理层+目标MAC:路由器网关接口地址源MAC:主机+目标IP:68.87.71.226
源IP:68.85.2.101+日标端口号:53 源端口(UDP):随机端口号+应用层
【6】IPV4地址
IPV4 地址由 32 位二进制构成; 点分十进制标识;
ABCDE 分类:其中ABC 为单播地址; D 组播;E保留地址
ABC 虽然均为单播地址,但基于默认的掩码长度再 ABC 三种(8、16、24);
特殊地址:
1、主机位全0-- 网络号2、主机位全 1--直接广播地址
3、全0- 缺省路由 (所有)、无效地址 (没有)4、全1--255.255.255.255 受限广播
5、127 127.0.0.1 -- 环回地址
6、169.254.0.0/16 -- 自动私有地址,本地链路地址--终端通过 dhcp 获取ip 地址失败后,自动配置的ip 地址,网络位固定169.254,主机位本地随机
注: 只有单播地址及可以作为目标 ip 地址,也可以作为源地址; 其他地址只能作为目标ip 地址; 故只要给一个设备配置ip地址一定配置的是单播地址
VLSM -- 可变长子网掩码-子网划分 - 通过延长子网掩码的长度;起到从主机位借位到网络位,将一个网络号逻辑的切分为多个效果;
CIDR-无类域间路由 --- 取相同位,去不同位 将多个网络号合成一个网段存在 子网汇总 和 超网汇总 两种;
子网汇总--汇总后,汇总网段的掩码长于或等于主类
超网汇总--汇总后,汇总网段的掩码长度短于主类;
路由器匹配原则:最长掩码匹配原则、缺省路由、丢弃
路由器转发原理:路由器收到一个数据包,依据包中的目标IP地址查表转发,如果能查到对应的路由条目,则无条件转发,反之,则丢弃
【7】静态路由
基础写法:
法一:[Huawei]ip route-stati 192.168.1.0 24 192.168.2.2 (一般在MA网络使用)
目标网络号 下一跳
下一跳地址: 流量从本地发出后,下一个进入的路由器接口的 ip 地址;
法二:[Huawei]ip route-static 192.168.1.0 24 GigabitEthernet 0/0/1 (一般在点到点使用)
目标网络号 出接口出接口: 流量从本地发出时,本地的发出接口;
写法区别:
建议在 MA 网络中,使用下一跳写法; 在点到点网络中使用出接口写法;MA:一个网段中节点的数量不限制;----以太网
点到点:一个网段中只能存在两个节点;
1.若在 MA 网络中使用了出接口写法,设备为获取下一跳的 mac 地址,将自动使用代理 ARP和ICMP 重定向来进行;
---该过程将消耗网络资源,增加网络延时。故建议直接使用下一跳写法。
代理ARP:当路由器的路由表为出接口写法时,将自动向目标 ip 地址进行 ARP 请求路由器处于 A 网段,却接收到了 B 网段的 ARP 请求,将查询本地路由表,若表中存在到达B 网段的路由,将代理成为目标 ip 地址进行 ARP 应答;
ICMP重定向:流量从路由器A口进入,查询路由表后依然从A口转出;那么路由器判断本地不是最佳的路径,将向上一跳设备反应最佳下一跳地址;
2、在点到点网络中,若使用下一跳写法;
由于路由器的查表规则为最长匹配和递归查找;故下一跳写法在点到点网络将没有出接口写法查表更快;
扩展配置:
1、负载均衡:当访问同一个目标,拥有多条开销相似路径时,可以让设备将流量拆分后延多条路径同时传输,起到带宽叠加的作用
2、手工汇总:当路由器在访问多个连续子网 (可汇总) 时,若全部基于相同的下一跳访问:那么可以将这些目标网段汇总计算后,仅编写到达汇总网段的路由即可;--减少路由表条目的数量在[R2]ip route-static 1.1.0.0 22 12.1.1.1
3、路由黑洞:主动黑洞:汇总网段中,包含了网络内实际不存在的网段时,将导致流量有去汇总合理的 ip 地址规划设计,尽量的避免或缩小主动黑洞的出现;
被动黑洞 -- 断网导致
4、缺省路由:一条不限定目标,访问所有目标的路由;路由器查表时,在查询完本地所有的直连、静态、动态路由后,若依然没有可达路由才使用该条目;
[r2]ip route-static 0.0.0.0 0 12.1.1.2
5、空接口: 路由黑洞与缺省路由相遇时,必然出现环路;可使用空接口路由来避免;空接口路由一定需要指向汇总网段,可以同时防止被动及主动黑洞;
[r2]ip route-static 1.1.0.0 22 NULL 0
6、浮动静态路由:华为的静态路由,默认优先级为 60;通过修改默认的优先级;可以实现静态路由备份的效果;
[r2]ip route-static 3.3.3.0 24 23.1.1.2 preference 61(例)
静态路由实验:
具体见(静态路由综合实验)
【8】网络部署思路:
1、拓扑设计 -ip地址规划---便于汇总、便于管理
2、实施
【1】拓扑的搭建
【2】配置
1)底层 - 所有节点拥有合法ip地址2)路由一全网可达
3)策略- 规则优化 安全
4)测试
5)排错
【3】维护
【4】升级
【9】光纤:
10BASE 以太网传输距离跟传输介质有关
10BASE5 粗同轴电缆 500m
10BASE2 细同轴电缆 200m (同轴电缆布设繁琐,不便使用)
10BASE-T 双绞线 三类 UTP 100m (逐渐成为以太网标准) 五类 150m
100BASE-TX 的标准物理介质是5 类双绞线、
100BASE-TX 2 对五类双绞线
100BASE-FX 多模光纤
100BASE-T44 对三类双绞线
1000BASE-SX 多模光纤
LX 单模
下列有关光纤的说法哪些是正确的?
多模光纤可传输不同波长、不同入射角度的光
多模光纤的成本比单模光纤低
统一 地址格式,但实际通信 ip 地址不能被物理网络识别,物理网络使用依然物理地址,因此 arp 解析出 MAC 是必要 的即设备之间数据通信既要知道 ip 地址也要解析 MAC 地址
【10】超文本传输协议
一个典型的C/S架构的协议,HTTP协议传输层是基于TCP协议来进行工作的,使用的端口号是80端口。
超文本(HyperText):是一种按照UL指示,将超文本文档从一台主机(Teb服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。
超文本传输协议HTIP:包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Teb Page)这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。
建立连接后,客户端使用http协议发送数据包给服务器.客户端发送数据包给谷歌(百度)服务器,谷歌(百度)服务器收到数据包后将数据返回给客户端的浏览器,浏览器通过渲染,最终用户看到了网站上的主页信息HTTP协议简介
第二节 网络类型
网络类型:出现原因:数据链路层协议不同,造成网络类型不同
【1】MA:多点接入网络多路访问): 一个网段中,可以部署的节点数量不限制:(条网段内上出现多个设备)
MA分为:BMA (广播型多路访问) NBMA(非广播型多路访问)
BMA:广播型多点接入(broadcast)--支持广播,所有设备之问能互访,例如:以太网
NBMA(tNOn-Broadcas Multi-Access):非广播型多点接入…--不支持广播,例如:帧中继网络切记: 不是当下存在几个节点,而是该网络允许部署多少个节点;
【2】点到点 :在一个网段中,只能部署两个节点;点到点网络(P2P)point-to-point
特点:一个网络中只有两台设备,即一根线只能连接两个设备
点到点网络的搭建:使用串线连接设备的串线接口(serial),形成一个P2P网络
串线:VAG视频线、console配置线
串线的传输标准:
E1标准 --- 传输速率定义为:2.048Mbps-欧洲标准。T1标准 --- 传输速率定义为:1.544Mbps---北美标准
【3】P2MP(点到多点网络)point-to-Multipoint
点到多点网络,由其他网络类型手动更改:例如在ospf接口下:ospfnetwork-type 网络类型
模拟组播发送协议报文(帧中继建立子接口模拟组播发报文,需要手动指定邻居
判断一个网络的网络类型,主要关注二层封装协议:
二层技术:以太网、PPP、HDLC、FR .......
以太网--BMA
HDLC/PPP--点到点
FR-NBMA
以太网的网线:RJ-45(双绞线) 光纤 同轴电缆 RJ-11(电话线)无线 wifi 2G-5G
HDLC/PPP/FR的网线-- 串线(只能传输单频,不支持频分)
以太网的核心:
频分:在同一种物理介质上,使用多个不同且相互不影响的频率来共同传输数据
实现的效果:带宽叠加
一、点到点网络中的协议
HDLC 高级链路控制协议
一、HDLC-- 高级链路控制协议 属于点到点网络类型 物理网线为串线
默认思科系 -- 串线接口默认的二层封装技术为 HDLC
注:各个厂家的 HDLC 技术均为私有技术,不兼容
例:在eNSP上搭建如图所示拓扑
查看eNSP路由器串口使用协议为PPP
修改接口协议类型为hdlc
[R2-Serial4/0/0]link-protocol hdlc
注:俩端接口都要使用同样的协议,不然就会进入一个特殊状态,接口开启但协议关闭
HDLC 为最早期的串线二层封装技术; 该技术仅执行介质访问控制工作
修改以后进行抓包查看数据内容:
抓取ICMP流量
总结:有二层单播地址就应为MA,没有二层单播地址就应为点到点
PPP -- 点到点协议
PPP -- 点到点协议:属于点到点网络类型物理网线为串线
PPP 在 HDLC 上进一升级;
公有技术,所有厂商兼容
华为系 -- 串线接口默认的二层封装技术为PPP
升级点:拨号功能
特点:
直连间配置不同网段IP地址可以正常通信
ppp协议支持验证,具备错误检测能力,但不具备纠错能力;
对网络层地址进行协商,能够远程动态分配IP地址;(一侧给另一侧设备分配IP地址)
[Huawei-Serial4/0/0]remote address 12.0.0.2--分配方
[Huawei-Serial4/0/0]ip address ppp-negotiate--被分配方ppp
兼容性较好,可同时支持多种网络层协议;
无重传机制,网络开销
PPP协议组成:
主要由LCP、NCP以及用于网络安全的可选验证协议族(PAP和CHAP)组成
LCP:链路控制协议--主要是完成ppp会话建立第一阶段的协商
NCP:网络控制协议:完成ppp会话建立的第三阶段,针对网络层协议进行协商
PPP工作过程:
总结:(最好背会)
链路建立阶段--LCP建立:通过相互发送LCP协议数据包来商议,如:MTU、链路通信模式、接口速率
认证阶段--ppp认证(可选项)
网络层协议协商阶段--NCP协商---IP地址协商ppp会话流程(状态机):
1、非同一网段 ip 地址可达:
直连的 ppp设备间自动获取对端接口 ip 地址, 生成 32 位主机直连路由
2、身份认证
PAP-- 明文认证
被验证方首先发起验证请求,两次握手验证
密码以明文传送;
支持单、双向认证;
主认证方:服务器端
[R1]aaa 创建一个叫aaa的账户
[R1-aaa]local-user qq privilege level 15 password cipher 123456账号名字 权限大小 密码
[R1-aaa]local-user qq service-type ppp 定义这个账号是用来做认证的
[R1-Serial4/0/0]ppp authentication-mode pap 在s4/0/0口要求认证为ppp被认证方:客户端
[R2-Serial4/0/0]ppp pap local-user qq password cipher 123456
注意:主认证方配置完命令后需要重启接口
CHAP-- 挑战质询握手协协议 (密文认证)
主验证方首先发起验证请求,三次握手验证;
不发送密码,安全性PAP高;
支持单双向验证;
主认证方:服务器端
[R1]aaa 创建一个叫aaa的账户
[R1-aaa]local-user qq privilege level 15 password cipher 123456账号名字 权限大小 密码
[R1-aaa]local-user qq service-type ppp 定义这个账号是用来做认证的
[R1-Serial4/0/0]ppp authentication-mode chap 在s4/0/0口要求认证为chap被认证方:客户端
[r2-Serial4/0/0]ppp chap user qq 登陆账号
[r2-Serial4/0/0]ppp chap password cipher 123456 输入密码
3、建立虚链路
4、分配ip 地址ppp mp简介:
MP(multiink ppp),将多个ppp链路捆绑后,当做一条链路使用;
MP可以实现增加带宽、负载分担、链路备份以及降低报文时延的目的
配置方式:用MP-GROUP配置
[H3C]interface Mp-group mp-number 创建MP-Group接口
[H3C-Serial1/0] ppp mp Mp-group mp-number 加入MP-Group组
例:配置实例
实验
解题过程见(PPP验证实验)
二、以太网(共享型网络)
以太网-- 共享型网络 --- 属于 BMA 网络类型 存在二层的单播地址--MAC 地址
因为以太网存在二层单播地址,故属于 MA 类型;同时允许广播、洪泛机制,所以属于 BMA类型;
以太网技术为二层技术,二层技术最重要的功能依然是控制物理层;
以太网的特点是频分,在同一物理介质上使用多个相互不影响的频率来共同传输数据,
实现带宽的叠增;
(1)以太网协议
定义:以太网不是一个网络,而是一个协议,传输标准Ethernet 类型帧的网络
特征:多路访问,广播式的网络,需要使用MAC地址对设备进行区分和标识
构建方法:使用以太网线连接设备的以太网接口,形成的网络是以太网络,所运行的二层协议就是以太网协议
以太网线:同轴电缆、光纤、双绞线
以太网接口:设备一般提供百兆、千兆、万兆接口
以太网特色:可以提供极大的传输速率…频分技术:一根铜丝上其实可以同时发送不同频段的电波而互不干扰,实现数据的并行发送,起到曼加带宽的效果
三、GRE(通用路由封装)
GRE-- 通用路由封装:是一种简单的 VPN 技术;属于虚拟的点到点网络类型
VPN-- 虚拟专用网络 两个网络穿越中间网络直接通讯;
实质:在原有的三层报头上在添加一个三层报头。
搭建一个VPN环境
拓扑设计如下:
当我们在eNSP上搭建并配置完上图中的拓扑,然后保证公网通后,
注:私网与公网直接应该写缺省路由
进行虚拟链路的搭建:
Tunnel口的搭建
在R1上配置
[R1]interface Tunnel 0/0/0 创建虚拟隧道
[R1-Tunnel0/0/0]ip address 192.168.3.1 24 配置虚拟ip
[R1-Tunnel0/0/0]tunnel-protocol gre 选择封装类型为gre含义是当流量从Tunnel 0/0/0口走的时候,我们给他原有的三层报头上封装一个gre报头
这个报头的源ip为12.1.1.1 目标IP为23.1.1.2
定义源目IP
[R1-Tunnel0/0/0]source 12.1.1.1
[R1-Tunnel0/0/0]description 23.1.1.2模拟:
二层 新加三层 源ip为12.1.1.1
目标IP为23.1.1.2
旧三层报头 源ip为192.168.3.1
目标ip为192.168.3.2
四层 在R3上配置
[R3]interface Tunnel0/0/0
[R3-Tunnel0/0/0] ip address 192.168.3.2 255.255.255.0
[R3-Tunnel0/0/0] tunnel-protocol gre
[R3-Tunnel0/0/0] source 23.1.1.2
[R3-Tunnel0/0/0] destination 12.1.1.1
私网通
切记: GRE 链路建立后,仅仅完成的拓扑连接的效果,仅存在直连路由;
若需要两个网络基于该 GRE 隧道传输,必须考虑路由问题;
[R1]ip route-static 192.168.2.0 24 192.168.3.2
[R3]ip route-static 192.168.1.0 24 192.168.3.1
结果:
总结:搭建GRE一共要进行三大步骤
第一步:公网的搭建,保证公网通
第二步:R1 R3上的Tunnel口的搭建
第三步:GRE 链路建立后,写俩私网通过Tunnel口的路由
四、MGRE
MGRE---多点GRE 属于 NBMA 网络类型
若多个网络需要通过 VPN 互联,使用点到点的普通 GRE,必须两两间建立隧道,两两间编辑路由; 导致网段数量和路由条目数量成指数上升;
MGRE ---所有节点存在同一个 MA 网段; 且为中心到站点结构;该结构中,默认仅中心站点需要固定公有 ip 地址;分支站点地址可变化;--- 大大降低的管理难度,资源占有量,成本;
NHRP:下一跳路径发现协议: 存在服务端和客户端;服务端需要固定公有 p 地址,客户端 ip 地址可变;客户端在本地公有 ip 变化后,主动向服务端进行注册,服务端生成 MAP。MAP 中记录客户端的公有 ip 与 tunnel 接口的 ip 地址对应关系;若其他客户端需要访问另一个客户端,可以到服务端下载该 MAP;
搭建一个MGRE环境
拓扑设计如下:
当我们在eNSP上搭建并配置完上图中的拓扑,然后保证公网通后,
注:私网与公网直接应该写缺省路由
进行虚拟链路的搭建:
Tunnel口的搭建
中心站点配置
R1
[R1]int t 0/0/0
[R1-Tunnel0/0/0]ip add 192.168.4.1 24
[R1-Tunnel0/0/0]tunnel-protocol gre p2mp (定义该隧道为多点gre隧道)
[R1-Tunnel0/0/0]source 14.1.1.1(该隧道加封装的报头源IP地址,通过nhrp协议 获得加封装的目标IP地址)
[R1-Tunnel0/0/0]nhrp entry multicast dynamic (宣告自己为nhrp的中心(服务端))
[R1-Tunnel0/0/0]nhrp network-id 100 (NHRP 的工作编号,该网段所有设备必须在同一 id)分支站点配置
R2
[R2]int t 0/0/0
[R2-Tunnel0/0/0]ip add 192.168.4.2 24
[R2-Tunnel0/0/0]tunnel-protocol gre p2mp加封装的源 ip 地址,为本地的隧道实际通过接口的 ip 地址,填写接口编号,而不是接口
原因在于该接口 ip 地址可变
[R2-Tunnel0/0/0]source GigabitEthernet 0/0/1
[R2-Tunnel0/0/0]nhrp entry 192.168.4.1 14.1.1.1 register 加封装的目标 ip 地址,需要到 NHRP 中心点获取。去找192.168.4.1注册,他的物理IP地址为14.1.1.1[R2-Tunnel0/0/0]nhrp network-id 100
R3
[R3]INT T 0/0/0
[R3-Tunnel0/0/0]ip add 192.168.4.3 24
[R3-Tunnel0/0/0]tunnel-protocol gre p2mp
[R3-Tunnel0/0/0]source GigabitEthernet 0/0/2
[R3-Tunnel0/0/0]nhrp entry 192.168.4.1 14.1.1.1 register
[R3-Tunnel0/0/0]nhrp network-id 100查看所有注册信息
<R1>display nhrp peer all
值得注意的是:在R2没有访问如R3之前他的注册表为
在R2访问过R3后
证明:R2在访问R3之前,去找R1注册过
私网通
只有RIP协议去自动获取路由
[R1]rip 1
[R1-rip-1]version 2
[R1-rip-1]network 192.168.1.0
[R1-rip-1]network 192.168.4.0[R2]rip 1
[R2-rip-1]version 2
[R2-rip-1]network 192.168.2.0
[R2-rip-1]network 192.168.4.0[R3]rip 1
[R3-rip-1] v 2
[R3-rip-1]network 192.168.3.0
[R3-rip-1]network 192.168.4.0但,此时R1会同时拥有R2的路由R3,但R2与R3只拥有R1的路由(原因:水平分割)
因此需要关闭R1的水平分割,从而使R1可以发送伪广播
[R1-Tunnel0/0/0]undo rip split-horizon
伪广播一当目标IP 地址为组播或广播地址时,将流量基于每个单播报头,内层报头为组播或广播报头; 该功能不开启,正常基正常使用;
[r1]dis nhrp peer all 查看分支站点注册结果
第三节 OSPF基础
一、OSPF基础
1、技术背量 (RIP中存在的问题)
RIP中存在最大跳数为15的限制,不能适应大规模组网
周期性发送全部路由信息,占用大量的带宽资源
路由收敛速度慢
以跳教作为度量值
存在路由环路可能性
每隔30秒更新RIP 使用组播地址:224.0.0.9
2、OSPF协议特点
没有跳数限制,适合大规模组网
使用组播更新变化的路由和网络信息
路由收敛快
以COST作为度量值
采用SPF算法有效避免环路
每隔30分钟更新
在互联网上大量使用,是运用最广泛的路由协议OSPF使用组播地址:224.0.0.5 224.0.0.6
注意:OSPF传递的是拓扑信息和路由信息,RIP传递的是路由表
3、OSPF三张表
邻居表:记录邻居状态和关系display ospf peer
拓扑表:链路状态数据库(LSDB)display ospf lsdb
路由表:记录由SPF算法计算的路由,存放在OSPF路由表中
display ip route ospf
注意:区域间传路由,区域内传拓扑
4、OSPF数据包(可抓包)
OSPF报文直接封装在IP报交中,协议号89
头部数据包内容
版本(Version):对于OSPFV2,该字段值恒为2.
类型(Type):该OSPF报文的类型。该字段的值与报文类型的对应关系是:1-Hello;2-DD;3-LSR;4-LSU;5-LSAck。
报文长度(Packet Length):整个OSPF 报文的长度(字节数)。路由器ID (Router ldentification):路由器的OSPF Router-ID.
区域ID(Area ldentification):该报文所属的区域ID,这是一个32bit的数值。
校验和(Checksum):用于校验报文有效性的字段。
认证类型(Authentication Type):指示该报文使用的认证类型。认证数据(Authentication Data):用于报文认证的内容,
5、OSPF数据包
(1)Hello包:用来周期性的发现 建立 和 保活 邻居关系
- 网络掩码(Network Mask):一旦路由器的某个接口激活了OSPF,该接口即开始发送Hello报文,该字段填充的是该接口的网络掩码。两台OSPF 路由器如果通过以太网接口直连,那么双方的直连接口必须配置相同的网络掩码,否则影响邻居关系建立。
- Hello间隔(Hello Interval):接口周期性发送Hello报文的时间间隔(单位为s)。两台直连路由器要建立OSPF邻居关系,需确保接口的Hello Interval相同,否则邻居关系无法正常建立。
- 可选项(Options):该字段一共8bit,每个比特位都用于指示该路由器的某个特定的OSPF 特性。Options字段中的某些比特位会被检查,这有可能会直接影响到OSPF邻接关系的建立。(特殊区域的标记)
- 路由器优先级(Router Priority):路由器优先级,范围:0-255,默认是1,值越大,优先级越高,也叫DR优先级,该字段用于DR、BDR 的选举
- 路由器失效时间(Router Dead Interval):在邻居路由器被视为无效前,需等待收到对方Hello报文的时间(单位为s)。两台直连路由器要建立OSPF 邻居关系,需确保双方直连接口的Router Dead Interval相同,否则邻居关系无法正常建立。缺省情况下,OSPF路由器接口的Router Dead Interval为该接口的Hello Interval的4倍。
- 指定路由器(Designated Router):网络中DR的接口IP地址。如果该字段值为0.0.0.0,则表示没有DR,或者DR尚未选举出来。
- 备份指定路由器(Backup Designated Router):网络中 BDR的接口IP地址。如果该字段值为0.0.0.0,则表示网络中没有BDR,或者BDR尚未选举出来。
- 邻居(Neighbor)。在直连链路上发现的有效邻居,此处填充的是邻居的Router-iD,如果发现了多个邻居,则包含多个邻居字段。
(2)DBD(数据库描述报文):仅包含LSA摘要
(3)LSR:请求自己没有的或则比自己更新的链路状态详细信息
链路状态类型,链路状态ID,通告路由器 ---“LSA二元组” --- 通过着三个参数可以唯一的标识出一条LSA
(4)LSU包:链路状态更新包
在MA网络中,非 DR、BDR路由器向224.0.0.6这个组播地址发送LSU报文,而DR及 BDR会侦听这个组播地址,DR在接收LSU报文后向224.0.0.5发送LSU报文,从而将更新信息泛洪到整个OSPF区域,所有的OSPF 路由器都会侦听224.0.0.5这个组播地址。
总结:
224.0.0.5所有运行OSPF的接口会监听
224.0.0.6所有DR\BDR的接口会监听
(5)LSAck:对LSU的确认
报文中包含着路由器所确认的LSA的头部(每个LSA头部的长度为20byte)
6、OSPF的状态机
(1)down:关闭状态(稳定状态),这种情况处于手动指定邻居的情况下,发送hello包之后进入下一个状态
(2)INIT:初始化状态,收到对方的hello报文,但没有收到对方的hello确认报文
(3)Attempt(尝试):一般不会出现,只出现在NBMA网络中,发出hello,但收不到对方的hello包
(4)2-way(稳定状态):双方互相发现,邻居状态稳定,并确认了DR/BDR的角色;当选举完毕后,就算出现一台优先级更高的路由器,也不会替换成新的DRIBDR;需要原DR\BDR失效,或重置OSPF进程才会成为新的DRIBDR;
2-way的前提:
Router-id无冲突,修改router-id需要重置ospf进程使生效:
掩码长度一致(MA网络中);
区域ID一致;
验证密码一致;hello-time一致;
dead-time一致;
特殊区域类型一致;
(5)Exstar:交换开始状态;发送第一个DD报文,但不发送LSA摘要,仅用于确定LSDB协商的主从,ROUTER-ID大的成为master
(6)Exchange:交换状态;发送后续DD报文,用于通告LSDB摘要(7)Loading:读取状态,进行LSA的请求、加入和确认
(8)Ful:邻接状态(稳定状态),两端同步LSDB;FULL的前提:两端MTU一致,否则可能卡在EXSTARTExchange状态能够计算路由的前提:两端网络类型一致,否则邻居状态fu,但无法学习路由
7、LSDB的更新(常考点)
二、OSPF的区域划分
1、区域产生背景
如果OSPF域仅有一个 OSPF路由器在同一个区域中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。
如果OSPF只有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题。
2、分区好处
减少LSA泛洪范围;
减小路由表规模;
提高网络扩展性,有利于组建大规模的网络;
3、区域类型
骨干区域:
- 描述:OSPF 网络中的核心区域,所有其他区域必须通过骨干区域进行互联。
- 编号:标准区域 0,通常称为区域 0。
- 特点:必须连接所有其他区域,起到路由转发的核心作用。
非骨干区域:
- 描述:这是最基本的 OSPF 区域类型。它包括 OSPF 路由器的所有常规功能。
- 特点:所有类型的 LSAs(链路状态广告)都在该区域中传播。
- 适用情况:适用于普通网络中的大多数区域。
特殊区域:减少邻居关系
邻居关系过多缺点:
(1)大量产生hello包,消耗CPU性能
(2)产生重复路由通告,消耗CPU性能
(3)任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源
多区互连原则:
非骨干区域与非骨干区域不能直接相连;
所有非骨干区域必须与骨干区域相连:此设计是为防止区域间环路:
4、OSPF的路由器类型
区域内路由器(IR):所有接口在同一区域
边界路由器(BR):所有接口都在骨干区域
区域边界路由器(ABR):连接骨干区域和非骨干区域
自治系统边界路由器(ASBR):连接外部自治系统并引入外部路由
OSPF相关命令
1.认证
接口认证:
interface GigabitEthernet0/0/0
ospf authentication-mode md5 1 plain 123456
区域认证:
本质依然是接口认证
area 0.0.0.0
authentication-mode md5 1 plain 123456
network 192.168.1.0 0.0.0.255
2.手工汇总
区域汇总:ABR上进行配置
[r4-ospf-1area] 0 进入对应的区域
[r4-ospf-1-area-0.0.0.0]abr-summary 172.16.0.0 255.254.0.0 汇总(掩码只能写点分十制)
3.沉默接口:
[r5-ospf-1]silent-interface GigabitEthernet 0/0/1 配置位置
4.加快收敛
[r4-GigabitEthernet0/0/1]ospf timer hello 5 -只需要接口改变hello时间
死亡时间默认会根据4被的关系,自动修改
结论:所有接口都需要修改
5.缺省路由
通告默认路由
[r5-ospf-1]default-route-advertise 配置位置,ospf进程中
必须给自身存在一条缺省,才能给其他设备下发缺省
[r5-ospf-1]default-route-advertise always 强制下发缺省
Pe>tracert 200.1.1.1 # 可以查看流量经过路径
第四节 OSPF基础(LSA)
一、LSA的头部
“LSA三元组” ----链路状态类型,链路状态ID,通告路由器
LSA是OSPF的一个核心内容,如果没有LSA,OSPF是无法描述网络的拓扑结构及网段信息的,也无法 传递路由信息,更加无法正常工作,在OSPFV2中,需要我们掌握的主要有6种。
LSA头部一共20byte,每个字段的含义如下。
链路状态老化时间(Link-State Age):指示该条LSA的老化时间,即它存在了多长时间,单位为秒,1800s周期归0,触发当下归0
MAX age --- 3600S ------ 当一条LSA的老化时间到达最大老化时间时,将被认定失效,将从本地的 LSDB中删除掉。
可选项(Options):每一个比特位都对应了OSPF 所支持的某种特性。 ------ 和hello包中的一样,包含特殊区域标 记
链路状态类型(Link-State Type): 指示本条LSA的类型。每种 LSA用于描述OSPF 网络的某个部分,所有的LSA 类型都定义了相应的类型编号。
链路状态ID(Link-State ID): LSA的标识。不同的LSA类型,对该字段的定义是不同的。
通告路由器(Advertising Rout er): 始发路由器, 产生该LSA的路由器的Router-ID
链路状态序列号(Link-Sate Sequence Number):该LSA的序列号,该字段用于判断LSA的新旧或是否存在重复(相同的路由信息,序列号越大的越新)
链路状态校验和(Link-State Checksum):校验和会参与LSA的新旧比较。当两条LSA三元组相同,并且序列号也 相同时,则可以使用校验和比较,和大的认定为新。
长度(Length):一条LSA的总长度
链路状态类型,链路状态ID,通告路由器 ---- “LSA三元组” --- 通过着三个参数可以唯一的标识出一条LSA
二、6种类型的LSA
注意:
区域内传拓扑,区域间传路由
<R2>display ospf routing #查看OSPF路由表
<R2>display ospf lsdb ? #? 可替换为区域名字 查看区域内路由信息
1、type1-LSA:----重要且复杂
(1)定义:router LSA
描述区域内部与路由器直连的链路信息(链路类型、开销值等)
仅在区域内部传输
每台路由器都会产生Type1 LSA
[R1]dis ospf lsdb router 查看Type1 LSA的具体信息
(2)LSID:发出该LSA的路由器的router-id
(3)Adv Rtr:始发路由器,产生该LSA的路由器的router-id
(4)链路ID:不同的链路类型,对链路ID值的定义是不同的。
(5)链路数据(Link Data):不同的链路类型对链路数据的定义是不同的。
(6)link-type:链路类型
transnet:
类型:广播网络或者NBMA
link-id:本网段的DR的IP地址
Date:本路由器在该网段的IP地址
P2P:
类型:ppp
link-id:该网段对端路由器的router-id
Date:本路由器在该网段的与对端路由器相连的接口的IP地址
stubnet(末梢网络):
类型:p2p\环回口\末梢网络
link-id:该网段的网络地址
data:该网段的子网掩码
Virtual(虚链路):
类型:虚链路
link-id:虚链路邻居的router id
data:去往该虚连接邻居的本地接口的IP地址
(7)VEB标志位:
V位(Virtual Link Endpoint Bit):如果该比特位被设置为1,则表示该路由器为Virtual Link的端点。
E位(External Bit):如果E比特位被设置为1,则表示该路由器为ASBR。在Stub区域中,不允许出现E比特位被设置 为1的Type-1 LSA,因此Stub区域内不允许出现ASBR。
B位(Border Bit):如果B比特位被设置为1,则表示该路由器为两个区域的边界路由器,字母B意为Border(边界
2、type2-LSA:
(1)定义:
network LSA
描述区域内的MA网络(广播网络、NBMA网络)链路的路由器及掩码信息
仅在区域内部传输
只有DR才会产生type2_LSA
[R1]dis ospf lsdb network 查看Type2 LSA的具体信息
(2)内容:
LS ID:该网段的DR的IP地址
Adv Rtr:该网段DR的router-id
network mask:该网段DR的IP地址的子网掩码信息
3、type3-LSA:
(1)定义:
Summary LSA(聚合LSA)
在整个OSPF域内,描述其他区域的链路信息
以子网形式传播,类似直接传递路由
只有ABR会产生type3_LSA
(2)内容:
LSID:其他区域某个网段的网络地址
Adv Rtv:通告该LSA的ABR的router-id
net mask:该网段的子网掩码[R1]dis ospf lsdb summary 查看Type3 LSA的具体信息
4、type4-LSA:
(1)定义:
Asbr-summary LSA
描述ASBR的信息
只有ABR才会产生TYPE4 LSA
(2)内容:
LS ID:ASBR的router-id
Adv Rtv:通告描述该ASBR的ABR的router-id
[R1]dis ospf lsdb asbr 查看Type4 LSA的具体信息
注:在ASBR本区域的内部路由器,不会产生到达该ASBR的4类LSA
5、type5-LSA:
(1)定义:
AS_extenal LSA,传递域外 路由信息
描述AS外部引入的路由信息,会传播到所有区域(特殊区域除外)
只有ASBR才会产生type5_LSA
(2)内容:
LS ID:外部路由的目的网络地址
Adv Rtv:引入该网络路由的ASBR的ABR的router-id
net mask:引入的该目标网段的子网掩码
[R1]dis ospf lsdb ase 查看Type5 LSA的具体信息
6、type7-LSA:
(1)定义:
NSSA LAS
描述在NSSA区域引入的AS外部路由信息
只会出现在NSSA和totally NASS区域,不能进入area 0
7类LSA生成路由信息的标记位,O_NSSA,优先级150
(2)内容:
LS ID:外部某个网段的网络地址
Adv Rtv:引入该网络路由的ASBR的ABR的router-id
三、OSPF的网络类型
1、定义:
对于不同的二层链路类型的网段,OSPF会生成不同的网络类型 不同的网络类型,DR\BDR选举,LSA细节,协议报文发送形式等会有所不同
2、类型:
(1)NBMA(非广播多点可达网络)
非广播多点可达网,帧中继默认的网络类型
单播发送协议报文(天生不支持广播和组播),需手动指定邻居(麻烦,手工一个个配置邻居麻烦,万一邻居地 址变动,又得重新配置)
命令:[r2-ospf-1]peer 192.168.1.1 (邻居IP地址)
需要选举DR\BDR,为了减少LSA的泛洪,减少网络负担
hello-time 是30秒,dead-time 是120秒
(2)P2MP(点到多点网络)
点到多点网络,由其他网络类型手动更改:例如在ospf接口下:ospf network-type 网络类型
模拟组播发送协议报文(帧中继建立子接口模拟组播发报文),需要手动指定邻居;
不选举DR\BDR,因为设备少,所以不选举
hello-time 是10秒,dead-time 是40秒
(3)Broadcast(广播网络)
广播网络,以太网默认的网络类型
组播或广播发送协议报文
需要选举DR\BDR,224.0.0.5是所有运行OSPF(DROTHER)的接口会监听,
224.0.0.6是所有DR/BDR的接口 会监听
hello-time 是30秒,dead-time 是120秒
(4)P2P(点到点网络)
点到点网络,ppp默认网络
组播协议发送报文
不选举DR\BDR
hello-time 是10秒,dead-time 是40秒
四、基于OSPF的MGRE实验
基于ospf的MGRE出现问题:ospf的路由表学习不全
问题1:Tunnel接口类型为P2P类型,不选举DR/BDR,使得设备无法正常建立邻接关系, 解决方法:更改网络中tunnel接口类型为广播或者P2MP
[R2]interface Tunnel 0/0/0
[R2-Tunnel0/0/0]ospf network-type broadcast
问题2:DR和BDR选举混乱,无法正常建邻
更改网络类型后,广播网络中中心站点和分支站点处于同一个广播域,此时需要进行DR和BDR的选 举,但是在分支站点的世界里只和中心站点认识,分支站点和分支站点不认识,这就会发生多个分支 站点和一个中心站点互相竞选DR和BDR,这样会造成选举结果混乱,可在中心站点看到混乱的场景 解 决方法:将分支站点的dr选举优先级变0,这样就能保证中心站点是整个广播网络中唯一的DR
第五节 OSPF高级特性
一、OSPF不规则区域类型
产生原因:区域划分不合理,导致的问题
1、非骨干区域无法和骨干区域保持连通
2、骨干区域被分割
造成后果:非骨干区域没和骨干区域相连,导致ABR将不会帮忙转发区域间的路由信息。非骨干区域 无法和骨干区域保持连通
二、解决方案
1、使用虚连接
解决方法:通过在一个中间区域的2个ABR上配置虚连接来使两端的区域实现逻辑上的连接,比如途中的中间区域就是area1 ,在R2和R4上配置虚连接即可
命令:在区域视图下:vlink-peer 1.1.1.1(对端路由器的router id)
演示一:非骨干区域无法和骨干区域保持连通
使用虚拟链路建立的邻居关系
[RTBlospf 1 router-id 2.2.2.2
[RTB-0spf-1]area 1
[RTB-0spf-1-area-0.0.0.1]vlink-peer 3.3.3.3
查看虚拟链路建立的邻居关系
[R2]dis ospf vlink
特征:
只能在两个区域的边界路由器上配置;
中间区域的区域视图下配置;
只能穿越一个区域;
注:虚连接不能穿越stub区域、NSSA区域
友情提示提示:虚连接的配置会给路由器带来一些额外的负担,尽量在早期规划的区域的时候,合理 规划
演示二:骨干区域被分割
注:反掩码没有偶数。
当配置完路由时,直接查看OSPF路由表会发现
R1
R2
R3
R4
注:由于默认OSPF协议下环回接口网络类型与其他接口网络接口类型不一致,因此以上路由表中环回接口子IP地址网掩码默认为32位。
解决办法:修改环回接口网络类型
[R4-LoopBack0]ospf network-type broadcast
、
配置虚连接:
[R2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3
[R3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
查看R2的OSPF路由表:[R2]display ip routing-table protocol ospf
显示虚连接信息[R2]dis ospf vlink
特征:
只能在两个区域的边界路由器上配置;
中间区域的区域视图下配置;
只能穿越一个区域;
注:虚连接不能穿越stub区域、NSSA区域
友情提示提示:虚连接的配置会给路由器带来一些额外的负担,尽量在早期规划的区域的时候,合理 规划
2、使用多进程双向重发布
重发布(路由引入):在运行不同协议或不同进程的边界设备(ASBR --- 自治系统边界路由器,协议边 界路由器)上,将一种协议按照另一种协议的规则发布出去
R4充当ASBR的角色,在其上运行两个OSPF协议。然后利用重发布进行共享。
[R4-ospf-1]import-route ospf 2
[R4-ospf-2]import-route ospf 1
只需在ASBR(R4)上配置双向重发布,就可以在R5上接收到路由
注意:
OSPF在不同设备上可以使用不同进程(前提是区域划分一样,即在同一个区域(如:area1 使用OSPF1,area2使用OSPF2,需要使用重发布引入 ))
OSPF在同一个设备上使用不同进程号,需要路由引入
三、特殊区域
末梢区域,适用于区域中路由器性能较低,目的是为了减少区域中路由器的路由表规模以及路由信息传递的数量。不希望接收大量的AS以外路由的场景
[r5-ospf-1-area-0.0.0.2]stub
将R3和R4设置为stub区域,观察R3和R4的ospf路由表
(1)定义:
完全末梢区域,拒绝学习域外和其他区域的路由信息
[r5-ospf-1-area-0.0.0.2]stub no-summary
将R3和R4设置为totally stub区域,观察R3和R4的ospf路由表
(1)定义:
非纯末梢区域,是STUB区域的变形,拒绝学习域外(主要是5类)路由信息,但需要引入后面的域外路由信息
不接受4类5类LSA;
本区域的ABR会 把引入的7类LSA转换为5类 LSA通告给其他区域;
华三中:NSSA区域的默认路由需要手动配置下发,在ABR下发的是7类默认路由的LSA;
命令:nssa default-router-advertise
[r5-ospf-1-area-0.0.0.2]nssa
将R3和R4设置为NSSA区域,观察R1和R2的ospf路由表
完全非纯末梢区域
本区域的ABR会把引入的7类LSA转换为5类 LSA通告给其他区域
[r5-ospf-1-area-0.0.0.2]nssa no-summary
不能是骨干区域;
不能存在虚链路;
将R3和R4设置为totally nssa区域,观察R3和R4的ospf路由表
四、OSPF路由聚合
针对3类、5类、7类LSA;OSPF路由只能手动聚合(LSA)
[RTB-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0 not-advertise
注:使用聚合实现路由过滤,在聚合后加入not-advertise参数
[RTA-ospf-1]asbr-summar 192.168.0.0 255.255.252.0 not-advertise
第六节 OSPF高级特性
一、OSPF安全特性
[r3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
接口验证模式:链路两端的接口必须配置一致的密码才能建立邻居关系
[r5-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r4-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 md5 1 cipher 123456
注:接口认证高于区域认证,只要接口验证通过,区域验证哪怕失败,也不影响邻接关系建立
为了使OSPF路由信息不被其他路由器获得,配置静默接口:
[r5-ospf-1]silent-interface GigabitEthernet 0/0/2
(1)特点:影响本机及下游路由器的OSPF表的学习,过滤本机及下游路由器的LSDB表中的LSA,在协议视图下配置进方向
方法2:在传入区域的区域视图下配置出方向,不影响本机ospf表的学习,但影响下游路由器ospf表的学习,过滤本机及下游路由器的LSDB表中的LSA
(3)过滤5类/7类LSA:
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0 not-advertise
二、加快收敛
1、修改hello时间:[r5-GigabitEthernet0/0/0]ospf timer hello 5
2、修改死亡时间:[r1-GigabitEthernet0/0/0]ospf timer dead 20
三、缺省路由
命令:[r2-ospf-1]default-route-advertise --- 相当于将本设备上通过其他方式学到的缺省路由,重发布到OSPF网络当中
命令:[r2-ospf-1]default-route-advertise always --- 在设备上没有其他网络学来缺省信息时,可以强制下发一条5类缺省。
四、路由控制
[r3-ospf-1]bandwidth-reference 1000 --- 修改参考带宽需要将所有OSPF网络中的设备都改成相同的。
[r3-GigabitEthernet0/0/0]undo negotiation auto --- 关闭自动协商
五、显示OSPF的错误统计信息
附录E(了解)
当ASBR引入多条网络地址一致,掩码不一致的外部路由时,路由器会把除了第一条以外的,外部路由产生的5类LSA的LS ID的主机位做全反(0变255)操作,来防止LS ID冲突
六、OSPF防环
域内防环:OSPF区域内部计算出的路由信息是不会存在环路的,这主要得益于OSPF使用的算法 --- SPF(最短路径优先)算法。
七、OSPF选路原则
八、OSPF综a合实验
1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP;
3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两个环回,其他路由器均有一个环回IP
5、减少LSA的更新量,减少路由表的路由条目,加快收敛,保障更新安全;
实验步骤请看OSPF综合实验
第七节 路由引入、路由过滤、路由策略
一、路由引入
1、重发布(路由引入)
背景:一个网络拓扑中存在多种不同的路由协议,为了使多种不同的路由协议间能相互通信,出现了路由引入
2、路由引入的情形:
在边界设备(ASBR设备)上,同时运行多种路由协议。需要将一种路由协议引入到另一种路由协议中学习;把路由在同种协议的不同进程间的引入
注意:关注两种协议起始度量值,引入时原路由
3、规则:
重发布举例:
举例1:将OSPF路由引入RIP:
在rip进程视图下:[R2-rip-1]import-route ospf 1 如果不指定cost,路由重发布进RIP后,cost缺省为0;包括环回口。
举例:2:将RIP路由引入OSPF:在OSPF进程视图下:[R2-ospf-1]import-routerip 1 如果不指定cost,路由重发布进ospf后,cost缺省为1;type类型为E2;包括环回口;
举例3:将静态引入到动态协议中:[r2-rip-1]import-route static 如果不指定cost,路由重发布进动态后,cost缺省为0(导入哪一个协议就遵循哪一个协议的引入原则)
举例4:将直连路由导入到动态路由协议中:[r2-rip-1]import-route direct(导入哪一个协议就遵循哪一个协议的引入原则)
4、修改起始度量值命令
进程当中对全局进行修改:[r2-rip-1]defaut-cost 2
针对本次重发布进行修改:[r2-rip-1]import-route ospf1 cost 3
5、多协议网络规划
一般情况下,建议跑单协议
路由协议的规划规则:
(1)从边缘引入核心;
因为边缘设备的性能低,承受能力差,核心网络的路由器性能比较好,承受能力强。但核心的路由需要引入边缘,这时建议在边界路由器上下发一条缺省路由,以保证边缘的路由器可以通过这条缺省路由访问核心网络。
(2)从IGP引入到BGP
静态路由:180
内部网关协议:IGP(RIP‘100’\OSPF‘150’) 优先级
外部网关协议:BGP
原因:
公网上路由太多了,要是将BGP公网上的路由引入内网的ospf中,会造成内网路由器承受不住,所以一般建议从IGP引I入到BGP,但我们仍然有学习BGP上路由的需求,所以从BGP引入IGP时,建议IGP内部通过配置默认路由或者路由聚合达到进入其他AS的路由。
6、路由引入
(1)单向路由引入
在OSPF进程视图下:import-routerip1
(2)双向路由引入
双向引入可以知道对方的具体路由
注:只在一个边界路由器上做引入,当这个路由器故障时,会造成网络瘫痪。但在多个路由器上做引入,又会产生环路问题。
7、产生问题:
(1)路由引入规划不当会导致路由环路问题和次优路径选择问题
解决方法1:
使用Tag来进行选择性路由引入在路由引入时加上Tag标记值,根据tag标记值来选择引出的路由配置示例:将OSPF路由引入RIP中时,打上标记值
抓取流量:
[R2]acl 2000
[R2-acl-basic-2000]rule permit source 100.1.1.0 0.0.0.255用路由策略修改路由属性:
[R2]route-policy aa permit node 10 # permit “允许”
[R2-route-policy]if-match acl 2000
[R2-route-policy]apply tag 99 # 打上标签99
[R2]route-policy aa permit node 20 # 空节点允许所有(因为默认拒绝所有)
调用路由策略:
[R2-rip-1]import-route ospf route-policy aa
在R3做个筛选,对于含有99标记的路由不引入:
[R3]route-policy bb deny node 10 # deny:拒绝
# 定义了一个名为
bb
的路由策略,若达到这个节点将被拒绝[R3-route-policy]if-match tag 99
[R3]route-policy bb permit node 20
[R3-ospf-1]import-route rip route-policy bb注意:
[R2]route-policy aa permit node 10 # permit “允许”
route-policy aa
:创建一个名为aa
的路由策略。
permit node 10
:在这个策略中,节点 10 被设置为“允许”。这意味着,当路由条目处理到这个节点时,它将被允许通过,最终可以进入路由表或进一步处理。[R2-rip-1]import-route ospf route-policy aa
路由策略
aa
用于过滤和控制从 OSPF 导入到 RIP 的路由条目。具体来说,策略aa
的作用是基于在aa
中定义的规则来决定哪些 OSPF 路由应该被允许导入到 RIP 路由表中。
解决方法2:
合理规划引入路由的初始度量值,避免引入次优路由规划引入路由的优先级,避免引入次优路由
抓取流量:
[R3]acl 2000
[R3-acl-basic-2000]rule permit source 100.1.1.0 0.0.0.255写路由策略:
[R3]route-policy qq permit node 10
[R3-route-policy]if-match acl 2000 # 如果匹配 acl 2000
[R3-route-policy]apply preference 151 # 申请修改优先级为151[R3]route-policy qq permit node 20 # 空节点允许所有
调用路由策略:
[R3-rip-1]preference route-policy qq # 在RIP视图下调用
二、路由过滤:
定义:路由器在发布或者接收消息时,可能需要对路由信息进行过滤,
作用:控制路由的传播与生成;节省设备和链路资源消耗,保护网络安全。
举例:学习汇总后的路由,而不学习汇总时的明细路由
路由过滤方法:
常用的路由过滤工具:
(1)静默接口:
在RIP协议中,静默接口不发送路由更新
在OSPF协议中,静默接口不发送OSPF协议报文
(2)ACL:通过ACL抓取流量,
缺陷:只能匹配数字特征,不能匹配掩码特征,导致匹配不精确;
(3)地址前缀列表:匹配IP地址前缀,
即目的网络地址和掩码长度--精确匹配;
区别:ACL与地址前缀列表:
使用一条ACL抓取以下流量
192.168.0.0/24
192.168.0.0/16192.168.0.0/8
rule permit source 192.168.0.0 0.0.0.255 # 抓取不够精确 只匹配192.168.0这个数字特征注:如果所有表项为deny模式,则任何路由都不能通过该过滤列表。这种情况下,需要在多条deny模式的表项后定义一个允许规则:permit 0.0.0.0less-equal 32表项,允许其它所有IPV4路由信息通过
例子:(只有第二条对)
(4)filter-policy(过滤策略)
[RTB]ip prefix-list abc index 10 deny 10.0.1.0 24
[RTB]ip prefix-ist abc index 20 deny 10.0.2.0 24
[RTB]ip prefix-list abc index 30 permit 0.0.0.0 0 less-equal 32
[RTB]rip 100
[RTB-rip-100]filter-policy prefix-list abc import
在进的方向上调用:允许除前俩条网段以外的所有路由通过
filter-policy过滤接收路由(以RIP为例)
filter-policy过滤接收路由,对进入RIP路由表的路由进行过滤(RIP),特点:既影响做策略的本机上的RIP路由表,又影响下游路由器的RIP表
[RTB]ip prefix-list abc index 10 deny 10.0.1.0 24[RTB]ip prefix-ist abc index 20 deny 10.0.2.0 24
[RTB]ip prefix-list abc index 30 permit 0.0.0.0 0 less-equal 32
[RTB]rip 100
[RTB-rip-100]filter-policy prefix-list abc import
filter-policy过滤发送路由(RIP),特点:不影响做策略的本机上的RIP路由表,但影响下游路由器的RIP表
总结:通过与ACL、地址前缀列表结合使用, filter-policy可以对路由信息进行过滤
方法2:在传入区域的区域视图下配置出方向,不影响本机osp(表的学习,但影响下游路由器osp1表的学习,过滤本机及下游路由器的LSDB表中的LSA
路由过滤总结:
用路由过滤可控制路由在网络内传播
ACL和地址前缀列表可用于路由信息的识别、筛选
地址前缀列表比ACL更加灵活
可利用 filter-policy工具在RIP、OSPF、IS-IS等协议内过滤路由
(5)route-policy---路由策路
三、路由策略
1、概念:
控制层流量--- 路由协议传递路由信息产生的流量
数据层流量--- 设备访问目标地址时产生的流量
2、定义:为了改变网络流量所经过的途径而修改路由信息的技术---控制层流量
3、作用:路由过滤;修改路由属性;
4、做路由策略的思路:
(1)抓取流量
通过ACL实现;
通过前缀列表(ip prefix)实现;
(2)做策略:对流量进行修改或者不转发练习1:
前缀匹配列表:
ip ip-prefix aa permit 10.1.1.0 24route-policy policy_a permit node 10
if-match ip-prefix aa
apply cost 100练习2:
匹配ACL:
acl 2002
rule permit source 10.2.2.0 0.0.0.255route-policy policy_a permjt node 20
if-match acl 2002
apply tag 20练习3:
route-poligy policy_a deny node 30
某个节点中没有写任何的if-match,则表示匹配所有路由,都会被拒绝掉没有写任何的apply,则不对任何路由进行属性修改
练习4:
route-policy policy_a deny node 30if-match acl 2002
if-match acl 2003
apply cost 30
思考apply cost 30有意义吗? # 没有
匹配规则:
(1)路由信息到过时,检查是否配置了路由策略,如果配置,则进入节点匹配;否则放行
(2)检查路由策路第一个节点的if-match(先查编号小的10->20->30)条件,匹面则检查节点动作是pemit还是deny,如果是permit则进一步检查appy子句,有ap)y子句则执行路由属性修改并放行没有apply子句则不修改属性并放行;如果是deny则不能通过。如果没有匹配该节点的if-match条件,则检查下一个节点
(3)最后一个节点仍不匹配,则拒绝该路由信息通过。
因此如果要修改某条流量的信息最后一定要有空节点
route-policy aa permit node 20 # 空节点允许所有(因为默认拒绝所有)
基本配置:
route-policy route-policy-name { permit | deny } node node编号
b.配置if-match语句,使用if-match命令可定义匹配条件,所匹配的对象是路由信息的一些属性,例如路由的目的网络地址或掩码长度、度量值、标记或下一跳IP地址等
c.配置apply 语句,执行语句
在 Route-Policy的节点视图下,使用apply命令指定需执行的动作,这些动作主要是对所匹配的路由的某些属性进行修改
apply执行动作表
设置路由的度量值:apply cost cost
设置OSPF的度量值类型:applycost-type{type-1/type-2}
设置路由的标记:apply tag tag
注:一个节点中可以不包含任何 apply语句,此时该节点只被用于执行路由过滤,而不用于设置路由的属性
5、注意事项
route-policy用于路由过滤,不用配置空节点:
route-policy仅用于属性修改,需要配置空节点;
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.1.255
[R1]route-policy aaa permit node 10
[R1-route-policy]if-match acl 2000
[R1-route-policy]apply cost 3000
[R1]route-policy aaa permit node 20 //配置空节点放行其他网段
route-policy能够配置的位置:
IGP路由引入时;
BGP宣告时;
BGP路由引入;
BGP邻接关系上;
6、route-policy的应用
(1)用route-policy来控制路由接收和发布时的属性
(2)用route-policy来控制路由的引入