网络安全:路由技术

概述
路由技术到底研究什么内容
研究路由器寻找最佳路径的过程
路由器根据最佳路径转发数据包
知识点,重要OSRF,BGP

1.静态路由原理

路由技术分类
静态路由和动态路由技术
静态路由:是第一代路由技术,由网络管理员手工静态写路由/路径告知路由器数据包转发哪个接口/下一跳,比较适合小型网络

image

静态路由实验

语法
ip route 目标网段+目标掩码+出接口
R1-- ip route 192.168.2.1 255.255.255.0 f0/0 
常用show 命令:
show ip interface brief  查看接口ip地址
show running-config interface f0/0 查看接口配置
show running-config | include ip route 查看静态路由配置
shwo ip route 查看路由表
show ip route static 查看静态路由

实验过程
静态路由配置
1.配置R1/2创建环回接口loopback,用于模拟主机
interface loopback 1
ip add 192.1.1 255.255.255.0
2.查看路由表
show ip route
3.新建静态路由
ip route 目标网段+子网掩码+接口
R1:ip route 192.168.2.0 255.255.255.0 f0/0
R2:ip route 192.168.1.0 255.255.255.0 f0/0
4.测试连通性
R1:ping 192.168.2.1 source 192.168.1.1
R2:ping 192.168.1.1 source 192.168.2.1

默认路由

原理

1.默认路由一般能用于网络(企业,校园)出口,用于指向互联网,实现内网主机能够和外网通信
2.默认路由一般放在路由表的最底部,只有当常规精准的路由条目没有匹配时,才会查看默认路由
3.电脑上的默认路由

实验1:默认路由的连通

R1:
conf t
int f0/0
ip add 12.1.1.1 255.255.255.0
no sh
R2:
conf t 
int f0/0
ip add 12.1.1.2 255.255.255.0
no sh
int lo1
ip add 2.2.2.2 255.255.255.255
int lo2
ip add 22.2.2.2 255.255.255.255
int lo3
ip add 22.22.2.2 255.255.255.255
int lo4
ip add 8.8.8.8 255.255.255.255
int lo5
ip add 8.8.4.4 255.255.255.255

在R1中
ip route 0.0.0.0 0.0.0.0 f0/0
或者
ip route 0.0.0.0 0.0.0.0 12.1.1.2

image

注意:默认路由不能相互指定(只能单向),否则容易造成“环路

实验2:浮动路由的连通

优先级/管理距离 0-255越小越优先

debug ip icmp 调试icmp协议
debug ip packet 调试ip协议
undebug all 关闭所有调试


在R3 中添加
ip add 8.8.8.8 255.255.255.255
ip add 8.8.4.4 255.255.255.255

在R2 和R3中打开debug 
debug ip icmp
debug ip packet

在R1中把f0/0网线断掉
shutdown 
此时看到 路由切换到f1/0
ping 8.8.8.8
可看到R3有流量传输

image

静态路由进阶

实验流程
1.配置ip地址,保证连通性
2.配置静态路由,保证R1/2/3连通
3.配置默认路由,保证R4接收到数据包
问答,当R1访问R3,ip数据包头部经过R2时,数据包内容有哪些变化
答:源目ip地址不变,源目mac跟随地址逐渐改变,ttl逐跳递减,校验和也随着改变


代理arp
ip route 23.1.1.0 255.255.255.0 f0/0
ping 23.1.1.3 发送arp请求 who is 23.1.1.3 和谁通信就问谁

ip route 23.1.1.0 255.255.255.0 12.1.1.2
ping 23.1.1.3 发送arp请求 who is 23.1.1.3  无论和谁通信,就问下一跳,节省资源,速度快

清除arp表:关闭物理接口 clear arp 开启物理接口 清除比较干净




代理ARP不同路由实现方法

定义:Proxy-arp 当实现跨网段的的请求时,路由器将本地MAC返回给ARP询问者,实现MAC地址代理,最终使得主机能够通信

电脑一般都是以下一跳的ip地址来默写网关,
开启或关闭代理
int f0/0
ip proxy-arp
no ip proxy-arp

局域网环境下为了防止中间路由器设备关闭代理ARP,最好用下一跳的方式来编写静态默认路由

当路由器主机路由条目指向出接口时,触发了代理ARP

image

当路由器指向下一跳ip地址,则采用正常的常规的ARP
 

image


注意点R1和R3别忘记加入下面的

image

image

image

路由协议概述

动态路由和静态路由协议

1.管理层面
静态路由比较容易修改和部署,动态路由协议一般路由的体积面积比较大,管理相对比较复杂
2.技术层面,动态路由协议比较能够适应个中网络结构拓扑,能够智能感应到网络状态,静态路由无法实现,需要人工干预

动态路由协议分类

算法特征
距离矢量:RIP/EIGRP/BGP
链路状态 OSRF,ISIS
运行范围 IGP,EGP

有类、无类
有类:ip子网只能识别8/16/24自动汇总 A/B/C
无类,ip子网只能识别任意掩码

3.通用路由选择算法(当多链路时候,如何选择一条最佳路径)
--1.最长匹配原则
当路由器访问目的并且有多路径,将目的ip地址根本地址和本地路由条目进行对比,从左到右匹配的比特位越多,则越精准,优先级越高

2.管理距离(Adminisitrator Distance)
--也称优先级,越小越优先,管理距离可以用于衡量不同路由协议直接打路径优劣

3.度量值(METRIC)
用于衡量同一路由协议的路径优劣,度量便是路由协议用于计算路径的方式或参数,例如带宽,距离MTU延迟

最长匹配原则-->管理距离-->度量值-->负载均衡


常见的AD值

image

常见的METRIC

image

RIP路由协议部署

1.背景/概述
Routing information Protocol 路由信息协议,是第一代动态路由协议,所属距离矢量协议,基于跳数来进行路径选择(最多支持15跳),RIP协议有多个版本,分为V1/V2/V3
2.特征
OSI层次:应用层协议,基于UDP端口520
算法:距离矢量协议
有类无类:v1有类,v2无类
运行范围:IGP
最佳路径:管理距离1120,度量值(路由器个数)

代码
network 10.0.0.0

排错
show run | include ip route 查看静态路由配置
show run | section router rip 查看RIP配置
show run | s r r 查看rip配置
show ip route static rip eigrp 查看静态/rip/eigrp
show ip protocols 查看路由协议信息


no ip routing 关闭路由功能(清除路由表)
ip routing 开启路由功能

image

路由分组和计时器

request分组
定义:RIP氢气去分组,用于初始化路由器邻居请求路由条目
原理
response
rip回复分组,用于更新/发送本地路由信息
特征:周期更新,广播更新,不可靠更新

计时器
更新计时器,30s ,用于实现对路由条目的周期交互
失效计时器,180s,若路由条目180s没有收到更新,则失效
抑制计时器,180s,用于防环
刷新计时器,240s,直接从路由表移除

触发更新/中毒路由机制
当路由协议检测到网络拓扑发生变动时,不再需要基于计时器进行路由处理,直接发送故障信息,变动信息进行处理,此项过程为触发更新

路由器算法

路由算法,可以根据路径参数(度量值)生成的路由条目

贝尔曼算法:
如果收到邻居给的路由,若本地没有,则接收
如果收到邻居给的路由,若本地有,根据度量值对比,择优录入
如果收到邻居给的路由,则劣质,但是还是从原有的邻居学到的,也录入

路由防环

环路形成

image

1.水平分割
从本接口收到的路由条目,不能再从本接口发送出去
2.最大16跳
定义:如果RIP路由条目跳数达到16跳,则此路由失效并且被丢弃
原理:(rip只能支持直径为16跳的网络,最大有效是15跳,16跳表示失效)
3.路由中毒-触发更新
定义:如果RIP路由条目发生故障,会将此路由标记为16跳,并发送给邻居,告知邻居此路由有问题,尽快删除
4.毒性逆转
定义:如果RIP路由条目发送故障时,会将此路由标记为16跳,并发送给邻居,邻居会返回16跳中毒路由,实现确认
5.抑制计时器
定义:当收到故障路由之后,默认会直接删除本故障路由,若此时从远方又收到此路由,则可能造成再一次环路,为了解决这个问题,设置抑制计时器当收到故障路由保持180s之后再删除路由条目

image

版本对比

V2是无类路由协议(能支持VLSM和CIDR),V1是有类路由协议·
V2传播路由时夹带子网掩码,V1没有
V2是组播更新,V1是广播更新

RIPV2部署

router rip
version 2 
no auto-summary 关闭自动汇总
network + 网段(有类)
clear ip route * 刷新路由表

image

RIP2路由汇总

创建多个网段,可以用一个环回口+secondary实现
r1将其network宣告出去,此时r2和r3能够学到
r3上执行路由汇总(在物理接口,此时r2和r3只能学到汇总路由)

EIGRP基础

eigrp是思科私有的
收敛之王
增强型内部网络路由协议,是一种混合路由协议(集成了距离矢量和链路特征,高级距离矢量)
可靠更新,触发更新增量更新
支持大型网络拓扑

EIGRP基本特征

OSI层次:传输层协议,基于协议号88
算法:距离矢量
运行范围:内部网络协议
有类无类IGRP是类,EIGRP是无类
最佳路径:管理距离90/170,度量值采用混合度量
(带宽,延迟,负载,可信度,MTU)


如果
R1(config)#router eigrp 
% Incomplete command.

R1(config)#router eigrp 100
IP routing not enabled
解决办法:输入 ip routing


eigrp实验代码
router eigrp 100
R1(config-router)#network 12.0.0.0
R1(config-router)#network 1.0.0.0 
R1(config-router)#network 192.168.1.0
R1(config-router)#network 13.0.0.0  

EIGRP基本部署

方式一:network+子网掩码
R1(config) router eigrp 100 开启EIGRP进程,定义自治系统符号
no auto-summary 关闭自动汇总
network 1.1.1.1 255.255.255.255
自治系统号(A5)范围1-65535 ,表示区域/管理域的概念:同一个企业运营商的EIGRP路由器必须处于同一个AS内,否则邻居无法建立并无法学到路由
路由收敛:描述路由协议故障恢复,信息处理速度和效率

方式2 network + 反掩码/通配符掩码($)
router eigrp 100
network 1.1.1.1 0.0.0.0
network 12.1.1.0 0.0.0.255
no auto-summary

反掩码和子网掩码换算
反掩码 = 255.255.255.255-子网掩码
反掩码是什么(路由条目/网段抓取工具,将xxx字段开头路由都通告出去)
子网掩码1,表示网络位,0表示主机位
反掩码,1表示随意匹配,0表示严格匹配

image

image

UPDATE包

ERGIP表项
邻居表,用于存储邻居信息,show ip eigrp neighbor
拓扑表 用于存储所有路由条目(无论优劣)show ip eigrp topology (all-links)
路由表 用于存储最佳路由条目(通过DUAL算法计算) show ip route eigrp

image

总结 1.NULL0路由时用于解决路由环路 2.网络子网有时候是不完整的,但是还是会见总路由告知邻居,若网络拓扑情况有数据包经过,缺失子网时,则有可能造成路由环路 3.NULL0路由优先级高于默认路由,可以有效防止数据转发出去,并且将数据抑制在本地

EIGRP路由汇总
汇总配置
int f0/0 , f1/0
ip summary-address eigrp 100 192.168.0.0 255.255.252.0

排错命令
show run int f0/0 查看接口配置


OSRF路由协议

OSRF基础

基本特征
OSRF 开放最短路径优先,采用SRF算法进行路径计算,是目前使用最为广泛的路由协议之一,被大量使用在企业网和校园网中
OSI层次
传输层协议,基于IP协议,协议号89
运行特征
链路状态协议
距离矢量,和链路状态
前者传递路由条目,后者传递链路信息
前者网络能见度只有一跳,后者是整个拓扑
前者计算路由基于邻居,后者计算路由基于自己
前者可能造成环路,后者基本无环

ISIS和OSPF的区别
OSPF和ISIS:
一、基本点:
1、ISIS基于数据链路层,OSPF基于IP层(协议号89),所以ISIS扩展性更强
2、OSPFv2只能用于IPv4,ISIS可以应用在多种网络层协议中:IPv4,IPv6,CLNP
3、OSPF支持4种网络类型:B,NBMA,P2P,P2MP
ISIS支持2种网络类型:B,P2P
OSPF更加适合网络环境比较复杂的场景
4、OSPF支持骨干区域,普通区域和特殊区域,区域的划分更加有层次,适合企业网层次化部署
ISIS支持L2和L1的区域,L1的区域类似OSPF的特殊区域,更加适合运营商做扁平化网络部署
5、OSPF划分区域,区域的边界在路由器上
ISIS划分区域,区域的边界在链路上
6、OSPF有区域内,区域间,区域外路由之分,路由控制更加精细
7、OSPF支持v-link,做网络的优化
8、报文类型:
OSRF:hello,DD,LSR,LSU,LSAck
ISIS:P2P-hello,L1-LAN-hello,L2-LAN-hello,
L1-CSNP,L2-CSNP(类似DD,描述LSDB的摘要信息)
L1-PSNP,L2-PSNP(类似LSR,LSAcK,用来请求LSP或确认LSP)
L1-LSP,L2-LSP(类似LSU,用来更新LSP的全部信息)
二、路由器类型:
OSPF:IR,ABR,ASBR
ISIS:Level-1,L2,L1/2
1、L1的路由器只能和L1或L1/2路由器在同一区域建立L1的邻居关系
2、L2的路由器可以和L2或L1/2路由器在不同区域建立L2的邻居关系
3、L2的邻居关系是骨干区域
三、邻居关系
OSPF:在广播/NBMA网需要选举DR/BDR,
D-other和DR/BDR建立FULL的邻接关系
D-other之间建立2-Way的邻居关系
ISIS:在广播网络选举DIS
所有路由器建立全链接的邻接关系
DR 首先比较优先级,默认为1, 有备份的DR D-other和DR/BDR建立FULL的邻接关系 收集LSA信息
优先级越大越好,优先级一样 叫BDR D-other之间建立2-Way的邻居关系 为其他路由器同步LSDB,减少LSA泛洪
比较router-id,越大越好 不能抢占,当DR失效,由BDR充当DR
优先级为0不能参与选举
最大为255
DIS 首先比较优先级,默认为64 无备份 所有路由器建立全链接的邻接关系 周期发送所有的LSP的摘要信息(CSNP)
优先级越大越好,优先级一样 可以抢占,因为是全互连邻接关系
比较MAC/DLCI,越大越好
如果没有MAC/DLCI,
则比较system-id,越大越好
四、LSDB同步机制
OSPF:
ISIS:
1、P2P的网络LSDB同步
当邻居关系建立之后,立即发送一次CSNP
对方收到之后发送PSNP请求相应LSP
收到PSNP之后回应LSP更新对方LSDB,并启动LSP超时计时器
如果在超时计时器内没有收到对方的PSNP确认
则重传LSP
如果在计时器内收到对方的PSNP
则认为LSDB同步完成
(PSNP完成了OSPF中LSR和LSAck的作用)
2、Broadcast的网络LSDB同步
由DIS周期发送CSNP
当有新上线的路由器时,会立即发送自身所有的LSP
新上线的路由器会根据周期的CSNP来查看自身缺少哪些LSP
则会发送PSNP请求相应LSP
DIS会根据PSNP来更新相应LSP
收到LSP的路由器无需确认,如果没有收到,则再次发送PSNP
注:LSP每900s更新一次,超过1200s则认为该LSP失效,从1200开始减小
LSA每1800s更新一次,超过3600s则认为该LSA失效,从小到大计数

部署

router ospf 100
router-id 1.1.1.1
network 12.1.1.0 0.0.0.255 area 0

骨干区域:Area 0 用于实现其他区域的流量中转,实现区域防环
常规区域,Area x 一般分支机构/部门使用,常规区域之间不能直接通信,必须经过骨干区域
1.区域划分使得OSPF的网站拓扑变的更加层次性和立体化
区域划分可以最大程度减少网络动荡和网络路径计算和消耗
区域划分可以实现区域间防环,常规区域无法直接通信,必须将数据丢给骨干区域,由骨干统一转发(形成星型放射拓扑)
区域划分易于网络管理

OSPF邻居状态机
1.发送hello包
2.发送目录信息
3.发送需求信息
4.交换需求信息
5.更新需求信息
6.确认需求信息

image

image

OSPF路由分组

1.hello分组
功能:用于建立和维持邻居关系
分组:每10秒相互发送hello分组,若40s没有发送,则邻居关系删除
2.DBD分组
clear ip ospf process 
功能:数据库描述符,对于对OSPF的网络拓扑进行描述
3.LSR分组
用于对LSU进行真正的请求
4.LSU
用于存储和传递路径信息
5.LSACK
用于对LSU进行可靠的确认

image

clear ip ospf process 刷新路由 在特权模式下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/948077.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第72天

无论如何,我们今天有一些调试工作要做,因为昨天做了一些修改,结果没有时间进行调试和处理。我们知道自己还有一些需要解决的问题,却没有及时完成,所以我们想继续进行这些调试。对我们来说,拖延调试工作总是…

RP2K:一个面向细粒度图像的大规模零售商品数据集

这是一种用于细粒度图像分类的新的大规模零售产品数据集。与以往专注于相对较少产品的数据集不同,我们收集了2000多种不同零售产品的35万张图像,这些图像直接在真实的零售商店的货架上拍摄。我们的数据集旨在推进零售对象识别的研究,该研究具…

【Linux】传输层协议UDP

目录 再谈端口号 端口号范围划分 UDP协议 UDP协议端格式 UDP的特点 UDP的缓冲区 UDP注意事项 进一步深刻理解 再谈端口号 在上图中,有两个客户端A和B,客户端A打开了两个浏览器,这两个客户端都访问同一个服务器,都访问服务…

ReactiveStreams、Reactor、SpringWebFlux

注意: 本文内容于 2024-12-28 21:22:12 创建,可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容,请访问原文地址:ReactiveStreams、Reactor、SpringWebFlux。感谢您的关注与支持! ReactiveStreams是…

window10同时安装mysql5.7和mysql8.4.X

前提:window10已经安装了mysql5.7想再安装个mysql8.4.x 步骤1:去官网下载mysql8.4.X https://dev.mysql.com/downloads/mysql/ 步骤2:解压后mysql根目录添加my.ini文件如下,注意端口改为3308(3306已经被mysql5.7占用…

VS2015中使用boost库函数时报错问题解决error C4996 ‘std::_Copy_impl‘

在VS2015中使用boost库函数buffer时遇到问题,其他函数定义均能执行,当加上bg::buffer(参数输入正确);语句后就报如下错误: 错误 C4996 std::_Copy_impl: Function call with parameters that may be unsafe - this call relies…

如何自定义异常?项目中的异常是怎么处理的?全局异常拦截如何实现?

异常就是程序出现了不正常的情况 异常的体系结构: 一、如何自定义异常? 自定义异常概述 当Java提供的本地异常不能满足我们的需求时,我们可以自定义异常 实现步骤 自定义异常类,extends 继承Excepion (编译时异常)或者…

Linux中ethtool的用法

在大多数常见的 Linux 发行版中,ethtool 命令通常是已经预装的,不需要额外手动安装软件包,但如果所在系统中没有该命令,可以通过相应的软件包管理器进行安装,例如: Ubuntu / Debian 系统 可以使用 apt-get…

LLM(十二)| DeepSeek-V3 技术报告深度解读——开源模型的巅峰之作

近年来,大型语言模型(LLMs)的发展突飞猛进,逐步缩小了与通用人工智能(AGI)的差距。DeepSeek-AI 团队最新发布的 DeepSeek-V3,作为一款强大的混合专家模型(Mixture-of-Experts, MoE&a…

手机租赁平台开发实用指南与市场趋势分析

内容概要 在当今快速变化的科技时代,手机租赁平台的发展如火如荼。随着越来越多的人希望使用最新款的智能手机,但又不愿意承担昂贵的购机成本,手机租赁平台应运而生。这种模式不仅为用户提供了灵活的选择,还为企业创造了新的商机…

【大模型】7 天 AI 大模型学习

7 天 AI 大模型学习 Day 2 今天是 7 天AI 大模型学习的第二天 😄,今天我将会学习 Transformer 、Encoder-based and Decoder-Based LLMs 等 。如果有感兴趣的,就和我一起开始吧 ~ 课程链接 :2025年快速吃透AI大模型&am…

Vue3 中的插槽

Vue3 中插槽的使用&#xff0c;插槽是 Vue 中的一个特别特性&#xff0c;插槽就是模版内容。例如<h1>标题 1</h1>标题 1 就是插槽&#xff0c;Vue 是无法识别模板内容的&#xff0c;只能通过属性进行传递。Slot 主要包括默认、具名和作用域。Slot开发起来难度不大&…

JAVA-制作小游戏期末实训

源码 import game.frame.Frame;public class App {public static void main(String[] args) {System.out.println("starting......");new Frame();} } package game.controller;import game.model.Enemy;public class EnemyController implements Runnable{private…

Linux Red Hat 7.9 Server安装GitLab

1、关闭防火墙 执行 systemctl disable firewalld 查看服务器状态 systemctl status firewalld 2、禁用selinux vi /etc/selinux/config 将SELINUX 的值改为 disabled 3、安装policycoreutils-python 执行 yum install policycoreutils-python 4、下载gitlab wget --co…

Windows 环境配置 HTTPS 服务实战

一、 环境准备 win10以上操作系统安装 Certbot申请阿里云\腾讯云域名安装 nginx 1.3以上版本 二、Certbot 安装及 SSL 证书生成 Certbot 是一个免费、开源工具&#xff0c;用于自动化在Web服务器上获取和更新SSL/TLS证书。它可以通过Let’s Encrypt服务获取免费的SSL/TLS证书…

普及组集训数据结构--并查集

P1551 亲戚 - 洛谷 | 计算机科学教育新生态 并查集就是把所有相关联的量串成一串珠子&#xff0c;抽象来说就是&#xff1a; 把此类相关联的量当作节点&#xff0c;两个节点之间连接一条无向边&#xff0c;所形成的图 例题算法流程&#xff1a; 在此定义“族长”就是一个树的…

windows编译llama.cpp GPU版本

Build 指南 https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md 一、Prerequire 具体步骤&#xff08;以及遇到的坑&#xff09;&#xff1a; 如果你要使用CUDA&#xff0c;请确保已安装。 1.安装 最新的 cmake, git, anaconda&#xff0c; pip 配置pyt…

Android 性能优化:内存优化(实践篇)

1. 前言 前一篇文章Android性能优化&#xff1a;内存优化 &#xff08;思路篇&#xff09; 大概梳理了Android 内存原理和优化的必要性及应该如何优化&#xff0c;输出了一套短期和长期内存优化治理的SOP方案。 那么这一篇文章就总结下我最近在做内存优化如何实践的&#xff0…

「Mac畅玩鸿蒙与硬件53」UI互动应用篇30 - 打卡提醒小应用

本篇教程将实现一个打卡提醒小应用&#xff0c;通过用户输入时间进行提醒设置&#xff0c;并展示实时提醒状态&#xff0c;实现提醒设置和取消等功能。 关键词 打卡提醒状态管理定时任务输入校验UI交互 一、功能说明 打卡提醒小应用包含以下功能&#xff1a; 提醒时间输入与…

Nginx知识详解(理论+实战更易懂)

目录 一、Nginx架构和安装 1.1 Nginx 概述 1.1.1 nginx介绍 1.1.2?Nginx 功能介绍 1.1.3?基础特性 1.1.4?Web 服务相关的功能 1.2?Nginx 架构和进程 1.2.1?Nginx 进程结构 1.2.2?Nginx 进程间通信 1.2.3?Nginx 启动和 HTTP 连接建立 1.2.4?HTTP 处理过程 1…