计算机网络自顶向下方法【五】——传说中的三次握手!

  上周末和以前室友玩了玩,这周工作又有许多事情,都没什么时间看书,匆匆补上上周的笔记。

  传说中的三次握手和四次挥手,我终于看到正规解释了(以前只是网上看看)。

  TCP提供全双工服务。什么是全双工?

  如果一台主机上的进程A与另一台主机上的进程B存在一条TCP连接,则应用层数据可以在从B流向A的同事,也向A流向B。这不就像高速公路,地铁嘛,双向都有东西。

  TCP连接是点对点的。

  既单个发送方与单个接收方之间的链接。就是不可能3个主机。就是一夫一妻制吧,不允许第三者插足。

  三次握手,以前了解过,就是保证双方都知道对方具有接受与发送能力。书中看到了更详细的解释。

  建立连接的双方,客户端与服务端,客户端先发一个特殊的TCP报文段,服务端用另一个特殊的报文段响应、最后,客户端再用第三个报文段响应。前三个不承载“有效负荷”(不包含应用层数据);而第三个则可以承载。由于发送了三个报文段,所以又被称为:“三次握手”。 感觉也是挺好理解的,就像正常2个陌生人见面,有求于人时,都会先互相说句废话似的:“你好”。然后再进入正题,或者平常街上的大妈大爷打招呼,吃过了没啊~就连QQ微信上也是,在吗?三次握手的前两次,在计算里可能也是一种他们自己的礼仪吧!

  TCP把数据通过“套接字“传入发送缓存中,接下来,TCP就会从发送缓存里不时取出数据,由于受限于最大报文段长度,他会为每个数据加上一个TCP首部,变成多个TCP报文段,然后把数据给网络层;网络层封装在网络层的IP数据报中,这些IP数据报就被发送到网络中,被存入对方的接收缓存中。每一端都有各自的发送与接收缓存。

  IP服务,是尽力而为的服务。反正就是不管结果怎么样,我尽力了。我们做工作时常常这么想,但用起网络时,往往不喜欢有这样的服务。TCP就是在IP之上创建了可靠的数据传输服务。

  超时重传,发个包给对方,对方需要在一定时间内回复。如果没回复,就认为没收到。反馈嘛就是。就像领导发信息时,都喜欢底下员工一片回复“收到,收到”一样,虽然员工认为这是一种舔狗行为,但领导有他自己的想法。

扫描二维码关注公众号,回复: 6560364 查看本文章

  这样重传会引发许多问题与解决方案,但我显然没太搞明白……反正TCP就是很强的全部解决了,其中用到了许多知识点,等我全弄明白了再写个吧。

  四次挥手,则是确认双方数据都发送完了的机制。

  这一章的学习还是挺有帮助的,我在工作中碰到了一个场景,福建那边的环境总是和我们不一样,代码总是没更新,缓存也清除了,于是我说,你们是不是有用代理服务器?实施就说,好像是的,于是他们去排查了。应该是解决了,因为后续没找我。

  

猜你喜欢

转载自www.cnblogs.com/weixin-tt/p/11061872.html