数据链路作用
数据链路协议定义了通过通信媒介相连的设备间传输规范(常见的通信媒介包括双绞线电缆、同轴电缆、光纤、红外线),数据链路层位于TCP/IP模型的第二层,仅物理层在其之下,数据链路层将需要发送的01报文以‘帧’为单位转交给物理层,物理层将数字信号转化成模拟信号进行传播,因此从某种角度来看数据链路可以被定为网络传输中的最小单位,庞大的互联网就是由一个个数据链路所连接成的一个拓扑结构,所以互联网也能称作‘数据链路的集合’。
网络拓扑结构
:=网络的连接和构成的形态称为网络拓扑(Topology),对应的数据结构就是图
拓扑结构中主机之间通过具体的传输介质相连接
数据链路相关技术
MAC地址
mac地址用于识别数据链路中互连的节点,一台主机给另一台主机发送的消息往往需要经过多个中间节点,只有知道每一个节点的mac地址才能进行一次转发。
mac地址是一串6字节大小的数,以8bit为单位进行十六进制转化后的结果就是平时所看到的格式。正常情况下mac地址是全球唯一的(虚拟机除外)
一台主机发送给一台主机消息,同一数据链路中的所有主机都能收到报文,只不过主机会比对自身mac地址和目标mac地址,如果不匹配则会丢弃报文,借助交换机可以将这种类似于广播的方式次数大大减少
共享介质型网络
共享介质型网络是由多个设备共享一个通信介质的网络,设备之间使用同一通道进行数据收发,这导致共享介质型网络只能是一种半双工通信 (时段内要么发送数据要么接受数据,不可以收发并行,与之相对的可以收发并行的称为全双工通信) 。由此衍生出2种访问控制方式,争用与令牌传递
争用方式
各个设备之间相互竞争唯一的数据线,数据线对于设备来说是一种临界资源,即一时段内数据线上只能有一个设备所发出的信息,否则会出现冲突的现象。这种方式的缺点显而易见,当设备数量增多,数据传输频繁的情况下,势必造成严重的资源竞争导致性能下降。
令牌传递方式
令牌传递方式沿着令牌环发送一个叫‘令牌’的特殊报文,仅当主机得到令牌报文时才有发送数据的权力。这种方式不会出现数据冲突的问题,并且不会出现饥饿现象。
非共享介质型网络
非共享介质型网络需要硬件交换机的支持,数据链路中的每一个节点直连交换机,由交换机负责转发数据帧,各个主机的数据收发不会出现有冲突的情况,并且由于交换机与主机的传输介质为双绞线,使其能够实现全双工通信(收发并行)
MAC地址转发
之前提到过交换可以较少数据帧广播的次数,其原因在于交换机中维护了一张转发表(Forwarding Table),当数据帧到达交换机时通过查询转发表便可知道下一站该往哪一个网络接口发送。
转发表不需要人工设置,交换机具有自学的本领。
在初始情况下,交换机不知道与之相连的主机mac地址,此时转发表为空
当主机A向主机B发送数据帧时,数据帧会先到交换机,交换机根据数据帧中的mac源地址可以知道连接A主机的接口是哪一个,此时就可以构建出A主机mac地址与A主机接口的映射关系,接着会以广播的形式向所有接口发送数据帧,非B主机接受到数据帧后丢弃,B主机接受到数据帧后一般会相应A,此时交换机便可依据相应消息构建B主机mac地址和B接口的映射
以太网Ethernet
以太网是数据链路的一种实现方式,凭借其规范简单,兼容性强的特点成为应用最广泛的数据链路。
以太网连接形式
早期的以太网是争用式共享介质型网络,之前已经提到其缺点,因此现代的以太网一般采用非共享介质实现
以太网帧格式
以太网帧前段有个叫做前导码(preamble)的部分,用于标识一个以太网帧的开始(之所以需要前导码是因为在互联网中的数据链路不一定都是以太网),前导码占8字节,之后便是数据帧本体部分。
以太网本体前段是以太网的报头,总共占14字节(6字节目标mac,6字节源mac,2字节上层协议类型),之后便是报文正文部分,在帧尾处会有一个4字节的校验和FCS用于判断数据帧是否出现错误
无线通信
无线通信适用电磁波方式进行传播,不需要网线或其他可见电缆
次要,具体可以参考原书
无线通信种类
本文所有图示均来自《图解TCP/IP》原书