Khởi tạo luồng con mớ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 28 - 29)

Thiết bị đầu cuối phải biết về các địa chỉ của nó, và có thể nhận biết được các địa chỉ của đầu cuối khác thông qua việc trao đổi báo hiệu. Nhờ sự hiểu biết này mà một đầu cuối sẽ khởi tạo một luồng con mới trên các cặp địa chỉ mà hiện tại chưa được sử dụng.

Một luồng con mới được bắt đầu với việc trao đổi SYN/ACK TCP thông thường. Giao thức MP TCP sẽ sử dụng bản tin “Join Connection” để xác định luồng con này thuộc về kết nối nào. Token trong bản tin “Join Connection ” này là token của kết nối mà luồng con này muốn kết hợp vào. Token này là duy nhất cho mỗi kết nối và được xác định trong bản tin “Multipath Capable” nhận được khi trao đổi SYN/ACK đầu tiên.

Hình 3-4: Minh họa quá trình bắt đầu một luồng con mới trong giao thức MP TCP.

Nếu trong bản tin “Join Connection” có token phù hợp với kết nối MP TCP đang tồn tại, bên nhận sẽ gửi lại một gói tin TCP SYN/ACK cũng bao gồm bản tin “Join Connection” và token ban đầu. Điều này nhằm hai mục đích: thứ nhất, để đảm bảo cả hai đầu cuối đều đồng ý xác nhập với kết nối đưa ra (có ý nghĩa khi cả hai địa chỉ của hai đầu cuối đều là mới đối với kết nối ); thứ hai, để đảm bảo không Middlebox nào trên đường dẫn sẽ loại bỏ các bản tin MP TCP theo đường dẫn ngược lại. Điều này được minh họa trong hình sau:

Kind=OPT_JOIN Length=7 Receiver Token ( gồm 4 octet )

Receiver Token Address ID

Address A1 Address A2 Address B1 Address B2

Host A Host B SYN+OPT_MPC (token A) SYN/ACK+OPT_MPC (token B) SYN+OPT_JOIN (token B) SYN/ACK+OPT_JOIN (token A) Hình 3-5: Ví dụ về sử dụng Token

Nếu một token không xác định, bên nhận sẽ gửi lại một TCP RST giống như trường hợp một cổng không xác định trong TCP.

Để kết hợp một luồng con mới với kết nối đang tồn tại, Token được cung cấp khi trao đổi SYN khởi tạo ban đầu được tách ra. Điều này nghĩa là số hiệu của port khi trao đổi SYN trong mỗi luồng con là không quan trọng, và có thể sử dụng bất cứ giá trị nào, miễn là mỗi host có một 5 – tuple duy nhất. Thực tế hầu hết các luồng con mới sẽ kết nối lại với một port (mà đã được sử dụng như là cổng nguồn hay cổng đích của một luồng con đang tồn tại), để có nhiều cơ hội vượt qua firewall và các Middlebox khác hơn, và để hỗ trợ kĩ thuật điều khiển lưu lượng của luồng. Các Token này cũng được sử dụng để tách các SYN trên các luồng con, điều này không giống TCP thông thường, ở đó cổng đích được sử dụng để tách các gói tin SYN.

Hình 3-6: Bản tin Join Connection.

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 28 - 29)