Nat封装Pp协议

excalidraw

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Text Elements

client ^pdsoIL0z

NAT ^lEtOOR5s

Server ^7HyKnicB

SYN
seq0 ^3wBZM9az

SYN
seq0 ^R34LJTTX

SYN ACK
seq1
ack seq0+1 ^ku3h4ofD

SYN ACK
seq1
ack seq0+1 ^VaSJirUE

ACK
se0+1
ack seq1+1 ^5yzdFJfC

ACK
seq0+1
ack seq1+1 ^uJx2rLkd

PSH ACK
seq0+1
ack seq1+1 ^skKSIqjO

PP
seq0+1
ack seq+1 ^MMMDiihE

PSH ACK
seq0+1+pp_len
ack seq1+1 ^uUkvWLB5

在发送第一个数据报文前,发送pp数据包 ^LV7br3Ql

用户的数据包中的seq需要额外加上pp_len的长度 ^b9Iy3zcE

ACK
seq1+1
ack seq0+1+pp_len ^0DvdQori

ACK
seq1+1
ack seq0+len+1 ^bv0yq8Fc

ACK
seq1+2
ack seq0+1+pp_len+len ^L4xd5TyH

%%

Drawing

{
    "type": "excalidraw",
    "version": 2,
    "source": "https://excalidraw.com",
    "elements": [
        {
            "type": "line",
            "version": 113,
            "versionNonce": 1032280207,
            "isDeleted": false,
            "id": "m3iF9m4FE5h3X6e0NLHGo",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -200,
            "y": -180,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 0,
            "height": 780,
            "seed": 81634927,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": null,
            "points": [
                [
                    0,
                    0
                ],
                [
                    0,
                    780
                ]
            ]
        },
        {
            "type": "line",
            "version": 253,
            "versionNonce": 1134787553,
            "isDeleted": false,
            "id": "nlPzc8VJPtpiIHzRuinNr",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 0,
            "y": -180,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 0,
            "height": 780,
            "seed": 1638577729,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": null,
            "points": [
                [
                    0,
                    0
                ],
                [
                    0,
                    780
                ]
            ]
        },
        {
            "type": "line",
            "version": 269,
            "versionNonce": 1464561327,
            "isDeleted": false,
            "id": "YEG-0OkChANzMuw0Z9J82",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 220,
            "y": -180,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 0,
            "height": 780,
            "seed": 1755827489,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": null,
            "points": [
                [
                    0,
                    0
                ],
                [
                    0,
                    780
                ]
            ]
        },
        {
            "type": "text",
            "version": 18,
            "versionNonce": 678123457,
            "isDeleted": false,
            "id": "pdsoIL0z",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -180,
            "y": -220,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 48,
            "height": 23,
            "seed": 1723098049,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 20,
            "fontFamily": 2,
            "text": "client",
            "rawText": "client",
            "baseline": 19,
            "textAlign": "left",
            "verticalAlign": "top",
            "containerId": null,
            "originalText": "client"
        },
        {
            "type": "text",
            "version": 31,
            "versionNonce": 1751630031,
            "isDeleted": false,
            "id": "lEtOOR5s",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -20,
            "y": -220,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 40,
            "height": 23,
            "seed": 411947681,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 20,
            "fontFamily": 2,
            "text": "NAT",
            "rawText": "NAT",
            "baseline": 19,
            "textAlign": "left",
            "verticalAlign": "top",
            "containerId": null,
            "originalText": "NAT"
        },
        {
            "type": "text",
            "version": 23,
            "versionNonce": 59553697,
            "isDeleted": false,
            "id": "7HyKnicB",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 140,
            "y": -220,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 60,
            "height": 23,
            "seed": 121843041,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 20,
            "fontFamily": 2,
            "text": "Server",
            "rawText": "Server",
            "baseline": 19,
            "textAlign": "left",
            "verticalAlign": "top",
            "containerId": null,
            "originalText": "Server"
        },
        {
            "type": "arrow",
            "version": 20,
            "versionNonce": 1383386863,
            "isDeleted": false,
            "id": "091QgiAn4BgPzzu1P4SOf",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -200,
            "y": -160,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 200,
            "height": 43,
            "seed": 468416719,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [
                {
                    "type": "text",
                    "id": "3wBZM9az"
                }
            ],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": "arrow",
            "points": [
                [
                    0,
                    0
                ],
                [
                    200,
                    43
                ]
            ]
        },
        {
            "type": "text",
            "version": 15,
            "versionNonce": 1463229313,
            "isDeleted": false,
            "id": "3wBZM9az",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -98,
            "y": -156,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 36,
            "height": 37,
            "seed": 656757519,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 16,
            "fontFamily": 2,
            "text": "SYN\nseq0",
            "rawText": "SYN\nseq0",
            "baseline": 34,
            "textAlign": "center",
            "verticalAlign": "middle",
            "containerId": "091QgiAn4BgPzzu1P4SOf",
            "originalText": "SYN\nseq0"
        },
        {
            "type": "arrow",
            "version": 25,
            "versionNonce": 804985103,
            "isDeleted": false,
            "id": "Kl1DWtKqsz1BExsZ4BdiD",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 0,
            "y": -120,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 220,
            "height": 40,
            "seed": 682529505,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [
                {
                    "type": "text",
                    "id": "R34LJTTX"
                }
            ],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": "arrow",
            "points": [
                [
                    0,
                    0
                ],
                [
                    220,
                    40
                ]
            ]
        },
        {
            "type": "text",
            "version": 13,
            "versionNonce": 866780001,
            "isDeleted": false,
            "id": "R34LJTTX",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 62,
            "y": -119,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 36,
            "height": 38,
            "seed": 1388412111,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 16,
            "fontFamily": 2,
            "text": "SYN\nseq0",
            "rawText": "SYN\nseq0",
            "baseline": 34,
            "textAlign": "center",
            "verticalAlign": "middle",
            "containerId": "Kl1DWtKqsz1BExsZ4BdiD",
            "originalText": "SYN\nseq0"
        },
        {
            "type": "arrow",
            "version": 31,
            "versionNonce": 913514287,
            "isDeleted": false,
            "id": "PgM1d1K7TWnTzGUjpFETl",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 220,
            "y": -60,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 220,
            "height": 60,
            "seed": 388453775,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [
                {
                    "type": "text",
                    "id": "ku3h4ofD"
                }
            ],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": "arrow",
            "points": [
                [
                    0,
                    0
                ],
                [
                    -220,
                    60
                ]
            ]
        },
        {
            "type": "text",
            "version": 95,
            "versionNonce": 1966403393,
            "isDeleted": false,
            "id": "ku3h4ofD",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 49.5,
            "y": -58.5,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 101,
            "height": 57,
            "seed": 11136175,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 16,
            "fontFamily": 2,
            "text": "SYN ACK\nseq1\n    ack seq0+1",
            "rawText": "SYN ACK\nseq1\n    ack seq0+1",
            "baseline": 53,
            "textAlign": "center",
            "verticalAlign": "middle",
            "containerId": "PgM1d1K7TWnTzGUjpFETl",
            "originalText": "SYN ACK\nseq1\n    ack seq0+1"
        },
        {
            "type": "arrow",
            "version": 17,
            "versionNonce": 1480941903,
            "isDeleted": false,
            "id": "jXDHyzzS1Nv1w7QQgzhrQ",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 0,
            "y": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 200,
            "height": 60,
            "seed": 820767841,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [
                {
                    "type": "text",
                    "id": "VaSJirUE"
                }
            ],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": "arrow",
            "points": [
                [
                    0,
                    0
                ],
                [
                    -200,
                    60
                ]
            ]
        },
        {
            "type": "text",
            "version": 52,
            "versionNonce": 1110925089,
            "isDeleted": false,
            "id": "VaSJirUE",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -141.5,
            "y": 1.5,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 83,
            "height": 56,
            "seed": 2015618863,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 16,
            "fontFamily": 2,
            "text": "SYN ACK\nseq1\nack seq0+1",
            "rawText": "SYN ACK\nseq1\nack seq0+1",
            "baseline": 52,
            "textAlign": "center",
            "verticalAlign": "middle",
            "containerId": "jXDHyzzS1Nv1w7QQgzhrQ",
            "originalText": "SYN ACK\nseq1\nack seq0+1"
        },
        {
            "type": "arrow",
            "version": 15,
            "versionNonce": 650796911,
            "isDeleted": false,
            "id": "xcpjY_ot7TvgA2vdD5RS1",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -200,
            "y": 80,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 200,
            "height": 60,
            "seed": 503602369,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [
                {
                    "type": "text",
                    "id": "5yzdFJfC"
                }
            ],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": "arrow",
            "points": [
                [
                    0,
                    0
                ],
                [
                    200,
                    60
                ]
            ]
        },
        {
            "type": "text",
            "version": 31,
            "versionNonce": 1226887937,
            "isDeleted": false,
            "id": "5yzdFJfC",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": -141.5,
            "y": 81.5,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 83,
            "height": 56,
            "seed": 1225076801,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349967,
            "link": null,
            "locked": false,
            "fontSize": 16,
            "fontFamily": 2,
            "text": "ACK\nse0+1\nack seq1+1",
            "rawText": "ACK\nse0+1\nack seq1+1",
            "baseline": 52,
            "textAlign": "center",
            "verticalAlign": "middle",
            "containerId": "xcpjY_ot7TvgA2vdD5RS1",
            "originalText": "ACK\nse0+1\nack seq1+1"
        },
        {
            "type": "arrow",
            "version": 16,
            "versionNonce": 1951046031,
            "isDeleted": false,
            "id": "-ZL01wsvcyUuI1vBsMiF0",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 20,
            "y": 160,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 200,
            "height": 60,
            "seed": 1281048897,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "boundElements": [
                {
                    "type": "text",
                    "id": "uJx2rLkd"
                }
            ],
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "startBinding": null,
            "endBinding": null,
            "lastCommittedPoint": null,
            "startArrowhead": null,
            "endArrowhead": "arrow",
            "points": [
                [
                    0,
                    0
                ],
                [
                    200,
                    60
                ]
            ]
        },
        {
            "type": "text",
            "version": 38,
            "versionNonce": 1047579361,
            "isDeleted": false,
            "id": "uJx2rLkd",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "angle": 0,
            "x": 78.5,
            "y": 161.5,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "width": 83,
            "height": 56,
            "seed": 53995489,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "boundElements": [],
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "fontSize": 16,
            "fontFamily": 2,
            "text": "ACK\nseq0+1\nack seq1+1",
            "rawText": "ACK\nseq0+1\nack seq1+1",
            "baseline": 52,
            "textAlign": "center",
            "verticalAlign": "middle",
            "containerId": "-ZL01wsvcyUuI1vBsMiF0",
            "originalText": "ACK\nseq0+1\nack seq1+1"
        },
        {
            "id": "Z8TIIBFwBqJItffKQD5BC",
            "type": "arrow",
            "x": -200,
            "y": 160,
            "width": 200,
            "height": 60,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "seed": 1115679009,
            "version": 12,
            "versionNonce": 905875375,
            "isDeleted": false,
            "boundElements": [
                {
                    "type": "text",
                    "id": "skKSIqjO"
                }
            ],
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    200,
                    60
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": null,
            "startArrowhead": null,
            "endArrowhead": "arrow"
        },
        {
            "id": "skKSIqjO",
            "type": "text",
            "x": -141.5,
            "y": 161.5,
            "width": 83,
            "height": 57,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 1487985761,
            "version": 31,
            "versionNonce": 448186049,
            "isDeleted": false,
            "boundElements": null,
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "text": "PSH ACK\nseq0+1\nack seq1+1",
            "rawText": "PSH ACK\nseq0+1\nack seq1+1",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "center",
            "verticalAlign": "middle",
            "baseline": 53,
            "containerId": "Z8TIIBFwBqJItffKQD5BC",
            "originalText": "PSH ACK\nseq0+1\nack seq1+1"
        },
        {
            "id": "946BNL1fR9ar5RPGABil0",
            "type": "arrow",
            "x": 0,
            "y": 220,
            "width": 220,
            "height": 60,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "seed": 1687925263,
            "version": 27,
            "versionNonce": 1191747745,
            "isDeleted": false,
            "boundElements": [
                {
                    "type": "text",
                    "id": "MMMDiihE"
                }
            ],
            "updated": 1705846008912,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    220,
                    60
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": {
                "elementId": "LV7br3Ql",
                "focus": -0.941385435168739,
                "gap": 1
            },
            "startArrowhead": null,
            "endArrowhead": "arrow"
        },
        {
            "id": "MMMDiihE",
            "type": "text",
            "x": 63,
            "y": 221.5,
            "width": 74,
            "height": 57,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 66969025,
            "version": 35,
            "versionNonce": 412239521,
            "isDeleted": false,
            "boundElements": null,
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "text": "PP\nseq0+1\nack seq+1",
            "rawText": "PP\nseq0+1\nack seq+1",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "center",
            "verticalAlign": "middle",
            "baseline": 53,
            "containerId": "946BNL1fR9ar5RPGABil0",
            "originalText": "PP\nseq0+1\nack seq+1"
        },
        {
            "id": "KYP1U1f_WHlWUSBQx515G",
            "type": "arrow",
            "x": 0,
            "y": 280,
            "width": 219,
            "height": 50.17069370577428,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "seed": 894812239,
            "version": 59,
            "versionNonce": 30276289,
            "isDeleted": false,
            "boundElements": [
                {
                    "type": "text",
                    "id": "uUkvWLB5"
                }
            ],
            "updated": 1705846020256,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    219,
                    50.17069370577428
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": {
                "elementId": "b9Iy3zcE",
                "focus": -0.7541282169237863,
                "gap": 1
            },
            "startArrowhead": null,
            "endArrowhead": "arrow"
        },
        {
            "id": "uUkvWLB5",
            "type": "text",
            "x": 54.5,
            "y": 281.5,
            "width": 111,
            "height": 57,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 705625903,
            "version": 49,
            "versionNonce": 1325948929,
            "isDeleted": false,
            "boundElements": null,
            "updated": 1705845731943,
            "link": null,
            "locked": false,
            "text": "PSH ACK\nseq0+1+pp_len\nack seq1+1",
            "rawText": "PSH ACK\nseq0+1+pp_len\nack seq1+1",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "center",
            "verticalAlign": "middle",
            "baseline": 53,
            "containerId": "KYP1U1f_WHlWUSBQx515G",
            "originalText": "PSH ACK\nseq0+1+pp_len\nack seq1+1"
        },
        {
            "id": "LV7br3Ql",
            "type": "text",
            "x": 220,
            "y": 260,
            "width": 291,
            "height": 23,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 388796513,
            "version": 53,
            "versionNonce": 1586878991,
            "isDeleted": false,
            "boundElements": [
                {
                    "id": "946BNL1fR9ar5RPGABil0",
                    "type": "arrow"
                }
            ],
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "text": "在发送第一个数据报文前,发送pp数据包",
            "rawText": "在发送第一个数据报文前,发送pp数据包",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "left",
            "verticalAlign": "top",
            "baseline": 17,
            "containerId": null,
            "originalText": "在发送第一个数据报文前,发送pp数据包"
        },
        {
            "id": "b9Iy3zcE",
            "type": "text",
            "x": 220,
            "y": 320,
            "width": 347,
            "height": 23,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 2070088961,
            "version": 80,
            "versionNonce": 1688464975,
            "isDeleted": false,
            "boundElements": [
                {
                    "id": "KYP1U1f_WHlWUSBQx515G",
                    "type": "arrow"
                }
            ],
            "updated": 1705846025279,
            "link": null,
            "locked": false,
            "text": "用户的数据包中的seq需要额外加上pp_len的长度",
            "rawText": "用户的数据包中的seq需要额外加上pp_len的长度",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "left",
            "verticalAlign": "top",
            "baseline": 17,
            "containerId": null,
            "originalText": "用户的数据包中的seq需要额外加上pp_len的长度"
        },
        {
            "id": "sK_9CSsIObfXp5KCyzwz-",
            "type": "arrow",
            "x": 220,
            "y": 360,
            "width": 220,
            "height": 80,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "seed": 2107300527,
            "version": 59,
            "versionNonce": 1924010561,
            "isDeleted": false,
            "boundElements": [
                {
                    "type": "text",
                    "id": "0DvdQori"
                }
            ],
            "updated": 1705846025279,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    -220,
                    80
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": null,
            "startArrowhead": null,
            "endArrowhead": "arrow"
        },
        {
            "id": "0DvdQori",
            "type": "text",
            "x": 39.5,
            "y": 371.5,
            "width": 141,
            "height": 57,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 2109679361,
            "version": 86,
            "versionNonce": 1858584065,
            "isDeleted": false,
            "boundElements": null,
            "updated": 1705845897608,
            "link": null,
            "locked": false,
            "text": "ACK\nseq1+1\nack seq0+1+pp_len",
            "rawText": "ACK\nseq1+1\nack seq0+1+pp_len",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "center",
            "verticalAlign": "middle",
            "baseline": 53,
            "containerId": "sK_9CSsIObfXp5KCyzwz-",
            "originalText": "ACK\nseq1+1\nack seq0+1+pp_len"
        },
        {
            "id": "pVblaUBH11WWGCU9_zIct",
            "type": "arrow",
            "x": 0,
            "y": 500,
            "width": 200,
            "height": 80,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "seed": 166993505,
            "version": 23,
            "versionNonce": 501473871,
            "isDeleted": false,
            "boundElements": [
                {
                    "type": "text",
                    "id": "bv0yq8Fc"
                }
            ],
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    -200,
                    80
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": null,
            "startArrowhead": null,
            "endArrowhead": "arrow"
        },
        {
            "id": "bv0yq8Fc",
            "type": "text",
            "x": -157,
            "y": 511.5,
            "width": 114,
            "height": 57,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 1081383233,
            "version": 36,
            "versionNonce": 209546785,
            "isDeleted": false,
            "boundElements": null,
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "text": "ACK\nseq1+1\nack seq0+len+1",
            "rawText": "ACK\nseq1+1\nack seq0+len+1",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "center",
            "verticalAlign": "middle",
            "baseline": 53,
            "containerId": "pVblaUBH11WWGCU9_zIct",
            "originalText": "ACK\nseq1+1\nack seq0+len+1"
        },
        {
            "id": "fErEF9rmvj4MQiaTUdvbN",
            "type": "arrow",
            "x": 220,
            "y": 440,
            "width": 220,
            "height": 60,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": {
                "type": 2
            },
            "seed": 109992239,
            "version": 16,
            "versionNonce": 384876655,
            "isDeleted": false,
            "boundElements": [
                {
                    "type": "text",
                    "id": "L4xd5TyH"
                }
            ],
            "updated": 1705845349968,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    -220,
                    60
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": null,
            "startArrowhead": null,
            "endArrowhead": "arrow"
        },
        {
            "id": "L4xd5TyH",
            "type": "text",
            "x": 24.5,
            "y": 441.5,
            "width": 171,
            "height": 57,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [
                "AZdGx_Evv6aQuvjjQz9d5"
            ],
            "roundness": null,
            "seed": 500192399,
            "version": 63,
            "versionNonce": 1842455919,
            "isDeleted": false,
            "boundElements": null,
            "updated": 1705846004790,
            "link": null,
            "locked": false,
            "text": "ACK\nseq1+2\nack seq0+1+pp_len+len",
            "rawText": "ACK\nseq1+2\nack seq0+1+pp_len+len",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "center",
            "verticalAlign": "middle",
            "baseline": 53,
            "containerId": "fErEF9rmvj4MQiaTUdvbN",
            "originalText": "ACK\nseq1+2\nack seq0+1+pp_len+len"
        },
        {
            "id": "LX1cU5NO",
            "type": "text",
            "x": 231.95261101973682,
            "y": 279.7216796875,
            "width": 5,
            "height": 19,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [],
            "roundness": null,
            "seed": 1056830735,
            "version": 37,
            "versionNonce": 1677016911,
            "isDeleted": true,
            "boundElements": null,
            "updated": 1705844875526,
            "link": null,
            "locked": false,
            "text": "",
            "rawText": "",
            "fontSize": 16,
            "fontFamily": 2,
            "textAlign": "left",
            "verticalAlign": "top",
            "baseline": 15,
            "containerId": null,
            "originalText": ""
        },
        {
            "id": "qITWz6xeazbBgd-D1Q7WR",
            "type": "arrow",
            "x": 200,
            "y": 300,
            "width": 200,
            "height": 40,
            "angle": 0,
            "strokeColor": "<span class="tag">#000000</span>",
            "backgroundColor": "transparent",
            "fillStyle": "hachure",
            "strokeWidth": 0.5,
            "strokeStyle": "solid",
            "roughness": 0,
            "opacity": 100,
            "groupIds": [],
            "roundness": {
                "type": 2
            },
            "seed": 751730031,
            "version": 12,
            "versionNonce": 2066489409,
            "isDeleted": true,
            "boundElements": null,
            "updated": 1705844885169,
            "link": null,
            "locked": false,
            "points": [
                [
                    0,
                    0
                ],
                [
                    -200,
                    40
                ]
            ],
            "lastCommittedPoint": null,
            "startBinding": null,
            "endBinding": null,
            "startArrowhead": null,
            "endArrowhead": "arrow"
        }
    ],
    "appState": {
        "theme": "light",
        "viewBackgroundColor": "<span class="tag">#ffffff</span>",
        "currentItemStrokeColor": "<span class="tag">#000000</span>",
        "currentItemBackgroundColor": "transparent",
        "currentItemFillStyle": "hachure",
        "currentItemStrokeWidth": 0.5,
        "currentItemStrokeStyle": "solid",
        "currentItemRoughness": 0,
        "currentItemOpacity": 100,
        "currentItemFontFamily": 2,
        "currentItemFontSize": 16,
        "currentItemTextAlign": "left",
        "currentItemStartArrowhead": null,
        "currentItemEndArrowhead": "arrow",
        "scrollX": 307.63157894736867,
        "scrollY": 67.14638157894694,
        "zoom": {
            "value": 0.9500000000000001
        },
        "currentItemRoundness": "round",
        "gridSize": 20,
        "colorPalette": {},
        "previousGridSize": null
    },
    "files": {}
}

%%