`

TCP发送过程 数据包

 
阅读更多

发送数据
13:18:29.402741 IP 10.217.12.22.3745 > 10.210.214.51.8080: P 1:11(10) ack 1 win 65535
        0x0000:  4500 0032 d97b 4000 3d06 6c56 0ad9 0c16  E..2.{@.=.lV....
        0x0010:  0ad2 d633 0ea1 1f90 3ace 1c34 c00a d97b  ...3....:..4...{
        0x0020:  5018 ffff c745 0000 3131 3131 3131 3131  P....E..11111111
        0x0030:  0d0a                                     ..

13:18:29.402888 IP 10.210.214.51.8080 > 10.217.12.22.3745: . ack 11 win 183
        0x0000:  4500 0028 6142 4000 4006 e199 0ad2 d633  E..(aB@.@......3
        0x0010:  0ad9 0c16 1f90 0ea1 c00a d97b 3ace 1c3e  ...........{:..>
        0x0020:  5010 00b7 f80e 0000                      P.......

13:18:29.404078 IP 10.210.214.51.8080 > 10.217.12.22.3745: P 1:11(10) ack 11 win 183
        0x0000:  4500 0032 6143 4000 4006 e18e 0ad2 d633  E..2aC@.@......3
        0x0010:  0ad9 0c16 1f90 0ea1 c00a d97b 3ace 1c3e  ...........{:..>
        0x0020:  5018 00b7 f818 0000 6161 6161 6161 6161  P.......aaaaaaaa
        0x0030:  6161                                     aa

13:18:29.521480 IP 10.217.12.22.3745 > 10.210.214.51.8080: . ack 11 win 65525
        0x0000:  4500 0028 d97d 4000 3d06 6c5e 0ad9 0c16  E..(.}@.=.l^....
        0x0010:  0ad2 d633 0ea1 1f90 3ace 1c3e c00a d985  ...3....:..>....
        0x0020:  5010 fff5 991c 0000                      P.......


客户端发送8个1和CR,LF一共10个字节
服务端返回10个a,也是10个字节


首先客户端发送数据,服务端返回一个ack:
1.客户端发送的序列号,和确认序列号:
3ace 1c34 c00a d97b

2.服务端返回的ack,包含的序列号和确认序列号:
c00a d97b 3ace 1c3e

可以看到就是对发送的序列号+收到的字节数
所以1c34 + A = 1c3e



3.服务端再发送一个数据给客户端,序列号和确认序列号:
c00a d97b 3ace 1c3e 

4.客户端返回的ack,序列号和确认序列号:
3ace 1c3e c00a d985

d97b + A = d985

2,3两个数据包都是服务端返回的,
可以看到ack的确认序列号 和 发送数据包的确认序列号都是同一个








发送数据
         
10:56:08.994391 IP 127.0.0.1.50007 > 127.0.0.1.8080: P 1:37(36) ack 1 win 1025 
<nop,nop,timestamp 64997372 64997325>
        0x0000:  4500 0058 a67d 4000 4006 9620 7f00 0001  E..X.}@.@.......
        0x0010:  7f00 0001 c357 1f90 b9d6 61b7 b985 7b84  .....W....a...{.
        0x0020:  8018 0401 fe4c 0000 0101 080a 03df c7fc  .....L..........
        0x0030:  03df c7cd 3131 3131 3131 3131 3131 3131  ....111111111111
        0x0040:  3131 3131 3131 3131 3131 3131 3131 3131  1111111111111111
        0x0050:  3131                                     11

10:56:08.994527 IP 127.0.0.1.8080 > 127.0.0.1.50007: . ack 37 win 1024 
<nop,nop,timestamp 64997372 64997372>
        0x0000:  4500 0034 bc49 4000 4006 8078 7f00 0001  E..4.I@.@..x....
        0x0010:  7f00 0001 1f90 c357 b985 7b84 b9d6 61db  .......W..{...a.
        0x0020:  8010 0400 fe28 0000 0101 080a 03df c7fc  .....(..........
        0x0030:  03df c7fc                                ....


10:56:18.995191 IP 127.0.0.1.50007 > 127.0.0.1.8080: P 37:73(36) ack 1 win 1025 
<nop,nop,timestamp 65007373 64997372>
        0x0000:  4500 0058 a67e 4000 4006 961f 7f00 0001  E..X.~@.@.......
        0x0010:  7f00 0001 c357 1f90 b9d6 61db b985 7b84  .....W....a...{.
        0x0020:  8018 0401 fe4c 0000 0101 080a 03df ef0d  .....L..........
        0x0030:  03df c7fc 3232 3232 3232 3232 3232 3232  ....222222222222
        0x0040:  3232 3232 3232 3232 3232 3232 3232 3232  2222222222222222
        0x0050:  3232                                     22

10:56:18.995354 IP 127.0.0.1.8080 > 127.0.0.1.50007: . ack 73 win 1024 
<nop,nop,timestamp 65007373 65007373>
        0x0000:  4500 0034 bc4a 4000 4006 8077 7f00 0001  E..4.J@.@..w....
        0x0010:  7f00 0001 1f90 c357 b985 7b84 b9d6 61ff  .......W..{...a.
        0x0020:  8010 0400 fe28 0000 0101 080a 03df ef0d  .....(..........
        0x0030:  03df ef0d                                ....


10:56:28.995560 IP 127.0.0.1.50007 > 127.0.0.1.8080: P 73:109(36) ack 1 win 1025 
<nop,nop,timestamp 65017373 65007373>
        0x0000:  4500 0058 a67f 4000 4006 961e 7f00 0001  E..X..@.@.......
        0x0010:  7f00 0001 c357 1f90 b9d6 61ff b985 7b84  .....W....a...{.
        0x0020:  8018 0401 fe4c 0000 0101 080a 03e0 161d  .....L..........
        0x0030:  03df ef0d 3333 3333 3333 3333 3333 3333  ....333333333333
        0x0040:  3333 3333 3333 3333 3333 3333 3333 3333  3333333333333333
        0x0050:  3333                                     33

10:56:28.995704 IP 127.0.0.1.8080 > 127.0.0.1.50007: . ack 109 win 1024 
<nop,nop,timestamp 65017373 65017373>
        0x0000:  4500 0034 bc4b 4000 4006 8076 7f00 0001  E..4.K@.@..v....
        0x0010:  7f00 0001 1f90 c357 b985 7b84 b9d6 6223  .......W..{...b#
        0x0020:  8010 0400 fe28 0000 0101 080a 03e0 161d  .....(..........
        0x0030:  03e0 161d                               ....
 








17:54:38.604179 IP 10.217.12.22.peport > vm11100049.webcache: . 1:1461(1460) ack 1 win 65535
17:54:38.604217 IP vm11100049.webcache > 10.217.12.22.peport: . ack 1461 win 274
17:54:38.604303 IP 10.217.12.22.peport > vm11100049.webcache: . 1461:2921(1460) ack 1 win 65535
17:54:38.604310 IP vm11100049.webcache > 10.217.12.22.peport: . ack 2921 win 365
17:54:38.605012 IP 10.217.12.22.peport > vm11100049.webcache: . 2921:4381(1460) ack 1 win 65535
17:54:38.605025 IP vm11100049.webcache > 10.217.12.22.peport: . ack 4381 win 457
17:54:38.605086 IP 10.217.12.22.peport > vm11100049.webcache: . 4381:5841(1460) ack 1 win 65535
17:54:38.605098 IP vm11100049.webcache > 10.217.12.22.peport: . ack 5841 win 548
17:54:38.605209 IP 10.217.12.22.peport > vm11100049.webcache: . 5841:7301(1460) ack 1 win 65535
17:54:38.605217 IP vm11100049.webcache > 10.217.12.22.peport: . ack 7301 win 639
17:54:38.605335 IP 10.217.12.22.peport > vm11100049.webcache: . 7301:8761(1460) ack 1 win 65535
17:54:38.605343 IP vm11100049.webcache > 10.217.12.22.peport: . ack 8761 win 730
17:54:38.605816 IP 10.217.12.22.peport > vm11100049.webcache: . 8761:10221(1460) ack 1 win 65535
17:54:38.605827 IP vm11100049.webcache > 10.217.12.22.peport: . ack 10221 win 822
17:54:38.605842 IP 10.217.12.22.peport > vm11100049.webcache: . 10221:11681(1460) ack 1 win 65535
17:54:38.605846 IP vm11100049.webcache > 10.217.12.22.peport: . ack 11681 win 913
17:54:38.605939 IP 10.217.12.22.peport > vm11100049.webcache: . 11681:13141(1460) ack 1 win 65535
17:54:38.605947 IP vm11100049.webcache > 10.217.12.22.peport: . ack 13141 win 1004
17:54:38.606052 IP 10.217.12.22.peport > vm11100049.webcache: . 13141:14601(1460) ack 1 win 65535
17:54:38.606057 IP vm11100049.webcache > 10.217.12.22.peport: . ack 14601 win 1095
17:54:38.606138 IP 10.217.12.22.peport > vm11100049.webcache: . 14601:16061(1460) ack 1 win 65535
17:54:38.606144 IP vm11100049.webcache > 10.217.12.22.peport: . ack 16061 win 1187
17:54:38.606326 IP 10.217.12.22.peport > vm11100049.webcache: . 16061:17521(1460) ack 1 win 65535
17:54:38.606339 IP vm11100049.webcache > 10.217.12.22.peport: . ack 17521 win 1278
17:54:38.606374 IP 10.217.12.22.peport > vm11100049.webcache: . 17521:18981(1460) ack 1 win 65535
17:54:38.606379 IP vm11100049.webcache > 10.217.12.22.peport: . ack 18981 win 1369
17:54:38.606513 IP 10.217.12.22.peport > vm11100049.webcache: . 18981:20441(1460) ack 1 win 65535
17:54:38.606518 IP vm11100049.webcache > 10.217.12.22.peport: . ack 20441 win 1457
17:54:38.606670 IP 10.217.12.22.peport > vm11100049.webcache: . 20441:21901(1460) ack 1 win 65535
17:54:38.606680 IP vm11100049.webcache > 10.217.12.22.peport: . ack 21901 win 1414
17:54:38.606798 IP 10.217.12.22.peport > vm11100049.webcache: . 21901:23361(1460) ack 1 win 65535
17:54:38.606806 IP vm11100049.webcache > 10.217.12.22.peport: . ack 23361 win 1372


可以看到接收端的 窗口大小在不断变化
第二个数据包,也就是服务端返回的ack,其中win为274,表示当前最多还能接收274个字节






分享到:
评论

相关推荐

    TCP和UDP数据包发送程序.rar

    这个数据包发送程序可能包含了两个部分:TCP发送和UDP发送。用户可以通过程序模拟发送TCP和UDP数据包,并观察它们在网络中的行为。源代码可以帮助我们理解如何在应用层实现这些功能,例如设置TCP的序列号、创建UDP的...

    TCP-UDP数据包自动发送工具V3.01版本

    通过这款工具,我们可以直观地了解和操作TCP和UDP的数据包发送过程,增强对网络协议的理解。 TCP与UDP是互联网协议栈中两个关键的协议。TCP是一种面向连接的、可靠的协议,它确保了数据的有序和无损传输,通过三次...

    计算机网络设计 发送TCP数据包

    通过学习和理解TCP数据包的发送过程,开发者不仅可以深入理解网络通信的核心机制,还能在开发网络应用程序时更好地处理数据传输的问题,提高程序的稳定性和效率。对于网络管理员而言,了解这些知识也有助于排查网络...

    TCP.rar_tcp_tcp 包_tcp协议_tcp数据包发送_发送tcp数据包

    TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,是互联网...在实际操作中,可以通过抓包工具如Wireshark来观察TCP数据包的发送和接收过程,更深入地理解TCP协议的运作。

    tcp.rar_C 数据包_tcp数据包发送_发送tcp数据包

    在计算机网络中,TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议,它负责在网络...然而,理解TCP数据包的结构和发送过程对于网络编程来说至关重要,尤其是在需要定制网络协议或调试网络问题时。

    发送TCP数据包并发送给目的主机

    在发送 TCP 数据包的过程中,需要使用特定的数据结构来存储和处理数据。这些数据结构包括: * TCP 报文头:用于存储 TCP 报文的头部信息,例如源端口、目的端口、序列号和确认号等。 * 数据缓冲区:用于存储要发送...

    计算机网络课程设计发送TCP数据包.doc

    计算校验和是TCP数据包发送中的关键步骤,因为它确保了数据包在传输过程中的完整性和正确性。实验中提供了一个简单的校验和计算函数`checksum()`,该函数接收一个缓冲区和大小作为参数,然后按照特定算法逐字节累加...

    TCP和UDP数据包发送程序

    本程序旨在帮助理解这两种协议的工作原理,并能够实际发送TCP和UDP数据包。下面我们将深入探讨TCP和UDP的特点、工作流程以及它们在数据包发送中的应用。 首先,TCP是一种面向连接的协议,它确保了数据的可靠传输。...

    TCP.rar_TCP数据包_发送tcp数据包

    在"发送TCP数据包.txt"文件中,可能包含了实现上述过程的代码示例,例如使用Python的socket库或者C++的socket API。学生在进行课程设计时,可以参考这个文件来编写自己的TCP数据包发送程序。理解并实践这些步骤,...

    计算机网络课程设计 发送tcp数据包

    3. 系统设计:描述如何实现TCP数据的发送,包括客户端和服务端的逻辑设计,以及数据包的构造过程。 4. 实现细节:详细阐述源代码的实现,包括主要函数的功能,关键数据结构的选择,以及异常处理机制。 5. 测试与分析...

    发送tcp数据包实验设计

    在本实验设计中,我们将探讨如何使用C++语言来实现发送TCP数据包的功能。这通常涉及到网络编程,特别是套接字编程,是网络通信的基础。 TCP协议的主要特点包括: 1. 面向连接:在数据交换前,TCP需要建立连接,...

    发送TCP数据包.pdf

    本文档主要讲述了 TCP 协议的基础知识和发送 TCP 数据包的过程。TCP 协议是一种面向连接的可靠的传输层协议,它将应用层的报文分割成多个报文段,并将每个报文段加上 TCP 报头,形成 TCP 数据包,然后将 TCP 数据...

    TCPS.rar_IP数据_TCP数据包_发送tcp数据包_封装Ip数据包

    4. **发送TCP数据包**:发送TCP数据包涉及TCP三次握手建立连接、数据传输、四次挥手断开连接的过程。在源代码实现中,这通常涉及到套接字编程,如使用socket函数创建套接字,bind绑定本地端口,connect连接远程...

    计算机网络+课程设计源代码和实验报告+帧封装、IP数据包解析和发送TCP数据包.docx

    在这个项目中,学生需要编写源代码来实现帧封装、IP数据包解析以及发送TCP数据包的功能。 帧封装是数据链路层的基本任务之一,尤其是在局域网(如Ethernet)中。按照IEEE 802.3标准,帧结构包括前导码、帧前定界符...

    第8章 TCP和UDP数据包发送程序

    在编写TCP和UDP数据包发送程序时,我们需要关注以下几个关键点: 1. **套接字编程**:无论是TCP还是UDP,都需要使用套接字(socket)进行编程。套接字是操作系统提供的接口,用于网络上的进程间通信。 2. **地址和...

    发送TCP数据包

    以下是关于TCP发送过程及其相关知识点的详细解释: 1. **TCP连接**: 在TCP通信开始前,需要建立连接,即著名的三次握手。源主机发送一个带有SYN(同步序列编号)标志的数据包到目的主机,目的主机回应一个SYN+ACK...

    Tcp和Udp的数据包发送程序

    本项目专注于通过Socket编程实现TCP(传输控制协议)和UDP(用户数据报协议)的数据包发送程序,这对于理解这两种协议的工作原理及其在Windows环境下的应用至关重要。 首先,TCP是一种面向连接的、可靠的传输协议。...

    tcp.rar_sendto TCP_tcp 数据包

    在这个场景中,我们将关注如何使用`sendto()`函数来发送TCP数据包,以及这个过程中的关键知识点。 首先,`sendto()`函数是用于UDP(用户数据报协议)的,它允许程序员指定目标地址和端口,直接发送数据。然而,在...

Global site tag (gtag.js) - Google Analytics