流量控制

TCP协议

依然范特西╮ 提交于 2019-12-05 11:45:05
TCP协议 Posted on 2019-05-17 18:49 章鱼夫 阅读( 17) 评论( 0) 编辑 收藏 TCP协议全称: 传输控制协议(Transmission Control Protocol ), 顾名思义, 就是要对数据的传输进行一定的控制. TCP头部:    16位源端口号/16位目的端口号::表示数据从哪个进程来, 到哪个进程去. 16位数据序号:表示在这个报文段中的第一个数据字节序号 16位确认序号:仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号 4位首部长度::表示该tcp报头有多少个4字节(32个bit) 6位保留::顾名思义, 先保留着, 以防万 6位标志位: URG: 标识紧急指针是否有效 ACK: 标识确认序号是否有效 PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走 RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段 SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段 FIN: 通知对端, 本端即将关闭. 我们把含有FIN标识的报文称为结束报文段 16位窗口大小:代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16 - 1 = 65535个字节 16位检验和::由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题.

TCP协议

二次信任 提交于 2019-12-05 11:44:34
TCP协议全称: 传输控制协议(Transmission Control Protocol ), 顾名思义, 就是要对数据的传输进行一定的控制. TCP头部:    16位源端口号/16位目的端口号::表示数据从哪个进程来, 到哪个进程去. 16位数据序号:表示在这个报文段中的第一个数据字节序号 16位确认序号:仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号 4位首部长度::表示该tcp报头有多少个4字节(32个bit) 6位保留::顾名思义, 先保留着, 以防万 6位标志位: URG: 标识紧急指针是否有效 ACK: 标识确认序号是否有效 PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走 RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段 SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段 FIN: 通知对端, 本端即将关闭. 我们把含有FIN标识的报文称为结束报文段 16位窗口大小:代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16 - 1 = 65535个字节 16位检验和::由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含TCP首部, 也包含TCP数据部分. 16位紧急指针::用来标识哪部分数据是紧急数据. TCP的三次握手:   

TCP协议

♀尐吖头ヾ 提交于 2019-12-05 11:16:41
TCP协议全称: 传输控制协议(Transmission Control Protocol ), 顾名思义, 就是要对数据的传输进行一定的控制. TCP头部:    16位源端口号/16位目的端口号::表示数据从哪个进程来, 到哪个进程去. 16位数据序号:表示在这个报文段中的第一个数据字节序号 16位确认序号:仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号 4位首部长度::表示该tcp报头有多少个4字节(32个bit) 6位保留::顾名思义, 先保留着, 以防万 6位标志位: URG: 标识紧急指针是否有效 ACK: 标识确认序号是否有效 PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走 RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段 SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段 FIN: 通知对端, 本端即将关闭. 我们把含有FIN标识的报文称为结束报文段 16位窗口大小:代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16 - 1 = 65535个字节 16位检验和::由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含TCP首部, 也包含TCP数据部分. 16位紧急指针::用来标识哪部分数据是紧急数据. TCP的三次握手:   

TCP协议

我的未来我决定 提交于 2019-12-05 06:33:40
TCP协议全称: 传输控制协议(Transmission Control Protocol ), 顾名思义, 就是要对数据的传输进行一定的控制. TCP头部:    16位源端口号/16位目的端口号::表示数据从哪个进程来, 到哪个进程去. 16位数据序号:表示在这个报文段中的第一个数据字节序号 16位确认序号:仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号 4位首部长度::表示该tcp报头有多少个4字节(32个bit) 6位保留::顾名思义, 先保留着, 以防万 6位标志位: URG: 标识紧急指针是否有效 ACK: 标识确认序号是否有效 PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走 RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段 SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段 FIN: 通知对端, 本端即将关闭. 我们把含有FIN标识的报文称为结束报文段 16位窗口大小:代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16 - 1 = 65535个字节 16位检验和::由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含TCP首部, 也包含TCP数据部分. 16位紧急指针::用来标识哪部分数据是紧急数据. TCP的三次握手:   

【计算机网络】TCP基础知识详解

橙三吉。 提交于 2019-12-05 05:16:33
1. TCP概念相关 [!NOTE] TCP(Transmission Control Protocol),又叫传输控制协议。 TCP协议是面向连接的,可靠的,基于字节流的传输协议。在基于 TCP 进行通信时,通信双方需要先建立一个 TCP 连接,建立连接需要经过三次握手,断开连接的时候需要经过四次挥手。 1.1 TCP头部 对于 TCP 头部来说,以下几个字段是很重要的: 序列号 (Sequence number),这个序号保证了 TCP 传输的报文都是有序的,对端可以通过序号顺序的拼接报文 确认号 (Acknowledgement Number),这个序号表示数据接收端期望接收的下一个字节的编号是多少,同时也表示上一个序号的数据已经收到 窗口大小 (Window Size),表示还能接收多少字节的数据,用于流量控制 标识符 ACK=1 :该字段为一表示确认号字段有效。此外,TCP 还规定在连接建立后传送的所有报文段都必须把 ACK 置为一。 SYN=1:当SYN=1,ACK=0时,表示当前报文段是一个连接请求报文。当SYN=1,ACK=1时,表示当前报文段是一个同意建立连接的应答报文。 FIN=1:该字段为一表示此报文段是一个释放连接的请求报文。 URG=1 : 该字段为一表示本数据报的数据部分包含紧急信息,是一个高优先级数据报文,此时紧急指针有效

TCP/IP协议

拈花ヽ惹草 提交于 2019-12-05 04:21:10
关于 TCP/IP,必知必会的10个问题 一、TCP/IP模型 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。 基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。 TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp,等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。 上图清楚地表示了TCP/IP协议中每个层的作用,而TCP/IP协议通信的过程其实就对应着数据入栈与出栈的过程。入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地。出栈的过程,数据接收方每层不断地拆除首部与尾部,得到最终传输的数据。 上图以HTTP协议为例,具体说明。 二、数据链路层 物理层负责0、1比特流与物理设备电压高低、光的闪灭之间的互换。 数据链路层负责将0

TCP协议如何保证可靠传输?

ぐ巨炮叔叔 提交于 2019-12-04 20:36:00
一、TCP的可靠传输如何保证?   在TCP连接中,数据流必须以正确的顺序传送给对方。 TCP的可靠性是通过 顺序编号 和 确认(ACK) 实现的。 TCP在开始传送一个段时,为准备重传而首先将该段插入到发送队列中,同时启动时钟。然后,如果收到了接收端对该段的ACK信息,就将该段从队列中删去。如果在时钟规定的时间内,ACK未返回,那么就从发送队列中再次送出这个段。TCP在协议中就对数据可靠传输做了保障,握手与断开都需要通讯双方确认,数据传输也需要双方确认成功,在协议中还规定了:分包、重组、重传等规则;而UDP主要是面向不可靠连接的,不能保证数据正确到达目的地。 二、TCP还提供了以下方式保证可靠传输: 1.确认和重传: 接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传。    TCP是怎么保证错误重传的?     1)接收方受到错误的分组,就直接丢弃,而不做任何操作;     2)发送方在规定的时间(比平均往返时延大一些)没有收到分组的确认分组,就会自动重传;     3)为了让对方知道哪个分组出现了问题,就为分组也编了序号。 2.数据校验 3.数据合理分片和排序   UDP:IP数据报大于1500字节,大于MTU。这个时候发送方IP层就需要分片(fragmentation)把数据报分成若干片,使每一片都小于MTU,而接受方IP层则需要进行数据报的重组

ip知识回顾

瘦欲@ 提交于 2019-12-04 18:00:46
数据链路层 一、数据链路层的功能: 1、链路管理; 2、信息传输; 3、流量与差错控制; 4、异常情况处理。 二、数据链路层的流量控制协议:指对在数据链路上传输的帧进行速度的控制,保证接收端有足够的缓冲单元存储发送端发来的信息以便接收端处理。 常用的两种方法: 1、停—等流量控制; 2、滑动窗口流量控制。 特殊情况处理: 超时计时器—防止由于信息丢失导致发送端的无休止等待; 给帧编序号—防止重帧现象出现。 三、当用n个比特进行编号时,若接收端 的大小为1,则发送窗口 的大小与编码二进制位数之间的关系为 四、广域网数据链路控制规程的分类: 1、面向字符型传输控制规程:以字符型作为传输基本单位,典型的有BSC、DDCMP等; 2、面向比特型传输控制规程::以比特型作为传输基本单位,典型的有HDLC、SDLC、ADCCP等。 一、数据链路层的功能: 1、链路管理; 2、信息传输; 3、流量与差错控制; 4、异常情况处理。 二、数据链路层的流量控制协议:指对在数据链路上传输的帧进行速度的控制,保证接收端有足够的缓冲单元存储发送端发来的信息以便接收端处理。 常用的两种方法: 1、停—等流量控制; 2、滑动窗口流量控制。 特殊情况处理: 超时计时器—防止由于信息丢失导致发送端的无休止等待; 给帧编序号—防止重帧现象出现。 三、当用n个比特进行编号时,若接收端 的大小为1,则发送窗口

以太网原理内容提要及重难点

喜欢而已 提交于 2019-12-04 15:44:17
内容提要: 数据链路层的功能、数据链路层的流量控制协议、广域网数据链路传输控制规程、局域网的数据链路层协议分析、Internet数据链路层协议 重点:数据链路层的功能、流量控制协议、hdlc协议、局域网各种没退访问控制机制、因特网的接入 难点:链路层协议的控制、窗口滑动机制和窗口大小的选择、HDLC各字段的含义及其控制过程、CSMA/CD访问机制、PPP协议 来源: https://www.cnblogs.com/SsShirley/p/11871979.html

tcp流量控制一个非常能学到知识的技术帖

穿精又带淫゛_ 提交于 2019-12-03 11:52:34
模拟测试程序,从客户端向服务器发数据,人工控制服务器收数据。当客户端发了一部分数据后,无法再发送,此时服务器开始每次收取1K。 按照常理推断,服务器收取1K后,客户端应该能够继续发送数据,但实测观察发现,客户端还是无法发送数据,直到服务器收取了一定数据量后,客户端才能够继续发送。 tcp抓包如下: [plain] view plain copy <span style="font-size:18px;">11:42:40.217984 IP localhost.6379 > localhost.28944: . ack 65665 win 0 <nop,nop,timestamp 1816613366 1816613366> 0x0000: 4500 0034 5e08 4000 4006 deb9 7f00 0001 E..4^. @. @....... 0x0010: 7f00 0001 18eb 7110 7c79 0efb 7c5f 2ff1 ......q.|y..|_/. 0x0020: 8010 0000 3a7f 0000 0101 080a 6c47 51f6 ....:.......lGQ. 0x0030: 6c47 51f6 lGQ. 11:42:40.425034 IP localhost.28944 > localhost.6379: . ack 1