数据链路层概述

  数据链路层为计算机网络七层模型中的第二层,同物理层一并构成了TCP/IP协议的四层结构的第一层——网络接口层编程

 

数据链路层解决的问题

封装成帧

  帧是数据链路层的基本单位网络

  在数据链路层中,发送端会在网络层的一段数据先后添加特性标记变成“帧”,而接收端则会识别出这个“帧”编程语言

  通常过程以下:计算机网络

  1.数据链路层得到网络层传输的IP数据报,接口

  2.以后,数据链路层把这个数据当作是“帧”的数据,并在首尾添加特定的标记ip

  可是,若是在数据中也有和添加的标记同样的内容,该如何处理呢?路由

透明传输

  这里的透明,能够理解成“虽然存在,可是当作不存在”it

  数据链路层中,会把原始的数据内部出现的帧标记添加转义字符,使得其与标记区分开(例如编程语言中的\io

差错检测

  因为物理层只管传输比特流,而无论传输的对错(例如受到干扰而致使传输出错),所以数据链路层担负起了差错检测的任务效率

  这里的检测包括奇偶校验码以及循环冗余校验码CRC(数据链路层采用的差错检验的方法)两种

奇偶校验码

  在比特流的尾部添加一个比特位来检测比特流是否出错

  若是比特位所有相加奇数,末尾加1,偶数加0,这样能够结合奇偶校验码来判断数据的正误

  可是,若是数据变化比较巧妙(有偶数位出现错误),也符合奇偶校验码,那就没法检验出错误了

循环冗余校验码CRC

  这种方法是根据传输/保存的数据来产生固定位数的校验码,从而检测错误

  这里也是生成数字,而后附加到数据后面,不一样的数据校验码不一样,保证了数据和校验码的一一匹配

 

最大传输单元MTU

  因为数据链路层能够传输的“帧”也不是无限大的,最大值就是最大传输单元(Maximum Transmition Unit)

  MTU一方面是受低层物理层影响,另外一方面,数据帧的大小影响着传输的效率

  以太网的MTU通常为1500字节

路径MTU

  在网络传输的过程当中,不一样路径可能MTU不同,这时取其中最小值做为路径MTU

 

以太网协议

  以太网协议是数据链路层的一个协议(实际上规定了物理层数据链路层,也就是网络接口层),一种普遍使用的局域网技术,能够用来完成相邻设备的数据帧传输

MAC地址

  即物理地址/硬件地址,全世界全部设备都有自身惟一特有的MAC地址(相似于身份证)

  MAC地址有48位,一般用十六进制表示,例如30-B4-9E-4D-55-6A

  能够在命令提示符中用ipconfig/all指令查看本机全部物理设备的MAC地址

数据格式

  以太网的数据格式分为目的地址(6字节)、源地址(6字节)、类型(2字节)、帧数据(46-1500字节)以及CRC(4字节)

  这里的类型指的是帧数据是什么协议的数据(这里的协议指的是网络层的)

MAC地址表

  MAC地址表存在于以太网协议中,用来把数据格式最开始的目的地址同一个硬件接口作关联,这样就能够知道哪一个数据发往哪里了

  但若是路由器中没有存某个硬件接口呢?

  路由器就会把数据发往除了发送端之外的全部主机,等待回应,而后根据回应,记录下MAC地址表中没有的硬件端口

  但若是要跨设备传输(例如经过路由器,发往下一个路由器链接的主机),则须要利用网络层的协议

相关文章
相关标签/搜索