MTU,MSS基本概念】的更多相关文章

          先学习理解一下帧的封装格式:   需要注意的是,区别两种帧封装格式:802标准帧和以太网帧 1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码.RFC 1042(IEEE 802) 2,RFC 894(以太网) 所以,以太网帧报头为目的地址6+源地址6+类型2+CRC 4=18bytes 而802帧没有CRC,所以为14bytes.Sniffer采用的是802帧为14bytes     转载文章: MTU: Maxitum Transm…
传输层: 对于UDP协议来说,整个包的最大长度为65535,其中包头长度是65535-20=65515: 对于TCP协议来说,整个包的最大长度是由最大传输大小(MSS,Maxitum Segment Size)决定,MSS就是TCP数据包每次能够传 输的最大数据分段.为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需 要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460.通讯…
首先要说两个概念: PDU:协议数据单元,计算机网络各层对等实体间交换的单位叫做PDU,不同层的PDU名称不同 层 名称 应用层 数据 传输层 段 segment 网络层 数据包 package 链路层 帧 frame 物理层 比特 bit SDU:服务数据单元,它是指PDU的实际载荷(payload) PDU和SDU有什么关系呢? 在每一层都有PDU和SDU,在本层中SDU加上额外协议信息构成本层的PDU,行话是同一层内的SDU是本层PDU的静荷载(payload),不同层之间,上层的PDU是…
MTU是Maximum Transmission Unit的缩写,意为最大传输单元,通俗的理解就是在网络上传送的最大数据包,单位是字节. 以太网对数据帧的长度都有一个限制,其最大值为1500,这个特性被称作MTU,不同类型的网络大多数都有一个上限.如果IP层有一个IP包要传,而且数据的长度比链路层上的MTU值还要大,那么就需要对这个数据包进行分片处理,而且要求被分片的每个数据包都要等于或小于这个MTU值,一般是最后一个数据包小于这个值.例如,一个大小为5000字节的数据包在穿越网络时,如果遇到一…
MTU是Maximum Transmission Unit的缩写,意为最大传输单元,通俗的理解就是在网络上传送的最大数据包,单位是字节. 以太网对数据帧的长度都有一个限制,其最大值为1500,这个特性被称作MTU,不同类型的网络大多数都有一个上限.如果IP层有一个IP包要传,而且数据的长度比链路层上的MTU值还要大,那么就需要对这个数据包进行分片处理,而且要求被分片的每个数据包都要等于或小于这个MTU值,一般是最后一个数据包小于这个值.例如,一个大小为5000字节的数据包在穿越网络时,如果遇到一…
这个网页里面写了: http://blog.csdn.net/plusboy/article/details/1523308 其可靠性必须由上层应用实现.一般都会采用消息重传来实现其可靠性,采用消息重传的时候有两种方式,一种是发送者发起,另一种是接收者发起. 前一种接收者发的是ACK.发送者收到ACK,就不重传.但是可能ACK内爆. 第二种接收者发的是NACK.发送者收到NACK,就重传.但是可能NACK内爆.另外需要保留发出去的数据,但是一般可以用超时机制,把以前的数据丢弃. 另外,看到云风的…
环境: 阿里云LB 内网地址类型,代理后面的k8s上的服务 公司和阿里云之间vpn打通 在windows上进行访问一切正常,在相同的办公局域网linux主机内访问不通,mac笔记本访问同样不通,telnet 端口是正常的,就很诡异 抓包,windows安装wireshark,curl该地址,然后对该端口进行抓包,这个时候需要知道MSS这个东西了 在内网linux上或者mac上进行curl 该地址,然后去k8s对应的服务pod内进行tcpdump抓包 curl "http://10.255.30.…
MTU = MSS + TCP Header + IP Header. mtu是网络传输最大报文包. mss是网络传输数据最大值. MTU:maximum transmission unit,最大传输单元,由硬件规定,如以太网的MTU为1500字节. MSS:maximum segment size,最大分节大小,为TCP数据包每次传输的最大数据分段大小,一般由发送端向对端TCP通知对端在每个分节中能发送的最大TCP数据.MSS值为MTU值减去IPv4 Header(20 Byte)和TCP h…
路由器上在宽带拨号高级设置页面会有设置数据包MTU的页面 数据包MTU(字节):1480 (默认是1480,如非必要,请勿修改) PPPoE/ADSL:1492 ,可以尝试修改为1492 MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小 PPPoE: PPP Over Ethernet(在以太网上承载PPP协议),就是因为这个协议的出现我们才有必要修改我们的MSS或者是MTU值. MTU是可以由在一个实例…
MSS 是TCP选项中最经常出现,也是最早出现的选项.MSS选项占4byte.MSS是每一个TCP报文段中数据字段的最大长度,注意:只是数据部分的字段,不包括TCP的头部.TCP在三次握手中,每一方都会通告其期望收到的MSS(MSS只出现在SYN数据包中)如果一方不接受另一方的MSS值则定位默认值536byte.MSS值太小或太大都是不合适.太小,例如MSS值只有1byte,那么为了传输这1byte数据,至少要消耗20字节IP头部+20字节TCP头部=40byte,这还不包括其二层头部所需要的开…
本文摘录自TCP中的MSS解读. MSS 是TCP选项中最经常出现,也是最早出现的选项.MSS选项占4byte.MSS是每一个TCP报文段中数据字段的最大长度,注意:只是数据部分的字段,不包括TCP的头部.TCP在三次握手中,每一方都会通告其期望收到的MSS(MSS只出现在SYN数据包中).如果一方不接受另一方的MSS值则定为默认值536byte. MSS值太小或太大都是不合适.太小,例如MSS值只有1byte,那么为了传输这1byte数据,至少要消耗20字节IP头部+20字节TCP头部=40b…
1. 基础知识 1.1 MTU   一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层上标准的因特网 MTU 是 1500 bytes,而在连接层上是 1518 字节.没有特别说的时候,往往指的是网络层的MTU. 要增加一个网络接口 MTU 的常见原因是增加高速因特网的吞吐量.标准因特网 MTU 使用 1500byte是为了和 10M 和 100M 网络后向兼容,但是,在目前1G和…
转自:http://weibo.com/ttarticle/p/show?id=2309404140904511340923 API 服务正常,但是调用总是超时.api端日志显示,响应速度很快. ​​​ 现象 Server A 调用本机的接口,能正常返回.调用Server B的接口,总是超时.被调用接口是能正常执行的,而且有执行日志记录.Server C 调用Server B的接口也能正常返回 分析 根据以上,基本可以排除是Server B接口服务的问题导致超时.很有可能 Server A 与…
不得不承认,tcp是一个非常复杂的协议.它包含了RFC793及之后的一些协议.能把tcp的所有方面面面具到地说清楚,本身就是个很复杂的事情.如果再讲得枯燥,那么就会更让人昏昏欲睡了.本文希望能尽量用稍显通俗的话把tcp描述清楚. 关于分层 请忘掉大学课本上学的七层模型,我们使用四层模型更为贴合我们的实际网络.应用层,传输层,网络层,网络接入层. 分层是为什么,其实和公司中职位是一样的,不同职位的人做不同的事情,然后不同职位的人合起来,一起完成了数据传输的事情. 网络传输层 网络传输层负责最底层的…
1. TCP/IP模型 我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.而实际的Linux网络层协议是参照了OSI标准,但是它实现为4层:应用层,传输层,网络层,网络接口层.OSI的多层对应到了实际实现中的一层.我们最为关注的是传输层和网络层.一般而言网络层也就是IP层,负责IP路由寻址等等细节,而传输层TCP/UDP负责数据的可靠/快速的传输功能. 网络的实际运行过程就是发送方,从高层向底层,根据协议对数据进行一层一…
http://www.cnblogs.com/digdeep/p/4869010.html 1. TCP/IP模型 我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.而实际的Linux网络层协议是参照了OSI标准,但是它实现为4层:应用层,传输层,网络层,网络接口层.OSI的多层对应到了实际实现中的一层.我们最为关注的是传输层和网络层.一般而言网络层也就是IP层,负责IP路由寻址等等细节,而传输层TCP/UDP负责数据的…
一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通过以太网发生IP数据包时,先封装第三层(32位IP地址)和第二层(48位MAC地址)的报头: 但由于发送数据包时只知道目标IP地址,不知道其Mac地址,且不能跨越第二.三层,所以需要使用地址解析协议. ARP工作流程分请求和响应: 在dos窗口内"ping"某个域名抓取到的包: 二.IP协…
TCP/IP协议概述 术语 广域网 WAN 局域网 LAN TCP/IP四层网络模型 TCP/IP通常被认为是一个四层协议系统 网络接口层 包括arp,rarp协议,包括操作系统中的网卡驱动程序和对应的网络接口卡,一起处理数据在电缆之间传输的细节,这一层是同一个链路网络内,不同接口之间通过mac地址通信.arp协议是根据ip地址,请求对应的mac地址,rarp协议是根据mac地址,请求ip地址(可以用来做开机获取ip地址,实际现在已经不这么做了),二层的典型设备是交换机,交换机内有一张mac地址…
概要 基本概念 网线 集线器 交换机 路由器 路由器和交换机 路由器和集线器 接入网 IP DNS 以太网 协议栈 网络连接过程 通信过程(浏览器 -> 服务器) 客户端和服务端 服务端的套接字和套接字描述符 概要 网络是个很多人都知道, 却又是很多人都说不清楚的东西, 对于一般用户来说, 没什么问题. 但对于一个软件开发人员来说, 至少要能够大致描述自己的程序中网络部分是如何运作的. 因为, 目前几乎任何程序都和网络有关, 纯粹的单机程序几乎已经绝迹. 如果弄不清楚网络的运作机制, 除了网络相…
1.前言 本文接上篇<移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”>,关于移动网络的主要特性,在上篇中已进行过详细地阐述,本文将针对上篇中提到的特性,结合我们的实践经验,总结了四个方法来追求极致的“爽快”:快链路.轻往复.强监控.多异步,从理论讲到实践.从技术讲到产品,理论联系实际,举一反三,希望给您带来启发. 如果您还未阅读完上篇<移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”>,建议您先行读完后再续本文. 本篇的目的,就是希望以通俗易懂…
1. TCP/IP模型 我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.而实际的Linux网络层协议是参照了OSI标准,但是它实现为4层:应用层,传输层,网络层,网络接口层.OSI的多层对应到了实际实现中的一层.我们最为关注的是传输层和网络层.一般而言网络层也就是IP层,负责IP路由寻址等等细节,而传输层TCP/UDP负责数据的可靠/快速的传输功能. t 网络的实际运行过程就是发送方,从高层向底层,根据协议对数据进行一…
今早5点半起来没有開始写文章,而是去西湾红树林连跑带走折腾了将近20公里.回来后就8点多了...洗了个澡之后坐稳当.開始写一段关于我的故事.        在2014年到2015年期间,我在负责研发一款无线安全网关.事实上就是一个VPN.接入设备包含手机,xPad,盒子...这些设备的OS除了iOS之外,基本上都是基于Linux的Android.这个网关一般用于各种须要高性能加密通信的场合,在传输数据之前须要比較强的认证,服务端支持4G的加密带宽.支持复杂的接入控制和訪问控制,支持复杂的Qos.…
今天来给大家分享下关于 CDN 的东西,以及我自己的一些发现.一些个人的拙见.总共分为 3 个部分:原理.详解.各种坑. 首先说一下 CDN 的基本原理部分,主要分 4 块来描述:CDN 的由来.调度是怎么做的.缓存是什么.关于安全. 最初刚有互联网的时候,带宽用量不多.用户少,并不存在什么问题,后来随着发展,逐渐出现了使用量大.访问缓慢的情况.最初 95 年的时候,有两个博士试图通过利用数学的办法来解决动态路由问题,且效果还不错,这便是 Akamai 的前身,也是全球第一个CDN 公司.98…
看这本书的目的: 了解计算机之间是怎么通信的 熟悉TCP/IP协议 后面就这两个目的进行展开,要达到这两个目的,读这本书,学到了哪些知识. 一.计算机之间是怎么通信的 先来了解下面几个概念,中继器,二层交换机,路由器,IP地址,Mac地址 1. IP地址和Mac地址 IP地址和Mac地址大家都非常熟悉了,到底在计算机的通信中,起到什么作用呢? Mac地址是用来真正负责最终通信的地址. IP地址用来寻址的. 下面想一个场景: 小明从上海到北京,假设没有火车直达. 第一步: 小明知道自己的出发地是上…
网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. 网桥:局域网之间建立连接的桥梁,网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞.网桥将网络的多个网段在数据链路层连接起来. 交换机(switch):工作在数据链路层,交换机与网桥的细微差别在于交换机常常用来连接独立的计算机,而网桥连接的目标是LAN,所以交换机的端口较网桥多.而且集线器…
一.什么是粘包拆包? 粘包拆包是TCP协议传输中一种现象概念.TCP是传输层协议,他传输的是“流”式数据,TCP并不知道传输是哪种业务数据,或者说,并不关心.它只是根据缓冲区状况将数据进行包划分,然后进行传输. 在这个前提下,就有可能发生发生同一个业务数据被分割程多个数据包,或者多个业务数据被打包到同一个数据包进行发送.但是对于业务数据接收方,则必须拥有能够重新拆解或者组装完整业务数据的能力.这个现象,我们称之为TCP粘包拆包. 如上图,三个业务数据A.B.C被打包成一个数据包进行传输:D被分割…
Python网络编程之网络基础 目录 Python网络编程之网络基础 1. 计算机网络发展 1.1. OSI七层模型 1.2. 七层模型传输数据过程 2. TCP/IP协议栈 2.1 TCP/IP和OSI模型的比较 2.2 TCP协议 2.2.1 端口 2.2.2 TCP包头 2.2.3 TCP三次握手 2.2.4 TCP四次挥手 2.3 UDP协议 3. IP协议 2.3.1 IP地址 1. 计算机网络发展 计算机通信诞生之初,系统化与标准化未收到重视,不同厂商只出产各自的网络来实现通信,这样…
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端) (4)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(接收端) 1. 测试环境 1.1 总体环境 宿主机:Ubuntu Linux/KVM + VxLAN + Linu…
传输层及其以下的机制由内核提供,是操作系统的一部分,应⽤层由⽤户进程提供应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装.不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame). 1.以太网帧格式 ♦源地址和⽬的地址是指⽹卡的硬件地址(也叫MAC地址),长度是48位,是在⽹卡出⼚时固化的.Linux下可以⽤ifconfig命令看⼀下,"HWaddr 00:15:F2:14:9…
来到了TCP的最后一个章节,未来与性能.在当时(1991年)的未来,如今已经部分变为现实,部分就只是历史中的实验. 主要内容: 路径MTU的发现与TCP的结合. 长肥管道 和 高速千兆比网络. 窗口扩大选项. 时间戳选项 和 PAWS算法. T/TCP. TCP的性能. 24.1 前言 本章讨论TCP的一些修改建议,这些建议 可以使TCP在高速率环境中获得最大的吞吐量.使用路径MTU发现机制可以增加吞吐量. 长肥管道:带宽时延乘积很大的网络.以及TCP在这些网络上面的局限性.为了处理长肥管道,增…