PDA

View Full Version : Chu kỳ hoạt động của một session TCP


netcis
12-29-2007, 04:03 PM
Trước khi khởi tạo một session thì client phải có 2 mẫu thông tin xác định trước. Client sẽ chọn một số cổng TCP để tượng trưng cho một session. Ví dụ với dịch vụ Web thì client sẽ chọn cổng đích là: 80, [Only Registered And Activated Users Can See Links] là 443 hay FTP là cổng 20,21,...
-Tại client có source port phải là các cổng > 1024, vì các cổng < 1024 thường là các cổng well-known, phổ biến ấn định cho các dịch vụ thông dụng.
-Với mỗi packet TCP sẽ có trường tuần từ sequence để đích không nhầm lẫn với các packet đến cùng một thời điểm. Trường này có 32bit.
-Khi khởi tạo một session TCP nó sẽ xác lập cờ (flag) SYN trên field của TCP datagram. Cờ SYN này có chức năng đồng bộ cũng như khởi tạo một session TCP. Tùy theo các loại kết nối mà trường của SYN là 8 bit hoặc nhiều hơn.
-Khi đích Destination nhận được packet TCP có flag SYN này nó(des) sẽ reply lại nguồn ban đầu là nó đã nhận được packet thiết lập session SYN rồi. Để đánh dấu đây là packet trả lời gói SYN của client trong trường TCP của nó cờ ACK(cả cờ SYN) được bật, để đánh dấu.
-Sau khi phía client nhận được gói ACK của destination thì nó trả lời lại Des là nó đã nhận đươc gói ACK của des.
-Sau khi gói này cả hai phía chuyển vảo trạng thái được thiết lập (established) nhằm chỉ định rằng việc chuyển dữ liệu giữa người dùng và ứng dụng có thể bắt đầu.
+ Quá trình này gọi là quá trình bắt tay 3 bước.
-Truyền dữ liệu.
-Sau quá trình bắt tay 3 bước thì dữ liệu được truyền giữa 2 đầu.
-Vì theo giao thức TCP nên cờ ACK luôn được xác lập và 2 trạm cuối sử dụng việc đánh số trình tự và báo nhận để theo dõi sự thành công của đoạn dữ liệu.
-Kết thúc session.
Việc kết thúc một session có thể bắt đầu từ một trong 2 phía(không giống như việc khởi tạo một session chỉ bắt đầu từ client). Một khi 2 phía quyết định không có dữ liệu để truyền nữa nó sẽ xác lập cờ FIN trong tiêu đề TCP để bảo đảm phía kia biết nó sẳn sàng kết thúc nối kết.
-Nếu trạm nào nhận gói FIN này nó sẽ xác nhận lại gói FIN này bằng gói ACK,FIN(khi nó sẳn sàng kết thúc một kết nối). Sau đó cả 2 sẽ di chuyển vào trạng thái TIME WAIT đến trạng thái CLOSED và kết nối được đóng lại.
-Trong trường hợp khi client nhận gói FIN Nhưng nó vẫn còn dữ liệu để gửi nó sẽ báo nhận ACK, không xác lập cờ FIN. Điều này cho phép nó tiếp tục gửi dữ liệu cho xong, sau đó nó tiếp tục gửi gói FIN để thông báo nó đã sẵn sàng kết thúc một session. Trong thời gian này cả 2 trạm
phát và nhận chuyển vào trạng thái FIN WAIT 2 và CLOSE WAIT.
Trong một số ứng dụng chẳng hạn như dịch vụ WEB thường sử dụng kiểu trạng thái nữa đóng do đó cho phép kết nối được đưa trở lại vào sử dụng khi cần thiết mà không cần khởi tạo lại toàn bộ kết nối
.pass:[Only Registered And Activated Users Can See Links]
Chu kỳ hoạt động của một session TCP ([Only Registered And Activated Users Can See Links])