物理层和数据链路层

物理层

物理层的主要任务是确定与传输媒体接口的一些特性,即:
机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。
电气特性:指明在接口电缆的各条线上出现的电压的范围。
功能特性:指明某条线上出现的某一电平的电压表示何种意义。
过程特性:指明对于不同功能的各种可能事件的出现顺序。

数据链路层

1. 传送单位

数据链路层的传送单位是帧

2. 信道分类

广播信道:一对多通信,一个节点发送的数据可被广播信道上所有节点接收到。所有节点都在同一个广播信道上发送数据,需专门的控制方法协调,避免冲突。CSMA/CD协议。
点对点信道:一对一通信。PPP协议,简单,只检测差错而不去纠正差错,不使用序号,也不进行流量控制,可同时支持多种网络层协议

3. 基本概念

网桥:一种用于数据链路层实现中继,连接两个或多个局域网的网络互连设备。
MTU(Maximum Transfer Uint):最大传送单元。帧的数据部分的长度上限。以太网的MTU值是1500bytes.即数据帧内容最大为1500.
误码率BER(Bit Error Rate):一段时间内传输错误的比特占所传输比特总数的比率。
数据链路层的三个基本问题是:封装成帧,透明传输和差错检测

4. 链路层向网络层提供的服务

数据链路层的设计目标是为网络层提供各种需要的服务。一般情况下,数据链路层会向网络层提供三种类型的服务:

无确认的无连接服务

源计算机向目标计算机发送独立的帧,目标计算机并不对这些帧进行确认。事先无需建立逻辑连接,事后也不用解释逻辑连接。如果由于线路上的原因造成某一帧的数据丢失,则数据链路层并不会检测到这样的丢失帧,也不会恢复这些帧。

有确认的无连接服务

源主机数据链路层必须对每个发送的数据帧进行编号,目的主机数据链路层也必须对每个接收的数据帧进行确认。如果源主机数据链路层在规定的时间内未接收到所发送的数据帧的确认,那么它需要重发该帧。

有确认的面向连接服务

源计算机和目标计算机在传输数据之前需要先建立一个连接,该连接上发送的每一帧也都被编号,数据链路层保证每一帧都会被接收到。且它还保证每一帧只被按正常顺序接收一次。存在3个阶段,即:数据链路建立、数据传输、数据链路释放阶段。每个被传输的帧都被编号,以确保帧传输的内容与顺序的正确性。

5. 局域网和以太网

局域网是典型的广播信道,特点是为一个单位所拥有,且地理范围和站点数目均有限。主要有以太网、令牌环网、FDDI和ATM等局域网技术,目前以太网占领着有线局域网市场。

以太网是一种星型拓扑结构局域网。早期用集线器进行连接,集线器是一种物理层设备,作用于比特,当一个比特到达接口时,集线器重新生成这个比特,并将其能量强度放大,从而扩大网络的传输距离,之后再将这个比特发送到其它所有接口。如果集线器同时收到两个不同接口的帧,那么就发生了碰撞。目前以太网使用交换机替代了集线器,交换机是一种链路层设备,它不会发生碰撞,能根据MAC地址进行存储转发。交换机有自学习能力,学习交换表的内容,交换表中存储着MAC地址到接口的映射,因有自学习能力,不需要手动配置交换表内容。

6. 数据链路层主要功能

数据链路层最基本的服务是将源结点中网络层的数据可靠的传输到相邻的目标结点的网络层。为了实现这个目的,数据链路层必须具备的功能:
a.将数据组合成帧;
b.控制帧在物理信道上的传输,包括处理传输差错,调节发送速率使之与接收方相匹配;
c.在两个网路实体之间提供数据链路通路的建立、维持和释放管理。

7. 封装成帧

封装成帧是在一段数据的前后分别添加首部和尾部,构成一个帧。首部和尾部用于帧定界。
物理层和数据链路层

8. 透明传输

帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符,在接收端进行处理后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。

9. 差错控制

在传输过程中可能会由于各种因素导致出现比特差错,需要在数据链路层进行检查。通常使用循环冗余检验(CRC)来检查比特差错。

10. 流量控制

控制流量可以保证数据传输的有序,且能够避免传输过程中因接收方来不及接收导致数据丢失。

11. 链路管理

“链路管理”包括数据链路的建立、维持和释放。当两个结点要进行通信时,数据的发送方必须确知接收方是否已处在准备接受的状态。通信双方必须先要交换一些必要的信息,以建立一条基本的数据链路。在传输数据时要维持数据链路,而在通信完毕时要释放数据链路。

12. CSMA/CD协议

CSMA/CD表示载波监听、多点接入和碰撞检测。
多点接入:表示多个主机以多点的方式连接到一根总线上,是总线型网络。
载波监听:每个主机在发送数据前需要持续的检测总线上是否有别的主机在发送数据,如果有,则暂时不发送数据,以免发生碰撞。
碰撞检测:在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但由于传播时延的存在,还是有可能会发生碰撞。记端到端的传播时延为τ,最先发送的站点最多经过2τ就可以知道是否发生了碰撞,称2τ为争用期。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。当发生碰撞时,站点要停止发送,等待一段时间再发送。

13. MAC层

数据链路层中MAC子层主要实现:区分数据与控制信息。
由于数据和控制信息都是在同一信道中传输,数据和控制信息处于同一帧中,因此一定要有相应的措施使接收方能够将他们区分开来,以便向上传送的仅是真正需要的数据信息。
MAC地址是链路层地址,长度6字节(48位),用于唯一标识网络适配器(网卡)。一台主机拥有多少个网络适配器就有多少个MAC地址。
MAC层与交换机都工作在数据链路层,上一层传下来的包在这一层分割封装后叫做帧,该层常见的协议:SDLC,STP,帧中继,HDLC等;
物理层和数据链路层

14. 虚拟局域网

虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的主机才会收到链路层广播信息。如下图中(A1, A2, A3)属于一个虚拟局域网,A1发送的广播会被A2、A3收到,而其它站点收不到。
使用VLAN干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连VLAN交换机。在标准以太网帧上加进了4字节首部VLAN标签,用于表示该帧属于哪一个虚拟局域网。
物理层和数据链路层

15. 常见问题

局域网将数据链路层分割为哪两个子层?这两个子层分别完成了什么功能?
答:划分为逻辑链路控制LLC子层和介质访问控制MAC子层,从而使LAN体系结构能适应多种传输介质。对各种类型的局域网来说,其物理和MAC子层需要随着所采用介质和访问方法的不同发生改变,而这些不同对于LLC子层来说都是透明的。
物理层和数据链路层
(1)LLC作为数据链路层的一个子层,使用MAC子层为其提供的服务,通过与对等实体LLC子层的交互为它的上层网络层提供服务。
(2)MAC子层是用来实现介质访问控制的网络实体。MAC子层主要功能包括数据帧的封装/拆封、帧的寻址与识别、帧的接收与发送、链路的管理、帧的差错控制及MAC协议的维护等。

v*n隧道协议种类:
主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5协议。其中,PPTP和L2TP工作在数据链路层,IPSec工作在网络层,SOCK v5工作在会话层。