Advertisement

路由功能和路由协议【包括路由器各类介绍、静态路由

阅读量:

配置完毕以后就可以看到2个C地址

在这里插入图片描述
  • R2
在这里插入图片描述

配置完毕以后就可以看到2个C地址

在这里插入图片描述

路由配置


说明

在这里插入图片描述

上图总 R1上的10.0.12.1/24和R2的10.0.12.2/24属于共有网络

1.1.1.1/24属于R1上的私有网络,2.2.2.2/24属于R2的私有网络,他们两互相不知道彼此的存在。

操作命令

现在1.1.1.0网络要访问2.2.2.0网络

而1.1.1.0属于R1的私有地址,所以需要在R1上添加一条静态路由:ip route 2.2.2.0 255.255.255.0 10.0.12.2

配置完毕查看的时候就会多一条到对方的静态路由地址,配置完毕。

在这里插入图片描述

路由表中的字段介绍

========================================================================

在思科(Cisco)系列路由器设备中,“show ip route”这一指令是一个被广泛使用的关键指令。其中能显示该设备当前直接连接以及通过学习获得的所有路由信息这些信息汇总于所谓的路由表:routing table. 此指令后可附加多个可选参数组例如:[address mask longer-prefixes] | [protocol process-id]等.

为了实现路由信息展示的目的,用户可以通过执行模式(EXEC mode)这一入口来进入路由器的命令行界面,并获得详细的路由信息展示。该模块包含具体的路由条目、路由类型、管理距离、相邻路由器地址以及相关物理端口信息等关键数据项。此外,“Show ip route”这一指令可被简化为更便捷的“sh ip ro”形式,在处理路由配置和排查问题时尤其实用和重要。

多说无意,还是来看看实例吧!

  • C 192.168.1.0/24 is directly connected, FastEthernet0/0

C表示connected直接相连的意思。其中, 192.\x{FFFD}.\x{FFFD}.\x{FFFD}/\x{FFFC}为直连型网络段, 其中编号为'\x{FFFC}'的是'\x{FFFF}.\x{FFFF}.\x{FFFF}.\x{FFFE}'的缩写形式, 需进行数据包转发至该指定网络段, 该过程将通过fastethernet\x{FFFO}/\x{FFFO}接口完成。

  • R 192.168.3.0/24 [120/1] via 192.168.65.2, 00:00:04, Serial2/0

R代表的是RIP协议。动态地通过该协议学习获得固定地址掩码对应的网络段:[192.168.3.0/24]。其中管理距离为\w+、度量值(即路由跳数)为\w+。\n
其对应的是度量值与管理距离(反映的是路径优先级)。\n
具体而言:\n
通过接口地址将数据发送至下一个路由器。\n
通常表示网络设备的下一个转发接口。\n
该接口处连接着目标计算机:IP地址是[.\d{4}]*。\n
从Seria口转发数据包至下一跳设备。

此外,在命令行界面中使用show ip route connected命令会仅限于显示直接连接到路由器内的网络;而使用show ip route static则会仅仅呈现静态路由信息。

值得注意的是,在执行show\ ip\ route命令时,其输出会展示各种路由类型的信息。具体来说,则分别代表如下含义:

I,指从内部网关协议(IGRP)中学到的路由。

R,从RIP协议中学到的路由。

O,从OSPF(开放式最短路径优先)协议学到。

C,直连路由。

S,静态配置的路由,请注意,静态路由的管理距离为 0。

E,从外部网关协议(EGP)学到的路由。

B和i,分别指从BGP协议、IS-IS协议学到的路由信息。

在代码段中,请展示简写代码及其详细说明;其后部分则列举了该设备上的具体路由配置项。参考Cisco官方文档以获取详细信息。

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2,

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2,

ia - IS-IS inter area, * - candidate default, U - per-user static route,

o - ODR, P - periodic downloaded static route

通过AD和Metric进行相同网络的选路

===================================================================================

AD和Metric是什么


  • AD和Metric是s(静态路由)中的[a/d]全程
在这里插入图片描述

AD【管理距离】说明


管理距离(AD):distance metric AD;每种不同类型的路由获取方法(特定的 routing protocols),都具有各自的AD值。

同样地,该路由也可能由多个协议获取到相同的路由信息;路由器会选择具有较小AD值的节点将其纳入其路由表中。

在这里插入图片描述

Metric说明


度量值(metric):在多跳路径可选的情况下,路由器会计算每条路径的代价(metric)。这种情况下,在所有候选路径中选择具有较小 metric 的路径,并将其加入路由表中以优化数据传输效率。

网络中路由器会首先比较管理距离,如果管理距离相同,则比较度量值。

在这里插入图片描述

选路(路由)


相同目的网络选择

AD和Metric是用于路由选路的关键参数。当存在两条目标网络相同的路由时,优先选择具有较小AD值的道路;若AD值相同,则优先采用具有较小Metric的道路。

下面2个分析说明:

在这里插入图片描述
在这里插入图片描述

不同网络的路由选择-最长掩码匹配原则

不同网络之间的选路(最长掩码匹配原则)

10.0.0.0/8 [10/100]

10.1.0.0/16 [10/50]

10.1.1.0/24 [50/100]

10.1.1.1/32 [30/10]

掩码位数越大,IP数也少,也就越好确定

当路由表包含多条可选路径时

路由的负载均衡

======================================================================

什么是负载均衡?


当单台应用服务器的性能达到极限时,则可以通过采用集群技术这一手段显著提升整个网站的性能水平。在采用集群技术的情况下,则需要有一台核心服务器负责作为调度器的角色;所有用户的请求都会首先被该调度器接收,并由该调度器根据各台服务节点当前的负载状况动态分配任务至相应的服务节点进行处理。

这个调度者就是负载均衡服务器。

负载均衡服务器可以用来实现网站架构的高可用以及伸缩性:

当单一服务器发生故障时

伸缩性:根据系统整体负载情况,可以很容易地添加或移除节点。

负载均衡服务器的实现可以分成两个部分:

基于负载均衡算法以及Web服务器列表进行计算后确定集群内某台Web服务器的IP地址

将请求数据发送到该地址对应的Web服务器上

下面分别介绍负载均衡的算法与转发实现这两个部分。

一、负载均衡算法


1. 轮询(Round Robin)

轮询算法把每个请求轮流发送到每个服务器上。

适合于所有服务器硬件都相同的场景。

如图所示, 四个请求依次到达负载均衡调度器, 并将被轮流分配给服务器 A 和服务器 B.

在这里插入图片描述

当服务器性能出现较大差异时, 性能较弱的服务器将难以应对沉重的任务. 例如, 在下图所示中, Server B 设备也只能执行单一请求.

在这里插入图片描述

2. 加权轮询(Weighted Round Robbin)

加权轮询是一种基于服务器性能差异的方法,在该方法中为每个服务器分配相应的权重。在这一过程中, 具有更好性能的服务器将获得更高的权重。

如图所示,在系统配置中设置 server A 的权重参数为 3,并将 server B 的权重参数配置为 1;因此,在请求处理策略上规定:请求编号分别为 (1、2、3) 的数据包将优先由 server A 处理接收;而单独的请求编号 (4) 则会指定由 server B 承受处理。

在这里插入图片描述

3. 随机(Random)

随机发送请求至服务器。
类似于轮询算法,则可采用加权随机算法以适应不同性能场景。

在这里插入图片描述

4. 最少连接(least Connections)

统计每个应用服务器当前处理中的连接数量(即请求量),将新增请求分配至当前最少负载的应用服务器上,则是最契合负载均衡原则的那种方法。同样地,在这种方案下还可以实现带权负载均衡策略

如上文所述当前服务器B的数量有限因此新增的请求将被转发至该服务器

在这里插入图片描述

5. 源地址散列(Source Hashing)

基于请求源IP地址执行哈希运算后,并将应用服务器数量进行取模运算以确定最终对应的应用服务器。因此来自同一IP地址的请求始终分配到同一台服务器上,在此情况下该请求的相关上下文数据可以在同一台服务器中存储,并将在会话周期内重复利用以实现会话粘滞功能(Session复制)

在这里插入图片描述

二、转发实现


1. HTTP 重定向负载均衡

HTTP 重定向负载均衡服务器通过某种负载均衡算法确定服务器的 IP 地址后会发送该地址到 HTTP 重定向报文中,并设置状态码为 302。当客户端接收到此重定向响应后,则需再次向服务器发出请求以完成后续操作

在这里插入图片描述

优点:实现简单。

缺点:

两次请求,访问延迟较高

HTTP 负载均衡器处理能力有限,会限制集群的规模。

实践中使用这种方案进行负载均衡的案例并不多见。

2. DNS 域名解析负载均衡

在DNS服务器中设置一组A记录用于域名www.mysite.com,请配置如下:每个记录的形式为IP地址前缀A,并依次指定IP地址分别为:www.mysite.com IN A 114.100.80.1、www.mysite.com IN A 114.100.80.2、www.mysite.com IN A 114.100.80.3

每次域名解析请求都会按照负载均衡算法生成不同的IP地址返回,并且配置了多个服务器形成一个集群并实现了负载均衡。

在这里插入图片描述

优势:DNS依据地理位置信息解析域名,并提供与用户地理位置最接近的服务器的IP地址。

缺点:DNS系统具有多层次结构,在各个层级中可能会存储对应的域名记录;当某台服务器发生停机维护时,在修改DNS记录方面会经历一个较长的时间。

大型网站通常会部分采用DNS域名解析,并将其作为第一级负载均衡手段;随后,在其内部系统中采用其他方式实施第二级负载均衡策略。具体而言,在完成DNS解析后所得出的结果是内部服务器IP地址列表(而非物理存在的Web服务服务器),接着,在这些内部的负载均衡服务器之间进一步实施负载均衡策略(即发送请求至真实的Web服务 server)。

3. 反向代理负载均衡

利用反向代理可以缓存资源,以改善网站性能。

在部署点上, reverse proxy servers are positioned before the Web server (enabling caching of corresponding Web responses and accelerating access), and this location is also where load balancing servers are situated. As a result, most reverse proxy servers are equipped with load balancing functionality.

这种负载均衡转发机制中, 客户端无需直接向源服务器发起请求, 因此源服务器无需获取外部网络地址, 而反向代理则需同时配置内部网络接口的本地IP地址和对外提供的公网IP地址

在这里插入图片描述

基于反向代理服务器转发客户端请求位于HTTP协议层面, 因此也可称为应用层负载均衡

优点:与其它功能集成在一起,部署简单。

其潜在问题在于所有的请求与应答都需要依次经过反向代理服务器进行处理,并可能导致性能成为一个瓶颈问题

4. IP负载均衡

在网络层通过修改请求目标地址进行负载均衡。

当用户发起请求发送一个数据包至负载均衡服务器时

源服务器发送出去的响应也需要被负载均衡服务器处理,在常规配置中这些负载均衡服务器通常会将自己充当集群中的网关角色来实现这一功能

在这里插入图片描述

优点:在内核进程中进行处理,性能比较高。

缺点:如同反向代理机制一样,在这种情况下所有请求与响应都会被负载均衡服务器处理,并因此成为一个性能瓶颈

5. 数据链路层负载均衡

在该网络链路层,依据负载均衡算法确定源服务器的MAC地址,并相应地更改请求数据包的目的MAC地址后进行转发操作。

将源服务器与负载均衡服务器的虚拟IP地址设置为相同值。这样就不会需要更改IP地址即可实现转发功能。由于IP地址设置一致的原因,在这种情况下, 源服务器无需发送请求至负载均衡服务器, 直接可以转送给客户端, 从而避免了负载均衡 server 成为网络瓶颈的问题.

在这种三阶段传输架构下, 直接路由策略作为其核心组成部分而存在。在那些需要高效下载和播放视频内容的网站中, 通过直连路由策略, 这些网站能够显著减少网络资源被分配到负载均衡服务器上。

在这里插入图片描述

静态路由配置实验

简单介绍一下自己哦!我是2013年上海交通大学毕业的。之前在小公司工作过一段时间,在华为和OPPO这样的公司也去工作过呢。2018年开始进入阿里已经发展到现在啦。

深谙大多数Java工程师所面临的技能提升困境与挑战
往往会选择通过自主学习或参加系统化的培训课程来实现能力提升,
但面对高昂的学习费用(通常动辄数千元),
却常常感到力不从心,
真正形成有效的知识体系并持续深入学习仍然存在较大的障碍,
往往难以突破自身的技术瓶颈……难以实现技能突破!

为了收集整理了《2024年Java开发全套学习资料》,其初始化也很单纯。旨在助力那些想要自主提升却不知从何处开始的学习者,并且希望能减轻许多人的学习负担。

img

针对初学Java者的入门资源和资深开发者深入精进的技术路线一应俱全,在Java开发领域几乎覆盖了所有核心知识点,并且系统性地构建起完整的知识体系!

因为文件较大,在此仅作为参考提供部分目录截图,并非全部内容展示。其中每个节点都包含以下内容:大厂面经、学习笔记、源码讲义、实战项目以及讲解视频,并会持续更新中。

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

小编花了一些空闲时间整理了一份《MySQL性能调优手册》,其主要目的是为了帮助他人减轻负担并节省时间。

就这个主题而言,请大家获取一份学习大纲(PDF)文件,在每个分门别类地都有详细的内容介绍

image

这些内容都是通过图片形式呈现介绍的。

如需下载原始文档以及其他MySQL+Tomcat+JVM性能调优技巧,请访问传送门链接。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》[点击传送门即可获取!]

受益匪浅!非常感谢您关注!如果您对MySQL数据库有一定了解的 Java 技术派朋友,请务必留意并转发此份精心整理的学习资料。

img

最后

个人花费了空闲时间精心汇编了一份《MySQL性能调优手册》,其目的很简单也很单纯——就是希望能帮助大家缓解压力并提高工作效率。

请各位了解这份学习大纲(PDF)文件,在每个分支中都有详细的内容介绍。

[外链图片转存中…(img-IdZS2i0A-1712995928317)]

这里都是通过图片形式展示介绍的。(如需获取原文件或更多MySQL+Tomcat+JVM性能调优的学习资料)

点击传送门即可获取《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》!

全部评论 (0)

还没有任何评论哟~