计算机网络(二):物理层和数据链路层
来源:互联网 发布:ps淘宝优惠券 编辑:程序博客网 时间:2024/06/01 10:19
物理层考虑的是如何在连接计算机的传输媒体上传输数据比特流,主要针对的是01的比特流数据。出于更友好的控制01数据,差错检验(比如0变成了1),链路选择等问题,在物理层上抽象出了数据链路层。
相比较而言,物理层类比于机器语言,数据链路层类比于汇编语言。
说白了就是传输01的数据,相对而言,物理层和硬件打交道比较多,比如传播的介质——光缆,信道复用技术等。关于物理层,更多的是一个底层的传输媒介。
数据链路层的作用
正如在上一节所讲,网络层传输的是主机间的通信,而物理层是具体的实现方法,那么出于中间的数据链路层其作用是什么呢?
可以简答的认为数据链路层是起到一个中间的承载的作用。即将网络层的数据(IP数据报)添加上必要的信息(头和尾)后使用物理层来转发,这其中包括头里面的目标主机的地址,起始结束标识,填充等。另外还有差错检验。
数据链路的含义应该理解为整个网络中的一个段。这个段的两头是主机或者路由器等通信设备。
上图中主机和路由器间,路由器和主机间的线路就是数据链路。
可以看出路由器只有三层,因为路由器中没有主机之类的多进程概念,因此只需要定位到一个具体的ip即可。
数据包装
我们知道物理层传输的是01,那么数据链路层传递的是什么呢?
可以做两层理解:1.物理层01的抽象;2.网络层数据的包装
具体来说,网络层的数据单元为IP数据报(简称数据报,分组或包),这些数据单元只是数据,并不包含目的地信息等。因此数据链路层会给IP数据报添加上头尾信息组成帧(frame),然后在通过物理层传输。
具体实现
数据链路层实现承接网络层和物理层主要是通过三个问题解决的:封装成帧,透明传输,差错检验
封装成帧
即在IP数据报上添加首部和尾部,构成一个帧。首部和尾部主要的作用是表示该帧的起始和结尾。可以得出填充的头和尾都是特殊的ASCII码。透明传输
如果IP数据报中含有和帧的首尾一样的特殊字符怎么办呢?这是就是用填充来实现。即数据链路层除了给IP数据报添加头尾之外,还会检查IP数据报的内容,如果发现有特殊字符,则添加填充。同样,另一端的数据链路层收到帧后会检查IP数据报的部分,请删除填充字符。差错检验
即传输的数据出现问题吧,比如0变成1,此时使用检验方法——比如循环冗余检验CRC等。
该方法也需要额外的填充数据来实现。
关于差错检验,需要明确的是,数据链路层值提供帧本身的差错检验,关于帧的重复,帧的丢失则没有应付措施,这部分的检验是TCP来实现的。
- 计算机网络(二):物理层和数据链路层
- 计算机网络数据链路层和物理层
- 计算机网络(2)物理层、数据链路层
- 二.物理层和数据链路层作用
- 计算机网络——物理层和数据链路层
- 计算机网络---数据链路层与物理层
- 【计算机网络】数据链路层(二):差错检测和纠正
- 物理层、数据链路层
- 物理层&数据链路层
- 计算机网络学习第二天----物理层、数据链路层
- 网络基础(2)- 物理层和数据链路层作用
- 数据链路层和物理层协议总结
- 计算机网络基础之OSI七层参考模型(三、传输层、网络层、数据链路层、物理层)
- 计算机网络(数据链路层)
- 计算机网络(二) 数据链路层及点对点信道
- 物理层及数据链路层
- 计算机网络数据链路层
- 【计算机网络】数据链路层
- 二叉树的镜像
- 浅析指针数组、数组指针、函数指针、指针函数、函数指针数组的指针
- 这几天编的随机数生成小程序,给学校利用的,请大家参考并指出问题!
- 龟头子能泡酒吗|龟头子泡酒怎么泡
- 字典序
- 计算机网络(二):物理层和数据链路层
- python中的format函数
- Shiro(四) 自定义Realm
- Java Socket数据转发和http代理(使用公网ip服务器转发数据)
- 表单按回车自动提交
- 【图解】PCB快速制板,热转印机+腐蚀槽
- 枚举:熄灯问题
- Spring MVC json报406错误的解决办法 Failed to load resource: the server responded with a status of 406
- get和post