组网&防火墙&NAT 技术原理
组网部分
技术发展:
在网络起初 由两台设备对插线路实现互通 为了实现多台设备互通以及提升网络的交互半径
出现了第一台网络设备--集线器
集线器:
提供接口密度 能实现多台设备互通 处于物理层 对传输信宿做增强处理 电信号--加压
那么由于该设备只对信宿做增强处理 数据难免会不丢失(如:在线缆中传输的电信号波形发生变化)
而且不能实现全双工 一方发送数据时对方必须监听 避免数据碰撞
后来设计了网桥设备--交换机
交换机的引入 使我们产生了第一种身份标识符-MAC地址
交换机:
提供接口密度 引入mac地址标识物理设备 每个设备的mac不同 mac地址为48位
当数据转发时 交换机先会记录 源mac 对应的进入接口
然后看目标mac 如果目标可达 直接根据mac转发 如果不可达 采取广播形式转发(此时不改变数据的目标mac)
如果目标为全f广播地址 则进行广播 不同于单纯加压 交换机能将数据读入 重写 再次发送
每一个交换机代表了一个交换域 而交换域进行广播时 如果整个广播域大 那么广播报文将在区域内不断的广播 出现了环路 此时stp应运而生 stp通过算法减枝 阻塞端口 使得逻辑拓扑变为一个树 避免环路
交换机能根据mac转发 可以全双工通信
交换机的问题在于 如果整个互联网用交换机部署 那么整个世界是一个巨大的广播域 转发效率极大地依赖线路质量 没有冗余性 而且由于交换机不能隔离广播数据包 整个网络通信质量差
那么交换机也存在划分vlan的方法隔离局域网 数据包打上tag 对应的vid的接口才能转发接收对应vlan的数据
于是创造了路由器
路由器:
引入ip地址隔离广播域 ip地址是32位的逻辑地址
通过子网掩码与网络地址 将网络划分区域 引入了路由表
在路由转发时 目标网段如果与自己在同一网段 进行arp请求将ip地址转换为mac地址
通过mac地址寻找对应的目标主机二层将数据送达
如果目标网段与自己不同网段 将数据交给网关处理
网关可以理解为一个缺省路由 路由器转发数据时 查询路由表 目标地址存在路由才会转发
但是ip地址32位有缺陷 不能给网络中所有设备都给予一个 ip地址 此时nat应运而生
nat将内部私网地址转化为公网地址
一般私网地址:
10.0.0.0/8
172.16.0.0/16 - 172.31.0.0/16
192.168.0.0/24 - 192.168.255.0/24
nat:
网络地址转换 一般有以下几种:
源nat:当内网主机访问外网主机时 将数据交给nat设备 对源地址转换
目标nat:当外网主机访问内网服务时 需要访问nat设备对应端口 nat设备映射给内网主机
静态nat:将内网设备ip一对一转换为外网设备ip 是内网到外网的一对一映射 是固定的
动态nat:将内网设备ip多对多的转换为外网设备ip 一般是少量地址池地址 对应大量的私网地址 是动态的(端口号不进行转换)
napt:将内网设备ip多对多转换为外网设备ip 一般是少量地址池 对应大量私网地址 在转换时 可以使用端口号对内网地址做区分
eazyip:将内网地址多对一的转换为外网ip 一般是一个出口地址 对应多个私网地址 转换时 使用端口号对内网地址区分
natserver:将内网某个地址的特定服务端口转换为外网地址某个特定端口 转换时会将内网的端口和ip进行转换 也就是将公网端口与内网端口一对一映射
此时设备之间可以互通 实现点到点的通信 不同服务的流量则在传输层 采用端口号区分
端口号 0-65534
0-1023 知名端口
1024-49152 注册端口号
49153-65534 私有端口号
二层:(数据链路层)
在组网时 路由器的接口是非常宝贵的 如果要对每个广播域用路由器划分隔离 那是非常浪费的
而二层没有ip地址 此时出现了vlan(虚拟局域网技术)
该技术将利用tag对数据帧做区分:
vlan接口的类型:
access:当接口收到数据时 会打上pvid的标签 当接口发出数据时 剥出标签转发
trunk: 当接口收到数据时 打上pvid标签 当接口发出数据时 剥离pvid标签 其余正常转发
hybrid: 当接口收到数据时 存在对应操作:某vlan是否打上标签 默认的pvid 转发时 对tag的非pvid的vlan 将正常转发 对untag的vlan剥离vlan后转发
vlan间三层通信的方法:
使用路由器 :该方法对路由器接口要求高 需要接口密度
使用单臂路由 : 逻辑接口 该方法需要路由器识别802.1q带有标签的数据帧 且转发效率低
使用三层交换机 :三层交换机接口密度高 采用三层交换机转发数据
那么vlanid也是有限的 1-4095 个
运营商为了将私网vlan和公网vlan进行区分:采取了qinq技术 通过加一层vlantag
实现4096*4096
个vlan 外部的vlanid也会隐藏内部的vlanid 这种方式 :
- 缓解vlan资源紧缺问题
- 用户自行规划内部vlan 不会冲突
- 可以实现二层的vpn技术
二层还有一个技术 STP(生成树协议) 必不可缺:
stp通过机制阻塞端口 破除环路:
stp选举机制:
根桥:发出BPDU的设备 为拓扑中桥id最小的设备
根端口:接收BPDU的设备端口 距离根桥最近的端口 对端接口优先级越高 本设备根端口优先级越高
指定端口:发出BPDU的设备端口 距离根桥最近的端口 本设备优先级越高 端口优先级越高
阻塞端口:不参与转发 无身份的端口
stp发展:不够快-RSTP 利用率不高-MTSP
RSTP减少了传统stp的角色类型 收敛更快 通过 pa(提议确认)机制实现快速收敛
MSTP:使用实例来映射 每个实例对应多个vlan 一个实例一棵树 提升了链路利用率
三层:(网络层)
在网络中我们将其分为两个层面
控制层面:
路由表的同步
转发层面:
数据的转发
在控制层面:
存在路由方法:
1.静态写入路由表项目 较为死板 不能实时变化 一般常用于写入静态缺省路由
2.动态路由算法 可以实时变化 当拓扑结构变化时 路由会更新
3.路由策略 通过引用策略对对应的路由条目决定是否写入
在数据平面:
1.根据目标ip地址转发
2.利用pbr改变数据转发路径或方法
有关于ospf的介绍 我已经整理过了
https://files.cnblogs.com/files/blogs/815733/动态路由ospf.7z?t=1721942860&download=true
有兴趣可以看看
路由策略:
https://files.cnblogs.com/files/blogs/815733/路由策略与策略路由.7z?t=1721943060&download=true
防火墙:
防火墙分为:
-
包过滤防火墙:通过对对象(五元组,安全区域 等)进行匹配 执行对应的动作 如放行 丢弃 阻塞
如acl 从上向下依次匹配 注意不要冗余
这种传统防火墙 不能深度识别数据 而且每来一个数据 都要进行检查 -
会话检测防火墙:一次检测 多次处理
对第一个发起的数据包进行检测 维持一个会话表(五元组) 由于此时防火墙还是基于五元组过滤的 对后续报文不需要进行检测 -
应用代理防火墙:深度识别
对对应的服务设定解析程序 能将应用层数据读出 对其进行过滤处理
缺点在于每个应用都要有对应的解析程序 -
综合性下一代防火墙:缝合三种防火墙
能做到高速转发 能做到深度识别 能做到数据策略
这里采用的是的迪普设备:
可以实现:
会话长连接:对需求长时间连接的网络数据 进行区分 并减缓老化时间
带宽限速:某雷 下载会拖垮整个局域网的传输速率 需要区分并限速
访问控制:对恶意访问或者特殊服务进行封堵
url过滤:针对http协议的应用层过滤 通过分类过滤 通过主机名或正则匹配
行为审计:深度识别数据包 对数据解析 了解用户行为
防病毒:对多种协议内的数据识别 匹配病毒特征码 然后处理
ips入侵防御:对已知攻击防御 对未知的危险操作也要进行防御 防御危险操作也是防入侵
NAT技术简述
NAT,用于在多个设备共享少量公共IP地址时,通过修改网络数据包的IP地址信息,使私有网络和公共网络之间能够相互通信。
一些特定的应用层协议由于嵌入了IP地址和端口号而导致通信问题的技术。NAT-ALG通过对这些应用层协议的数据进行解析和修改,使得这些协议能够在NAT环境下正常工作。防火墙在中间 做代理
在客户端角度 是客户端与服务器建立了连接 实际上是与防火墙建立了连接
在服务器角度 是服务器与客户端建立了连接 但实际上是服务器与防火墙建立了连接
nat分为:
静态nat:将内网设备ip一对一转换为外网设备ip 是内网到外网的一对一映射 是固定的
动态nat:将内网设备ip多对多的转换为外网设备ip 一般是少量地址池地址 对应大量的私网地址 是动态的(端口号不进行转换)
napt:将内网设备ip多对多转换为外网设备ip 一般是少量地址池 对应大量私网地址 在转换时 可以使用端口号对内网地址做区分
eazyip:将内网地址多对一的转换为外网ip 一般是一个出口地址 对应多个私网地址 转换时 使用端口号对内网地址区分
natserver:将内网某个地址的特定服务端口转换为外网地址某个特定端口 转换时会将内网的端口和ip进行转换 也就是将公网端口与内网端口一对一映射
当网络环境中vpn设备旁挂部署时 需要进行nat 将vpn设备的地址转换到公网接口设备
nat的优势:
节省公共IP地址
增强网络安全性,隐藏内部网络结构
便于IP地址重用和管理
nat的问题:
- 当地址池中地址与公网防火墙接口地址不在同一网段时 数据返回给防火墙 防火墙没有漂浮地址的路由 默认缺省 还给isp路由器 isp路由器根据路由转发给公网防火墙 如此反复出现环路
此时需要路由黑洞将数据丢弃 - 防火墙的公网地址与地址池在一个网段 且 地址池包含公网地址 此时数据可能被当做防火墙流量
防火墙自行对流量处理分析 没有传递到内网
在默认情况下 最好开启防火墙的黑洞路由 防止环路 和过多地arp