I am running two pods in Kubernetes, pod A sends a connection request to pod B, however second pod response with tcp RST. Is there a way to guess from the Wireshark capture to see why reset happened ? Any area where I need to look for this issue if we can not completely conclude from below output also will be fine.
Below is the Wireshark capture of RST pkt. This is captured from inside the client pod (A)
POD A (10.244.0.109)-- service A (10.103.61.120) -----------tcp channel --------- service B (10.111.125.227) -- POD B (10.244.0.133)
Above is the setup diagram.
43781 2023-08-24 07:05:17.182965 0.000032 10.111.125.227 10.244.0.109 TCP 56 64 4560 → 39868 [RST] Seq=1 Win=0 Len=0
Frame 43781: 56 bytes on wire (448 bits), 56 bytes captured (448 bits)
Encapsulation type: Linux cooked-mode capture v1 (25)
Arrival Time: Aug 24, 2023 12:35:17.182965000 India Standard Time
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1692860717.182965000 seconds
[Time delta from previous captured frame: 0.000032000 seconds]
[Time delta from previous displayed frame: 0.000032000 seconds]
[Time since reference or first frame: 1866.143300000 seconds]
Frame Number: 43781
Frame Length: 56 bytes (448 bits)
Capture Length: 56 bytes (448 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: sll:ethertype:ip:tcp]
[Coloring Rule Name: TCP RST]
[Coloring Rule String: tcp.flags.reset eq 1]
Linux cooked capture v1
Packet type: Unicast to us (0)
Link-layer address type: Ethernet (1)
Link-layer address length: 6
Source: ba:72:a7:1d:e4:65 (ba:72:a7:1d:e4:65)
Unused: 0000
Protocol: IPv4 (0x0800)
Internet Protocol Version 4, Src: 10.111.125.227, Dst: 10.244.0.109
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 40
Identification: 0x0000 (0)
010. .... = Flags: 0x2, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 64
Protocol: TCP (6)
Header Checksum: 0xa71d [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.111.125.227
Destination Address: 10.244.0.109
Transmission Control Protocol, Src Port: 4560, Dst Port: 39868, Seq: 1, Len: 0
Source Port: 4560
Destination Port: 39868
[Stream index: 379]
[Conversation completeness: Incomplete (40)]
[TCP Segment Len: 0]
Sequence Number: 1 (relative sequence number)
Sequence Number (raw): 937229753
[Next Sequence Number: 1 (relative sequence number)]
Acknowledgment Number: 0
Acknowledgment number (raw): 0
0101 .... = Header Length: 20 bytes (5)
Flags: 0x004 (RST)
000. .... .... = Reserved: Not set
...0 .... .... = Accurate ECN: Not set
.... 0... .... = Congestion Window Reduced: Not set
.... .0.. .... = ECN-Echo: Not set
.... ..0. .... = Urgent: Not set
.... ...0 .... = Acknowledgment: Not set
.... .... 0... = Push: Not set
.... .... .1.. = Reset: Set
[Expert Info (Warning/Sequence): Connection reset (RST)]
[Connection reset (RST)]
[Severity level: Warning]
[Group: Sequence]
.... .... ..0. = Syn: Not set
.... .... ...0 = Fin: Not set
[TCP Flags: ·········R··]
Window: 0
[Calculated window size: 0]
[Window size scaling factor: -1 (unknown)]
Checksum: 0x390b [unverified]
[Checksum Status: Unverified]
Urgent Pointer: 0
[Timestamps]
[Time since first frame in this TCP stream: 0.000032000 seconds]
[Time since previous frame in this TCP stream: 0.000032000 seconds]