网络协议-网络基础-从物理层到链路层
从物理层到链路层
在计算机网络中,物理层负责将光电信号转化为 0、1 比特流用来表示信息,数据链路层把这些信息集合为一个叫做「帧」的块,再进行传输。
TCP/IP 未对数据链路层及以下部分(物理层)做定义,因为 TCP/IP 以这两层的功能是透明的为前提,但是,数据链路层的知识对于深入理解 TCP/IP 与网络起着至关重要的作用,所以这一篇我们重点来介绍数据链路层,物理层主要是物理介质,比如光缆、电缆、双绞线等,更多的是硬件结构,不在我们重点论述范围。
MAC地址
介绍数据链路层,离不开 MAC 地址,MAC 地址用于识别数据链路中互连的节点,在使用网卡的情况下,MAC 地址一般在出厂的时候就被烧到 ROM 中,不可更改,而且全球唯一。
我们见到的 MAC 地址都是通过十六进制树来表示:
在计算机内部,则是通过 48 位二进制数来表示,对应结构及区间含义如下:
MAC 地址的全局唯一性通过厂商识别码和产品识别码(厂商内识别码)共同保证,就好比咱们 PHP 通过 Composer 安装的扩展包也是通过厂商名/产品名确定全局唯一一样。
在同一个数据链路里(比如同一个局域网),互连的主机之间通过 MAC 地址即可实现相互通信。
以太网
在数据链路中最著名,使用最广泛的莫过于以太网(Ethernet),现在我们的计算机联网基本都是借助以太网来实现的,如果你在命令行通过 ifconfig
(Windows下是ipconfig
)查看网卡信息,即可窥见端倪:
以 en
开头的都是基于以太网的网卡,是 Ethernet
的简写。如果是在 Windows 下则更加直白:
早期,以太网通过同一根同轴电缆将多台终端设备连接起来,这种共享介质的连接方式有一个显著的缺点,就是发送和接收信号不能同时进行,只能实现半双工通信,并且多台设备也不能同时通信,需要争夺对通信介质的控制,如果同时通信,容易出现信道冲突。
为了提高通信效率和速度,随着技术的不断发展,现在的以太网一般都采用终端与交换机直连独占电缆的方式,实现了全双工通信,并且不同终端也可以同时发送信息,因为通信介质都是独占的,不存在控制权和冲突问题:
以太网根据线缆介质的不同,分为多种类型,对应的带宽也不同,所有这些不同类型的以太网都是遵循 IEEE802.3 标准:
这些不同类型的以太网前面的数字代表带宽(传输速度),比如 10
代表 10Mbps
(比特每秒),1000
代表1000Mbps
等,后面的 5、T、TX
等代表传输介质。传输速度相同传输介质不同的以太网需要通过中继器或集线器连接,传输速度不同的以太网需要通过网桥、交换集线器或路由器进行连接。通过这种连接,最终构成了大大小小的计算机网络。
数据帧格式
以以太网为例,在数据链路层中,传输的数据帧主体格式如下:
其中,有 6 个字节的目标 MAC 地址,6 个字节的源 MAC 地址,2 个字节的上层协议类型,剩下的是传输数据,对以太网来说,数据大小是 1500 字节,还有最后 4 位是帧检验序列(FCS),用于检测帧是否损坏。
无线通信
无线通信不需要借助任何可见的线缆和网线,一般通过电磁波、红外线、激光进行数据传播,无线通信标准由 IEEE802.11 定义,常见的种类如下:
以上就是数据链路层常见实现所使用到的技术基础知识,单单靠物理层与数据链路层还是无法实现网络通信的,因为在互联网中,还需要 IP 地址才能实现主机节点之间的通信,而 IP 地址归属于 IP 协议,IP 协议则是网络层的协议。
Wi-Fi 的由来与无线通信
Wi-Fi是 WECA(无线以太网兼容性联盟)为普及 IEEE802.11 的各种标准而打造的一个品牌。
WECA 从 02 年开始更名为 Wi-Fi Appliance,该组织向 Wi-Fi 设备厂商提供 IEEE802.11 产品的互操性测试,并对合格的产品颁发 Wi-Fi Certified认证,因此,带有 Wi-Fi 标志的无线 LAN 设备意味着该产品已经过互操性测试并通过认证。
与音响中的 Hi-Fi 这个词类似,Wi-Fi 指高质量的无线 LAN。
在我们普通老百姓口中,Wi-Fi 俨然是无线网络的代名词,但严格来说,它只是整个网络结构中的一小部分,在家庭或公司这样的小型局域网(LAN)中,有线网通过网线连接,无线网通过无线电波传输数据:
另外,无线 LAN 的无线电波可能会受到其它设备的干扰,导致信号不稳定,比如微波炉,放射的也是无线电波,频率与无线 LAN 频率相近,就会干扰 WiFi 信号。
除了 Wi-Fi 所支持的无线 LAN,无线网络技术还有近距离的蓝牙、城域范围的 WiMax、用于家电远程控制的 ZigBee、以及我们在户外使用的 3G、4G 乃至 5G 网络(无线 WAN)。