简单记录自己自学网络规划设计师的经过,供大家参考
(主要跟着b站summer课堂学习~)学生党,非盈利,侵权联系
路由相关概念
- 路由查表:
路由器中记录了如果要到对应的IP去下一跳应该(从哪个口出)传给下一跳
路由器工作原理
建立并且维护路由表RIB
路由分类:
- 直连路由:路由器本地接口所在网段
- 静态路由:手工配置路由条目
- 动态路由:路由器之间通过动态路由协议学到的路由
查看:display ip routing-table - 看的方法:
192.168.12.0/24 Direct 0 0 D 192.168.12.1 GE0/0/0
依次对应:
Detination/Mask Proto(协议) pre(优先级) Cost Flags(标志位) NextHop interface
路由器协议优先级pre
越小越优先,类似VRRP也是优先级越小越优先
- DIRECT(路由器的接口上直接连接的网络或子网,自动学习):0
- OSPF(优先级高):10
- STATIC(手动配置):60
- RIP(基于距离矢量的,以跳数衡量):100
Flag中含有R的是迭代路由,多条迭代路由只算一条静态路由(如果是static)
路由协议分类
(还有按照内部和外部来分,下面中BGP是内部)
- 距离矢量分类:RIP,BGP 基于Bellman-Ford算法
- 链路状态分类:OSPF,IS-IS 基于Dijkstra算法
RIP协议:
计算跳数最大15跳,16跳不可达。30s周期性更新路由表,180s无更新表示不存在,300s删除路由表
采用毒化和水平分隔的方法避免环路 (邻居路由表信息)
ARP RARP
其实算是数据链路和网络层之间的协议,所以有自己的封装格式。地址解析协议(Address Resolution Protocal)
ARP原理
- 设备A想要与设备B通信,设备A有设备B的IP地址但没有MAC地址。
- 设备A发送一条ARP请求广播到网络上,询问“谁拥有这个IP地址”。
- 网络中所有设备收到请求,只有设备B会回复,它发送一条ARP响应,包含其MAC地址。
- 设备A接收到设备B的MAC地址后,就可以通过MAC地址直接与设备B进行通信。
相当于根据IP希望获取mac(可以从配置,DHCP(DNS服务器)中获得对应的IP)
过程:
当A需要向B发送数据包,首先会看看自己的ARP表项中有没有B的IP和mac,如果有就封装,如果没有就广播请求ARP,寻找B的mac地址(封装中以太网的mac:ff-ff-ff-ff,ARP报文中mac:00-00-00-00)
(华为datacom书)

ARP攻击
由于 ARP 协议是无状态的,设备 A 直接信任来自网络上其他设备的 ARP 响应
所以攻击者会伪造为B回应,建立错误链接映射,导致流量等出现问题
ARP操作
基于ENSP
arp -a/-g:查看ARP缓存表
arp-d:删除ARP命令
arp-s:静态绑定
RARP:根据mac地址查找IP地址(反向查找)常用于无盘工作站
Gratuitious ARP:免费ARP 用于检测IP地址冲突,当接口刚好通过DHCP获得了IP地址就会对外发送免费ARP,主机通过查找自己的IP地址对应的mac地址,如果有终端回复说明IP地址冲突‘
代理ARP
A和B(IP,mac)交换机(A一边一个IP加mac,B一边一个IP加mac,两个端口上)
A对应的ARP表,IP地址为B的,只有交换机A这边对应的mac(相当于没有提供B的mac)
好处:
部署在网关上,网络中主机不用改动很多。隐藏物理网络细节。只影响主机的ARP表,网关的ARP表和路由表没有影响。
BGP
外部网关协议。支持VLSM和CIDR
BGP4+支持IPv6
四个报文
打开:建立邻居关系
更新:发布新的路由信息
保持活动:周期性确认有没有邻居,60skeepalive,180s认为邻居失效
通告 :报告检测错误
选路规则(记几个)
选择Preference_Value最高路由
选择Local_Preference最高路由
选择手动聚合>自动聚合>network>import>从对等学到的
看AS-Path,短的先
IPv4
IP是在网络层o,网络层在传输层之下
基本概念
IHL:计算IP数据报长度,由于必须是以4字节的整数倍来计算,所以IP报有时候前面会填空0
IPv4报文最大长度为2^16减1为65535字节 数据部分最多能65515字节(头部至少20字节)
具体一张图能展示概念
IPv4的协议部分只有8位,对应的是上层的协议,和端口号区分!(1:ICMP,6:TCP,17:UDP,89:ospf)
生存期TTL是每经过一台路由器减1
ToS字段:区分服务QoS字段
IP分片计算
- 发生在中间路由器或者源端,重组在目的端
- 由于IP65535,而以太网只有1500字节(传输数据)所以需要分多次
- 片偏移是上一数据长度除以8 (需要整除)注意真实的数据长度(计算可能需要减去20)
- ”IP首部没有可选字段”:就是没有增长的长度
- IP数据报的分配和重装:用到标识符,数据长度,段偏置,M标志(下一位还有没有)
- MTU:最大承载的数量(有时会有限制的,不一定1500含IP头部)
- 识别同一报文的各个分段的是标识符
特殊IP和IP分类
全划分:
A:1.0.0.0 - 127.255.255.255
B:128.0.0.0 - 191.255.255.255
C:192.0.0.0 - 223.255.255.255
D(组播): 224.0.0.0 - 239.255.255.255
E:保留地址240.0.0.0 - 255.255.255.255
-
0.0.0.0 主机端:表示本机比如DHCP的Discover广播报文: 0.0.0.0:68 -> 255.255.255.255:67
-
路由:表示默认路由,没有找到匹配的时候走的路由
-
服务器端:本机的所有IP地址
-
255.255.255.255 受限广播地址,同一个广播域范围内都会接收到
-
169.254.0.0/16 “自动专用IP地址“APIPA容纳多达65534个设备(169.254.0.0 是网络地址用于标识本身,不会分配,169.254.255.255 是广播地址)
DHCP自动获取IP,如果分配失败就会得到这个 -
127.0.0.0/8本地换回地址,ping通这个说明TCP协议栈正常
-
私有IP:
不能直接访问公网IP,之恶能在本地使用
1个A类:10.0.0.0/8 (10.0.0.1-10.255.255.255) 含的很多
16个B类:172.16.0.0/12 (注意是12,16这一位一半) (172.16.0.1-172.31.255.255) 又分了16个的意思
256个C类:192.168.0.0/16 后面两个0.0,又分256个 (192.168.0.1-192.168.255.255) 倒数第二个255分 -
常见组播:
224.0.0.1 所有主机 224.0.0.2 所有路由器 224.0.0.5 所有运行OSPF的路由器
224.0.0.6 DR和BDR的组播接收地址(是别的OSPF向DR发送消息的组播地址) 224.0.0.9 RIPv2组播更新地址 224.0.0.18 VRRP组播地址
DR(指定路由器): DR是在一个多访问网络(如以太网)上被选举出来的路由器,负责在网络中转发路由信息,以减少网络中的路由信息传输量。只有DR会向所有其他路由器发送路由更新。
BDR(备份指定路由器): BDR是DR的备份。在DR出现故障或失效时,BDR将接替其功能。这样可以确保网络的稳定性和可靠性。
DR和BDR运行于参与OSPF的路由器之上。DR只向特定的组播地址(224.0.0.5)广播信息,这意味着其他所有的OSPF路由器只需与DR通信,从而减轻了网络负担。
IPv6
基本概念
- IPv6有128位(IPv4是32位,8个16进制位,两个一组,所以一组内8个二进制最多表示到255)
- 采用冒号分隔的16进制
- IPv6集成了IPSec(Esp和AH)支持加密,认证等功能
- IPv6支持多报头嵌套(扩展性强)
- 只能由原发节点分段,中间路由器不能分段(简化路由处理,提升效率)
- 数据包总长度65535字节(包括扩展头部)所以实际可以由有65575字节的数据(头部40字节)
- 每个主机可以有多个IPv6地址!!
结构
-
默认头部固定为40字节(相比IPv4长但其实简化了因为字段更少)
-
跳数限制:类似TTL
-
源目地址都有128位(因为是IPv6)
= 负载长度(16位):表示负载数据包(含有扩展头部)的长度。相比于IPv4,不用在头部的长度上规范 -
扩展报文:(一般一个IPv6中就一个上层协议比如TCP或者UDP)
和默认头部的“下一个头部”区分,那个是指向整体而言的下一个的头部类型是什么分为:- 下一报头(指示在当前头部之后紧接着的头部类型!!)
- 报头扩展长度:对应的长度值 (当前的这个)
- 扩展报头数据:包含的具体选项数据
-
通常情况下,第一个扩展头部很可能是Hop-by-Hop Options Header(有多个扩展头部的时候)
表示松散路由功能的扩展头是:路由选择头部 43
在扩展头部后面就是传输的载荷数据
(如果没有扩展头部就直接封装TCP/UDP报文)
0的省略
采用冒号分隔的16进制数(8组)表示(8乘4乘上4)
每个字段前面的0可以省去,比如0123 -> 123
双冒号只能出现一次!!!(别的可以:0:0这样保留1个0)
8000:0000:0000:0000:0123:4567:89AB:CDEF 表示为 8000::0123:4567:89AB:CDEF
IPv4兼容地址: ::192.168.10.1
地址分类
-
单播地址:(用于从一个主机到另一个主机的单播通信)
-
可聚合全球单播地址:全球范围内有效,相当于IPv4公用地址(前缀001) “1”
-
链路本地地址:同一链路相邻节点通信(1111 1110 10) “2” (01) (基于mac生成)
(用于主机与主机之间的直接通信,无需路由) -
站点本地地址:相当于IPv4私网地址 前缀为1111 1110 11 ”3“ (11)
-
环回地址: ::1/128 链路本地地址 FE80::48
-
组播地址:
IPv6没有广播,只有组播
组播前缀:1111 1111 就是FF00开头 -
任意播地址:
表示一组接口(在网络术语中,"接口"通常指的是网络设备(如路由器、交换机、服务器等)上的网络连接点。每个接口可以是一个物理端口,也可以是虚拟的,例如虚拟机的网络接口)的标识符,通常是路由距离最近的接口 (单设备上也可以,不过那样就是评估接口的距离)
多台设备的接口例子
-
场景:
- 想象有三台位于不同地理位置的Web服务器,它们分别包装有相同的任意播地址(例如:2001:db8:1::1)。
-
接口:
- 每台Web服务器上都有一个网络接口(如eth0),该接口配置有相同的任意播地址。这就形成了一组接口:
- 设备1(在城市A): 接口eth0,任意播地址2001:db8:1::1
- 设备2(在城市B): 接口eth0,任意播地址2001:db8:1::1
- 设备3(在城市C): 接口eth0,任意播地址2001:db8:1::1
- 每台Web服务器上都有一个网络接口(如eth0),该接口配置有相同的任意播地址。这就形成了一组接口:
-
结果:
- 当用户发送请求到这个任意播地址时,请求会被路由到离该用户最近的服务器接口 %% ENDREGION %%
用于将数据包发送到一组接口中任意一个接口的重要网络功能
任意播不能给IPv6主机,只能给IPv6路由器
- 当用户发送请求到这个任意播地址时,请求会被路由到离该用户最近的服务器接口 %% ENDREGION %%
IPv6相关协议
-
RIPng,OSPFv3(相比v2提升),BGP4+(比之前没有+,IPv4)
-
DHCPv6:
无状态配置和有状态配置
有:DHCPv6直接分配前缀和接口ID,网关,DNS等 (给全部信息)
无:路由器接口前缀+终端EUI-64 (给一半信息) -
ICMPv6:新增邻居发现功能替代ARP协议功能
-
IPv6邻居发现协议(NDP):
路由器宣告 路由器请求 路由器重定向 邻居请求 邻居宣告 -
ICMPv6报文分为差错报文和信息报文。ICMPv6差错报文典型应用:Path MTU 发现。发送数据之前探测出线路中的最小MTU,发送数据不会超过这个值,避免传输过程中的性能下降
IPv4->6过渡技术/方式
- 双栈技术:同时运用IPv4和IPv6 (使IPv4和6可以共存于同一设备同一网络)
- 隧道技术:解决IPv6节点之间通过IPv4网络进行通信。ISATAP隧道技术,穿透NAT设备,与私网之外的主机建立IPv6连接
- 地址翻译技术:解决纯IPv6节点和纯Ipv4节点之间通信
ICMP
- 协议号为1(TCP的协议为6),用来传递差错,控制,查询等信息,典型应用比如ping/tracert依赖ICMP报文
- 常见报文类型和代码:
类型0,代码0:Echo Reply 回显应答 (ping应答) 查询类
类型8,代码0:Echo Request 回显请求(ping请求) 查询类
类型11,代码0:TTL equals 0 during transit 传输期间TTL变为0 差错类
类型11,代码1:数据包组装期间生存时间为0 差错类 (IP数据报分片丢失)
类型12,代码0:坏的IP首部(各种差错)
相关使用:
- ping:使用Echo Reply和Echo request 查询和响应
- Windows:发送ICMP报文 中间和终端都返回TTL超时报文
- Linux:发送UDP报文 中间返回TTL超时报文,终端返回ICMP端口不可达
几种不可达
-
目的地址不可达:目的服务器禁止被ping
-
目的网络不可达:删除了网关或者网关配置错误,或被ACL拦截
-
目的端口不可达:比如tftp服务器默认端口69,如果客户端连接次啊用8888,就会返回不可达
-
传输期间生存期为0:传输过程中TTL减为0时客户端回复该报文
-
组装期间生存期为0(对应之前的常见类型报文和代码):分片丢失,不能完成IP数据包重组
-
ICMP报文检验差错:坏的IP首部等
-
windows server 的默认TTL是64(有时候这些也要查查表)
ICMP(还有OSPF)都封装于IP中,理解概念哈
OSPF
基本概念
Open Shortest Path First 开放式最短路由协议,目前应用最广泛的协议之一
支持VLSM(可变长子网掩码)支持在ABR/ASBR手工路由汇总,不支持自动汇总
OSPF特点
结合下面讲ISIS的图理解

-
骨干区域通过Area 0来表示 区域1不是骨干区域
-
OSPF通过hello报文来发现邻居(点对点网络中每10s发送一次)
-
OSPF同通过LSA(链路状态公告)来交换拓扑信息,而不是直接交互路由
-
几个特殊的组播地址:
224.0.0.1:本地子网的所有主机
224.0.0.2:本地子网的所有路由器
224.0.0.5:运行OSPF协议的路由器
224.0.0.6:OSPF制定/备用路由器DR/BDR -
每个网段选取一个DR和BDR作为代表和别的Dother建立邻居关系
-
router-id在OSPF区域内唯一标识一台路由器IP地址,不能设置为相同
理解LSDB构建和维护
LSDB的构建和维护
- LSA的生成与传播:
- 当OSPF路由器启动并发现其邻居时,它会生成自己的LSA,并将其传播到其邻居。在这个过程中,每个路由器会交换LSA并更新自己的LSDB。该过程称为链路状态通告过程。
- 数据库同步:
- 邻居之间的LSA通过hello协议进行发现后,会确保每个路由器的LSDB与邻居的LSDB一致。这种同步确保了网络中每个路由器都可以获取到最新的拓扑信息。
- LSA的刷新与老化:
- 在OSPF中,LSA是有生命周期的。定期,路由器会刷新LSA并发送更新,并且老化的LSA会被删除。这有助于确保LSDB中信息的准确性和及时性。
- LSA冒泡机制:
- 如果某个路由器状态发生变化(例如,链路故障或新路由器加入),影响该路由器的LSA会被更新并重新广播给其他路由器。这会导致数据库更新并重新计算最短路径。
OSPF优先级概念
手工配置(优先级越大越先,优先级为0不参与选举。手工配置优先级中进程(具体到OSPF)大于全局配置)>loopback接口地址中最大地址作为>普通接口中最大地址作为router-id
OSPFcost:
cost = 100M/接口带宽 一条路的cost累加
OSPF区域:
非骨干区域必须和骨干区域直连。没有和Area 0 直连可以用虚链路临时解决不过只能横穿一个非骨干区域
手工汇总 vs 自动汇总
- 手工汇总:
- 手工汇总意味着网络管理员可以配置 ABR 和 ASBR 进行汇总。例如,管理员可以通过命令在 ABR 上配置路由汇总,明确指定需要汇总的地址块。这种方式给予了管理员更多的控制,允许根据网络需求进行精确的路由汇总。
- 自动汇总:
- 自动汇总是一种路由协议的特性,允许路由器在转发路由信息时,自动将相邻路由汇总成更大的地址块。OSPF 不支持这一功能,这意味着它不会在区域之间或自治系统边界自动生成汇总路由。
为什么不支持自动汇总
OSPF 是设计为一个非常精确和灵活的协议,自动汇总可能导致一些网络问题,比如:
- 路径不稳定性:自动汇总可能使得某些路由信息丢失,导致数据包丢失或路径选择不理想。
- 路由器资源浪费:可能会生成冗余和不必要的路由信息,增加网络负担。
- 通过手动配置,管理员可以对网络进行优化,更加细致地控制路由信息的汇总方式,从而提高网络的稳定性和效率。
理解VLSM
假设某组织有几个部门,每个部门需要不同数量的IP地址。通过 VLSM,可以如下划分:
- 部门A需要 50 个IP地址:
- 使用子网掩码 /26(255.255.255.192),提供64个地址(62个可用地址)。
- 部门B需要 20 个IP地址:
- 使用子网掩码 /27(255.255.255.224),提供32个地址(30个可用地址)。
- 部门C需要 5 个IP地址:
- 使用子网掩码 /29(255.255.255.248),提供8个地址(6个可用地址)。
RIP就不能支持VLSM
- 使用子网掩码 /29(255.255.255.248),提供8个地址(6个可用地址)。
DR(指定路由器)的定义和功能
在使用广播和非广播多访问(NBMA)网络(如Ethernet或帧中继)时,OSPF会选举一个路由器作为DR。DR的作用是减少网络中的LSA(链路状态公告)传输量,优化OSPF协议的效率。每个网络中只有一个DR和一个BDR(备份指定路由器),它们在网络中的主要任务如下:
- LSA的传播:
- 在网络中,所有路由器向DR发送它们的链路状态信息(LSA)。DR会负责将这些信息汇总并向网络中的其他路由器广播。这样,网络中的每个路由器都得到了一致的网络拓扑信息,而不是每个路由器互相发送LSA,降低了网络流量。
- 减少网络负载:
- 通过指定DR并使用其作为信息交换的中心,OSPF避免了每个路由器之间的全面信息交流,从而显著减少了带宽消耗和路由更新的复杂性。
- 冗余与可靠性:
- BDR(备份指定路由器)作为DR的备份路由器,在DR发生故障时接替其功能,确保网络在路由器故障时保持稳定。这样进一步提高了网络的可靠性。
这样理解DR和BDR,ABR的区别
ABR:区域边界路由器(和其他OSPF区域相连的) ASBR:边界路由器(和其他协议区域相连的)
BR:backbone router 主干路由器(任何一个和主干区域相连的ABR或者ASBR也是主干路由器)
聚合路由
定义
聚合路由(以下简称为汇总路由)是指将多个较小的路由条目合并为一个更大的路由条目,以减少路由表的大小和复杂性。ABR可以在不同的OSPF区域间进行手动配置的路由聚合。也就是说,ABR可以将属于同一区域的多条路由信息整合成一条汇总路由,然后通告给其他区域。
意义
- 减少路由表大小:
- 通过聚合路由,能够显著减少路由表中条目的数量,降低路由器存储和计算的压力,从而提升网络性能。
- 提高网络性能:
- 较小的路由表能加速路由选择过程,提高网络收敛速度,减少路由更新时的带宽消耗。
- 简化网络管理:
- 聚合使网络管理员通过管理更少的路由条目来简化了路由管理过程。聚合路由能够隐藏一些复杂的路由信息,只向外界展示必要的路由信息。 对于配置聚合路由的理解
如何实现聚合
-
在ABR上实现聚合:
- 配置时,网络管理员可以定义一个聚合地址和掩码,这样ABR会将属于该范围的多个更具体的路由地址聚合为一个条目,进行宣传。
- 例如,如果ABR接收到多个属于同一个网络段的路由(如192.168.1.0/24,192.168.2.0/24),可以将其聚合为192.168.0.0/16汇总并推广到其他区域。
-
在ASBR上实现聚合:
- ASBR也可以类似地配置聚合,让多个外部路由条目(来自其他自治系统或其他路由协议)以汇总的形式呈现出来。
ISIS
电信运营商普遍采用的网关协议 分级的链路状态路由协议
使用Hello协议寻找节点
- 分层:
Level1:普通区域
Level2:骨干区域 (连续的Level-2路由器集合,由所有的L2路由器组成(含L1/L2))
L1和L2运行相同的SPFsuanfa,一个路由器可以同时参与L1和L2
和OSPF对比
别和OSPF的骨干网混淆。OSPF骨干网是area 0 不过IS-IS骨干区域是包含L2和L1/L2的区域
也就是说一个OSPF服务器可以属于多个区域(ABR)。但是一个IS-IS路由器只能属于一个区域
和OSPF对比图:

NAT
基本概念
NAT:网络地址转换,将一个IP地址转换成另一个IP地址
可以节约IP地址空间,同时也能提高网络的安全性。互联网中能进行通信的IP不是都是免费的
IP分类
(结合前面IPv4理解了来看)
公有IP:专门机构管理和分配,可以直接在互联网通信不过需要付费
私有IP:任何人可以随意使用不过无法和互联网直接通信,需要付费使用(不同网络中的私有IP可以重合)
故而私有IP需要通过NAT技术访问互联网!!
- 私有IP地址分类:
单个A类(10:后面) 16个连续B类(172.16.0.0 ~ 172.31.255.255) 256个连续的C类(192.168.0.0~192.168.255.255)
简单解释NAT工作原理
私有IP为10.0.0.1的PC想要访问公网服务器为8.8.8.8的服务器。PC所属的园区网有一台路由器设备为:103.31.200.1 那么就会通过路由器向服务器访问。路由器会将PCip转换比如“103.31.200.2”(和自己在一个网段内)(收到对应的数据包之后也会回传回去给PC)
NAT的不同类型和配置
- 静态NAT:将一个私有的IP转换为一个固定的公有IP
- 动态NAT(No-PAT):管理员将私有IP和动态的公有池中的IP进行关联
- NAPT和EASYIP:类似动态NAT,不过(额外提供了端口号进行区分,PC
和NAT地址池中都有端口号。比如10.0.1.1:10372对应103.。31.200.1:1025而10.0.1.1:13622对应103.31.200.1:1026)可以让多个主机公用一个外部的IP,从而进一步提高利用率 - 不过区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的共有地址。EasyIP适用于不具备固定公网IP地址的场景(比如通过DHCP,PPPoE拨号获取地址的私有网络出口)
- NAT Server:类似静态NAT,也额外提供了端口号(对应的也就更多了)。这样能够使得内部的PC为外部的服务器提供服务 (解决安全问题,利用特定的端口提供特定的服务,常见比如80,443)
静态NAT原理图

题目

自己分析

VRRP
概念理解
就是若干路由器组合到一起
特点
有一个虚拟IP地址以及虚拟的MAC地址,虚拟MAC格式为”0000-5e00-01xx “ xx为VRID
priority:0-255之间,越大越优先
Master路由器以及backup路由器(随时准备接替master)
VRRP也可以监视上行端口的状态,及时调整优先级
负载均衡
设置不同的组,比如在VRID1中为Master的可以在VRID2中为Backup
和MSTP(Instace 1 vlan 10 primary)结合(MSTP在VLAN中分配,VRRP在IP,三层中分配,管理网关)
比较像vlan是二层的,子网是三层的
BFD:快速探测是不是还活着,实现设备切换
VRRP结合MSTP

不过实际项目中用堆叠代替MSTP+VRRP 不过堆叠也有缺点比如需要同一个厂商的设备
&spm=1001.2101.3001.5002&articleId=147191210&d=1&t=3&u=7884ee4083874997ad660e82e82b6de7)
710

被折叠的 条评论
为什么被折叠?



