网上已经有很多解释了,就不瞎说了,Mark一些链接作为自己的学习笔记吧。
学习参考链接1
学习参考链接2
学习参考链接3
学习参考链接4

为什么要3次握手
  • 防止已过期的连接请求报文突然又传送到服务器,因而产生错误。

    Client发生一个请求连接报文可能因为网络延迟等原因,没有送达到server中。但是当这个client的请求报文送达到server时,如果没有三次握手的话,server就会直接发数据可client,这样会导致server资源的浪费。

  • 这个问题的本质是, 信道不可靠。

    信道不可靠,但是通信双发需要就某个问题达成一致. 而要解决这个问题, 无论你在消息中包含什么信息, 三次通信是理论上的最小值. 所以三次握手不是TCP本身的要求, 而是为了满足”在不可靠信道上可靠地传输信息”这一需求所导致的. 请注意这里的本质需求,信道不可靠, 数据传输要可靠. 三次达到了, 那后面你想接着握手也好, 发数据也好, 跟进行可靠信息传输的需求就没关系了. 因此,如果信道是可靠的, 即无论什么时候发出消息, 对方一定能收到, 或者你不关心是否要保证对方收到你的消息, 那就能像UDP那样直接发送消息就可以了.”。

为什么要4次挥手?
  • 确保数据能够完成传输。

    关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。

TCP为什么需要三次握手和四次挥手相关推荐

  1. TCP为什么是三次握手和四次挥手

    转载自   TCP为什么是三次握手和四次挥手 为什么建立连接是三次握手断开连接是四次挥手?  三次握手的流程和四次挥手的流程是什么? 三次握手与四次回收分别对应TCP连接与断开过程 tcp报文格式  ...

  2. 白话解说TCP/IP协议三次握手和四次挥手

    白话解说TCP/IP协议三次握手和四次挥手 1.背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次. 从好上开始,到现在,一年多也算坚持下来了. 1.1.问题 有时候聊天的过程中,我的 ...

  3. TCP协议的三次握手与四次挥手

    tcp协议的三次握手和四次挥手 三次握手: 第一次握手: 客户端发起一个链接(SYN) 第二次握手: 服务端就会返回一条(ACK)确认信息,同时服务端也会向客户端发起一个链接请求(SYN),此二者可合 ...

  4. 解析TCP连接之“三次握手”和“四次挥手”

    葡萄美酒夜光杯,欲饮琵琶马上催. 醉卧沙场君莫笑,古来征战几人回?----唐 · 王翰 · <凉州词> 前言 不管是面试别人还是被别人面试,有很大的可能会被问到TCP的"三次握手 ...

  5. TCP协议的三次握手和四次挥手

    转自:http://uule.iteye.com/blog/2213562 TCP协议的三次握手和四次挥手 博客分类: http/tcp TCP/IP协议三次握手与四次握手流程解析 Http协议三次握 ...

  6. TCP 连接的“ 三次握手 ”与“ 四次挥手 ”

    TCP 协议简介 TCP 是互联网核心协议之一,本文介绍它的基础知识. 一.TCP 协议的作用 互联网由一整套协议构成.TCP 只是其中的一层,有着自己的分工. (图片说明:TCP 是以太网协议和 I ...

  7. 计算机网络【UDP与TCP协议(三次握手、四次挥手)】

    计算机网络[UDP与TCP协议(三次握手.四次挥手)]

  8. 详解 TCP 连接的“三次握手”与“四次挥手”

    详解 TCP 连接的"三次握手"与"四次挥手" 前言 TCP的三次握手(Three-Way Handshake) 1."三次握手"的详解 2 ...

  9. TCP原理和三次握手和四次挥手过程

    TCP原理和三次握手和四次挥手过程 TCP原理和三次握手和四次挥手过程 TCP是什么?有什么作用? 三次握手 连接建立 详细过程 四次挥手 连接终止 详细过程 参考 TCP原理和三次握手和四次挥手过程 ...

  10. 网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)

    TCP协议 TCP协议概念 TCP全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制 TCP协议 ...

最新文章

  1. 【正一专栏】西班牙国家德比不再激情四射可更让人不舍
  2. [翻译]为什么你不要收缩数据库文件
  3. flex 下对齐_CSS3中Flex弹性布局该如何灵活运用?
  4. antd radio设置默认选中_单选框radio总结(获取值、设置默认选中值、样式)
  5. 循环依赖 三级缓存解决
  6. [Erlang07] Erlang 做图形化编程的尝试:纯Erlang做2048游戏
  7. 前端把cookie写在父域里_单点登录的三种实现方式
  8. Spring+SpringMVC+MyBatis+JQ+BootStrap练习
  9. 如何使用hMailServer+云服务器搭建个人邮箱
  10. 使用 Visual Studio 2005中的ASP.NET 移动控件创建电子书浏览器应用程序
  11. combo是什么意思啊(combo卡是什么意思)
  12. linux iio设备
  13. Pell方程初识以及技巧性的求解Pell方程整数解(附带手推详细证明)
  14. 兄弟连 linux 学习记录
  15. ostu阈值分割python实现_Otsu阈值OpenCV Python
  16. 以前的java单机游戏过关长剑,玩过这些经典单机游戏_就说明你已经老了
  17. 微信小程序调试webview_微信小程序内嵌webview相关知识点整理
  18. 【python】python里的关键字
  19. 超市微信小程序怎么做_便利店超市运营微信小程序的三大技巧
  20. 海格里斯HEGERLS仓储货架厂家标准解析|智能自动化立体仓库AS/RS存储系统

热门文章

  1. macbook pro python开发_Mac打造python2 python3开发环境
  2. 在running android lint期间发生了内部错误.,Eclipse出现quot;Running Android Lint has encountered a problemquot...
  3. 交通大数据应用细分_盈海科技 | 交通大数据可视化“掘金”数据价值
  4. 佛山市南海技师学校计算机类,佛山南海信息技术学校2021年有哪些专业
  5. 在linux中dns不安装coching,ubuntu 8.04下openldap的安装和使用
  6. 解决谷歌浏览器F12打不开调试页面的问题。
  7. c语言如何实现不定参数,C语言中不定参数的实现
  8. CSS中可继承的属性
  9. react-native页面间传递数据的几种方式
  10. Ansible: hosts文件拆分为inventory和定义inventory全局变量