《TCP/IP详解 卷一》读书笔记-----TCP数据流
1、Delayed Acknowledgements:TCP通常不会在收到数据之后立即返回一个ACK,而是会有一个延时,希望能ACK报文段中带上一些数据,通常这个延时为200ms
2、Nagle Algorithm:在TCP连接中,只能有一个小的报文段未被确认。即TCP在发送了一个小的报文段之后,会将之后的小数据都收集起来,直到之前的小报文段得到确认,才将收集到的小数据打包成一个报文段发出。这样做的减少了网络中小报文段的数量,减轻了网络的阻塞,提高了传输的效率
3、当一个包到达以后,它首先被设备驱动的中断处理程序处理,然后被添加到IP的输入队列中,最后被送给TCP进行处理,到要发送delayed acknowledgement的时候,就将确认序号置为已经处理过的报文段中同步序号的最大值加1
4、sliding window:即滑动窗口协议,接收方不必为每个接收到的报文段发送ACK确认报文,进行累计确认即可。例如收到了N-1024~N,N~N+1024两个报文段,那么只要返回一个ACK序号为N+1024的报文段即可

5、如上图所示,发送方发送数据的速度大于接受方处理数据的速度,发送方连续发送了四个包含1024个数据字节的报文段,此时已经填满了接收方建议的滑动窗口的大小,于是它停止发送数据。之后,接收方发送了一个ACK进行累计确认并且建议的窗口大小为0,发送方依旧不能发送数据。最后,接收方又发送了一个ACK,该报文段称为window update ,它的作用并不是用来对任何数据进行确认的,而是告诉发送方可以继续发送数据了

6、发送端的滑动窗口如上图所示:方框的大小为发送方能够发送并且未被确认的字节序列的数目,当收到ACK报文时,方框的左边界就会向左移,当接收方的TCP缓存变大时,方框的右边界就会向右移。那么会不会出现右边界向左移动的情况呢?其实是不会的,我们先讨论最坏的情况,那就是接收方没有处理任何新的数据,并且由于接受了新的数据导致缓存又变小了,但是此时我们可以发现对于发送方来说,只是左边界向右移了,而右边界没有发生变化而已。因此最坏的情况只是右边界不移动而已,并不会存在滑动窗口的右边界向左移的情况
7、Slow Start:即慢启动,这个算法基于这样一种观察结果:发送方发包的速率应该和接收方发送确认报的速率相同。因此又引入了一个叫拥塞窗口(congestion window),刚开始传输数据的时候,拥塞窗口的大小为一个报文段的大小,当第一个报文段被确认后,窗口大小变为二,当之后的两个报文段被确认后,拥塞窗口变为四,依次类推。直到发现丢包时,说明拥塞窗口太大了,再对它进行相应的处理。这里需要的注意的是:拥塞窗口和滑动窗口是同时起作用的,通常发送方能够发送的数据的数量是两者的较小值
8、PUSH flag:当TCP报文段中PUSH标志被置位时,意思是发送方要求接收方立即将接收到的数据交给相应的接收方进程。这里的数据包括当前收到的PUSH被置位的报文段中的数据,也包括接收方之前收到的,被放在缓存中的数据。一般来说,现在已经不能通过程序将报文段中的PUSH标志置位了,因为大多数TCP 的实现都能自动确定需不需要置PUSH标志
《TCP/IP详解 卷一》读书笔记-----TCP数据流的更多相关文章
- 《TCP/IP详解》读书笔记
本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层 一.整体概念 1.各层协议的关系,只讨论四层 各层常见的协议: 网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...
- TCP/IP详解 卷一学习笔记(转载)
https://blog.csdn.net/cpcpcp123/article/details/51259498
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- 【TCP/IP详解 卷一:协议】第二章:链路层
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...
- 『TCP/IP详解——卷一:协议』读书笔记——02
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...
- 『TCP/IP详解——卷一:协议』读书笔记——18
2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送 ...
- 『TCP/IP详解——卷一:协议』读书笔记——15
2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...
- 『TCP/IP详解——卷一:协议』读书笔记——14
2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...
- 『TCP/IP详解——卷一:协议』读书笔记——13
2013-08-24 16:03:39 4.6 ARP代理 ARP代理(Proxy ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求.这样可 ...
随机推荐
- 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性
[源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...
- csharp: Export or Import excel using MyXls,Spire.Xls
excel 2003 (效果不太理想) using System; using System.Collections.Generic; using System.ComponentModel; usi ...
- ahjesus sql2005+游标示例
DECLARE @TypeId INT, @Price1 FLOAT, @Original FLOAT DECLARE my_cursor CURSOR SCROLL FOR SELECT TypeI ...
- 小白初学ABP框架,着实累啊
这几天在学习ABP相关的知识AutoMapper ,AngularJS,Less,DI(dependencyInjection),EntityFramework code first以及相关NuGet ...
- mysql grant all on *.* to xxx@'%' 报Access denied for user 'root'@'localhost'
今日,开发反馈某台mysql服务器无法登陆,解决之后,远程登录后发现用户只能看到information_schema,其他均看不到. 故登录服务器执行: mysql> grant all on ...
- Android SDK Tools和Android SDK Platform-tools
SDK Platform 可以理解为版本,因此有 SDK Platform 7,SDK Platform 8等等Android SDK Tools 是各个版本都可通用的工具文件夹,里面有draw9pa ...
- JSON的三种解析方式
一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定 ...
- ASP.NET本质论第一章网站应用程序学习笔记1
1.统一资源标示符 1) 格式:协议://主机[.端口号][绝对路径[?参数]],在Http://www.kencery.com/hyl/index/login中,http表示协议的名称,www.ke ...
- 在ALV中更新数据库表
FORM usercommand USING ucomm TYPE sy-ucomm selfield TYPE slis_selfield. DATA: lr_grid TYPE REF TO cl ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...