Sau khi kết nối được thiết lập, tất cả các gói cần phải được đặt ACK và khớp với số thứ tự của các gói đã nhận để vận chuyển / bảo mật đáng tin cậy. RST không có ACK sẽ không được chấp nhận. Khi một bên gửi RST, ổ cắm được đóng ngay lập tức và bên nhận cũng đóng ổ cắm ngay sau khi nhận được RST hợp lệ. Nó không cần phải và không thể được thừa nhận.
sau khi bắt tay TCP
A ---> B Syn = x, Ack = y, len = z, Cờ ACK
B ---> A Syn = y, Ack = x + z, len = o, Cờ ACK
A ---> B Syn = x + z, Ack = y + o, len = p, Cờ ACK
B ---> A Syn = y + o, ACK = x + z + p, len = q, RST, Cờ ACK
B đóng ổ cắm sau khi nó gửi gói cuối cùng và A đóng ổ cắm sau khi nhận được.
(không xem xét cửa sổ TCP ở đây hoặc có thể có nhiều gói hơn từ một đầu trước khi xác nhận)
Cờ ACK, số xác nhận và quy trình xác nhận có liên quan nhưng không giống nhau.
Mỗi RFC793
RFC793
Số xác nhận: 32 bit
If the ACK control bit is set this field contains the value of the
next sequence number the sender of the segment is expecting to
receive. Once a connection is established this is always sent.
Đặt lại xử lý
Trong tất cả các trạng thái ngoại trừ SYN-SENT, tất cả các phân đoạn đặt lại (RST) được xác thực bằng cách kiểm tra các trường SEQ của chúng. Thiết lập lại là hợp lệ nếu số thứ tự của nó là trong cửa sổ. Ở trạng thái SYN-SENT (RST nhận được khi phản hồi với SYN ban đầu), RST có thể được chấp nhận nếu trường ACK thừa nhận SYN.
Người nhận RST trước tiên xác nhận nó, sau đó thay đổi trạng thái. Nếu người nhận ở trạng thái LISTEN, nó sẽ bỏ qua nó. Nếu người nhận ở trạng thái TIẾP NHẬN và trước đó đã ở trạng thái LISTEN, thì người nhận sẽ trở về trạng thái LISTEN, nếu không, người nhận sẽ hủy kết nối và chuyển sang trạng thái ĐÓNG. Nếu người nhận ở bất kỳ trạng thái nào khác, nó sẽ hủy kết nối và thông báo cho người dùng và chuyển sang trạng thái ĐÓNG.