TCP/IP笔记(三)数据链路层

数据链路的作用

数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。此外,各个设备之间有时也会通过交换机、网桥、中继器等中转数据。

实际上,各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。众所周知,计算机以二级制0、1来表示信息,然而实际的通信媒介之间处理的却是电压的高低、光的闪灭以及光波的强弱等信号。把这些信号与二进制的0、1进行转换正式物理层的责任。数据链路层处理的数据也不是单纯的0、1序列,该层把他们集合为一个叫做帧的块,然后再进行传输。

网络的连接和构成的形态成为网络拓扑
包括:总线型,环型,星型和网状型。

网络拓扑.png

数据链路相关作用

MAC地址

用于识别数据链路中互连的节点,地址长48比特,一般用16进制数表示。在使用网卡的情况下,MAC地址会被烧入到ROM中。因此,任何一个网卡的MAC地址都是唯一的。

MAC地址.png

从通信介质的使用方法上看,网络可分为共享介质型和非共享介质型。
共享介质型有两种介质访问控制方式:一种是争用方式,另一种是令牌传递方式。

MAC地址转发

以太网交互机会根据数据链路层中每个目标MAC地址,决定从哪个网络接口发送数据。这时所参考的、用意记录发送接口的表就叫做转发表。
转发表并非手动设置,而是交换机自动学习得到的。当某个设备向交换机发送帧时,交换机将帧的源 MAC 地址和接口对应起来,作为一条记录添加到转发表中。

自学.png
当设备数量增加时,转发表也会随之变大,检索转发表所用的时间就越来越长,所有,有必要将网络分成多个数据链路,采用类似于网络层的IP地址一样对地址进行分层管理。

环路检测方式

  • 生成树方式
  • 源路由法

以太网帧

以太网帧的开头是“前导码(Preamble)”,长度为 8 字节,这一段没什么用,重点在于以太网帧的本体。

本体由首部,数据和 FCS 三部分组成:

以太网帧.png

类型部分存储了上层协议的编号,比如上层是 IP 协议,则编号为 0800。

FCS 表示帧校验序列(Frame Check Sequence),用于判断帧是否在传输过程中有损坏(比如电子噪声干扰)。FCS 保存着发送帧除以某个多项式的余数,接收到的帧也做相同计算,如果得到的值与 FCS 相同则表示没有出错。

无线通信

无线通信通常使用电磁波、红外线、激光等方式进行传播数据。一般在办公室的局域网范围内组成的较高速的连接成为无线局域网。

IEEE802.11

IEEE802.11定义了无线LAN协议中物理层与数据链路层的一部分(MAC层)。IEEE802.11这个编号有时指众多标准的统称,有时也只无线LAN的一种通信方式。主要针对笔记本电脑这样较大的计算机设备的标准。

蓝牙

是使用2.4GHz频率无线电波的一种标准,主要为手机或者智能手机、键盘、鼠标等较小设备而设计的标准。

PPP

PPP是指点对点,及1对1连接计算机的协议。
以太网使用同轴电缆或双绞线电缆,它可以决定其中的0,1该被解释为何种电子信号。与之相比,PPP属于纯粹的数据链路层,与物理层没有任何关系。及仅有PPP无法实现通信,还需要有物理层的支持。

PPP.png
PPP可以使用电话线或ISDN、专线、ATM线路。

LCP与NCP

在开始进行数据传输前,要先建立一个PPP级连接。这个连接建立以后就可以进行身份认证、压缩与加密。
PPP包括两个协议:

  • 不依赖上层的LCP协议: 主要负责建立和断开连接、设置最大接收单元、设置验证协议以及设置是否进行通信质量的监控。

  • 依赖上层的NCP(如上层为IP,也叫做IPCP)协议:负责IP地址设置以及是否进行TCP/IP首部压缩设备。

PPP的帧格式

 PPP的帧格式.png

PPP0E

单纯的以太网没有验证功能,也没有建立和断开连接的处理,因此无法按时计费。而如果采用PPPoE管理以太网连接,就可以利用PPP的验证等功能使各家ISP可以有效地管理终端用户的使用。

PPP0E.png

主要数据链路类型及特点

屏幕快照 2017-03-14 上午9.47.42.png

公共网络

公共通信服务类似于电信运营商(如NTT、KDDI或软银等)提供的电话网络。人们通过这些运营商签约、付费不仅可以实现联网还可以与距离遥远的机构组织进行通信。
常见的有模拟电话线路、移动通信、ADSL、FTTH、有线电视、专线、VPB以及公共无线LAN等内容。自行了解下就好,就不一一介绍了。

关于数据链路层,最重要的一点还是它的定义:“通过通信介质相互连接的设备之间,数据传输的规范”。这说明数据链路层的协议适用于处于同一种数据链路两端的节点。如果不能理解这一点,就无法理解网络层和 IP 协议。

数据链路层的意义在于,如果没有数据链路层,数据只能以流的形式存在与通信介质中,不知道该发送往哪里,过长的数据流可能无法在通信介质中传输。

posted @ 2017-03-22 09:32  洛洛爱吃肉  阅读(1470)  评论(1编辑  收藏  举报