您的位置:首页 > 理论基础 > 计算机网络

计算机网络之 数据链路层

2015-04-02 09:54 239 查看
数据链路层使用信道主要有两种方式
1. 点对点信道:这种信道使用一对一的点对点通信方式
2. 广播信道: 这种信道使用一对多的广播通信方式,因此过程比较负责。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
所谓链路:就是一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
数据链路是指,在链路上加载了实现通信协议的软件硬件的总称。
链路实际就是物理链路,而数据链路就是逻辑链路,是在物理链路上加上必要的通信协议。

3. 数据链路层有三个要解决的问题。

封装成帧,透明传输和差错监测。

封装成帧:就是在数据的前后端分别添加首部和尾部。

透明传输:要解决的问题就是 在帧的数据部分可能存在与帧头或者帧尾完全一样的内容,如何使这些内容不被接收方所误解,最常见的操作就是字符插入法。

差错监测:保证比特无差错,例如加入CRC校验

4. 在网络设计的最初,IP层相对简单,他提供的是不可靠的数据包服务,。在这种情况下,数据链路层没有必要提供比IP协议更多的功能,因此数据链路层的帧,不需要纠错,不需要需要,也不需要流量控制。换句话说 IP已经不靠谱了,数据链路层靠谱了又能咋。最好情况还是不靠谱,还不如直接不靠谱。实际情况是随着电子技术的发展以及光钎的出现,数据链路层越来月靠谱。因此数据链路层设计的一个准则就是简单。
数据链路层要干的事情就是:接收方每接收到一个帧,就进行CRC校验,如果CRC校验正确,那么就收下这个帧,要不就丢弃这个帧,其他什么也不干。

5.PPP协议,ppp(point to point protocal)协议现在的变种是PPPoE其实就是(PPP over Ethernet),主要作为用户和ISP之间的用户验证协议。

ppp协议就是点对点通信协议,这种协议首先是 客户端到服务端有一条独立的链路。由于ppp协议是属于高富帅背景的,直接有条独享的链路到ISP所以 不用抢信道,换句话说也就是不用规定最小帧长。
6. 数据链路层在局域网的体现
数据链路层在局域网的体现不仅体现在封装成帧,透明传输和差错监测,还有最重要的一条就是如何抢信道,也就是所说的MAC层协议。
而现在以太网其实就是局域网的代名词,所以讲局域网的数据链路层也就是将以太网的数据链路层
也就是传说中的802.3了!那就从最经典的10Mb的以太网开始讲吧。
以太网的数据链路层不同于ppp协议,因为ppp协议假定用户到服务端是有一条独占的线路的,所以不用抢信道。而对于以太网来说属于没与背景的网路,在以太网只有一个信道供许多终端使用,但是同一时刻只能有一个终端在信道上发送数据,那么问题来了,这么多的终端怎么来竞争的使用这条信道呢。以太网采用的是一个叫做CSMA/CD的MAC协议。
要想在以太网上抢信道 那么就必须遵循CSMA/CD 协议,这个协议规定,如果终端想利用信道发送数据那么就必须先侦听信道,如果信道是空闲的,那么等一会儿(等多久呢,这是 有规定的,等的时间是两个帧之间的发送间隔,也就是说前一个帧发送完之后还得等一段时间才能发送第二个帧这是因为发送方必须给接收方留一些时间对接收到的帧进行处理),然后再发送数据,在发送数据的时候还要进行监听信道,看自己发送的数据有没有和其他人发送的数据发生了冲突,所以问题就来了为什么还会和别人发送的数据发生冲突呢,原因是:加入A在发送数据,但是数据还没有传输到B这个地方,B也想发送数据B监听信道发现信道是空闲的,然后等一段时间发送数据,然后两个数据就在信道上碰撞了,实际原因就是
你自己监听信道是空闲的,但是信道不一定是空闲的,因为碰巧有人A在发送数据但是数据还没有传送到B所在的地方,所以B监听信道是空闲的。为了避免这种冲突的发送,那么A就要一直在发送端监听信道看是否有冲突发生。那么A要监听多久,假设网络长度为L,那么就要监听2*L/C,c信号在信道中传播的速度,其实说A在监听信道看有没有冲突实际就是说A在发送数据,因此对于10Mb的以太网那么就有最小帧长出现了 10Mb*(2*L/c),算出来是64B,那么问题又来了,我们知道以太网的帧头结构:6B的目的地址(不要问为什么是6B,因为MAC地址就为6B),6B的源地址,然后2B的内容是类型字段表示上层是什么类型的协议(傻了吧
在网络层除了IP协议还有其他协议,IPX就是其中一个),接下来是数据字段,接下来是4B的CRC,因此我们可以算出来以太网的数据字段最小为46B,而又因为数据字段最大为1500字段,因此以太网的最大帧长为1518B。
7.对于以太网的扩展,首先出现的是集线器,集线器是啥呢,其实就是一个机器把网线集合起来而已,字如其名,它就把几个局域网连接起来了,由于是最先出现的技术所以黑点就比较多了,最典型的就是 由于它把一个局域网发送出来的数据转发给其他所有局域网,所以这下冲突域扩展到了几个网的冲突域,也就是说连在一起的局域网大家在一个冲突域里面,所以你想要发送数据那么要和竞争的人那就变的很多了,所以吞吐就下来了。
接下来就是网桥了,网桥的工作方式和路由器很像(我感觉就一样,就是工作在数据链路层的路由器),网桥里面配置好什么样的地址应该发送到哪里,因此他只是把一个网发送出来的数据交付给相应的局域网不会给其他不相关的局域网转发数据,因此不会发生广播风暴,也不会影响吞吐。在接下来就是透明网桥,透明网桥 是啥呢,其实他和网桥是一个东西,差别就在于网桥的转发表(类似与路由表)是手工配置的,而透明网桥是根据每个中断通信的历史记录自动得出来的,所以用户感觉不到它的存在,因此叫做透明网桥。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: