网络笔记
文章内容不保证正确,其叙述方式仅为了方便写作,并不代表实际情况。
通过物理层通信
物理层提供网络的物理连接,例如网线、光纤、无线电、中继器、集线器以及它们对应的协议。
中继器(Repeater)
中继器又称 “转发器”。中继器是一种双接口设备,可将一个接口收到的信号转发到另一接口,用于扩大网络传输范围。中继器可以被视作理想网线。
集线器(Hub)
集线器就是多接口的中继器。源设备发出的信号会去往物理层网络内所有设备。
以下是使用集线器通信的例子:
-
A 发送信号:
1
2设备A --> 集线器a --> 设备B
设备C <--/ \--> 设备D- A 把信号发送出去
- a 的一个接口收到信号,a 再将这个信号从其他接口发出去
- B、C、D 收到了信号
通过数据链路层通信
数据链路层提供了利用物理层传输数据的协议。
在上文的物理层网络内,如果有两个设备同时发送信息,就一定会产生冲突。数据链路层引入了 MAC 地址,让设备能够标明自己的身份。而借助 MAC 地址来明确源设备与目标设备,就可以减少冲突。
桥接器(Bridge)
桥接器又称 “网桥”,是一种与中继器类似的双接口设备,但是桥接器能够根据 MAC 地址决定是否转发。有些桥接器甚至能连接不同物理层网络。
数据链路层交换机(L2 Switch)
数据链路层交换机又称 “二层交换机”,是多接口的桥接器。它将源设备发出的数据仅转发到目标设备上,避免了部分冲突。
如何建立接口与设备的联系:源设备首次对目标设备发包,交换机便借助 MAC 地址来记下源设备连接在自己的哪个接口上,并通过广播确定并记住目标设备在自己的哪个接口上
以下是利用 MAC 通信的例子:
-
A 发送数据到 D:
1
2设备A --> 交换机a --- 设备B
设备C ---/ \--> 设备D- A 预先知道 D 的 MAC 地址,它将这个地址附在数据中,发送出去
- a 的一个接口收到数据,a 查看自己记录的映射关系,将数据从 D 的 MAC 地址对应的接口发出去
- D 收到数据
虚拟局域网(VLAN)
部分交换机拥有划分虚拟局域网的功能,由于这些被划分的设备仍然连接在同一交换机上,故此局域网是 “虚拟” 的。此功能可以隔离不同的设备。
通过网络层通信
当网络结构变得多样、层层嵌套,这样愈发复杂的时候,仅靠交换机便略显吃力。
网络层就此引入了 IP 协议,方便了 “寻址”(去哪儿)与 “路由”(怎么走):每个接入网络的设备都拥有一个 IP,只要在数据中指定 IP,我们就知道要 “去哪儿”。IP 也可以划分 “子网”,用来对应复杂的网络结构;IP 有两部分:网络前缀和其余字段,配合各种方法(CIDR、子网掩码等)来区分二者。同一网络前缀的设备在同一个子网下,可以视作能直接通过数据链路层通信;不同网络前缀的设备则需要额外的步骤。
路由器(Router)
路由器是有两个接口的设备,两个接口拥有不同的 IP,分别连接在不同的子网里,可以让设备跨越子网通信。
以下是两个例子,其中 A、C、a、1 组成了一个子网,B、D、b、2 组成了一个子网:
-
A 发送数据到 C:
1
2设备A -> 交换机 - (接口1 路由器a 接口2) - 交换机 - 设备B
设备C <--/ \--- 设备D- A 查看自己的路由表,发现 C 的 IP 与自己的网络前缀相同——二者位于同一子网,不需要通过路由器通信。
- A 通过一些方式(ARP、NDP)通过 C 的 IP 得知 C 的 MAC 地址。
- A 直接通过数据链路层将数据发给 C。
-
C 发送数据到 D:
1
2设备A - 交换机 -> (接口1 路由器a 接口2) -> 交换机 - 设备B
设备C -->/ \--> 设备D- C 查看自己的路由表,发现 D 的网络前缀与自己不同——二者位于不同子网,需要通过路由器通信。
- C 根据路由表得知 “网关”(跨越网络的关口),即 a 的接口 1 的 IP,并将 D 的 IP 等信息写入数据,发送给 1(这段发送过程类似 A 发送数据到 C)。
- a 的 1 收到自 C 的数据后,a 就查看自己的路由表,发现自己的接口 2 的网络前缀与 D 的相同,2 与 D 就可以通过数据链路层通信。
以上例子中的交换机可以被整合成一个支持虚拟局域网(VLAN)的二层交换机:
1 | 路由器 |
如果再整合上述的交换机、路由器,那就得到了一台三层交换机(L3 Switch),它更加高效:
1 | 三层交换机 |
其他
Linux 网络设置
- Linux下可以用
ip
命令进行IP相关设置,而ifconfig
与route
是BSD系的 ethtool
可以查看编辑网络接口- 可以用
nftables
设置包过滤(简单来说:防火墙);nftables
现在替代了iptables
,且有ufw
、firewalld
等前端
名词表
- 广域网(WAN):广阔地理范围内的网络
- 局域网(LAN):有限地理范围内的网络,为 WAN 的组成部分
- 无线局域网(WLAN):使用无线连接的 LAN
- 以太网(Ethernet):遵循 IEEE 802.3 标准实现的技术,用于构建 LAN
- Wi-Fi:基于 IEEE 802.11 标准实现的技术,用于构建 WLAN
- 无线接入点(WAP):允许设备通过无线连接接入有线网络的网络设备
- 热点:能接入无线网络的物理位置
- 互联网、因特网、万维网:
- 互联网指网络设备互联形成的超大型网络,是一种 WAN
- 因特网为互联网中最大、最著名的一个
- 万维网是互联网上信息组成的抽象空间,它忽略了具体的物理设备,专注于其中的信息
- DHCP:在某个设备上运行,为网络中设备分配IP的服务
- 旁路由:在已有路由器的网络中再增加一个路由器,以增加路由速度的技术
- 通信方式:
- 单播:一对一发送信息
- 多播:一对多发送信息
- 广播:一对全发送信息