背景
作为一个软件开发人员,不可能做到只负责业务开发工作,一旦功能上线或者系统切换就会遇到非常多考验开发人员个人能力的场景,网络调整就是非常重要的一个方面,如果你在系统上线的过程中无法处理一些简单的网络问题或者听不懂网工在说什么,那么就会导致自己负责的工作很难推进,因此我个人觉得 应该去掌握一些基础的网络知识来帮助自己更好的应对除了开发工作外的一些其他工作内容。
目标
当客户定点 拥有一个相对复杂的网络环境 如何让私有化部署的服务器正确的访问你想要访问的网络。
基础知识
路由器(Router)
功能:
- 连接不同的网络(如局域网和广域网),转发数据包到目的地。
- 选择最佳路径来传输数据包。
- 提供网络地址转换(NAT)功能,将内部网络地址转换为公共地址。
- 可以提供防火墙和安全功能。
工作原理:
- 数据包转发: 路由器使用路由表决定数据包的最佳转发路径。路由表包含目的地址和下一跳的映射信息。
- 路径选择: 路由器通过各种路由协议(如RIP、OSPF、BGP)动态更新路由表,选择最佳路径。
- 网络地址转换(NAT): 路由器可以将内网地址转换为公网地址,从而使多个设备共享一个公网IP。
- 数据包处理: 路由器接收数据包,根据目标IP地址查找路由表,然后将数据包转发到下一跳的路由器或最终目标。
路由器工作在网络层 数据段包含着 目标ip地址 和 源ip 地址 同步路由表匹配下一跳的位置,它通常用来连接不同网络 可以比作内局域网 到 互联网 或者其他内网的出口。
交换机(Switch)
功能:
- 连接同一网络中的设备(如计算机、打印机),使它们能够相互通信。
- 根据MAC地址转发数据包,提高网络效率。
工作原理:
- 数据包转发: 交换机根据数据包中的MAC地址来决定如何转发数据。它维护一个MAC地址表(也称为转发表),记录每个MAC地址对应的端口。
- 学习: 当交换机收到一个数据包时,它会读取数据包的源MAC地址,并将其与接收到数据包的端口关联,更新MAC地址表。
- 广播和多播: 如果交换机不知道目标MAC地址,它会将数据包广播到所有端口,直到找到目标设备。对于多播流量,交换机会转发数据包到相关的多个端口。
- 帧过滤: 交换机只将数据包发送到目的设备所在的端口,而不是广播到所有端口,从而减少网络拥堵,提高效率。
工作在数据链路层,数据帧包含 目标mac地址和源mac地址 交换机会维护一个mac地址表,通过广播到所有端口来获取未知的mac地址并缓存起来,交换机会自动更新mac地址,由于它无法根据ip来进行转发 因此它使用在局域网内部的数据包转发
网络协议相关
IP 地址: 互联网协议地址(IP 地址)是分配给网络设备的唯一标识符,用于在网络中定位和识别设备。IPv4 地址是32位的,通常表示为四个由点分隔的十进制数(如192.168.1.1)。
子网掩码: 子网掩码用于确定IP地址的网络部分和主机部分。它通过将IP地址与子网掩码进行与运算,帮助路由器识别网络的范围和设备的具体位置(如255.255.255.0)(用来广播确定哪些ip是属于同一个网段的)。
网关: 网关是网络设备的接口,用于将数据从一个网络转发到另一个网络,通常是连接内部网络和外部网络的设备。它通常是一个路由器,用于处理不同网络之间的通信。
DNS 服务器: 域名系统(DNS)服务器将域名(如www.example.com)转换为IP地址(如192.0.2.1),使得用户可以通过易记的域名访问互联网资源,而不需要记住复杂的IP地址。
认识企业路由器
[无线企业路由器] 地址组的设置与管理 - TP-LINK商用网络
[无线企业路由器] 策略选路功能设置指导 - TP-LINK商用网络
[R系列企业VPN路由器] 策略路由(选路)功能设置指导 - TP-LINK商用网络
[TL-ER6520G V1] 某企业网络配置实例 - TP-LINK商用网络
实战
我们假设定点 需要同时连接 医保网 公卫网 互联网 以及卫健委网络
他们的网段都是不同的 分别连接到一个企业路由器的四个wan口
我们先进入路由器的管理页面
进入对象管理 地址管理 地址 创建地址段对象 上面定义了一个客户端的地址段 ,假设我们有一个公卫网ip 10.10.100.100 要访问 因此我们可以在创建一个地址对象 IP段为 10.10.100.2 - 10.10.100.253 起个名称 gw
然后关联地址组 创建地址组对象 并关联地址对象 对这个地址组设置策略相当于这个地址段全部生效
组名称 自己起一个能代表的 地址名称是上面创建的地址独享也就是关联的地址段,这样设置完成之后 就可以直接个地址组设置策略路由。
策略路由 自上而下依次匹配 匹配到一个生效的策略后 下面的策略将不会在生效。
首先先匹配源地址 这里可以写任意组 或者 你自己定义的表示本地连接路由器设备的地址组,这里可能会匹配到多个 然后 因为任意组 每个都会匹配 但是 你的目的地址是不同的 上面创建了公卫地址 在给公卫地址创建一个组 这里的目的地址就可以设置为公卫组。
这样当你在ip为 192.168.20.2-192.168.20.253的地址上 去访问10.10.100.100就会匹配到这个策略上去,然后呢 生效接口 就是请求的出口。
上面举的例子是 四个wan口 假设 wan4 被分配的地址是 公卫这个网段的 那么我们就设置生效接口为wan4口 流量就会被路由器转发到wan4口 出去了 这就是一个简单策略路由设置过程。
概念解释
1. 静态路由(Static Routing)
定义
静态路由是手动配置的路由规则,网络管理员手动输入路由条目来指定数据包的转发路径。每个路由条目都明确指定了目的地和下一跳路由器(或网关)。
特点
- 固定性:路由规则是固定的,除非管理员手动更改,路由不会自动调整。
- 简单性:配置简单,适用于网络拓扑较小或变化不频繁的环境。
- 管理:适合在网络规模较小或流量模式稳定的情况下使用。需要手动添加和更新路由信息。
- 不支持基于流量的决策:静态路由无法根据流量的不同特征(如源 IP、目的 IP、端口等)做出动态的路由决策。
使用场景
- 网络拓扑简单,网络变化不频繁。
- 小型或家庭网络。
- 对于特定目的地或网络路径有固定需求的环境。
2. 策略路由(Policy-Based Routing, PBR)
定义
策略路由是一种基于流量的决策机制,通过设置策略来决定数据包的转发路径。路由决策不仅依赖于目的地 IP 地址,还可以基于源 IP 地址、流量类型、协议类型、端口号等多个因素。
特点
- 灵活性:可以根据流量特征(如源 IP、目的 IP、应用协议等)配置复杂的路由规则。
- 动态性:支持动态路由决策,可以根据实时流量和网络条件做出调整。
- 复杂性:配置较为复杂,需要精确设置策略规则,适用于大规模和动态变化的网络环境。
- 负载均衡:可以实现流量负载均衡,将流量根据策略分配到多个路径上,提高带宽利用率和网络冗余性。
使用场景
- 网络拓扑复杂,流量模式多样化。
- 需要根据应用、用户、服务质量等因素灵活配置路由。
- 需要负载均衡或优化网络流量的环境。
- 例如,业务流量需要通过不同的 ISP 提供商以实现负载均衡或冗余备份。
总结
- 静态路由:简单、固定,适合网络拓扑简单且变化不大的场景,配置和维护较为简单。
- 策略路由:灵活、动态,适合网络环境复杂、多变的场景,支持基于流量特征的路由决策和负载均衡。
测试 命令
tracert -d
命令的结果有助于网络诊断和故障排除,具体用途包括:
-
确定网络路径:显示数据包从你的计算机到达目标主机所经过的每一个中转节点(路由器)的 IP 地址。这有助于了解数据包在网络中的流动路径。
-
诊断网络延迟:每个中转节点的响应时间会被显示出来,帮助你识别在网络路径中是否存在延迟或瓶颈。这样可以确定延迟是出现在你的本地网络、ISP 还是远程服务器之间。
-
定位网络问题:如果你遇到连接问题,
tracert -d
可以帮助你确定是否在网络路径中的某个节点上发生了故障或延迟。例如,如果某个中转节点的响应时间异常高或没有响应,这可能是网络问题的来源。 -
优化网络配置:网络管理员可以使用
tracert -d
来检查数据流的路径,帮助优化网络配置或解决配置问题。
Tracing route to www.example.com [93.184.216.34]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.1.1
2 10 ms 10 ms 10 ms 203.0.113.1
3 20 ms 20 ms 20 ms 203.0.113.10
4 30 ms 30 ms 30 ms 93.184.216.34
Trace complete.
可以用上面的命令 来追踪每一跳的详细信息。
标签:实战,附带,网络,地址,ms,数据包,路由,路由器 From: https://blog.csdn.net/azyouyouyou/article/details/141430876