Khi tôi làm netstat -a
trên máy Windows của mình, tôi nhận được một danh sách các cổng với một trong bốn trạng thái:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
Làm gì CLOSE_WAIT
và TIME_WAIT
có nghĩa / chỉ ra?
Khi tôi làm netstat -a
trên máy Windows của mình, tôi nhận được một danh sách các cổng với một trong bốn trạng thái:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
Làm gì CLOSE_WAIT
và TIME_WAIT
có nghĩa / chỉ ra?
Câu trả lời:
Do cách thức hoạt động của TCP / IP, các kết nối không thể bị đóng ngay lập tức. Các gói có thể đến ngoài trật tự hoặc được truyền lại sau khi kết nối đã được đóng. CLOSE_WAIT chỉ ra rằng điểm cuối từ xa (phía bên kia của kết nối) đã đóng kết nối. TIME_WAIT chỉ ra rằng điểm cuối cục bộ (bên này) đã đóng kết nối. Kết nối đang được giữ xung quanh để mọi gói tin bị trễ có thể được khớp với kết nối và được xử lý phù hợp. Các kết nối sẽ bị xóa khi hết thời gian trong vòng bốn phút. Xem http://en.wikipedia.org/wiki/Transmission_Control_Protocol để biết thêm chi tiết.
Về cơ bản các trạng thái "WAIT" có nghĩa là một bên đã đóng kết nối nhưng xác nhận cuối cùng về việc đóng đang chờ xử lý.
Xem ví dụ: sơ đồ trạng thái TCP này để biết chi tiết:
TIME_WAIT thể hiện việc chờ đủ thời gian để chắc chắn rằng TCP từ xa đã nhận được ACK của yêu cầu FIN của nó. Xem en.wikipedia.org/wiki/Transmission_Control_Protocol (và cả RFC 793)