摘要:
简介 在Linux中安装了802.1Q标签VLAN功能。VLAN是虚拟分配以太网的功能。使用VLAN ID从物理上将一个以太网分割开。在VLAN环境下,具有相同VLAN ID就可以相互通信,但是即使将LAN线连接到相同集线器或交换机上,VLAN ID不同也不能相互通信。802.1Q的以太帧格式由上... 阅读全文
摘要:
在字节缓存中我们需要考虑缓存比,为了达到缓存的效果,我们需要对数据包的内容进行切分。目前学术上的切分方法如下: 上图中的9种方法可以根据方法自身的特性分为三类。第一类:位置分类法,此方法按固定大小将数据切分。其方法的优势的计算开销很小,但是对数据变化很敏感。第二类:取样法,MODP、WINN、M... 阅读全文
摘要:
实验目标: 对数据包负载文件进行分割,可以让分割块近似1000字节。背景: PACK是一种基于接收端的字节缓存算法。核心思想是利用当前的数据预测下一步需要接收的数据。但是数据块不应该被分割的太小,这样的话会耗费过多的内存和磁盘; 当然也不能分割的太大,数据块过大会导致预测的命中率降低。具体的PA... 阅读全文
摘要:
1.字节缓存的基本原理 数据压缩也被称作基本压缩,或无损压缩,一般采用 LZ 系列压缩算法。数据压缩具有自包含性:即对端解压缩方只根据数据包本身:即可进行解压还原,不需要其它任何信息。压缩比因数据类型而异:文本数据压缩比最大,各种网页、Windows office 文件(Excel、word 等等... 阅读全文
摘要:
简述 MPTCP的拥塞控制对TCP的拥塞控制的线性增加阶段进行了修改,而慢启动,快速重传、快速恢复都没有改变。每条子路径拥有自己的cwnd,MPTCP的拥塞算法主要关心cwnd的改变。拥塞算法设计原则MPTCP的Throughput 要达到MPTCP中所有子路径中最好的一条路径MPTCP应该和普通... 阅读全文
摘要:
简述 TCP使用定时器函数tcp_retransmit_timer进行数据重发,MPTCP需要重发数据的时候,不仅仅在原路径发送数据,而且会在另外一条子路径进行重发。这样考虑的原因是:考虑网络中间件设备的影响, 保证子路径上数据序列号的完整性。目前的版本0.89依然如此实现,以后应该会优化。内核实... 阅读全文
摘要:
简述: 在TCP协议中影响数据发送的三个因素分别为:发送端窗口值、接收端窗口值和拥塞窗口值。本文主要分析MPTCP中各个子路径对接收端窗口值rcv_wnd的处理。接收端窗口值的初始化 根据《MPTCP 源码分析(二) 建立子路径》中描述服务端在发送完SYN/ACK并接收到ACK的时候建立新的so... 阅读全文
摘要:
简述: MPTCP在发送数据方面和TCP的区别是可以从多条路径中选择一条路径来发送数据。MPTCP在接收数据方面与TCP的区别是子路径对无序包进行重排后,MPTCP的mpcb需要多所有子路径的包进行排序。查看图1可知。 +----... 阅读全文
摘要:
简述: 支持MPTCP的链路中存在多条子路径,因此在发送数据的时候需要选择最优路径来进行操作。MPTCP利用内核通知链对MPTCP中各子路径进行增加路径、删除路径、修改路径优先级的操作。MPTCP根据相应的策略进行路径选择。路径选择的代码实现 路径选择的关键在于从多个子路径中选择其中一个进行数据... 阅读全文
摘要:
简述 MPTCP在进行三次握手之后,客户端和服务端会进行地址信息的交换,让对方知道彼此未用的地址信息。当客户端知道服务端的地址后就可以建立其他子路径。三次握手和建立子路径的过程如图1: 图1关于Token、随机数R、以及HMAC(Hash-based Messa... 阅读全文