mtu

合理设置MTU,提升下载速度

谁都会走 提交于 2020-03-29 17:23:08
可能很少有雷友注意过“本机、网络”的“MTU”值对自己网络性能产生的影响。对于追求更快的下载速度来说,MTU值设置不当,就仿佛穿着高跟鞋跑步一般。 MTU是什么?   “MTU=最大传输单元 单位:字节”   我们在使用互联网时进行的各种网络操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在我们常用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输。 为什么MTU影响网络性能?   让我们看看这个情况,在Windows系统中,默认MTU值也是1500字节,但是“不同的接入方式、不同地区的网络运营商、不同的路由器”有着不同的MTU设置。   例如:ADSL接入时MTU为1492字节,假设A需要给B传输3000字节数据,如果整个传输过程中各个环节的MTU都是1500,那么2个数据包就可以传输完成。可是偏偏这时ADSL接入方式的MTU是1492字节,数据包就因为这个MTU差异额外拆分为3个(为了便于理解,暂时不将“数据包报头”纳入考虑范围)   显然这额外增加了需要传输的数据包数量,而且拆包组包的过程也浪费了时间。如果从本地到网络采用一致的MTU就可以避免额外拆包。 对下载速度的影响会有多大?   就拿伊文家里的线路质量不太好的电信4M带宽为例,将操作系统的MTU值改为1492

网络层IP协议

◇◆丶佛笑我妖孽 提交于 2020-03-23 10:00:15
IP协议的概念 IP( 网络之间互连的协议 InternetProtocol)是TCP/IP协议簇中的核心协议,也是TCP/IP的载体。所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输。它是为计算机网络相互连接进行通信而设计的协议。 IP协议的服务 IP提供不可靠的,无连接的数据传送服务。不可靠指它不能保证IP数据报能成功到达目的地。IP仅提供最好的传输服务。当发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息给信源。任何要求的可靠性必须由上层来提供。无连接指IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。IP数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报(先是A,然后是B)每个数据报都是独立的进行路由选择,可能选择不同的路线,因此B可能在A到达之前先到达。 MTU的概念 链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。例如以太网的MTU是1500。如果网络层层有数据包要传,而且数据包的长度超过了MTU,那么网络层就要对数据包进行分片操作,使每一片的长度都小于或等于MTU。一个分片在到达接收主机的路径中,还可能被继续分片,因此,分片的IP数据报可能会以不同的路径传输到接收主机,接收主机通过一系列的重组

mtu简单说明

╄→гoц情女王★ 提交于 2020-03-22 05:11:52
总结:本地的mtu值==网络设备的mtu值是最优的,一般本地和网络设备的默认值都是1500(字节),没什么特殊需求,尽量不要修改 一、什么是 MTU 值 1 从字面上来说,MTU 是英文 Maximum Transmission Unit 的缩写,即最大传输单元,它的单位是字节。 在我们常用的以太网中,MTU 一般是 1500,而无线路由器默认一般是 1492,蓝牙官网的默认值是 672(这个速度很慢了,大约 20k/s 左右)。 2 为什么说 MTU 值会影响网速呢?在此简单说明一下。 在 Win 系统中,MTU 值默认是 1500。假设我们现在要传输 3000 字节的数据,只需要拆分成 2 个数据包就行了。 而如果是 ADSL 接入方式,它的 MTU 值是 1492 的话,则 3000 字节的数据需要分为 3 个数据包传送。由于数据包的数量增多了,同时拆包组包都需要额外消耗时间,因此网速变慢也就不足为奇了。 END 二、怎样测出自己当前网络最佳MTU值 1 首先,我们必须明白什么才是最佳的 MTU 值。 1)当本地 MTU 值 > 网络 MTU 值,网络会进行拆包,这样一来数据包数量增多,二来也增加了拆包组包的时间 2)当本地 MTU 值 < 网络 MTU 值,虽然可以直接传输,但是却没有完全利用网络的性能,没有发挥出最大传输能力 因此,设置最合适的本地 MTU 值

链路层Introduce

蹲街弑〆低调 提交于 2020-03-21 05:49:47
1.网络层的数据单元是IP数据报,数据链路层的工作是将IP数据报封装为帧frame,发往链路; 当链路层接受到帧的时候,将IP数据报提取出,送往网络层。 frame struct: [frame head| IP data |frame tail] 2.传输控制 a>差错控制 反馈重发:检查差错编码(奇偶校验码orCRC码);若出错,重发,正确为止。 b>计时器timer 为避免发送失败导致的传输过程停滞,引入timer。发送出一帧,同时启动timer,在限定的时间内 未收到返回信息,则认为帧出错or丢失,重发。 c>序号 防止多次接受同一帧并传到网络层,编号用来区分新帧还是重发帧。 3.流量控制(发送方) 必要性:由于收发双方的设备工作速率和缓存存储空间的差异,可能导致帧淹没的情况出现,造成帧丢失。 4.以太网帧 |dest MAC|src MAC| type | data |CRC | 6 | 6 | 2 | 46-1500|4 5.SLIP协议(串行线路IP) a>Rules: 帧开始和结束处都用END(0xc0); IP数据报中的END在帧用0xdb,0xdc代替,ESC在帧中用0xdb,0xdd代替 b>缺陷: 无法将本端IP传递给对端 无type字段,线路中存在SLIP时不能使用其他协议 无checksum,通过上层协议发现错误 6.PPP协议 作用

基础命令学习目录首页

南楼画角 提交于 2020-03-14 10:06:05
基础命令学习目录首页 原文链接:https://blog.csdn.net/weixin_37886382/article/details/79716879 许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。 Linux系统 拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。 1. 命令格式: ifconfig [网络设备] [参数] 2. 命令功能: ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。 3. 命令参数: up 启动指定网络设备/网卡。 down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。 arp 设置指定网卡是否支持ARP协议。 -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包 -allmulti 设置是否支持多播模式,如果选择此参数

(2)链路层介绍

痞子三分冷 提交于 2020-03-14 00:55:27
一、简介 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧 (frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。 为达到这一目的,数据链路必须具备一系列相应的功能,主要有: 将数据封装为帧(frame),帧是数据链路层的传送单位; 控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配; 在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。 数据帧的结构是这样的: 二、控制帧的传输 1.差错控制 通信系统必须具备发现差错的能力,并采取措施纠正之,使差错控制在所能允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。 反馈重发 接收方通过对差错编码(奇偶校验码或 CRC 码)的检查,可以判定一帧在传输过程中是否发生了差错。一旦发现差错,一般可以采用 反馈重发 的方法来纠正。这就要求接受方收完一帧后,向发送方反馈一个接收是否正确的信息,使发送方据此做出是否需要重新发送的决定。发送方仅当收到接收方已正确接收的反馈信号后才能认为该帧已经正确发送完毕,否则需要重发直至正确为止。 计时器 如果某一帧发送出现问题,一直不能发送成功,为了避免传输过程停滞不前,通常引入 计时器 (Timer) 来限定接收方发回反馈消息的时间间隔。当发送方发送一帧的同时也启动计时器

UDP的最大报文长度

瘦欲@ 提交于 2020-03-12 16:33:40
以太网UDP最大报文长度 2014年01月22日 22:47:28 奚华 阅读数 12097 对于以太网环境下UDP传输中的数据包长度问题   首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。   其中以太网(Ethernet)的数据帧在链路层   IP包在网络层   TCP或UDP包在传输层   TCP或UDP中的数据(Data)在应用层   它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}   在应用程序中我们用到的Data的长度最大是多少,直接取决于底层的限制。   我们从下到上分析一下:   在链路层,由以太网的物理特性决定了数据帧的长度为(46+18)-(1500+18),其中的18是数据帧的头和尾,也就是说数据帧的内容最大为1500,即MTU(Maximum Transmission Unit)为1500;   在网络层,因为IP包的首部要占用20字节,所以这的MTU为1500-20=1480;   在传输层,对于UDP包的首部要占用8字节,所以这的MTU为1480-8=1472;   所以,在应用层,你的Data最大长度为1472。   (当我们的UDP包中的数据多于MTU(1472)时,发送方的IP层需要分片fragmentation进行传输,而在接收方IP层则需要进行数据报重组,由于UDP是不可靠的传输协议

跟高手学习LINUX笔记-18

谁都会走 提交于 2020-03-08 23:40:56
第18节Linux网络管理入门 本节所讲内容: 18.1 OSI七层模型和TCP/IP四层模型 18.1.1 OSI七层模型 OSI七层模型是任何与网络相关的知识都无法跳过去的知识点,很重要 1)OSI七层模型(从下往上): 第一层:物理层;代表设备:集线器、网线等 第二层:数据链路层;代表设备:二层交换机、网卡等 第三层:网络层;代表设备:路由器、三层交换机 第四层:传输层;代表设备:硬件防火墙 第五层:会话层; 第六层:表示层;后三层代表设备:各种应用程序 第七层:应用层; 2)OSI七层模型特点 第一项:各层只关心本层解决的问题,对其他层只提供接口 第二项:把复杂的问题分解开来处理,完成解决问题的目的 第三项:最让人吐槽的是无法实现 18.1.2 TCP/IP四层模型 TCP/IP四层模型是由两个重要协议:TCP协议/IP协议共同组成 把OSI七层模型整合优化成四层结构(从下往上): 第一层:物理层接口层 第二层:网络层 第三层:数据传输层 第四层:应用层 ---现代网络通信过程中都在用TCP/IP四层模型 18.1.3 常见网络相关的协议及所用端口 在介绍协议之前要先介绍个重要知识点:TCP协议和UDP协议的区别 (1)TCP协议:TCP(传输控制协议),是面向连接的协议,在收发数据前,必须和对方建立可靠的连接,通过顺序号、确认号及划动窗口等确保传输可靠性。 (2

YESLAB学霸日记—PMTU实验

☆樱花仙子☆ 提交于 2020-02-26 01:51:13
实验名称:PMTU实验 YESLAB学员:张成才 实验目的 1、分析并验证PMTU的原理及过程。 实验拓扑 实验步骤 1:基本的IP地址配置(本步骤省略) 2:IPv6的报文头分为基本报头和扩展报头,并将IP分配扩展的功能单独放在了分片报头中,基本报头不再提供分片信息,并且由于IPv6的源端到目的端的中间设备节点不处理分片报头,所以IPv6分片和重组只在源端和目的端进行,由于整条路径上的MTU可能有大有小,而PTMU机制正是用来通知源端在到达目的端的最小MTU是多少,源端记录下该MTU,再发送数据报文的时候以这个MTU对数据包进行分片,到底目的节点后进行重组,中间节点只负责快速转发报文。 R1、R3、R5、R6全网之间运行OSPFv3,路由可达。 在R6上ping R3的loopback0地址: IPv6基本报头固定40bytes,ICMPv6头部8bytes,接口MTU默认1500,所以如果保持接口默认MTU 1500的话,数据部分超过1452即需要分片,分别以数据大小1452和1453 ping R3的loopback0 可以发现当数据大小为1453bytes是确实进行了分片,因为R6出口MTU即是默认的1500所以直接进行分片发送。 将AR1的G0/0/0接口的IPV6 MTU改为1400,同时忽略OSPFv3 MTU检查: 在AR6 以1452bytes ping2033:

docker容器_网络配置

荒凉一梦 提交于 2020-02-24 04:55:15
docker 文章目录 docker 1 Linux内核实现名称空间的创建 1.1 ip netns命令 1.2 创建Network Namespace 1.3 操作Network Namespace 1.4 转移设备 1.5 veth pair 1.6 创建veth pair 1.7 实现Network Namespace间通信 1.8 veth设备重命名 2 四种网络模式配置 2.1 bridge模式配置 2.2 none模式配置 2.3 container模式配置 2.4 host模式配置 3 容器的常用操作 3.1 查看容器的主机名 3.2 在容器启动时注入主机名 3.3 手动指定容器要使用的DNS 3.4 手动往/etc/hosts文件中注入主机名到IP地址的映射 3.5 开放容器端口 3.6 自定义docker0桥的网络属性信息 3.7 docker远程连接 3.8 docker创建自定义桥 1 Linux内核实现名称空间的创建 1.1 ip netns命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。 注意:ip netns命令修改网络配置时需要 sudo 权限。 可以通过ip netns命令完成对Network Namespace