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协议, ...
随机推荐
- C#如何创建泛型类T的实例
最近在学历基类的写法时,遇到了一个问题:如何怎么创建一个泛型类T的实例呢? 废话不多说了,直接上代码吧,目前发现三种方法,先贴上,以后再总结,希望能帮助跟我遇到同样问题的朋友. 方法一,通过外 ...
- Spring面向切面编程(AOP)方式二
使用注解进行实现:减少xml文件的配置. 1 建立切面类 不需要实现任何特定接口,按照需要自己定义通知. package org.guangsoft.utils; import java.util.D ...
- swift 自行理解
- Tomcat 7.0 进入项目管理页面时的密码问题
tomcat7 这个版本,官方网下载的原始包项目管理页面的权限和之前版本的配置有点区别. 到Tomcat的conf文件夹下找到tomcat-users.xml文件,有配置权限的配置文件. ma ...
- base64计算
zjzc01:/root# cat aa.pl use URI::Escape; use URI::Escape qw(uri_unescape); use MIME::Base64; use Dig ...
- div仿checkbox表单样式美化及功能
div仿checkbox表单样式美化及功能(checkbox的样式不好看)素材在底部: 效果图: window.css .bj { position: absolute; top: 0; left: ...
- Zabbix实战-简易教程(4)--Server端安装
在数据库安装完成后,接着开始安装server端了.我们这里采用yum安装. 3.2.0 安装需求 ● PHP 5.6.18 ● curl 7.47.1 ● zabbix_server (Zabbix) ...
- elementUI el-select 中disabled设置
<el-select v-model="userForm.roleName" placeholder="请选择用户角色" :disabled=" ...
- cv2.error: openCV报错
运行openCV程序,出现了.cv2.error: OpenCV(4.1.0) D:\Build\OpenCV\opencv-4.1.0\modules\imgproc\src\color.cpp:1 ...
- Docker快速搭建WordPress博客网站
WordPress WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统.在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站. 在W ...