Quá trình thiết lập kết nối

Một phần của tài liệu tiểu luận môn học truyền thông không dây đề tài multipath TCP (Trang 25 - 28)

Để hiểu rõ giao thức MP TCP khởi tạo một kết nối như thế nào ta sẽ tìm hiểu hoạt động tổng quát của MP TCP qua kịch bản đơn giản sau :

Hình 3-1: Ví dụ về một kịch bản sử dụng MP TCP.

Đối với các ứng dụng không có khả năng nhận biết MP TCP, ứng dụng đó sẽ không phân biệt được giao thức MP TCP với giao thức TCP thông thường. Tất cả hoạt

động của MP TCP được thực hiện nhờ việc triển khai cấu trúc MP TCP ở lớp 4 và một ứng dụng sẽ bắt đầu với việc mở một socket TCP theo cách thông thường.

Một kết nối MP TCP của giao thức MP TCP được bắt đầu như một phiên TCP thông thường. Nó được minh họa ở hình trên giữa hai địa chỉ A1 và B1, tương ứng trên hai host A và host B.

Nếu có thêm một (hay nhiều) đường dẫn, thì sẽ có thêm một (hay nhiều) phiên TCP được tạo nên trên các đường dẫn mới này, những phiên TCP mới này sẽ được kết hợp với phiên TCP đang tồn tại. Tất cả những phiên TCP này thuộc về cùng một kết nối của ứng dụng ban đầu giữa hai đầu cuối. Việc tạo nên các phiên TCP mới cũng được minh họa ở hình trên giữa địa chỉ hai địa chỉ: A2 trên máy A và B1 trên máy B.

MP TCP nhận dạng các đường dẫn thông qua địa chỉ IP tại hai đầu cuối. Sự kết hợp các địa chỉ IP giữa 2 đầu cuối tạo nên các đường dẫn mới. Ví dụ, các đường dẫn mới có thể được tạo nên từ hình trên là giữa A1 và B2, giữa A2 và B2. Cũng trong hình trên, phiên TCP mới được khởi tạo từ A2 (tuy nhiên nó cũng có thể được khởi tạo từ B1).

Việc tìm và thiết lập những phiên TCP (hay còn được gọi là luồng con) mới được thực hiện thông qua lớp con quản lý đường dẫn (Path Managerment) trong lớp MP TCP.

Giao thức MP TCP thêm một chuỗi nhận dạng gói tin cấp kết nối để lắp ghép lại dữ liệu mà nó nhận được từ nhiều luồng. Kết nối được kết thúc nhờ bản tin DATA FIN, hay là bằng nhiều gói tin FIN độc lập trên các luồng con.

Việc khởi tạo phiên kết nối bắt đầu bởi một bản tin SYN, các bản tin SYN và ACK được trao đổi trên cùng một đường dẫn. Trong hai loại gói tin này sẽ thêm vào bản tin “Multipath Capable” (hình 3-2). Bản tin “Multipath Capable” bao gồm các trường: loại bản tin (8 bit), chiều dài bản tin (8 bit), 32 bit Token để xác định kết nối (mỗi kết nối có một Token duy nhất), Initial Data Sequence Number (48 bit) để khởi tạo số thứ tự dữ liệu ban đầu.

Ý nghĩa của bản tin “Multipath Capable” này là cho biết một đầu cuối có khả năng hoạt động Multipath TCP hay không cũng như là cung cấp Token nhận dạng kết nối trong trường hợp đầu cuối muốn thêm những luồng con mới vào kết nối này.

Token này được tạo ra bởi bên gửi, và nó xác định duy nhất cho bên gửi. Token phải an toàn để tránh bị tấn công, và nên được tạo ra bằng cách lấy ngẫu nhiên.

Bản tin “Multipath Capable” được đưa ra trong gói tin SYN. Nó chỉ được sử dụng trong phiên TCP đầu tiên của một kết nối, để xác định kết nối đó có khả năng truyền cùng lúc trên nhiều đường dẫn hay không. Tất cả các phiên sau đó sẽ sử dụng

Kind=OPT_MPC Length=7 Sender Token

Sender Token ( gồm 4 octet ) Initial Data Sequence Number Initial Data Sequence Number ( gồm 6 octet )

Host A Host B

SYN + TokA + DSN

SYN/ACK + TokB + DSN

Hình 3-2: Bản tin Multipath Capable.

Nếu một gói tin SYN bao gồm một bản tin “Multipath Capable” nhưng bản tin đáp trả lại SYN/ACK không có thì bên gứi sẽ giả thiết bên nhận không có khả năng nhận đa đường và do đó phiên MP TCP sẽ thực hiện như một phiên TCP bình thường. Nếu gói tin SYN không bao gồm bản tin “Multipath Capable”, thì gói tin SYN/ACK gửi lại cũng sẽ không phải bao gồm bản tin “Multipath Capable”.

Nếu gói tin “Multipath Capable” SYN này không được xác nhận, bên gửi sẽ dựa vào những chính sách cục bộ để quyết định cách truyền gói tin. Và cuối cùng thì bên gửi cũng sẽ gửi như một phiên TCP trên một đường dẫn thông thường (mà không có bản tin “Multipath Capable”). Trong trường hợp các gói tin không theo thứ tự, ví dụ nếu bên gửi nhận được một gói tin SYN/ACK chứa bản tin “Multipath Capable”, sau khi nó gửi một bản tin SYN thông thường, thì khi đó nó sẽ dựa vào bộ khởi tạo để quyết định cách thức thực hiện. Cụ thể nó có thể đáp lại những kết nối mới sử dụng Token đã có trước đó, hoặc có thể đơn giản là loại bỏ bất cứ bản tin Multipath nào trong luồng.

Khi một bên mở chủ động kết nối bằng cách gửi gói tin SYN mà không bao gồm bản tin “Multipath Capable”, thì kết nối này hoạt động như TCP thông thường, ngay cả khi sau đó nó nhận được SYN/ACK có chứa bản tin “Multipath Capable”.

Trạng thái cuối cùng được suy ra từ bản tin DATA_ACK trong gói tin thứ 3 của quá trình bắt tay 3 bước TCP.

Host A Host B SYN + TokB + Address ID

SYN/ACK + TokA + Address ID

Hình 3-3: Quá trình khởi tạo phiên đầu tiên của kết nối trong giao thức MP TCP.

Nếu một đầu cuối có nhiều địa chỉ IP (biết được thông qua DNS lookup), nó sẽ thử một địa chỉ trong số những địa chỉ đó, trước khi quay trở lại là phiên TCP thông thường. Ngoài ra, một trường “Initial Data Sequence Number” được thêm vào để cung cấp một số thứ từ cho dữ liệu ban đầu.

Một phần của tài liệu tiểu luận môn học truyền thông không dây đề tài multipath TCP (Trang 25 - 28)

Tải bản đầy đủ (PDF)

(39 trang)