最大报文段长度(MSS)表示TCP传往另一端的最大数据库的长度。当一个连接建立时,连接的双方都要通告各自需要接收的MSS选项(MSS选项只能出现在SYN报文段中)。如果一方不接收来自另一方的MSS值,则MSS就定为默认值536字节(这个默认值允许20字节的IP首部和20字节的TCP首部以适合576字 ...
分类:
其他好文 时间:
2019-10-28 10:53:44
阅读次数:
349
时间戳选项发送方在每个报文段中放置一个时间戳值。接收方在确认中返回这个数值,从而允许发送方为每一个收到的ACK计算RTT(我们必须说“每一个收到的ACK”而不是“每一个收到的报文段”,是因为TCP通常用一个ACK来确认多个报文段)。我们提到过目前很多实现为每个窗口值计算一个RTT,对于包含8个报文段 ...
分类:
其他好文 时间:
2019-10-28 10:40:31
阅读次数:
66
用于寻找发送端和接收端应用进程。(源IP,源端口,目的IP,目的端口) 四元组确定唯一一个TCP连接;(IP,端口)也称为一个插口(socket); 标识从TCP发送端向TCP接收端发送的数据字节流,它标识在当前传输报文段中的第一个数据字节;需要是32比特的无符号数,序号达到2^32-1后又冲0开始 ...
分类:
其他好文 时间:
2019-10-27 22:39:02
阅读次数:
79
问题背景 日常面试时,几乎所有学过计算机的都知道,TCP协议是可靠的,UDP协议不可靠的。为什么TCP协议是可靠的?它用什么机制保证可靠呢? 提出问题 1. 由于IP 数据包的 MTU 有长度限制, TCP报文段过大时,需要切割。切割之后发送出去,由于网络链路的不确定性,接收端接收到包的次序和发送次 ...
分类:
其他好文 时间:
2019-10-27 15:03:17
阅读次数:
546
一、基于TCP协议的网络编程: 1、TCP协议:是一种面向连接的、可靠的、基于字节流的传输层通信协议 功能: 当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制 ...
分类:
其他好文 时间:
2019-10-13 15:12:54
阅读次数:
130
一、TCP四次挥手 MSL是TCP报文里面最大生存时间,它是任何报文段被丢弃前在网络内的最长时间。 第一次挥手:A->B,A向B发出释放连接请求的报文,其中FIN(终止位) = 1,seq(序列号)=u;在A发送完之后,A的TCP客户端进入FIN-WAIT-1(终止等待1)状态。此时A还是可以进行收 ...
分类:
其他好文 时间:
2019-10-12 01:13:01
阅读次数:
72
一、TCP的特点 面向连接的、可靠的、基于字节流的传输层通信协议。 将应用层的分割成报文段,并发送发给目标节点的TCP层。 数据包都有序号,对方收到则发送ACK确认,未收到则重传。 使用效验和来效验数据在传输过程中是否有误。 二、TCP报文信息 报文头包含信息有: 源端口、目的端口 标示进程(soc ...
分类:
其他好文 时间:
2019-09-30 19:51:48
阅读次数:
94
tcp提供一种面向连接的可靠的字节流服务 tcp通过以下方式老提供可靠性服务: 应用数据被应用程序分割成tcp认为最合适发送的数据块 当tcp发送一个段后,启动一个定时器,等待目的段确认收到这个报文段,如果不能及时收到一个确认,将重发这个报文段 当tcp收到发自tcp连接另一端的数据,它将发送一个确 ...
分类:
其他好文 时间:
2019-09-27 21:23:53
阅读次数:
71
1、首先为什么需要握手 首先我们看一下TCP报文段的结构 TCP报文段中的窗口这16位字段部分,这里窗口的作用就是为了实现流量的控制,为什么会有流量的控制的引入???它是这样来的:若是发送方发送数据的速度大于了接收方应用程序取数据的速度(假设数据传输过程不拥塞)那么,接收方就会出现失贞的现象,也就是 ...
分类:
Web程序 时间:
2019-09-22 11:12:13
阅读次数:
94
TCP(Transmission Control Protocol,传输控制协议),位于传输层,提供一种面向连接、可靠的字节流服务。 字节流服务(Byte Stream Service)是指,为了方便传输,将大 块数据分割成以报文段(segment)为单位的数据包进行管理。 可靠的传输服务是指,能够 ...
分类:
其他好文 时间:
2019-09-20 18:35:18
阅读次数:
77