数据链路层—简介
2015-11-24 14:49
197 查看
本文介绍数据链路层的大概定义:
在物理层中,我们只关注单个比特的传输,但是在数据链路层中,我们将要关注怎么去实现两台设备之间的“信息块”通信。设备之间通过通信信道(Communication Channel)连接,通信信道我们可以大致理解为物理上使用的线路(严格说区别为物理信道和逻辑信道)。由于使用信道进行连接,那么信道的作用就仅仅是传递比特数据了。
说到这里,好像两台设备之间的传输信息看起来是很简单的,发送方将比特数据放在信道上,然后接收方将信道上的比特数据接收就好了。但是,问题出现了:(1)通信信道由于物理材料等方面会导致传输过程出现问题
(2)比特数据在信道上的传输是有非无穷大的速度的,也就是说从发送方发送到接收方接收到数据,是有时间间隔的
以上的两个问题,将会使得发送效率降低。这也是本章,计算机网络数据链路层需要研究的问题,在没有开始进行学习之前,我们可以想想,怎么去解决这个问题,首先物理方面我们是没法进行过多的操作,所以我们就从逻辑方面进行下手处理,也就是协议(protocol),通过协议去规定什么数据是可以接收的,什么时候是发生了数据冲突的等等。也就是在本章,将会花费很大精力去学习通信中的协议。
下面将用图形象说明一下数据链路层在所有层中的情况以及将数据链路层抽取出来单独研究:
在以上的两个图中,H1和H2是用户主机,R1、R2、R3是路由器,可以发现,用户主机是有5个层次,但是中间的路由器只是用于转发数据,那么就没有最上面的两个层。当我们专门研究数据链路层的问题的时候,就可以像第二张图一样,只关心链路层在水平方面的数据传输,将其他的层暂时当做透明。
相关文章推荐
- #Android#Eclipse Logcat无法打印信息处理方法
- 字符串匹配的Boyer-Moore算法
- jquery easyui的datagrid在初始化的时候会请求两次URL?
- 去掉navBar的线
- 《JavaScript高级程序设计》chapter 1: javascript 简介
- 需求文档可测试化
- tuple
- 深入了解require.js特性
- 在线桌面版本API,中文api
- tmux使用大全
- iOS开源程序下载网站
- Centos6.7 ELK日志系统部署
- CCBPM 常用API接口说明
- Win7+花生壳6.0+tomcat打做自己的web服务器(搭建自己的网站)(参考)
- Linux编程——makefile编写技巧大全
- spark 单机模式
- int -> String
- 该怎么实现iMindMap固定功能的巧妙运用
- 如何在一个<td>里放2个以上的<form>而不换行
- iOS GCD中队列组的使用--下载并且为图片添加水印