zoukankan      html  css  js  c++  java
  • tcp的三次连接握手和四次释放握手

    http://blog.csdn.net/whuslei/article/details/6667471/

    这篇博客讲的很清楚。

    下面我简单说明一下:三次连接握手,首先client发送请求报文,然后服务器返回,客户端在发送请求。

    为什么要三次握手,两次握手不就够了吗?:三次握手是为了确保安全,client向server发送请求,server返回了以后,server不知道client有没有收到返回,所以无法确定client是否能收的到我的响应,倘若不能收到,server还有发的必要吗?对吧,所以,客户端在发一次请求,证明我收到了你的请求,我们两个的通信没有问题,可以开始通信啦~个人觉得这相当于每个人都发送接收一次试试看能不能互相收到,很简单的道理。

    为什么要四次握手:首先需要知道一点,无论是客户端还是服务器,都可以取消连接,过程如下(假设为client取消):

    client:我要取消连接,你长的太丑...(发送给server消息)

    server:我收到了你的信息,不要我拉倒,但是取消之前还是要相互确认一下的。(随即发送给client一个回复)

    server:哎呀,他之前请求的东西还没发完呢,等发完了告诉他吧...(过了一会,消息全部发送完毕),好啦,现在消息发送完啦,我也不欠你的啦,88~然后发送一条消息,

    告诉client消息发送完毕

    client:虽然他是个丑逼,但是还是挺负责的,我也负责吧,随即发送了一条消息告诉server,我收到了你发的消息

    至此,通讯完毕。

    TCP协议是不是一个很负责任的协议呢?一旦你以负责的角度去思考,TCP就很容易理解啦。

    另外:TCP报文是属于IP报文数据的一部分。

    IP报文分为IP报头和数据

    而数据又包括TCP的报头和数据

    所以,才叫做TCP/IP协议嘛!

    对了,忘了说一点,建立连接的时候标志有SYN,ACK

    取消连接的时候标志有FIN,ACK,ACK为1则表示发送没有问题

  • 相关阅读:
    Google Shell Style Guide
    50 Must-have plugins for extending Twitter Bootstrap
    HTTP 请求头中的 X-Forwarded-For
    如何让 PowerPoint 幻灯片「高大上」?
    数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
    关于大型网站技术演进的思考(三)--存储的瓶颈(3)
    基于 Nginx XSendfile + SpringMVC 进行文件下载
    如何成为全栈工程师?
    Sqlserver通过列名查表名
    animate
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6293343.html
Copyright © 2011-2022 走看看