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

    文章

    919

    浏览量

    40533
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1387

    浏览量

    79516
  • TCPIP
    +关注

    关注

    1

    文章

    56

    浏览量

    22853
收藏 人收藏

    相关推荐

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

    如果你学过网络基础知识,那么你一定对TCP三次握手不陌生。今天我想用通俗的话来给大家讲一讲TCP三次握手
    的头像 发表于 02-03 10:43 2801次阅读
    讲一讲的<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>

    三次握手四次挥手你懂吗

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

    TCP三次握手过程描述

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

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

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

    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 1363次阅读

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

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

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

    具备上述个条件后A获取B的信息是有要求的,根本上的要求是数据信道可靠,就是平时所说的可靠连接,那么如何保证连接的可靠性呢,TCP协议就是靠确认应答机制、超时重传机制等保证连接可靠性的,接下来就通过
    的头像 发表于 03-23 15:57 1233次阅读
    <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是一种面向连接的协议。在进行数据传输之前,发送端和接收端需要建立一个可靠的连接。
    的头像 发表于 02-04 11:03 824次阅读

    简述TCP协议三次握手机制

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

    TCP三次握手的详细过程

    TCP(传输控制协议三次握手是一种在互联网上建立一个可靠的、有序的和错误检测能力的连接的方法。这个过程确保了两个设备(通常是客户端和服务器
    的头像 发表于 01-03 17:11 502次阅读

    TCP三次握手协议的作用

    连接,确保数据传输的可靠性。 TCP三次握手协议的基本概念 TCP三次
    的头像 发表于 01-03 17:15 414次阅读

    TCP三次握手的基本原理

    在计算机网络中,TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它确保了数据在网络中传输的可靠性和顺序性。为了建立两个网络实体之间的通信,TCP使用一种称为
    的头像 发表于 01-03 17:25 583次阅读

    TCP三次握手安全性分析

    TCP(传输控制协议)的三次握手是建立可靠连接的重要机制,它确保了通信双方在数据传输前的连接状态是可靠和准确的。然而,从安全性的角度来分析,TCP
    的头像 发表于 01-03 18:10 591次阅读

    如何监测TCP三次握手过程

    在计算机网络中,传输控制协议TCP)是确保数据可靠传输的关键协议之一。TCP通过三次握手
    的头像 发表于 01-06 09:20 271次阅读