跳到主要内容

Chapter 13 TCP Connection Management

13.2 TCP Connection Establishment and Termination

13.2.1 TCP Half-Close

13.2.2 Simultaneous Open and Close

Simultaneous Open:

Simultaneously Close:

13.2.3 Initial Sequence Number(ISN)

ISN is randomly increase:

  • Identification: discriminate each other TCP connection. (The client will retransmission new SYN to establish new connection if old SYN spin for long, the old SYN will reenter the connection if ISN isn’t varied)
  • Security: attacker can forge a TCP segment according 4-Tuple(pair of IP address & port) to disrupt a TCP connection. Random ISN can repels this malicious attack. (Another approach is make the port ephemeral.)

13.2.4 Example

Source: 10.95.114.49

Destination: 10.95.114.129 80

Connection-Send(HaHaHa)-Close

[
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:35.486112000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366295.486112000",
"frame.time_delta": "0.061865000",
"frame.time_delta_displayed": "0.000000000",
"frame.time_relative": "34.220135000",
"frame.number": "2788",
"frame.len": "66",
"frame.cap_len": "66",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP SYN/FIN",
"frame.coloring_rule.string": "tcp.flags & 0x02 || tcp.flags.fin == 1"
},
"eth": {
"eth.dst": "6c:4b:90:44:ef:cf",
"eth.dst_tree": {
"eth.dst_resolved": "LiteON_44:ef:cf",
"eth.dst.oui": "7097232",
"eth.dst.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "1c:69:7a:5b:98:8a",
"eth.src_tree": {
"eth.src_resolved": "EliteGro_5b:98:8a",
"eth.src.oui": "1862010",
"eth.src.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "52",
"ip.id": "0x2b79",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "64",
"ip.proto": "6",
"ip.checksum": "0x15db",
"ip.checksum.status": "2",
"ip.src": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.src_host": "10.95.114.49",
"ip.host": "10.95.114.49",
"ip.dst": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.dst_host": "10.95.114.129",
"ip.host": "10.95.114.129"
},
"tcp": {
"tcp.srcport": "60958",
"tcp.dstport": "9000",
"tcp.port": "60958",
"tcp.port": "9000",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "0",
"tcp.seq_raw": "1096348667",
"tcp.nxtseq": "1",
"tcp.ack": "0",
"tcp.ack_raw": "0",
"tcp.hdr_len": "32",
"tcp.flags": "0x0002",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "0",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "1",
"tcp.flags.syn_tree": {
"_ws.expert": {
"tcp.connection.syn": "",
"_ws.expert.message": "Connection establish request (SYN): server port 9000",
"_ws.expert.severity": "2097152",
"_ws.expert.group": "33554432"
}
},
"tcp.flags.fin": "0",
"tcp.flags.str": "··········S·"
},
"tcp.window_size_value": "64240",
"tcp.window_size": "64240",
"tcp.checksum": "0x3414",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"tcp.options": "02:04:05:b4:01:03:03:08:01:01:04:02",
"tcp.options_tree": {
"tcp.options.mss": "02:04:05:b4",
"tcp.options.mss_tree": {
"tcp.option_kind": "2",
"tcp.option_len": "4",
"tcp.options.mss_val": "1460"
},
"tcp.options.nop": "01",
"tcp.options.nop_tree": {
"tcp.option_kind": "1"
},
"tcp.options.wscale": "03:03:08",
"tcp.options.wscale_tree": {
"tcp.option_kind": "3",
"tcp.option_len": "3",
"tcp.options.wscale.shift": "8",
"tcp.options.wscale.multiplier": "256"
},
"tcp.options.nop": "01",
"tcp.options.nop_tree": {
"tcp.option_kind": "1"
},
"tcp.options.nop": "01",
"tcp.options.nop_tree": {
"tcp.option_kind": "1"
},
"tcp.options.sack_perm": "04:02",
"tcp.options.sack_perm_tree": {
"tcp.option_kind": "4",
"tcp.option_len": "2"
}
},
"Timestamps": {
"tcp.time_relative": "0.000000000",
"tcp.time_delta": "0.000000000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:35.486761000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366295.486761000",
"frame.time_delta": "0.000649000",
"frame.time_delta_displayed": "0.000649000",
"frame.time_relative": "34.220784000",
"frame.number": "2789",
"frame.len": "66",
"frame.cap_len": "66",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP SYN/FIN",
"frame.coloring_rule.string": "tcp.flags & 0x02 || tcp.flags.fin == 1"
},
"eth": {
"eth.dst": "1c:69:7a:5b:98:8a",
"eth.dst_tree": {
"eth.dst_resolved": "EliteGro_5b:98:8a",
"eth.dst.oui": "1862010",
"eth.dst.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "6c:4b:90:44:ef:cf",
"eth.src_tree": {
"eth.src_resolved": "LiteON_44:ef:cf",
"eth.src.oui": "7097232",
"eth.src.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "52",
"ip.id": "0x7439",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "128",
"ip.proto": "6",
"ip.checksum": "0x8d1a",
"ip.checksum.status": "2",
"ip.src": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.src_host": "10.95.114.129",
"ip.host": "10.95.114.129",
"ip.dst": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.dst_host": "10.95.114.49",
"ip.host": "10.95.114.49"
},
"tcp": {
"tcp.srcport": "9000",
"tcp.dstport": "60958",
"tcp.port": "9000",
"tcp.port": "60958",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "0",
"tcp.seq_raw": "2470467773",
"tcp.nxtseq": "1",
"tcp.ack": "1",
"tcp.ack_raw": "1096348668",
"tcp.hdr_len": "32",
"tcp.flags": "0x0012",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "1",
"tcp.flags.syn_tree": {
"_ws.expert": {
"tcp.connection.synack": "",
"_ws.expert.message": "Connection establish acknowledge (SYN+ACK): server port 9000",
"_ws.expert.severity": "2097152",
"_ws.expert.group": "33554432"
}
},
"tcp.flags.fin": "0",
"tcp.flags.str": "·······A··S·"
},
"tcp.window_size_value": "65535",
"tcp.window_size": "65535",
"tcp.checksum": "0x42f6",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"tcp.options": "02:04:05:b4:01:03:03:08:01:01:04:02",
"tcp.options_tree": {
"tcp.options.mss": "02:04:05:b4",
"tcp.options.mss_tree": {
"tcp.option_kind": "2",
"tcp.option_len": "4",
"tcp.options.mss_val": "1460"
},
"tcp.options.nop": "01",
"tcp.options.nop_tree": {
"tcp.option_kind": "1"
},
"tcp.options.wscale": "03:03:08",
"tcp.options.wscale_tree": {
"tcp.option_kind": "3",
"tcp.option_len": "3",
"tcp.options.wscale.shift": "8",
"tcp.options.wscale.multiplier": "256"
},
"tcp.options.nop": "01",
"tcp.options.nop_tree": {
"tcp.option_kind": "1"
},
"tcp.options.nop": "01",
"tcp.options.nop_tree": {
"tcp.option_kind": "1"
},
"tcp.options.sack_perm": "04:02",
"tcp.options.sack_perm_tree": {
"tcp.option_kind": "4",
"tcp.option_len": "2"
}
},
"Timestamps": {
"tcp.time_relative": "0.000649000",
"tcp.time_delta": "0.000649000"
},
"tcp.analysis": {
"tcp.analysis.acks_frame": "2788",
"tcp.analysis.ack_rtt": "0.000649000",
"tcp.analysis.initial_rtt": "0.000698000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:35.486810000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366295.486810000",
"frame.time_delta": "0.000049000",
"frame.time_delta_displayed": "0.000049000",
"frame.time_relative": "34.220833000",
"frame.number": "2790",
"frame.len": "54",
"frame.cap_len": "54",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP",
"frame.coloring_rule.string": "tcp"
},
"eth": {
"eth.dst": "6c:4b:90:44:ef:cf",
"eth.dst_tree": {
"eth.dst_resolved": "LiteON_44:ef:cf",
"eth.dst.oui": "7097232",
"eth.dst.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "1c:69:7a:5b:98:8a",
"eth.src_tree": {
"eth.src_resolved": "EliteGro_5b:98:8a",
"eth.src.oui": "1862010",
"eth.src.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "40",
"ip.id": "0x2b7a",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "64",
"ip.proto": "6",
"ip.checksum": "0x15e6",
"ip.checksum.status": "2",
"ip.src": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.src_host": "10.95.114.49",
"ip.host": "10.95.114.49",
"ip.dst": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.dst_host": "10.95.114.129",
"ip.host": "10.95.114.129"
},
"tcp": {
"tcp.srcport": "60958",
"tcp.dstport": "9000",
"tcp.port": "60958",
"tcp.port": "9000",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "1",
"tcp.seq_raw": "1096348668",
"tcp.nxtseq": "1",
"tcp.ack": "1",
"tcp.ack_raw": "2470467774",
"tcp.hdr_len": "20",
"tcp.flags": "0x0010",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "0",
"tcp.flags.str": "·······A····"
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0x63b5",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "0.000698000",
"tcp.time_delta": "0.000049000"
},
"tcp.analysis": {
"tcp.analysis.acks_frame": "2789",
"tcp.analysis.ack_rtt": "0.000049000",
"tcp.analysis.initial_rtt": "0.000698000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:55.218112000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366315.218112000",
"frame.time_delta": "0.000084000",
"frame.time_delta_displayed": "19.731302000",
"frame.time_relative": "53.952135000",
"frame.number": "4137",
"frame.len": "62",
"frame.cap_len": "62",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp:data",
"frame.coloring_rule.name": "TCP",
"frame.coloring_rule.string": "tcp"
},
"eth": {
"eth.dst": "6c:4b:90:44:ef:cf",
"eth.dst_tree": {
"eth.dst_resolved": "LiteON_44:ef:cf",
"eth.dst.oui": "7097232",
"eth.dst.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "1c:69:7a:5b:98:8a",
"eth.src_tree": {
"eth.src_resolved": "EliteGro_5b:98:8a",
"eth.src.oui": "1862010",
"eth.src.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "48",
"ip.id": "0x2b7b",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "64",
"ip.proto": "6",
"ip.checksum": "0x15dd",
"ip.checksum.status": "2",
"ip.src": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.src_host": "10.95.114.49",
"ip.host": "10.95.114.49",
"ip.dst": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.dst_host": "10.95.114.129",
"ip.host": "10.95.114.129"
},
"tcp": {
"tcp.srcport": "60958",
"tcp.dstport": "9000",
"tcp.port": "60958",
"tcp.port": "9000",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "8",
"tcp.seq": "1",
"tcp.seq_raw": "1096348668",
"tcp.nxtseq": "9",
"tcp.ack": "1",
"tcp.ack_raw": "2470467774",
"tcp.hdr_len": "20",
"tcp.flags": "0x0018",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "1",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "0",
"tcp.flags.str": "·······AP···"
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0xfc2e",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "19.732000000",
"tcp.time_delta": "19.731302000"
},
"tcp.analysis": {
"tcp.analysis.initial_rtt": "0.000698000",
"tcp.analysis.bytes_in_flight": "8",
"tcp.analysis.push_bytes_sent": "8"
},
"tcp.payload": "48:65:6c:6c:6f:54:43:50"
},
"data": {
"data.data": "48:65:6c:6c:6f:54:43:50",
"data.len": "8"
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:55.259587000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366315.259587000",
"frame.time_delta": "0.041475000",
"frame.time_delta_displayed": "0.041475000",
"frame.time_relative": "53.993610000",
"frame.number": "4138",
"frame.len": "60",
"frame.cap_len": "60",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP",
"frame.coloring_rule.string": "tcp"
},
"eth": {
"eth.dst": "1c:69:7a:5b:98:8a",
"eth.dst_tree": {
"eth.dst_resolved": "EliteGro_5b:98:8a",
"eth.dst.oui": "1862010",
"eth.dst.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "6c:4b:90:44:ef:cf",
"eth.src_tree": {
"eth.src_resolved": "LiteON_44:ef:cf",
"eth.src.oui": "7097232",
"eth.src.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800",
"eth.padding": "00:00:00:00:00:00"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "40",
"ip.id": "0x743a",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "128",
"ip.proto": "6",
"ip.checksum": "0x8d25",
"ip.checksum.status": "2",
"ip.src": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.src_host": "10.95.114.129",
"ip.host": "10.95.114.129",
"ip.dst": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.dst_host": "10.95.114.49",
"ip.host": "10.95.114.49"
},
"tcp": {
"tcp.srcport": "9000",
"tcp.dstport": "60958",
"tcp.port": "9000",
"tcp.port": "60958",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "1",
"tcp.seq_raw": "2470467774",
"tcp.nxtseq": "1",
"tcp.ack": "9",
"tcp.ack_raw": "1096348676",
"tcp.hdr_len": "20",
"tcp.flags": "0x0010",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "0",
"tcp.flags.str": "·······A····"
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0x63ad",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "19.773475000",
"tcp.time_delta": "0.041475000"
},
"tcp.analysis": {
"tcp.analysis.acks_frame": "4137",
"tcp.analysis.ack_rtt": "0.041475000",
"tcp.analysis.initial_rtt": "0.000698000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:59.936046000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366319.936046000",
"frame.time_delta": "0.006776000",
"frame.time_delta_displayed": "4.676459000",
"frame.time_relative": "58.670069000",
"frame.number": "4654",
"frame.len": "54",
"frame.cap_len": "54",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP SYN/FIN",
"frame.coloring_rule.string": "tcp.flags & 0x02 || tcp.flags.fin == 1"
},
"eth": {
"eth.dst": "6c:4b:90:44:ef:cf",
"eth.dst_tree": {
"eth.dst_resolved": "LiteON_44:ef:cf",
"eth.dst.oui": "7097232",
"eth.dst.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "1c:69:7a:5b:98:8a",
"eth.src_tree": {
"eth.src_resolved": "EliteGro_5b:98:8a",
"eth.src.oui": "1862010",
"eth.src.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "40",
"ip.id": "0x2b7c",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "64",
"ip.proto": "6",
"ip.checksum": "0x15e4",
"ip.checksum.status": "2",
"ip.src": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.src_host": "10.95.114.49",
"ip.host": "10.95.114.49",
"ip.dst": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.dst_host": "10.95.114.129",
"ip.host": "10.95.114.129"
},
"tcp": {
"tcp.srcport": "60958",
"tcp.dstport": "9000",
"tcp.port": "60958",
"tcp.port": "9000",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "9",
"tcp.seq_raw": "1096348676",
"tcp.nxtseq": "10",
"tcp.ack": "1",
"tcp.ack_raw": "2470467774",
"tcp.hdr_len": "20",
"tcp.flags": "0x0011",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "1",
"tcp.flags.fin_tree": {
"_ws.expert": {
"tcp.connection.fin": "",
"_ws.expert.message": "Connection finish (FIN)",
"_ws.expert.severity": "2097152",
"_ws.expert.group": "33554432"
}
},
"tcp.flags.str": "·······A···F",
"tcp.flags.str_tree": {
"_ws.expert": {
"tcp.connection.fin_active": "",
"_ws.expert.message": "This frame initiates the connection closing",
"_ws.expert.severity": "4194304",
"_ws.expert.group": "33554432"
}
}
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0x63ac",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "24.449934000",
"tcp.time_delta": "4.676459000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:59.936345000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366319.936345000",
"frame.time_delta": "0.000299000",
"frame.time_delta_displayed": "0.000299000",
"frame.time_relative": "58.670368000",
"frame.number": "4655",
"frame.len": "60",
"frame.cap_len": "60",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP",
"frame.coloring_rule.string": "tcp"
},
"eth": {
"eth.dst": "1c:69:7a:5b:98:8a",
"eth.dst_tree": {
"eth.dst_resolved": "EliteGro_5b:98:8a",
"eth.dst.oui": "1862010",
"eth.dst.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "6c:4b:90:44:ef:cf",
"eth.src_tree": {
"eth.src_resolved": "LiteON_44:ef:cf",
"eth.src.oui": "7097232",
"eth.src.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800",
"eth.padding": "00:00:00:00:00:00"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "40",
"ip.id": "0x743b",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "128",
"ip.proto": "6",
"ip.checksum": "0x8d24",
"ip.checksum.status": "2",
"ip.src": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.src_host": "10.95.114.129",
"ip.host": "10.95.114.129",
"ip.dst": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.dst_host": "10.95.114.49",
"ip.host": "10.95.114.49"
},
"tcp": {
"tcp.srcport": "9000",
"tcp.dstport": "60958",
"tcp.port": "9000",
"tcp.port": "60958",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "1",
"tcp.seq_raw": "2470467774",
"tcp.nxtseq": "1",
"tcp.ack": "10",
"tcp.ack_raw": "1096348677",
"tcp.hdr_len": "20",
"tcp.flags": "0x0010",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "0",
"tcp.flags.str": "·······A····"
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0x63ac",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "24.450233000",
"tcp.time_delta": "0.000299000"
},
"tcp.analysis": {
"tcp.analysis.acks_frame": "4654",
"tcp.analysis.ack_rtt": "0.000299000",
"tcp.analysis.initial_rtt": "0.000698000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:59.936693000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366319.936693000",
"frame.time_delta": "0.000348000",
"frame.time_delta_displayed": "0.000348000",
"frame.time_relative": "58.670716000",
"frame.number": "4656",
"frame.len": "60",
"frame.cap_len": "60",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP SYN/FIN",
"frame.coloring_rule.string": "tcp.flags & 0x02 || tcp.flags.fin == 1"
},
"eth": {
"eth.dst": "1c:69:7a:5b:98:8a",
"eth.dst_tree": {
"eth.dst_resolved": "EliteGro_5b:98:8a",
"eth.dst.oui": "1862010",
"eth.dst.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "6c:4b:90:44:ef:cf",
"eth.src_tree": {
"eth.src_resolved": "LiteON_44:ef:cf",
"eth.src.oui": "7097232",
"eth.src.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800",
"eth.padding": "00:00:00:00:00:00"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "40",
"ip.id": "0x743c",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "128",
"ip.proto": "6",
"ip.checksum": "0x8d23",
"ip.checksum.status": "2",
"ip.src": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.src_host": "10.95.114.129",
"ip.host": "10.95.114.129",
"ip.dst": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.dst_host": "10.95.114.49",
"ip.host": "10.95.114.49"
},
"tcp": {
"tcp.srcport": "9000",
"tcp.dstport": "60958",
"tcp.port": "9000",
"tcp.port": "60958",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "1",
"tcp.seq_raw": "2470467774",
"tcp.nxtseq": "2",
"tcp.ack": "10",
"tcp.ack_raw": "1096348677",
"tcp.hdr_len": "20",
"tcp.flags": "0x0011",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "1",
"tcp.flags.fin_tree": {
"_ws.expert": {
"tcp.connection.fin": "",
"_ws.expert.message": "Connection finish (FIN)",
"_ws.expert.severity": "2097152",
"_ws.expert.group": "33554432"
}
},
"tcp.flags.str": "·······A···F",
"tcp.flags.str_tree": {
"_ws.expert": {
"tcp.connection.fin_passive": "",
"_ws.expert.message": "This frame undergoes the connection closing",
"_ws.expert.severity": "4194304",
"_ws.expert.group": "33554432"
}
}
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0x63ab",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "24.450581000",
"tcp.time_delta": "0.000348000"
}
}
}
}
},
{
"_index": "packets-2021-12-13",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.interface_id": "0",
"frame.interface_id_tree": {
"frame.interface_name": "\\Device\\NPF_{A286F08E-8003-48D6-A82A-7BE6C6F0DEFF}",
"frame.interface_description": "以太网"
},
"frame.encap_type": "1",
"frame.time": "Dec 13, 2021 11:31:59.936710000 中国标准时间",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1639366319.936710000",
"frame.time_delta": "0.000017000",
"frame.time_delta_displayed": "0.000017000",
"frame.time_relative": "58.670733000",
"frame.number": "4657",
"frame.len": "54",
"frame.cap_len": "54",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ip:tcp",
"frame.coloring_rule.name": "TCP",
"frame.coloring_rule.string": "tcp"
},
"eth": {
"eth.dst": "6c:4b:90:44:ef:cf",
"eth.dst_tree": {
"eth.dst_resolved": "LiteON_44:ef:cf",
"eth.dst.oui": "7097232",
"eth.dst.oui_resolved": "LiteON",
"eth.addr": "6c:4b:90:44:ef:cf",
"eth.addr_resolved": "LiteON_44:ef:cf",
"eth.addr.oui": "7097232",
"eth.addr.oui_resolved": "LiteON",
"eth.dst.lg": "0",
"eth.lg": "0",
"eth.dst.ig": "0",
"eth.ig": "0"
},
"eth.src": "1c:69:7a:5b:98:8a",
"eth.src_tree": {
"eth.src_resolved": "EliteGro_5b:98:8a",
"eth.src.oui": "1862010",
"eth.src.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.addr": "1c:69:7a:5b:98:8a",
"eth.addr_resolved": "EliteGro_5b:98:8a",
"eth.addr.oui": "1862010",
"eth.addr.oui_resolved": "EliteGroup Computer Systems Co., LTD",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x0800"
},
"ip": {
"ip.version": "4",
"ip.hdr_len": "20",
"ip.dsfield": "0x00",
"ip.dsfield_tree": {
"ip.dsfield.dscp": "0",
"ip.dsfield.ecn": "0"
},
"ip.len": "40",
"ip.id": "0x2b7d",
"ip.flags": "0x40",
"ip.flags_tree": {
"ip.flags.rb": "0",
"ip.flags.df": "1",
"ip.flags.mf": "0"
},
"ip.frag_offset": "0",
"ip.ttl": "64",
"ip.proto": "6",
"ip.checksum": "0x15e3",
"ip.checksum.status": "2",
"ip.src": "10.95.114.49",
"ip.addr": "10.95.114.49",
"ip.src_host": "10.95.114.49",
"ip.host": "10.95.114.49",
"ip.dst": "10.95.114.129",
"ip.addr": "10.95.114.129",
"ip.dst_host": "10.95.114.129",
"ip.host": "10.95.114.129"
},
"tcp": {
"tcp.srcport": "60958",
"tcp.dstport": "9000",
"tcp.port": "60958",
"tcp.port": "9000",
"tcp.stream": "41",
"tcp.completeness": "31",
"tcp.len": "0",
"tcp.seq": "10",
"tcp.seq_raw": "1096348677",
"tcp.nxtseq": "10",
"tcp.ack": "2",
"tcp.ack_raw": "2470467775",
"tcp.hdr_len": "20",
"tcp.flags": "0x0010",
"tcp.flags_tree": {
"tcp.flags.res": "0",
"tcp.flags.ns": "0",
"tcp.flags.cwr": "0",
"tcp.flags.ecn": "0",
"tcp.flags.urg": "0",
"tcp.flags.ack": "1",
"tcp.flags.push": "0",
"tcp.flags.reset": "0",
"tcp.flags.syn": "0",
"tcp.flags.fin": "0",
"tcp.flags.str": "·······A····"
},
"tcp.window_size_value": "8212",
"tcp.window_size": "2102272",
"tcp.window_size_scalefactor": "256",
"tcp.checksum": "0x63ab",
"tcp.checksum.status": "2",
"tcp.urgent_pointer": "0",
"Timestamps": {
"tcp.time_relative": "24.450598000",
"tcp.time_delta": "0.000017000"
},
"tcp.analysis": {
"tcp.analysis.acks_frame": "4656",
"tcp.analysis.ack_rtt": "0.000017000",
"tcp.analysis.initial_rtt": "0.000698000"
}
}
}
}
}
]

13.2.5 Timeout of Connection Establishment

13.2.6 Connection and Translators

13.3 TCP Options

KindLengthNameReferenceDescription and Purpose
01EOL[RFC0793]End of Option List
11NOP[RFC0793]No Operation(used for padding)
24MSS[RFC0793]Maximum Segment Size
33WSOPT[RFC1323]Window scaling Factor(left-shift amount on window)
42SACK-Permitted[RFC2018]Sender supports SACK options
5Var.SACK[RFC2018]SACK block(out-of-order data received)
810TSOPT[RFC1323]Timestamps option
284UTO[RFC1323]User Timeout(abort after idle time)
29Var.TCP-AO[RFC5925]Authentication option(using various algorithms)
253Var.Experimental[RFC4727]Reserver for experimental use
254Var.Experimental[RFC4727]Reserver for experimental use

Table 13-1 The TCP option values. Up to 40 bytes are available to hold options.

  • The length is total length including kind and length.
  • EOL Ending the Option. There are not process the option anymore.
  • NOP Padding some option to multiple of 4 bytes(32 bits) because TCP header length field is using 4 bytes as units.

13.3.1 Maximum Segment Size (MSS) Option

MSS Indicating the end largest receivable data.(Only TCP data don’t include TCP header)

  • Default value: 536

    Any host are require to process IPv4 datagram at least as large as 576.

    576 minus minimum-size IP and TCP header: 576-20-20=536

  • Typical Value with IPv4: 1460

    1500 bytes (The typical MTU size for Ethernet and path MTU for the Internet) minus IPv4 datagram which unusually is 40bytes: 1500-40=1460

  • Typical Value with IPv6: 1440

    20 bytes less because of the larger IPv6 header

  • Giant Value with IPv6 jumbograms: 65536

    PMTU

13.3.2 Selective Acknowledgement(SACK) Options

Holes: The gap of the data queue in receiver.

Sender has learned about the holes:

  1. Retransmission the data to fill the hole
  2. SACK used to make receiver acknowledge the hole

Requirement: The receiver is SACK-capable by SACK-Permitted option to determine.

SACK block: a pair of 32-bit.(Start to end, so need 8 bytes)

SACK option: if have n SACK block, its length is 8n+2(2 bytes are used to hold the kind and length of the SACK option)

13.3.3 Window Scale (WSCALE or WSOPT) Option

13.3.4 Timestamps Option and Protection against Wrapped Sequence Numbers

Timestamp option(TSOPT or TSopt): two 4-bytes timestamp values in every segment.

  • Monotonically increasing.

Approach:

  • Enable the sender to calculate the estimate of the connection’s RTT for each ACK received.
  • PAWS: Protect against wrapped sequence number
TimeBytes SentSend Seq. No.Send TimestampReceive
A0G:1G0G:1G1OK
B1G:2G1G:2G2OK, but one segment lost and retransmitted
C2G:3G2G:3G3OK
D3G:4G3G:4G4OK
E4G:5G0G:1G5OK
F5G:6G1G:2G6OK, but retransmitted segment reappears

Table 13-2 The TCP Timestamps option can disambiguate segments with the same sequence numbers by providing an extra 32 bits of effective sequence number space.

Generally speaking, the segment will be discarded if TTL expired. One problem may be caused in the relatively higher-speed network is that one segment will delay to arrive the end as one new packet be retransmitted.

In time B, one segment lost and retransmitted.

In time F, the lost segment come back.

PAWS algorithm: By verified the delayed segment’s timestamp(2) which is less than most recent timestamp(5, or 6), the reappeared segment will be discarded.

13.3.5 User Timeout (UTO) Option

User Timeout Option the maximum time that sender willing to wait for an ACK of outstanding data before concluding that the remote host has failed.

  • UTO are advisory.

13.3.6 Authentication Option(TCP-AO)