侧边栏壁纸
  • 累计撰写 244 篇文章
  • 累计创建 16 个标签
  • 累计收到 0 条评论
隐藏侧边栏

从物理层到链路层

kaixindeken
2021-04-19 / 0 评论 / 0 点赞 / 72 阅读 / 2,100 字

在计算机网络中,物理层负责将光电信号转化为 0、1 比特流用来表示信息,数据链路层把这些信息集合为一个叫做「帧」的块,再进行传输。

TCP/IP 未对数据链路层及以下部分(物理层)做定义,因为 TCP/IP 以这两层的功能是透明的为前提,但是,数据链路层的知识对于深入理解 TCP/IP 与网络起着至关重要的作用。

MAC地址

MAC 地址用于识别数据链路中互连的节点,在使用网卡的情况下,MAC 地址一般在出厂的时候就被烧到 ROM 中,不可更改,而且全球唯一。

我们见到的 MAC 地址都是通过十六进制树来表示:

1.png

在计算机内部,则是通过 48 位二进制数来表示,对应结构及区间含义如下:

1.png

MAC 地址的全局唯一性通过厂商识别码和产品识别码(厂商内识别码)共同保证,就好比咱们 PHP 通过 Composer 安装的扩展包也是通过厂商名/产品名确定全局唯一一样。

在同一个数据链路里(比如同一个局域网),互连的主机之间通过 MAC 地址即可实现相互通信。

以太网

在数据链路中最著名,使用最广泛的莫过于以太网(Ethernet),现在我们的计算机联网基本都是借助以太网来实现的,如果你在命令行通过 ifconfig(Windows下是ipconfig)查看网卡信息,即可窥见端倪:

1

以 en 开头的都是基于以太网的网卡,是 Ethernet 的简写。

早期,以太网通过同一根同轴电缆将多台终端设备连接起来,这种共享介质的连接方式有一个显著的缺点,就是发送和接收信号不能同时进行,只能实现半双工通信,并且多台设备也不能同时通信,需要争夺对通信介质的控制,如果同时通信,容易出现信道冲突。

为了提高通信效率和速度,随着技术的不断发展,现在的以太网一般都采用终端与交换机直连独占电缆的方式,实现了全双工通信,并且不同终端也可以同时发送信息,因为通信介质都是独占的,不存在控制权和冲突问题:

1.png

以太网根据线缆介质的不同,分为多种类型,对应的带宽也不同,所有这些不同类型的以太网都是遵循 IEEE802.3 标准:

1.png

这些不同类型的以太网前面的数字代表带宽(传输速度),比如 10 代表 10Mbps(比特每秒),1000 代表1000Mbps 等,后面的 5、T、TX 等代表传输介质。传输速度相同传输介质不同的以太网需要通过中继器或集线器连接,传输速度不同的以太网需要通过网桥、交换集线器或路由器进行连接。通过这种连接,最终构成了大大小小的计算机网络。

数据帧格式

以以太网为例,在数据链路层中,传输的数据帧主体格式如下:

1.png

其中,有 6 个字节的目标 MAC 地址,6 个字节的源 MAC 地址,2 个字节的上层协议类型,剩下的是传输数据,对以太网来说,数据大小是 1500 字节,还有最后 4 位是帧检验序列(FCS),用于检测帧是否损坏。

无线通信

无线通信不需要借助任何可见的线缆和网线,一般通过电磁波、红外线、激光进行数据传播,无线通信标准由 IEEE802.11 定义,常见的种类如下:

1.png

以上就是数据链路层常见实现所使用到的技术基础知识,单单靠物理层与数据链路层还是无法实现网络通信的,因为在互联网中,还需要 IP 地址才能实现主机节点之间的通信,而 IP 地址归属于 IP 协议,IP 协议则是网络层的协议。

0

评论区