0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP/IP协议工作过程的三次握手和四次挥手

电子设计 2018-10-25 09:49 次阅读

TCP(Transmission Control Protocol)网络传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,数据传输前建立连接的工作要经过“三次握手”,数据传输后断开连接的工作要经过“四次挥手”。

工作过程

从图上可以得出6个标志位,分别是:

1)、SYN(synchronous):建立联机;

2)、ACK(acknowledgement):确认;

3)、PSH(push):传输;

4)、FIN(finish):结束;

5)、RST(reset):重置;

6)、URG(urgent):紧急。

三次握手:

(1)、第一次握手:Client将标志位SYN置为1,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认;

(2)、第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态;

(3)、第三次握手:Client收到确认后,检查ACK是否为1,如果正确则将标志位ACK置为1,并将该数据包发送给Server,Server检查ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

附加(SYN网络攻击):

原理:

在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。

检测

SYN攻击时一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了。windows下打开cmd,输入命令:”netstat -n -p TCP“,查看是否有大量的”SYN_RECEIVED“状态。

四次挥手:

(1)、第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态;

(2)、第二次挥手:Server收到FIN后,发送一个ACK给Client,Server进入CLOSE_WAIT状态;

(3)、第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态;

(4)、第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,Server进入CLOSED状态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    855

    浏览量

    40250
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1348

    浏览量

    78979
  • TCPIP
    +关注

    关注

    1

    文章

    56

    浏览量

    22730
收藏 人收藏

    评论

    相关推荐

    讲一讲的TCP三次握手四次挥手

    如果你学过网络基础知识,那么你一定对TCP三次握手不陌生。今天我想用通俗的话来给大家讲一讲TCP三次握手
    的头像 发表于 02-03 10:43 2676次阅读
    讲一讲的<b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>

    TCP协议详细解析

    TCPTCP/IP协议族中一个最核心的协议,它向下使用网络层IP
    的头像 发表于 11-03 09:14 4296次阅读
    <b class='flag-5'>TCP</b><b class='flag-5'>协议</b>详细解析

    TCP恋爱史:三次握手四次分手

    TCP协议非常重要,这里把它的连接和释放整理一下。首先是三次握手:1、客户端发起,像服务器发送的报文SYN=1,ACK=0,然后选择了一个初始序号:seq=x。SYN是干什么用的?在链
    发表于 09-28 10:07

    三次握手四次挥手你懂吗

    程序员面试被问到“三次握手四次挥手”怎么办?
    发表于 04-08 07:23

    TCP三次握手过程描述

    本文档主要描述TCP三次握手过程,一个完整的三次握手也就是 请求---应答---再次确认
    发表于 03-02 15:37 8次下载

    tcp协议三次握手详细过程

    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:第一握手
    发表于 12-08 11:53 9901次阅读
    <b class='flag-5'>tcp</b><b class='flag-5'>协议</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>详细<b class='flag-5'>过程</b>

    TCP三次握手过程四次挥手过程说明

    连接 三次握手过程说明: 1. 由客户端发送建立 TCP 连接的请求报文,其中报文中包含 seq 序列号,是由发送端随机生成的,并且将报文中的 SYN 字段置为 1,表示需要建立
    的头像 发表于 03-01 12:00 4203次阅读

    TCP三次握手四次挥手以及11种状态资料下载

    电子发烧友网为你提供TCP三次握手四次挥手以及11种状态资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料
    发表于 04-15 08:41 2次下载
    <b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>以及11种状态资料下载

    TCP三次握手四次挥手过程中的异常情况

    TCP 三次握手四次挥手过程中,途中某一步的报文丢失了,会发生什么?
    的头像 发表于 09-05 10:23 1223次阅读

    如何使用WireShark进行TCP三次握手

    WireShark是一种非常方便的网络抓包工具,下面演示,使用WireShark来抓取TCP三次握手过程
    的头像 发表于 11-01 09:50 2096次阅读

    TCP建立连接概述及三次握手四次挥手的流程

    具备上述个条件后A获取B的信息是有要求的,根本上的要求是数据信道可靠,就是平时所说的可靠连接,那么如何保证连接的可靠性呢,TCP协议就是靠确认应答机制、超时重传机制等保证连接可靠性的,接下来就通过
    的头像 发表于 03-23 15:57 1043次阅读
    <b class='flag-5'>TCP</b>建立连接概述及<b class='flag-5'>三次</b><b class='flag-5'>握手</b>、<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>的流程

    用恋爱的方式解释TCP三次握手四次挥手

    前言今天的分享,是关于前两天读到的心得,TCP建立连接时三次握手,断开时为何4握手的自我理解:恋爱时连接时客户端说:SYN(约吗?)服务器
    的头像 发表于 08-28 16:11 684次阅读
    用恋爱的方式解释<b class='flag-5'>TCP</b>的<b class='flag-5'>三次</b><b class='flag-5'>握手</b>和<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>

    关于TCP协议总结的硬核干货

    本文给出TCP报文格式的详细说明,介绍网络数据包传递中如何进行地址解析、建立TCP连接的三次握手过程以及断开
    发表于 11-17 09:26 470次阅读
    关于<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>总结的硬核干货

    说说TCP三次握手过程?为什么是三次而不是两四次

    三次而不是两四次。 首先,我们需要了解TCP是一种面向连接的协议。在进行数据传输之前,发送端和接收端需要建立一个可靠的连接。
    的头像 发表于 02-04 11:03 607次阅读

    简述TCP协议三次握手机制

    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它主要用于在IP网络中进行数据传输。
    的头像 发表于 08-16 10:57 630次阅读