`

http协议三次握手

 
阅读更多
TCP(Transmission Control Protocol) 传输控制协议

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:

位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)

Sequence number(顺序号码) Acknowledge number(确认号码)

TCP/IP基础--TCP三次握手

第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

完成三次握手,主机A与主机B开始传送数据。


在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.


实例:

IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836
IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837
IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1

第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机;

第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack number=3626544837,syn=1,ack=1,随机产生seq=1739326486的包;

第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,192.168.1.116会再发送ack number=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。
分享到:
评论

相关推荐

    三次握手于四次挥手.docx

    在HTTP通信过程中,TCP的三次握手和四次挥手起着至关重要的作用,确保了连接的建立和终止的正确性。下面将详细解释这两个过程。 ### 三次握手 三次握手是为了在客户端和服务器之间建立一个可靠的连接。具体步骤...

    wireshark抓包分析tcp三次握手四次挥手

    在TCP/IP通信中,TCP连接的建立和关闭过程分别称为三次握手和四次挥手,这两个过程对于理解TCP连接的工作原理至关重要。 首先,我们来详细讲解TCP的三次握手过程: 1. **第一次握手**:客户端(Client)发送一个...

    TCP/IP的三次握手建立连接(带图释)

    总的来说,TCP/IP的三次握手是确保可靠连接的关键机制,它保证了客户端和服务器之间的通信能够准确无误地开始,为后续的HTTP、FTP等应用层协议提供了坚实的基础。对于任何涉及网络技术的人员来说,深入理解TCP/IP...

    网络协议,TCP三次握手,四次挥手

    这个过程被称为“三次握手”。第一次握手,客户端发送一个SYN同步包给服务器;第二次握手,服务器回应一个SYN+ACK包,同时自己也发送一个SYN包;第三次握手,客户端再发送一个ACK包,确认服务器的SYN。这样就建立了...

    wireshark抓包分析tcp三次握手四次挥手详解及网络命令

    通过对Wireshark抓包分析TCP三次握手四次挥手的详细了解,我们可以更深入地理解TCP/IP协议的工作原理,这对于网络故障排查、性能优化等方面都有着重要的意义。此外,掌握Wireshark这样的工具也是提高网络技能不可或...

    tcp三次握手

    ### TCP三次握手详解 #### 一、TCP协议概述 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,确保了两端之间的通信能够准确无误地进行。 #...

    tcp3次握手实验报告

    捕获TCP连接的过程的数据包。 2)分析三次握手建立TCP连接的过程,描述数据包序列图。(包括 SYN标志和SEQ值) 1)检查FTP交互数据报文中用户名和密码是否用明文传送

    Wireshark基本介绍和学习TCP三次握手

    TCP是一种面向连接的、可靠的传输层协议,三次握手是TCP连接建立的关键步骤。这个过程确保了两个通信端点都能正确地建立连接,防止了数据丢失或重复发送。以下是三次握手的具体步骤: 1. **SYN(同步序列号)**:...

    计算机网络协议分析实验报告 TCPIP三次握手

    ### 计算机网络协议分析实验报告:TCP/IP三次握手 #### 一、实验背景及目的 本实验旨在通过对TCP/IP协议族中的DHCP协议以及TCP三次握手过程进行深入分析,帮助学生理解计算机网络的基本原理和技术特点。实验通过...

    传输协议TCP三次握手

    TCP三次握手是TCP连接建立过程中不可或缺的步骤,确保了双方都能正确理解彼此的连接请求,避免了网络中的失效连接请求和数据包乱序等问题。 在TCP三次握手过程中,主要有以下三个阶段: 1. 第一次握手:客户端发送...

    三次握手,四次挥手

    在探讨三次握手和四次挥手之前,我们首先需要理解它们所处的大背景——TCP/IP协议族及其工作原理。 **TCP/IP协议族**是Internet的核心协议之一,用于描述计算机之间如何通信的一系列规则和技术。它主要包括四个层次...

    巧解HTTP三次握手四次挥手流程(超详细).docx

    ### TCP 三次握手详解 #### 一、TCP建立流程 **TCP三次握手**是指客户端与服务器之间为了建立连接而进行的交互过程。该过程确保了客户端和服务端能够准确地识别对方,并通过同步序列号和确认号来确保数据传输的...

    tcp/ip,三次握手四次死挥手

    TCP/IP 协议群,三次握手四次死挥手 TCP/IP 协议群是计算机网络中最重要的基础协议之一,它是指一组使用 IP 进行通信时所必须用到的协议的统称。TCP/IP 协议群包括 IP、ICMP、TCP、UDP、TELNET、FTP、HTTP 等协议,...

    使用wireshark抓包分析TCP三次握手.doc

    通过Wireshark,不仅可以分析TCP三次握手,还可以深入理解其他网络协议,如HTTP、HTTPS等。对于HTTPS,由于其加密特性,Wireshark无法直接解密内容,但可以通过查看TCP流(`tcp.stream`过滤器)来了解通信的大致结构...

    网络协议动画演示

    本资源"网络协议动画演示"旨在通过生动的动画形式,帮助理解这些复杂的概念,特别是三次握手原理。 网络协议的主要目标是为数据交换提供标准格式和过程,以便于不同系统的互联。其中,TCP/IP(传输控制协议/互联网...

    05-TCP三次握手四次挥手.md

    对于前端工程师而言,理解TCP的工作原理是相当重要的,尤其是在面试中,面试官可能会询问与TCP连接的三次握手和四次挥手相关的问题来考察应聘者的基础知识。 首先,TCP是面向连接的、可靠的、基于字节流的传输层...

    TCP通信的三次握手和四次挥手详解.docx

    TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,它通过三次握手来建立连接,而通过四次挥手来断开连接。在计算机网络的参考模型中,TCP 属于传输层,与应用层(如HTTP、FTP)、网络层...

    11 - tcp三次握手-并发服务器.pdf

    总结起来,本资料主要涉及TCP的三次握手建立连接、四次挥手断开连接的过程,滑动窗口的概念以及网络协议、服务器、并发服务器的实现,包括多进程和多线程模型,以及在实际应用中如nginx的使用。理解并掌握这些知识点...

Global site tag (gtag.js) - Google Analytics