夜朦胧,人方静,无聊的人打开了无聊的电脑看到了一张无聊的图,想着想着就睡着了,梦到了人a和人b的一次聊天。

有一天,a有事情想跟b商量就问b“有时间么,想和你聊一下天”,b想了一会发现自己能抽出时间就回复a说“可以啊,并把具体时间告诉了a”,a收到消息后就高高兴兴的去安排自己的时间,并告知b“我的时间也安排好了,可以说话了”,然后a和b噼里啪啦的说了好长时间,最后a的话终于说完了,想要结束聊天了。于是

a说“我的话说完了”,b这个时候就有两种可能性了:b的话没说完和b的话说完了。

1.如果b的话没说完,b就要跟a说“我的话还没说完了,你还得多听一会,等我说完了着”,然后b就噼里啪啦的又跟a说了一堆事情,a就在那里安静的听着,终于b说完了,这个时候b就跟a回了句“好了,我的事情终于说完了,你可以去忙其他的事了”,然后a就准备去忙其他的事情,但是他不知道b是不是还在想着这次谈话,出于礼貌和不放心,a还是决定再回一句让b也去忙其他的,于是a就给b回了一句“我要去忙其他的了,你也去忙你的其他的事吧”。于是这次谈话就愉快的结束了。

2.如果b的话说完了,b就说“好,我的话也说完了,你去忙其他的事吧”,a收到了b的回话,a就准备去忙其他的事情,但是他不知道b是不是还在关注着这次谈话,出于礼貌和不放心,a还是决定再回一句让b去忙其他的,于是a就给b回了一句“我要去忙其他的了,你也去忙你的其他的事吧”。

有这次谈话,他想到了计算机的世界,计算机a要和计算机b建立链接,如果b刚好有资源就可以分配一段资源(建立进程,分配端口号等)去处理a的请求,他们之间通过三次TCP链接后就正式传输数据,处理数据。断开连接则有可能是b请求断开链接也有可能是a,但是过程是类似的,假设是a的数据传完了,就请求断开链接,b要给a的答复就有两种可能了,如果b还有数据没传完要断开链接总共就得四次TCP链接了,如果b的数据传完了要断开链接其实三次TCP链接就可以完事了。

由于考虑到网络的不稳定性、TCP的不可靠性以及充分利用计算机资源等原因,人们就给计算机设定了一个合理的最高等待时间限度,如果网络断了,过了这个时间限度还没收到彼此回复,双方计算机就主动结束这次通信,终止这次通信所带来的资源开销。上例中a最后一次发消息给b也是由于b在这个时间限度内不会主动让出这次通信所占用的资源,为了让b更早的让出这些资源,a就及时发一个消息主动告诉b,让b腾出这段资源去忙其他的。a发送完最后一条消息后等到时间到了这个时间段就也让出因这次通信所占用的资源。

计算机本来是笨的,然而人类很聪明,就让计算机变得很聪明;也让计算机变得很懂礼貌,然而计算机却让人类变得越来越不懂礼貌,越来越虚假。晨曦初露,人渐醒,原来只是整个世界打了个盹,做了个不近人情的交易!”醒来的那个人,揉了揉眼,不小心碰到了键盘,借着微光,无力地瞅了一眼横在面前的那副图,心想:“Y的,这世界和这图与我有关么,还害得我一宿没睡好?”于是就又无精打采地趴着睡了。

 
http://www.cnblogs.com/ryanlamp/p/5625610.html

对TCP说三道四(三次握手)的更多相关文章

  1. 简析TCP的三次握手与四次分手

    TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续.它只是一个超级麻烦的协议,而它又是互联网的基础,也 ...

  2. TCP的三次握手(建立连接)和四次挥手(关闭连接)

    参照: http://course.ccniit.com/CSTD/Linux/reference/files/018.PDF http://hi.baidu.com/raycomer/item/94 ...

  3. TCP协议三次握手和四次挥手

    http://www.cnblogs.com/rootq/articles/1377355.html TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对 ...

  4. HTTP协议中TCP的三次握手,四次挥手总结

    建立TCP需要三次握手才能建立,而断开连接则需要四次挥手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...

  5. TCP协议三次握手

    TCP协议三次握手过程分析 TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: ...

  6. 简析TCP的三次握手与四次挥手

    TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续.它只是一个超级麻烦的协议,而它又是互联网的基础,也 ...

  7. 简析TCP的三次握手与四次分手【转】

    转自 简析TCP的三次握手与四次分手 | 果冻想http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文 ...

  8. 【转载】简析TCP的三次握手与四次分手

    最近在补习HTTP协议相关知识点,看到这篇讲得不错,所以转载收藏一下,同时也分享给大家.原文地址:http://www.jellythink.com/archives/705,版权归原作者所有. TC ...

  9. TCP协议—三次握手四次挥手的原理<转>

    三次握手四次挥手的原理   TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接.在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的.三 ...

  10. TCP的三次握手与四次挥手

    TCP的三次握手与四次挥手 一.TCP(Transmission Control Protocol 传输控制协议) TCP是面向对连接,可靠的进程到进程通信的协议 TCP是提供全双工服务,即数据可在同 ...

随机推荐

  1. Android的线程和线程池

    ---恢复内容开始--- 一.Android线程的形态 (一)AsyncTask解析 AysncTask简介:①.实现上封装了Thread和Handler   ②.不适合进行特别耗时的后台任务 Ays ...

  2. IBM Minus One(water)

    IBM Minus One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. mysql tee 命令

    tee 命令说明: 用过mysql的应该都会知道mysql有一个叫show 的命令,这个命令应该是SQL标准之外的一个扩展:和这个类似mysql还扩展了一个叫tee的命令. tee的功能是把你的所有输 ...

  4. EasyUI 使用心得

    最近项目中用到EasyUI,总结了一下 注:EasyUI中所有的控件不能重名,否则会出现意向不到的后果.这是EasyUI框架决定的. ① EasyUI 获取文本框中的值 //日期 $('#beginD ...

  5. haproxy redirect prefix

    acl short_domain hdr(Host) -i etiantian.org redirect prefix http://www.etiantian.org code 301 if sho ...

  6. sed简单实例练习

    sedfile内容如下: Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 Betty Boop: ...

  7. OpenStack cloudCompute glassary术语project,tenant,user

    1,tenantA group of users, used to isolate access to Compute resources(一组用户,用于隔离访问计算资源). An alternati ...

  8. iOS10隐私设置及相应问题

    iOS10新添加了10个隐私设置: NSBluetoothPeripheralUsageDescription="App需要您的同意,才能访问蓝牙"; NSCalendarsUsa ...

  9. lua的学习

    lua是什么 Lua是一中嵌入式的脚本语言. Lua语言可以独立进行编程,但这不是其主要的使用方式.Lua虽然有动态.灵活的语法提供强大的功能,但并不像 Java.Python 等一样有一个完善的库( ...

  10. springMVC在JSP页面取map值

    在springmMVC中.jsp页面取得map值. 在controller层: Map<String, Object> map = new HashMap<String, Objec ...