TCP/IP知识

ABC类网络地址:

  1. A,第一个字节为网络号,后面三个字节为主机号,网络号的第一位必须为0;
  2. B,前两个字节为网络号,后面两个字节为主机号,网络号的前两位必须为10;
  3. C,前三个字节为网络号,后面一个字节为主机号,网络号的前三位必须为110;

滑动窗口

发送方会有一个滑动窗口,这个滑动窗口的大小,是对方发来的,对方的每个数据包中都带了一个滑动窗口大小。
滑动窗口的左边,表示发送了,且已经被确认的字节。滑动窗口的右边,是还没发送的字节。滑动窗口中,包含了发送已确认的字节,和发送未确认的字节。
当有数据包被确认时,窗口左边沿会向右合拢。
当对端收到数据包,并释放了接收的缓存的时候,发送端的右边沿可以向右扩大。
这个窗口是接收方的流量控制。

超时重传

TCP在发送一个数据的时候,会设置一个定时器,若在定时范围内,没有收到这个数据包的ack,就会重传。重传的间隔时间以倍数增加。发送方最后会放弃,并会发送一个RST。

慢启动

发送方有一个拥塞窗口,拥塞窗口是发送方来控制发送流量的。发送方每次取拥塞窗口和通告窗口的最小值来作为发送的上限。

开始时,拥塞窗口的大小为一个报文段大小。当收到对方的ACK之后,就变为两倍,并不断增加。这就是慢启动的过程。
发送方有一个 慢启动门限 。当拥塞窗口大于了慢启动门限的时候。则进入拥塞避免阶段。

拥塞避免

当数据包发送了丢失(发生超时)。当TCP进入了拥塞避免状态,表示当前连接处于拥塞状态,要减少进入TCP连接的数据包。是一种发送方的流量控制。
过程是:
1.当拥塞发生时,将门限设置为当前窗口(拥塞和通告的最小值)大小的一半(减小门限)。
2.将cwnd设置为1。
3.重新开始慢启动。

快速重传

就是当接收方,收到了乱序的包的时候,会立即发送期望丢失包的ACK。当接收方连续接收到三个重复ACK的时候,就开始快速重传,而不等待发送超时。

  1. 将门限设置为窗口大小的一半。
  2. 将拥塞窗口设置为门限+3。
  3. 重新进入拥塞避免。

快速恢复

1.当收到三个重复的ACK的时候,将门限设置为cwnd的一半,重传丢失的报文。设置cwnd为门限+3的大小。

  1. 每次收到另一个重复的ACK的时候,就把cwnd+1,并发送一个分组。
  2. 当下一个确认新数据的ack到达的时候,将cwnd设置为原来的门限,继续拥塞避免。

sack

如果只是使用快速重传效率不高,
CP收到乱序数据后,会将其放入乱序队列中,然后发送重复ACK给对端。对端收到多个重复的ACK后,就会推测到可能发生了数据丢失,再重传数据。如果乱序的数据比较零散,则这种机制的效率会很低。使用SACK选项可以告知发包方收到了哪些数据,发包方收到这些信息后就会知道哪些数据丢失,然后立即重传缺失部分即可。这就大大提高了数据重传的速度。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容

  • 数据链路层 任务有3:发送和接收IP数据包,ARP请求和应答,RARP请求和应答以太网数据链路帧的封装格式是6字节...
    纵横而乐阅读 1,717评论 0 1
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 12,980评论 6 174
  • 六、TCP可靠传输的实现 首先介绍以字节为单位的滑动窗口。为了讲述可靠传输原理的方便,假定数据传输只在一个方向进行...
    dmmy大印阅读 1,515评论 0 1
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,019评论 0 8
  • 20.1 引言 在第15章我们看到TFTP使用了停止等待协议。数据发送方在发送下一个数据块之前需要等待接收对已发送...
    张芳涛阅读 791评论 0 2