链路层的简介和MTU
链路层杂谈(凭个人理解瞎说的,欢迎拍砖)
链路层,说白了就是把网络层的IP数据处理一下,加点东西,放到物理层上去。
加的东西:源、目的地址和CRC校验值,有的还有类型这个字段,用来区分协议。
处理的部分:就是数据,就是把IP数据报,用指定的方法打个包;
打包的方法有以下几种:
尾部封装:把变长字段都放到最后(CRC之前),主要是为了前面的512整字节的数据整体直接复制到内核中而减小复制次数。
SLIP协议:串行线路IP,就是用END字符作为分隔符,分割数据报。为了防止干扰,数据报的开头也一定保证有一个END标识符。
压缩的SLIP:也就是CSLIP,相对于SLIP,只存储修改的控制信息。就是为了防止发送一个字节也要加40个字节头的情况。
PPP:点对点协议,增加了“协议”这个字段,可以支持更多的协议,更多的业务。
MTU(最大传输单元)
定义:各种为网络对数据帧都有一个大小限制,这个值就是MTU。

一般的我们常用的是以太网和IEEE 802.3的限制分别为1500和1492字节。如下图:

路径MTU
从A到B可能经过不同的网络,其中最小的MTU就是路径MTU;
另外,从A到B,与B到A的寻路结果可能不同,所以它们的路径MTU也有可能不同。
MTU的吞吐量
如果线路速率是9600 b/s,一字节等于8bit,加上开始停止两个bit,那么线路的速率就是960B/s,传输一个1024B的分节需要1066ms。
从一般的经验上看,一个交互应用,在本机有另一个应用发送1024B数据到网络的情况下,它大约要等待一般的时间533ms。这个时间对于交互应用来说体验很不好。
SLIP用减小MTU值的方法解决:MTU=256,那么传输需要266ms,它的一半就是133ms。但是这样减小了带宽的利用率(因为数据报占用的比例小了)
// 0)
{
var content = '';
content += '
';
$(h2_list[i]).before(go_to_top);
var h3_list = $(h2_list[i]).nextAll("h3");
var li3_content = '';
for(var j=0; j
';
$(h3_list[j]).before(li3_anchor);
li3_content += '
';
}
var li2_content = '';
if(li3_content.length > 0)
li2_content = '
- ' + li3_content + '
';
else
li2_content = '
';
content += li2_content;
}
content += '
';
content += '
';
content += '
正文
';
if($('#cnblogs_post_body').length != 0 )
{
$($('#cnblogs_post_body')[0]).prepend(content);
}
}
}
GenerateContentList();
// ]]>
链路层的简介和MTU的更多相关文章
- tcp/ip详解 卷1 -- 链路层
以太网 以太网指数字设备公司,英特尔公司,Xeror公司在 1982年联合公布的一个标准, 是当前 TCP/IP 采用的主要局域网技术. 以太网采用 CSMA/CD 的媒体接入方法, 即 带冲突检测的 ...
- TCP/IP协议族之链路层(二)
TCP/IP学习记录,如有错误请指正,谢谢!!! TCP/IP协议族之链路层(二) 链路层是最底层协议,主要有三个目的: 1. 为IP模块发送和接收IP数据报 2. 为ARP模块发送ARP请求和接收A ...
- TCP/IP中最高大上的链路层简介(二)
引言 对于程序猿来讲,似乎越接近底层,就越显得高大上.这也算是程序猿们的共同认知吧,虽然不是所有人.今天LZ就和各位一起探讨一下TCP/IP中最高大上的一层,也就是最底层的链路层. 这一层LZ了解的还 ...
- tcp/ip 卷一 读书笔记(2)物理层和链路层网络
物理层和链路层网络 术语 链路 是一对相邻结点间的物理线路,中间没有任何其他的交换结点. 数据链路 除了物理线路外,还必须有通信协议来控制这些数据的传输. 帧 数据链路层的协议数据单元(PDU) 串行 ...
- TCP/IP协议学习(六) 链路层详解
学习知识很简单,但坚持不懈却又是如此的困难,即使一直对自己说"努力,不能停下"的我也慢慢懈怠了... 闲话不多说,本篇将讲述TCP/IP协议栈的链路层.在本系列第一篇我讲到,TCP ...
- Linux内核--网络栈实现分析(三)--驱动程序层+链路层(上)
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7497260 更多请看专栏,地址 ...
- TCP/IP学习-链路层
链路层: 路径MTU: 网络层: ifconfig netstat IP首部 网络字节序:大端字节序
- 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- TCP/IP 协议:链路层概述
我们以一个常见的查看IP指令为出发点(ifconfig -a): 1.链路层是什么 链路层是指硬件层协议.也即网络所使用的硬件,比如:以太网(后文主要讨论对象),令牌环网,FDDI已经RS-232 ...
随机推荐
- 在类库中引用WebService的注意事件
在VS中 添加引用服务之后 会在 类库中生成一个app.config的文件 把里面的配置节点 添加到web项目中的 web.config中 即可.不然会报 错误
- mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)
随着mysql的长期使用,可以修复表来优化,优化时减少磁盘占用空间.方便备份. REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化 ...
- MongoDB查询重复记录并保存到文件csv
客户1w用户记录,发现里面有小部分重复数据 需要查出,比对哪些信息不同 https://docs.mongodb.org/manual/reference/operator/aggregation/# ...
- mysql多实例的配置和管理
原文地址:mysql多实例的配置和管理 作者:飞鸿无痕 多实例mysql的安装和管理 mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方 ...
- iOS UIAlertView添加输入框
这玩意有时不用就忘,还是记录一下吧 添加: UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"新建文件夹" mes ...
- 2------------NLPIR(ICTCLAS2016)分词系统添加用户词典功能
备注:win7 64位系统,netbeans编程 基本代码框架参见我的另一篇文章:NLPIR分词功能 代码实现: package cwordseg; import java.io.Unsupporte ...
- ELF Format 笔记(五)—— 特殊 Section
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 链接器把一些独立的 object files 和库文件链接起来,形成可执行文件.在这个过程中,链接器需要解决 ...
- @Value取不到值引出的spring的2种配置文件applicationContext.xml和xxx-servlet.xml
项目中经常会用到配置文件,定义成properties的形式比较常见,为了方便使用一般在spring配置文件中做如下配置: <context:property-placeholder ignore ...
- MMORPG大型游戏设计与开发(part5 of net)
上一部分将服务器的具体代码的实现介绍给了大家,想必大家也了解到了服务器处理一次消息的复杂度.如果大家能够将各个过程掌握清楚,就会发觉其实整个逻辑与交互过程是比较清晰的.那么服务器与服务器之间的通讯,其 ...
- UVa 297 Quadtrees -SilverN
A quadtree is a representation format used to encode images. The fundamental idea behind the quadtre ...