本文档是在工作和学习中,对网络设备的学习笔记和经验总结,介绍了交换机、路由器、防火墙、AP、IDS等多种网络设备的定义、功能以及一些使用技巧。学习中和编写此笔记过程中大量参考了Kevin R. Fall等作者的《TCP/IP详解 卷1 卷2 卷3》和谢希仁老师的《计算机网络》,在此表示感谢。
创建此开源项目的目的是帮助广大技术人员,更深刻的理解、应用和部署网络设备。希望能够汲取大家智慧,欢迎大家共同PR,完善此项目,有想法或发现Bug请提issue。
目录
网卡(Network Interface Controller,NIC,网络接口控制器),(Network Adapter,网络适配器)。是用来允许计算机在计算机网络上进行通讯的计算机硬件,使用户可以通过线缆缆(有线RJ45网卡、光纤卡)或电磁波(无线网卡)与互联网或局域网连接,其工作在OSI模型的第1、2层(物理层、数据链路层)。
每个网卡都有独一无二的48位串号即MAC地址,存储于网卡的ROM中,因此网络上的每台计算机的网卡拥有独一无二的MAC地址。
常见EthProtocol有:
IPv4 | IPv6 | ARP | PPPoE | 802.1Q |
---|---|---|---|---|
0x0800 | 0x08DD | 0x0806 | 0x8864 | 0x8100 |
链路管理:主要是CSMA/CD(Carrier Sense Multiple Access with Collision Detection ,带冲突检测的载波监听多路访问)协议的实现;
编码与译码:即曼彻斯特编码与译码。
附加功能:
此功能包含网络层甚至传输层,一般高级些的网卡才具备上述checksum offload功能及其开与关,该功能能够在网卡硬件上完成checksum的发送计算和接收校验,降低了CPU的压力。
网卡上的橙色和绿色灯代表什么?
绿色灯:连接正常指示灯;
橙色灯:数据传输指示灯。
如何根据MAC地址判断网卡的厂家或品牌?
每个网卡厂家往往拥有一段MAC供自己的产品自行分配,因此能够根据MAC地址的前几位(一般是前6位),判断出网卡的生产厂家。使用Wireshark抓包时,可以看到网卡的厂家信息。
网桥(Net Bridge,桥接器),是LAN的一种转发交换设备,用于LAN的划分或互连。网桥从一个网络接收电缆信号(无线电磁波信号),放大它们,将其送入下一个电缆。网桥是一种对帧进行转发的技术,将网络的多个网段在数据链路层连接起来,根据MAC分区块,可隔离冲突域,是二层的网络设备。
网桥是早期的一个过渡产物,它的功能介于集线器(HUB)和交换机(SWITCH)之间。
LAN的分割与互连
它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
物理层信号的放大
它能将一个电缆里接收到的信号,放大信号,再转送到下一个电缆中;或将空间的无线网络的电磁波接收,放大信号,再发射到空间中去。
数据链路层的连接
网桥是一个二层网络设备,它能对网络帧进行转发,根据MAC地址进行有选择的转发,类似于二层交换机。
网桥的分类:
windows下桥接方法:
同时选择两个适配器,在其中一个网桥上鼠标右键,选择桥接。
linux下桥接的方法:
#安装网桥管理软件
apt-get install bridge-util
#创建网桥
brctl addbr br0
#添加网卡
brctl addif br0 enp2s0
brctl addif br0 enp3s0
#查看网桥状态
brctl show
集线器(HUB),是一种将所有节点集中在以它为中心的节点上并实现网络互连的设备,采用CSMA/CD(带冲突检测的载波监听多路访问技术)介质访问控制机制,它工作在OSI模型的第一层(物理层)。
集线器每个接口简单的收发比特,收到1就转发1,收到0就转发0,不进行碰撞检测。集线器属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。
集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点即广播方式发送。
利用能够把数据包发送到与集线器相连的所有节点的特点,集线器通常也用作抓包工具。
场景一:
某局域网有10台主机,我们需要对所有机器的网络进行监测,部署IDS设备或Wireshark抓包,就需要能够在局域网的中心节点上拿到所有主机的所有网路数据(局域网内以及外发至上层网络),有两中网络设备能够满足我的需求,一个是镜像口交换机,一个是集线器,前者价格几乎是后者的10倍甚至更多,因此在合适的情况下可以采用集线器。
场景二:
某局域网有10台主机,我们需要对该局域网对外的网络进行监测,即进出该局域网的数据。部署设备或Wireshark抓包,需要在对外链路上串联相应的设备进行数据包的转发,如果是光纤,可使用光分路器,进行抓包。如果是电缆,集线器能够实现数据的复制转发,满足监测或交换机单镜像口翻倍部署多台检测设备的需求,因此在合适的情况下可以采用集线器。
交换机(Switch)是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。工作在OSI模型的第二层(数据链路层)及以上。
交换机最基本功能是为接入其端口的任意两个端口间提供虚拟专线连接。主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。还具备了一些新的功能,如VLAN、链路汇聚,甚至还具有防火墙功能。上述这些功能集线器无法比拟的,也是交换机与集线器的差异所在。
学习功能
以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换器缓存中的MAC地址表中。
我们在网桥一节中,可以通过设置学习功能的时间控制网桥为交换机具有的学习模式还是HUB的无学习模式。
#设置学习时间
brctl setageing br0 60
#退化为HUB模式
brctl setageing br0 0
转发过滤
当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。若在端口和MAC映射表中不存在该MAC,则广播所有端口,等待特定端口产生回复数据后,更新端口MAC映射表。
消除回路
当交换器包括一个冗余回路时,以太网交换器通过生成树协议(STP)避免回路的产生,同时允许存在后备路径。
交换机分类多种多样,可以按照光电特性、速度、场合、用途而分为不同的种类。
按网路信号类型可分为:光交换机、电交换机。
按工作OSI层可分为:两层交换机、三层交换机、四层交换机。
按端口速度可分为:百兆交换机、千兆交换机、万兆交换机。
按运行平台可分为:硬件交换机,软件交换机。
软交换技术的优劣
优势:高度可控可编程,可以很容易的实现端口动态管理。在虚拟化、云等场景下可以低成本部署,资源分配、管理,甚至二次开发。
劣势:同等成本情况下,性能配置不及硬件交换机,无硬件加速,依赖运行平台的综合参数。
软交换的应用: 虚拟化、公有云
设备类型 | 背板总线 | 交换通道 | 转发延时 | 带宽 | OSI层 | 备注 |
---|---|---|---|---|---|---|
网桥 | 多条 | 各端口独立拥有 | 大 | 高 | 1、2层 | 有目的转发 |
集线器 | 一条 | 一条 | 大 | 小 | 1层 | 无目的广播 |
交换机 | 多条 | 各端口独立拥有 | 小 | 大 | 1、2(3、4)层 | 有目的转发 |
对于交换机来说,当节点A向节点D发送数据时,节点B可同时向节点C发送数据,而且这两个传输都享有网络的全部带宽,都有着自己的虚拟连接。
假使A->D, B->C这里使用的是10Mbps的以太网交换机,那么该交换机这时的总流通量就等于2×10Mbps=20Mbps,而使用10Mbps的共享式集线器时,一个集线器的总流通量也不会超出10Mbps。
路由的定义: 路由是指分组从源到目的地时,决定端到端路径的网络范围的进程.
路由器的定义: 路由器在网路层实现网间互联,它可以实现同类型或不同类型的网络互连,包括LAN与LAN,LAN与WAN,WAN与WAN的互连。是一个具有多个输入端口和多个输出端口的专用计算机,其功能是转发分组,它把从某一输入端口收到的分组按照分组所携带的目的地址从适当的输出端口转发出去。
路由选择: 路由选择部分也叫做控制部分,其核心构件是路由选择处理机,路由选择处理机的任务是根据所选定的路由器选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
分组转发: 包括交换结构、输入端口、输出端口。交换结构是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适(即按照上述的路由选择中的路由表)的输出端口转发出去,输入输出端口包括物理层、数据链路层、网络层的处理模块,完成比特->帧->分组的“抽丝剥茧”过程。
上述两个功能构成路由器核心功能,即常说的NAT(网络地址转换)功能。
分组转发只涉及到一个路由器,在路由器内部工作;路由选择涉及到很多路由器。
其他功能:
端口转发(映射):
问:如果一个WAN口的主机,需要主动连接LAN口的主机IP:Port,(例如:想在LAN口架设一台服务器,WAN口要请求服务器),怎么能够实现呢?
答:将一个WAN口Port与LAN口主机IP:Port设置为转发链路,类似静态路由,此时WAN口主机向路由器WAN口IP:Port发送数据,路由器发在该包头信息存在于端口转发表中,于是将该数据包按照目的为LAN口的IP:Port的规则进行NAT转换,则该包会发往LAN口主机的IP:Port上。
DMZ(原意:非军事隔离区,Demilitarized Zone):
实际上就是把内网中的一台主机完全暴露给互联网,开放所有端口,等同于全部端口映射。等于直接使用公网IP。
DDNS(动态域名解析,Dynamic Domain Name Server):
是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
按信号的发送方式分类:有线路由器、无线路由器
按用途分类:企业级路由器、家用路由器
按固件类型分类:开源路由器、闭源路由器
按智能性分类:智能路由器、非智能路由器
哪些设备具有路由器的功能:
高带机量的实验室、宾馆、教室的低成本Wi-Fi解决方案:
智能路由器开源操作系统
网关(Gateway)又称网间连接器,网关在网络层以上实现网络互连,是最复杂的网络互连设备之一,仅用于两个高层协议不同的网络互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。
网关用于连接两个不同的网络,当同一网段内的主机进行通信,不需要网关的介入;当不同网段的主机进行通信时,数据包会先发往网关,再由网关进行转发。
例如:
我们有两个网络,网络一地址:192.168.0.0/24,网络二地址:192.168.1.0/24,网关地址:192.168.2.254。
A主机IP:192.168.1.1
B主机IP:192.168.1.2
C主机IP:192.168.0.1
D主机IP:192.168.0.2
E为网关:192.168.2.254
路径图:
* | A | B | C | D |
---|---|---|---|---|
A | -- | B-->A | C-->E-->A | D-->E-->A |
B | A-->B | -- | C-->E-->B | D-->E-->B |
C | A-->E-->C | B-->E-->C | -- | D-->C |
D | A-->E-->D | B-->E-->D | C-->D | -- |
因此,对于跨网抓包,我们看到包内容中,通常是网关的MAC和IP地址
网关是什么设备:
网关是一个概念,凡是具有网关功能的设备都可以叫做网关,可以是路由器、计算机甚至交换机。
哪些设备可以充当网关:
AP(Access Piont,无线接入点),将有线网络转换成无线网络,是无线网和有线网之间沟通的桥梁。常见的AP按照工作频率划分为2.4GAP和5GAP。
将有线网络转换成无线网络,使有线网络与无线网络能够互联互通。评估一个AP性能的主要参数包括:有线速率,无线速率,带机量等。
例如某品牌AP参数表如下:
AP与无线网桥的区别
无线网桥是通过无线传输方式实现在两个或多个网络之间进行通信的桥梁,因此同时具备无线信号的发射与接收功能。无线网桥产品定位于远距离无线传输数据,因此其天线通常是定向的,传输距离远大于无线AP。无线网桥除了可以将两个无线网络桥接外,也可以将有线网络与无线网络连接。而AP作为无线接入点,是实现在有线网络和无线网络之间进行通信的桥梁。
什么是FitAP(瘦AP)?
FitAP是AP的一种工作模式,在该模式下,AP不具有配置能力,不提供web管理页面,只接受AC的控制和命令下发。因此FitAP直接接入路由器或交换机上,是无法工作的,一定要配合AC。适合大规模部署和管理。
什么是FatAP(胖AP)?
Fat是AP的另一种工作模式,在该模式下,AP具有配置能力,提供独立web管理页面,可独立工作。因此FatAP直接接入路由器或交换机上即可工作。适合小范围小规模部署和管理。
AC(Access Point Controler,无线接入控制器),用于集中化控制无线AP,是一个无线网络的核心,负责管理无线网络中的所有AP。
对AP下发配置、修改参数、接入安全控制。
VPN(Virtual Private Network,虚拟专用网),利用公用的因特网作为某机构各专用网之间通信的载体,这样的专用网称作虚拟专用网。
“虚拟”表示“好像是”,但实际并不是,因为并没有使用专线而是通过公用的因特网来连接分散在各场所的本地网络。VPN只是在效果上和真正的专用网一样。
“专用网”是因为这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外的本机构的主机通信。如果专用网不同网点之间的通信必须经过共用的因特网,但又有保密要求,那么所有通过因特网传送的数据都必须要经过加密。
VPN是一种远程访问技术,通过共用的因特网实现本机构的各场所子网间的通信。
VPN隧道两边的用户,感觉好像就是在使用同一个本地网络。
TUN&TAP都是虚拟网络设备,是一种纯软件的实现,为Linux操作系统所特有。TUN是网络层虚拟设备,处理IP数据包;TAP是数据链路层虚拟设备,处理数据链路层数据包。
TUN&TAP设备的用处是将协议栈中的部分数据包转发给用户空间的应用程序,给用户空间的程序一个处理数据包的机会。于是比较常用的数据压缩,加密等功能就可以在应用程序B里面做进去,tun/tap设备最常用的场景是VPN,包括tunnel以及应用层的IPSec等。
| |
| +--------------------+ +--------------------+ |
| | User Application A | | User Application B |<-----+ |
| +--------------------+ +--------------------+ | |
| | 1 | 5 | |
|...............|......................|...................|.....|
| ↓ ↓ | |
| +----------+ +----------+ | |
| | socket A | | socket B | | |
| +----------+ +----------+ | |
| | 2 | 6 | |
|.................|.................|......................|.....|
| ↓ ↓ | |
| +------------------------+ 4 | |
| | Newwork Protocol Stack | | |
| +------------------------+ | |
| | 7 | 3 | |
|................|...................|.....................|.....|
| ↓ ↓ | |
| +----------------+ +----------------+ | |
| | eth0 | | tun0 | | |
| +----------------+ +----------------+ | |
| 10.32.0.11 | | 192.168.3.11 | |
| | 8 +---------------------+ |
| | |
+----------------|-----------------------------------------------+
↓
Physical Network
VLAN(Virtual Local Area Network,虚拟局域网),是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。VLAN的协议标准是802.1Q。
VLAN用于把统一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。
VLAN的优势
与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:
设置VLAN的最主要设备:路由器、三层交换机
防火墙(Firewall),作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险。防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。
防火墙外面的网络称为:不可信网络。
防火墙里面的网络成为:可信网络。
分组过滤:根据过滤对着对进出内部网络的分组执行转发或丢弃,过滤规则基于分组的网络层或传输层的首部信息。及过滤五元组(源/目的IP地址、源/目的Port、协议)
应用网关:所有进出网络的应用程序报文都必须经过网关,应用网关在应用层打开该报文,查看该请求是否合法(可根据应用层用户表示ID或其他应用层信息)。如果合法,应用网关以客户进程的身份将请求的报文转给原始服务器,如果不合法,报文被丢弃。
开源防火墙系统
开源防火墙软件
IDS(Intrusion Detection System,入侵检测系统),IDS对进入网络的分组执行深度分组检查,当观察到可以分组时,向网络管理员发出告警。
检测多种已知网络攻击,包括:网络映射、端口扫描、DoS攻击、病毒和蠕虫、系统漏洞攻击等。
基于特征的IDS
基于特征的IDS维护一个所有已知攻击标志性特征的数据库,每个特征是一个与某种入侵活动关联的规则集,这些规则可能基于单个分组的首部字段值或数据中特定比特串,或者与一些列分组有关。当发现有与某种攻击特征匹配的分组或分组序列时,则认为可能检测到某种入侵行为(但基于特征的IDS智能检测已知攻击)。这些特征和规则通常由网络安全专家生成,我们在Github等开源网站上可以下载到他人整理好的规则集。
基于异常的IDS
基于异常的IDS通过观察正常运行的网络流量,学习正常流量的统计特性和规律,当检测到网络中流量某种统计规律特征不符合正常情况时,则认为可能发生了入侵行为。但这种模式显然准确性很低且缺乏证据。
开源IDS引擎
IPS是在IDS功能的基础上增加阻断功能,但其阻断功能通常不及防火墙,属于IDS与防火墙之间的一种网络安全设备。
开源IPS引擎
蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
蜜罐可以部署在主机操作系统上,另一种作为网络设备部署在网络中称为网络蜜罐。
沙箱(Sandboxie)是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。
沙箱可以部署在主机操作系统上,另一种作为网络设备部署在网络中称为网络沙箱。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型