TCP报文的最大负载和报文的最小长度

TCP报文的最大负载和报文的最小长度

MTU:最大传输单元,以太网的MTU为1500Bytes

MSS:最大分解大小,为每次TCP数据包每次传输的最大数据的分段大小,由发送端通知接收端,发送大于MTU就会被分片。

MSS默认最小为536B,最小的MTU576B,MSS = MTU - IP头(20B)- TCP头(20B)

TCP最小数据长度为1460Bytes

  以太网的最大数据帧是1518Bytes

  以太网的帧头148Bytes:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B

  帧尾校验4Bytes

  数据域只剩:1518-14-4 = 1500Bytes

  TCP数据包大小 1500 - IP头(20B)- TCP头(20B) = 1460B 这也是最大的MSS

  (UDP数据包 1500 - IP头(20B) - UDP头(8B) = 1472B)

TCP最大负载65535-40B

  TCP报文段的最大负载为65495字节,因为每个数据段必须适合IP的载荷能力,不能超过65535字节,IP头20B,TCP包头20B,

  故最大负载为65535- 20-20=65495B

ack字段大小为84B

  前导码 8 + 目的MAC 6 + 源MAC 6 + 类型 2 + IP首部 20 + TCP首部 20 + 用户数据 0 + 填充字符 6 + CRC 4 + 分组间隙 12 = 84B

TCP:64B

  以太网帧首部  14B:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B

  以太网帧尾部  4B

  IP  20B

  TCP  20B  (UDP  8B)

  填充  6B    (UDP填充  18B)

  一共58B,不够64B ,填充6B。

TCP最小长度

  是默认的MSS产生536B,还是ACK的长度84B,还是TCP总长(加IP,MAC)的64B

  

时间: 2024-10-05 11:31:41

TCP报文的最大负载和报文的最小长度的相关文章

TCP/IP具体解释--ICMP报文分析

一.概述: 1.   ICMP同意主机或路由报告差错情况和提供有关异常情况.ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议. 通常ICMP报文被IP层或更高层协议(TCP或UDP)使用. 一些ICMP报文把差错报文返回给用户进程. 2.   ICMP报文作为IP层数据报的数据.加上数据报的首部.组成数据报发送出去. 3.   ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文. 二.ICMP报文的格式 1.   类型:占8位 2.   代码:占8位 3.  

TCP的请求代理与报文转发

HTTP做请求代理和TCP请求代理模式的区别TCP请求代理模式运行在ISO/OSI网络结构的4层上面,而使用HTTP做请求代理时运行在7层上.TCP的代理做的工作是:接收请求,选择后端节点,连接后端节点,转发内容:可以将上层其他协议的报文直接转发至后端RS.HTTP代理的工作是:接收请求,解析请求,根据转发规则选择backend pool,根据ULB算法选择后端节点,连接后端节点,接收响应,解析响应头,添加适当的响应头(如Set-cookie等),返回响应内容给客户端. TCP请求代理模式与TC

深入Nginx之《HTTP请求报文与HTTP响应报文》

HTTP请求报文 这个很有必要了解,好歹我们得知道Nginx在提供HTTP服务时,客户端都会传些什么.HTTP请求中客户端传送的内容称为HTTP请求报文. 1.请求行包含: 请求方法,请求URL,HTTP协议及版本.其中请求方法和支持的协议版本包含如下:        GET,HEAD,POST 它们都支持HTTP1.0/1.1.        PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH 它们只支持HTTP1.1. 2.请求头部: 客户端向服务器传递请求时附加的

[RK_2014_0923]wireshark捕捉到的Ethernet II数据包的最小长度为60

一.关于wireshark中以太网数据包的最小长度,请看下面的文字: Packet format A physical Ethernet packet will look like this: Preamble Destination MAC address Source MAC address Type/Length User Data Frame Check Sequence (FCS) 8 6 6 2 46 - 1500 4 As the Ethernet hardware filters

以太网数据帧(802.3)最大与最小长度

以太网数据帧(802.3)最大与最小长度2017年03月20日 19:40:01 Farmwang 阅读数:5370更多个人分类: TCP/IP以太网(IEEE 802.3)帧格式: 1.前导码:7字节0x55,一串1.0间隔,用于信号同步2.帧起始定界符:1字节0xD5(10101011),表示一帧开始3.DA(目的MAC):6字节4.SA(源MAC):6字节5.类型/长度:2字节,0-1500保留为长度域值,1536-65535保留为类型域值(0x0600-0xFFFF)6.数据:46-15

自己动手学TCP/IP–http协议(http报文头)

在前面的一篇文章中,简单了介绍了HTTP报文格式,详情参考http://www.firefoxbug.net/?cat=47. 这里大概介绍下基本的,常见的HTTP包头格式. POST /report/getComment.jsp HTTP/1.1 Host: yeeg.com Connection: keep-alive Content-Length: 161 Origin: http://www.1g1g.com User-Agent: Mozilla/5.0 (X11; Linux i68

IP 层收发报文简要剖析2--ip报文的输入ip_local_deliver

ip报文根据路由结果:如果发往本地则调用ip_local_deliver处理报文:如果是转发出去,则调用ip_forward 处理报文. 一.ip报文转发到本地: /* * Deliver IP Packets to the higher protocol layers. */ /* * 在ip_route_input_noref进行路由选择后,如果接收的包 * 是发送给本机,则调用ip_local_deliver来传递给上层协议 */ int ip_local_deliver(struct s

IP 层收发报文简要剖析4--ip 报文发送

无论是从本地输出的数据还是转发的数据报文,经过路由后都要输出到网络设备,而输出到网络设备的接口就是dst_output(output)函数 路由的时候,dst_output函数设置为ip_output ip_mc_output等 1.TCP输出接口 L4 层在发送数据时会根据协议的不同调用上面提到的几个辅助函数之一,tcp协议打包成ip数据包文的方法根据tcp段的不同而选择不同的接口, 其中ip_queue_xmit为常用接口,ip_build_and_send_pkt.ip_send_repl

IP 层收发报文简要剖析6--ip_forward 报文转发

//在函数ip_route_input_slow->ip_mkroute_input注册, /* * IP数据包的转发是由ip_forward()处理,该函数在ip_rcv_finish() * 通过输入路由缓存被调用. */ int ip_forward(struct sk_buff *skb) { u32 mtu; struct iphdr *iph; /* Our header */ struct rtable *rt; /* Route we use */ struct ip_optio