Skip to main content

Home/ Coders/ Group items tagged transport

Rss Feed Group items tagged

ma_haijin

TCP 的那些事儿(上) 酷壳 - CoolShell.cn | 酷 壳 - CoolShell.cn - 0 views

shared by ma_haijin on 11 Aug 16 - No Cached
  • TCP的包是没有IP地址的,那是IP层上的事。但是有源端口和目标端口。
  • Sequence Number是包的序号,用来解决网络包乱序(reordering)问题。
  • Acknowledgement Number就是ACK——用于确认收到,用来解决不丢包的问题。
  • ...14 more annotations...
  • Window又叫Advertised-Window,也就是著名的滑动窗口(Sliding Window),用于解决流控的。
  • TCP Flag ,也就是包的类型,主要是用于操控TCP的状态机的。
  • 其实,网络上的传输是没有连接的,包括TCP也是一样的。而TCP所谓的“连接”,其实只不过是在通讯的双方维护一个“连接状态”,让它看上去好像有连接一样。所以,TCP的状态变换是非常重要的。
  • 这个号要作为以后的数据通信的序号,以保证应用层接收到的数据不会因为网络上的传输的问题而乱序(TCP会用这个序号来拼接数据)。
  • 关于建连接时SYN超时。试想一下,如果server端接到了clien发的SYN后回了SYN-ACK后client掉线了,server端没有收到client回来的ACK,那么,这个连接处于一个中间状态,即没成功,也没失败。于是,server端如果在一定时间内没有收到的TCP会重发SYN-ACK。在Linux下,默认重试次数为5次,重试的间隔时间从1s开始每次都翻售,5次的重试时间间隔为1s, 2s, 4s, 8s, 16s,总共31s,第5次发出后还要等32s都知道第5次也超时了,所以,总共需要 1s + 2s + 4s+ 8s+ 16s + 32s = 2^6 -1 = 63s,TCP才会把断开这个连接。
  • 请注意,请先千万别用tcp_syncookies来处理正常的大负载的连接的情况。因为,synccookies是妥协版的TCP协议,并不严谨。对于正常的请求,你应该调整三个TCP参数可供你选择,第一个是:tcp_synack_retries 可以用他来减少重试次数;第二个是:tcp_max_syn_backlog,可以增大SYN连接数;第三个是:tcp_abort_on_overflow 处理不过来干脆就直接拒绝连接了。
  • 一个ISN的周期大约是4.55个小时。因为,我们假设我们的TCP Segment在网络上的存活时间不会超过Maximum Segment Lifetime(缩写为MSL – Wikipedia语条),所以,只要MSL的值小于4.55小时,那么,我们就不会重用到ISN。
  • 为什么不直接给转成CLOSED状态呢?主要有两个原因:1)TIME_WAIT确保有足够的时间让对端收到了ACK,如果被动关闭的那方没有收到Ack,就会触发被动端重发Fin,一来一去正好2个MSL,2)有足够的时间让这个连接不会跟后面的连接混在一起(你要知道,有些自做主张的路由器会缓存IP数据包,如果连接被重用了,那么这些延迟收到的包就有可能会跟新连接混在一起)。
  • Again,使用tcp_tw_reuse和tcp_tw_recycle来解决TIME_WAIT的问题是非常非常危险的,因为这两个参数违反了TCP协议
  • 如果你的服务器是于HTTP服务器,那么设置一个HTTP的KeepAlive有多重要(浏览器会重用一个TCP连接来处理多个HTTP请求)
  • TCP要保证所有的数据包都可以到达,所以,必需要有重传机制。
  • 接收端给发送端的Ack确认只会确认最后一个连续的包,比如,发送端发了1,2,3,4,5一共五份数据,接收端收到了1,2,于是回ack 3,然后收到了4(注意此时3没收到),此时的TCP会怎么办?我们要知道,因为正如前面所说的,SeqNum和Ack是以字节数为单位,所以ack的时候,不能跳着确认,只能确认最大的连续收到的包,不然,发送端就以为之前的都收到了。
  • TCP引入了一种叫Fast Retransmit 的算法,不以时间驱动,而以数据驱动重传。也就是说,如果,包没有连续到达,就ack最后那个可能被丢了的包,如果发送方连续收到3次相同的ack,就重传。Fast Retransmit的好处是不用等timeout了再重传。
  • 注意:SACK会消费发送方的资源,试想,如果一个攻击者给数据发送方发一堆SACK的选项,这会导致发送方开始要重传甚至遍历已经发出的数据,这会消耗很多发送端的资源。
  •  
    TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相关的技术文档。 之所以想写这篇文章,目的有三个, 一个是想锻炼一下自己是否可以用简单的篇幅把这么复杂的TCP协议描清楚的能力。 另一个是觉得现在的好多程序员基本上不会认认真真地读本书,喜欢快餐文化,所以,希望这篇快餐文章可以让你对TCP这个古典技术有所了解,并能体会到软件设计中的种种难处。并且你可以从中有一些软件设计上的收获。 最重要的希望这些基础知识可以让你搞清很多以前一些似是而非的东西,并且你能意识到基础的重要。 所以,本文不会面面俱到,只是对TCP协议、算法和原理的科普。 我本来只想写一个篇幅的文章的,但是TCP真TMD的复杂,比C++复杂多了,这30多年来,各种优化变种争论和修改。所以,写着写着就发现只有砍成两篇。 上篇中,主要向你介绍TCP协议的定义和丢包时的重传机制。 下篇中,重点介绍TCP的流迭、拥塞处理。 废话少说,首先,我们需要知道TCP在网络OSI的七层模型中的第四层--Transport层,IP在第三层--Network层,ARP在第二层--Data Link层,在第二层上的数据,我们叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。 首先,我们需要知道,我们程序的数据首先会打到TCP的Segment中,然后TCP的Segment会打到IP的Packet中,然后再打到以太网Ethernet的Frame中
subsequent1 subsequent1

Leh.Casquette Volcom - 0 views

Casquette Volcom

started by subsequent1 subsequent1 on 18 Jan 14 no follow-up yet
subsequent1 subsequent1

Pontivy. besace longchamp pliage - 0 views

prix sac longchamp pas cher4La Suisse contre "l'immigration de masse"Selon les premiers résultats, les Suisses ont voté "oui" dimanche à la limitation de l'immigration "de masse". La Suisse devrait...

sac longchamp pas cher

started by subsequent1 subsequent1 on 13 Feb 14 no follow-up yet
escaping1 escaping1

moi. chaussures lascoste homme pas cher - 0 views

?Au cours des neuf derniers mois, Philippe, cet homme a eu neuf cents livres moi.""La chance a été aussi très mauvais, si mauvais, sur mon honneur, maintenant?, grommelle le pasteur.?Demain, il vou...

chaussures lascoste homme pas cher

started by escaping1 escaping1 on 03 Dec 13 no follow-up yet
escaping1 escaping1

pull ralph lauren pas cher Il faudra - 0 views

Après les attentats du 11 septembre 2001 aux Etats-Unis, le premier ministre n'a cessé de mettre en garde contre «le cauchemar vivant» que constituent «les menaces combinées des armes de destructio...

tshirt ralph lauren pas cher pull chemise

started by escaping1 escaping1 on 19 Jun 14 no follow-up yet
subsequent1 subsequent1

Lunettes Soleil Ray Ban Clubmaster pas cher pays - 0 views

Or le phénomène toucherait entre 4 et 10% de la population.Conclusion du Dr Philip : «La sécurité routière a toujours été traitée par les ministères et les administrations des Transports. Or, aujou...

Lunettes Soleil Ray Ban Highstreet Clubmaster pas cher Versace

started by subsequent1 subsequent1 on 14 Jun 14 no follow-up yet
longchamppas

Survetement Burberry Homme Pas Cher «Pour - 0 views

L'état de catastrophe naturelle déclaré pour 73 communes du Gard, de l'Aveyron et de l'Hérault L'état de catastrophe naturelle a été déclaré jeudi 25 septembre pour les communes des départements du...

Survetement Burberry Homme Pas Cher Ensemble jogging

started by longchamppas on 27 Sep 14 no follow-up yet
longchamppas

blazer ralph lauren homme Malgré - 0 views

"Il est regrettable que pour la première fois depuis 25 ans, l'Environnement n'ait pas un commissaire dédié", a déploré lui aussi Tony Long, directeur de WWF-Europe."A un an de la Conférence de Par...

blazer ralph lauren homme pas cher

started by longchamppas on 16 Sep 14 no follow-up yet
longchamppas

blouson ralph lauren homme afin - 0 views

Or ne sont en cause, avec la mort d'Ilan Halimi, ni les positions vis-à-vis du conflit israélo-palestinien, ni la question de l'islam et de l'islamisme, même si des dimensions salafistes n'y sont p...

blouson ralph lauren homme pas cher

started by longchamppas on 17 Sep 14 no follow-up yet
subsequent1 subsequent1

Lunette Ray Ban aviator La ville - 0 views

Samedi, lors d'un rassemblement de plusieurs milliers de personnes devant l'hôtel de ville, de nombreux orateurs et manifestants avaient réclamé la fin du couvre-feu. La puissante association de dé...

Lunette Ray Ban aviator pas cher

started by subsequent1 subsequent1 on 13 May 15 no follow-up yet
sahargull

Highline Charter - HighlineCharter - 0 views

  •  
    San Diego Bus Charter With a combined business experience of well over 15 years, here are some key differentiating factors when you ride Highline: Unbeatable Value Punctuality Professionalism at all levels Pristine Late Model Fleet Client "wow" factor second to none We offer the absolute highest quality transportation service in San Diego county.
longchamppas

Sac Burberry pas cher Et - 0 views

000 emplois en France et contribue à hauteur de deux milliards d'euros au PIB national. Il estime que les surfaces cultivées en colza seront réduites de 25%, soit quelque 400.000 hectares, ce qui s...

Chemise Burberry pas cher Sac Pull Berberry

started by longchamppas on 25 Apr 15 no follow-up yet
longchamppas

trousse longchamp pas cher Que - 0 views

Les dynamiques climatiques ont toujours été un facteur essentiel du développement ou de la "mise sous tension" des sociétés. Ainsi, le changement climatique actuel est en train de transformer le mo...

sac longchamp femme pas cher trousse pliage cuir noir

started by longchamppas on 26 Aug 15 no follow-up yet
longchamppas

sac shopping longchamp pas cher Les - 0 views

Un renversement de situation assez improbable puisque les ancêtres des populations du Vieux continent, Grecs, Romains ou Celtes, méprisaient cette couleur, la considérant comme désagréable à l'?il,...

sac longchamp bandouliere pas cher,sac shopping cher, solde 2015

started by longchamppas on 17 Aug 15 no follow-up yet
longchamppas

trousse longchamp pas cher Certains - 0 views

La tortue, qui souffrait d'un poumon perforé, avait été pourtant operée... Une jeune tortue verte de 68 kg est décédée dimanche à La Réunion, après avoir été blessée par une hélice de bateau, révè...

sac longchamp femme pas cher trousse

started by longchamppas on 25 Aug 15 no follow-up yet
escaping1 escaping1

Ralph Lauren Homme pas cher Deux - 0 views

Mais ce n'est pas tout. Vous voulez tout savoir des "cinq découvertes qui vont changer votre vie" ? Cinq professeurs du collège de France vous les décryptent : Tout est programmation En biologie, "...

T shirt Ralph Lauren pas cher Homme Veste

started by escaping1 escaping1 on 04 Aug 15 no follow-up yet
longchamppas

Vetement Ralph Lauren pas cher L - 0 views

Quel opérateur mobile faut-il choisir ?Des appels qui ne passent pas, des SMS qui ne s'envoient pas ou une connexion internet capricieuse…De nombreux Français ne sont pas satisfaits de leur couvert...

Survetement Ralph Lauren pas cher,Vetement cher,Ralph cher Soldes En France

started by longchamppas on 03 Aug 15 no follow-up yet
Cathie Lunde

f | Most Popular Flash Drives ★ 21 - 0 views

  •  
    The Corsair Flash Voyager family of USB drives are rugged, stylish, compact, and reliable, making them ideal for transporting MP3s, digital images, presentations and more. Flash Voyager drives are fully Plug and Play with most operating systems and are backward compatible with USB 1.1.
medium1 medium1

Pest . Louis Vuitton pas cher - 0 views

Bousculé légèrement par la foule , Harry suivit Mr Weasley par les portes dans la petite salle au-delà , où au moins vingt ascenseurs se tenaient derrière forgé grilles dorées . Harry et Mr Weasley...

Louis Vuitton pas cher

started by medium1 medium1 on 09 Jan 14 no follow-up yet
escaping1 escaping1

booster de lacoste pas cher Or - 0 views

Distillées en vertu d'une séquence de communication mûrement réfléchie, ses critiques rejoignent celles qui continuent à sourdre, à gauche, à la veille du vote du budget 2015 en première lecture à ...

chaussure de sport lacoste pas cher booster jogging homme

started by escaping1 escaping1 on 21 Oct 14 no follow-up yet
‹ Previous 21 - 40 of 76 Next › Last »
Showing 20 items per page