View Full Version : cần hỏi về đóng và mở kết nối
Em muốn biết quá trình và các trạng thái của đóng mở kết nối three way handshake xin cám ơn các anh chị trước nha
danguyennhi
07-06-2004, 11:45 PM
Hi
Xem hình vẽ dưới đây cho quá trình bắt tay 3 lần khi một PC telnet vào một server.
http://www.vnpro.org/forum/download.php?id=716
vậy thì nếu như trên cùng một kết nối mà cả hai cùng đóng hay mở cùng đồng thời có sao không?
và thời gian để sử lý khi đóng để phân biệt kết nối cũ và mới không có ,
trạng thái trước khi đóng ở thì cả hai máy là như thế nào
cám ơn chị đa trả lời dùm em
bạn ơi hình như bạn thiếu cái receive của ACK bạn làm ơn coi lại nha đây là bắt tay ba chiều mà(đóng cũng phải bắt tay ba chiều luôn)
danguyennhi
21-06-2004, 11:24 PM
hi there
bạn hiểu thế nào là đóng kết nối? bạn có thể cho định nghĩa?
bạn hiểu thế nào là mở kết nối? bạn có thể cho định nghĩa?
cầu chúc bạn mọi điều tốt lành
Trong TCP
Mở kết nối là khi bạn muốn truyền dữ liệu bạn phải có một sự liên kết giữa ít nhất hai socket với nhau trước khi truyền ,và sự thiết lập giữa các socket này phải có được thỏa thuận trước bằng những thông số như Window size, MTU...
Còn khi đóng kết nối là quá trình một trong hai bên hoăc cả hai đã truyền xong phải trả các dịch vụ đã thỏa thuận trước đó cho hệ thống
việc đóng hay mở các kết nối này đều phải thông qua hàm nguyên thủy để các thực thể có thê liên kết với TCP
Tôi định nghĩa có biết đúng không vì câu hỏi khó mà trả lời quá
có gì liên hệ với nhau để cùng trao đổi thêm
Xin cám ơn bạn đã trả lời
itmansaigon
25-06-2004, 12:01 PM
Xin chào,
Có hai chi tiết trên hình vẽ không hiểu sao các cao thủ lại không thấy có thắc mắc gì hết, đó là
Step 1: Khởi tạo TCP/IP connection thì Flag S phải là 1 mới đúng chứ tại sao lại mang giá trị 0 !?
Step 2: Khi bên receiver trả lời thì FLag A và S phải bật lên 1 mới đúng chứ tại sao trên hình vẽ Flag S vẫn là 0 !?
Không biết hình vẽ này từ sách nào ra vậy?
danguyennhi
25-06-2004, 01:12 PM
Step 1:
Một người dùng trên PC khởi tạo một telnet session đến router. PC sẽ gửi một yêu cầu trong đó bit SYN được set lên 1 (không hiển thị trong hình vẽ).số
Địa chỉ port đích là 23. PC cũng đặt một số sequence number ngẫu nhiên trong segment.
Step 2
Router trả lòi với chỉ số sequence của nó ( 3646349618) và công nhận segment được gửi bởi PC. ACK sẽ là chỉ số sequence number được tạo ra bởi PC.
Trong ví dụ này, ACK là 14810533.
Step 3
PC sẽ gửi một ACL công nhận trả lời của router. Ba bước đầu tiên này được gọi là bắt tay 3 chiều.
Step 4
Dữ liệu có thể được truyền. Kích thước cửa số có thể điều chỉnh theo PC hay theo router.Kích thước cửa sổ có thể là 4 packets (chỉ là ví dụ). Nghĩa là bên gửi sẽ gửi 4 packets, sau đó đợi ACK.
Step 5
Sau khi PC hoàn tất việc truyền dữ liệu, phiên telnet sẽ bị đóng bởi TCP segment vơi cờ FIN được set lên 1.
Step 6
Router công nhận (ACK) yêu cầu trên.
Step 7
Ở giai đoạn này, phiên làm việc vẫn còn mở và router có thể gửi dữ liệu.
Nhưng router không có dữ liệu để gửi và thường gửi segment với cờ FIN= 1
Step 8
PC công nhận yêu cầu đóng kết nối của router. Telnet session bị đóng. Trong bất kỳ giai đoạn nào, phiên làm việc này có thể bị hủy nếu một trong hai host gửi cờ RST=1 trong segment.
Powered by vBulletin® Version 4.1.9 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.