TCP/IP具体解释学习笔记——数据链路层(2)
我们姑且觉得这两个部分是与物理层相关的一些细节,不用太关心,主要来看MPDU,它类似于以太网帧格式。可是又加入了一些别的东西。
MPDU的開始部分是帧控制字 (Frame Control Word),占领两个bit。用来表示帧类型。帧类型一共同拥有三种,管理帧(management frames),控制帧(control frames)和数据帧(data frames)。
当进入节能模式时,在Frame Control Word中相应位将置位,然后发送出去。与之连接的AP接收到这些置位的数据帧之后,会将原本应该发送到该设备的帧数据先存到缓存中。等到设备须要时再发送给它。
我们这里主要介绍DCF(distributed coordinating function)。DCF是一种基于竞争的媒介訪问控制协议,与CSMA/CD类似,设备在发送数据之前检測媒介是否空暇。假设空暇则发送数据。否则等待一段时间知道检測到媒介是空暇为止。不同的地方在于,DCF为不同的设备或者不同类型的帧设置了不同的优先级。通常情况下,设备在检測到媒介空暇,准备发送数据之前。会等待一段时间(distributed
inter-frame space or DIFS),让更高优先级的设备接入信道。另外还有个不同的地方在于,DCF有两种检測冲突的方法,物理的方法(physical)和虚拟的方法(virtual carrier sense)。
每一个设备都会在本地生成一个NAV(Network Allocation Vector)用来保存当前媒介中正在传输的数据须要多长时间才干传输完。以此决定自己尝试数据传输的时间。假设检測到的Duration值大于本地NAV值。显然要用这个大的值对其进行更新。当然,随着时间的推移,NAV值要慢慢减小,这表示当前数据传输里目的地越来越近。但仅仅要非0。则该数据仍然占领传输媒介。当收到ACK确认信号时,说明已经传输完毕。这个时候将NAV置0.
slot time是几十微秒的数量级,随机的整数值在一个固定的范围之内。
这和我们之前讨论的CSMA/CD中。当检測到冲突后。等待一段随机的时间再尝试发送有点类似。这个过程(产生随机等待时间的过程),称为backoff procedure.
相同,RTS和CTS也有相似的性质。
这样发送者就知道哪些数据被正确接收。而哪些数据没有。
Code字段表示操作类型。标识该帧是请求帧还是应答帧等等。Lenghth字段表示LCP
packet的长度,单位是字节。须要注意的是,该字段是有LCP packet提供的,普通的PPP协议并不提供该字段。
转义的意思就是将原本的字符内容变为转义字符(0x7D)加上原字符与(0x20)作异或的结果。比方0x13的转义字符是0x7D33.这样做是由于某些控制字符可能会对硬件造成某些特殊的影响,转义之后,这样的影响将消失。默认情况下,全部的ASCII控制字符(值小于0x20)都要进行转义。
在协商过程中,通过配置信息。PPP能够将该功能开启,这样发送端和接收端能够在规定的时间内周期性的交换LQR信息。LQRs表示传输质量的相关參数,包含:magic number,发送和接收的帧数量和大小。接收到的错误帧数量。丢弃帧的数量以及交换的LQR数据总数量。LQRs信息的交换是周期性的,这个周期是能够手动设置的。
当LQRs的值没有达到某个要求时。我们还能够设置终止连接
所以通常在每一个MP帧中放置一个2到4字节的序列头字段,然后远程的MP接收者负责依照顺序又一次组装数据。
这样使得一个捆绑依据实际情况(比方网络是否拥塞)动态的加入或者删除链路。使得虚拟链路更加灵活。
一个传给环回接口的IP数据报不能再不论什么网络上出现。可能在我们的想象中,一旦传输层检測到目的端地址是环回地址时,应该能够省略部分传输层和全部网络层的逻辑操作。
可是大多数的产品还是照样完毕传输层和网络层的全部过程。仅仅是当IP数据报离开网络层时把它返回给自己。
看上去用传输层和IP层的方法来处理环回数据似乎效率不高,但它简化了设计,由于环回接口能够被看做是网络层以下的还有一个链路层。网络层把一份数据报传送给环回接口,就像传给其它链路层一样,仅仅只是环回接口把它返回到IP的输入队列中。
比方以太网的数据帧最大不超过1500字节,这个数值就叫做MTU。最大传输单元,不同类型的网络都有一个MTU。假设IP层有一个数据要传,并且数据的长度比链路层的MTU大,那么IP层就须要进行分片。把数据报分成若干片,这样每一片都小于MTU。在PPP中的MTU并不是指的是网络媒体的物理特性,相反,它是一个逻辑限制,目的是为交互使用提供足够快的对应时间。
可是假设两台主机之间的通信要通过多个网络,那么每一个网络的链路层就可能有不同的MTU。这时起决定作用的是两台通信主机路径中最小的MTU,称之为路径MTU。须要注意的是。两台主机之间的路径MTU不一定是个常数。
它取决于当时所选择的路由。而选路不一定是对称的。因此路径MTU在两个方向上不一定是一致的。后面提到IP层和传输层时,还会介绍MTU发现机制。
TCP/IP具体解释学习笔记——数据链路层(2)的更多相关文章
- TCP/IP具体解释学习笔记——地址解析协议ARP
一 概述 我们知道,IP协议是用来在不同的物理网络之间数据传输的.要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址. 一般来说.就是将IPv4地址转换为mac地址 ...
- TCP/IP具体解释学习笔记--TCP的超时与重传
1.基本概念 TCP之所以能够安全的将数据在传输中的安全性,是因为它每次给对方发送数据,都会等待对方给个确认,当长时间收不到这个确认,发送端就会重发这个数据. 2.超时时间的測量 要測超时时间,TCP ...
- TCP/IP具体解释学习笔记--TCP数据流
1.TCP的交互数据流 (1)基本概念 所谓交互数据流,其对TCP而言,就是他们所产生的大多数的TCP报文段中所包括的数据不超过10个字节.比如聊天等telnet的软件的TCP数据流就属于TCP交互数 ...
- TCP/IP具体解释学习笔记--TCP的坚持和保活定时器
TCP的坚持定时器 1.基本概念 TCP的接收方指名希望从发送方接收的数据字节(窗体大小)来进行流量控制,假设窗体大小为0.那么放送方就会阻止发送数据,直到接收方发来一个已跟新窗体大小的ACK为止,那 ...
- TCP/IP详解学习笔记 这位仁兄写得太好了
TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...
- TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)
TCP/IP详解学习笔记 这位仁兄写得太好了 TCP/IP详解学习笔记 这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...
- 【转】TCP/IP详解学习笔记(二)
TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据 ...
- 【转】TCP/IP详解学习笔记(一)
TCP/IP详解学习笔记 这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-T ...
- TCP/IP详解学习笔记
TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...
随机推荐
- CAD参数绘制椭圆(网页版)
在CAD设计时,需要绘制椭圆,用户可以设置椭圆的基本属性. 主要用到函数说明: _DMxDrawX::DrawEllipse 绘制椭圆.详细说明如下: 参数 说明 DOUBLE dCenterX 椭圆 ...
- JavaSE-10 多态
学习要点 多态的优势和应用场合 父类和子类之间的类型转换 instanceof运算符的使用 父类作为方法形参实现多态 父类作为返回值实现多态 使用多态的原因 需求描述: 在宠物管理系统中,宠物饿了,需 ...
- 2.C# 输入一个整数,求质因数
C# 输入一个整数,求质因数 List<int> results = new List<int>(); int number = Int32.Parse(Console.Rea ...
- 硕毕论文_基于 3D 卷积神经网络的行为识别算法研究
论文标题:基于 3D 卷积神经网络的行为识别算法研究 来源/作者机构情况: 中 国 地 质 大 学(北京),计算机学院,图像处理方向 解决问题/主要思想贡献: 1. 使用张量CP分解的原理, ...
- 精准判断是360、IE和其他浏览器
function myexplorer(){ var explorer = window.navigator.userAgent; if (!!window.ActiveXObject || &quo ...
- 从yii2框架中的di容器源码中了解反射的作用
反射简介 参考官方简介的话,PHP 5 具有完整的反射 API,添加了对类.接口.函数.方法和扩展进行反向工程的能力. 此外,反射 API 提供了方法来取出函数.类和方法中的文档注释. YII2框架中 ...
- Poj 2187 旋转卡壳
Poj 2187 旋转卡壳求解 传送门 旋转卡壳,是利用凸包性质来求解凸包最长点对的线性算法,我们逐渐改变每一次方向,然后枚举出这个方向上的踵点对(最远点对),类似于用游标卡尺卡着凸包旋转一周,答案就 ...
- AndroidSweetSheet:从底部弹出面板(1)
AndroidSweetSheet:从底部弹出面板(1) AndroidSweetSheet又是一个从底部弹出面板的开源项目.我在以前写的文章中介绍了不少这些项目,见附录文章5,6,7,8.现在 ...
- [luoguP1896] [SCOI2005]互不侵犯King(状压DP)
传送门 先预处理出来一行中放置国王的所有情况和每种情况所用的国王个数. f[i][j][k]表示前i行放j个国王且最后一行的状态为k的方案数 状压DP即可 #include <cstdio> ...
- 2k进制数(codevs 1157)
题目描述 Description 设r是个2k进制数,并满足以下条件: (1)r至少是个2位的2k进制数. (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为 ...