1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tiểu luận môn học truyền thông không dây đề tài multipath TCP

39 74 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 835,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong những năm qua, nhóm nghiên cứu giao thức Multipath TCPMP TCP của tổ chức IETF đã và đang phát triển các phần mở rộng đa đường dẫn ở giao thức TCP,cho phép các đầu cuối sử dụng nhiề

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Môn học: TRUYỀN THÔNG KHÔNG DÂY

Trang 2

MỤC LỤC

DANH MỤC TỪ VIẾT TẮT 3

PHẦN MỞ ĐẦU 4

CHƯƠNG I: TỔNG QUAN VỀ GIAO THỨC TCP 5

1.1 Giới thiệu TCP 5

1.2 Cấu trúc TCP Segment 5

1.3 Quá trình hoạt động của giao thức TCP 8

1.4 Điều khiển luồng trong TCP 11

1.4.1 Stop-and-wait 11

1.4.2 Sliding Window 12

1.5 Điều khiển tắc nghẽn trong TCP 15

1.5.1 Slow Start 15

1.5.2 Congestion Avoidance 15

1.5.3 Fast Recovery 16

1.5.4 Fast Retransmit 16

CHƯƠNG 2: TỔNG QUAN VỀ GIAO THỨC MULTIPATH TCP 17

2.1 Nguyên nhân ra đời của MP TCP 17

2.2 Lợi ích của MP TCP 17

2.3 Những mục tiêu đặt ra khi thiết kế MP TCP 17

2.4 Mô hình phân chia chức năng của MP TCP 19

2.5 Các thành phần chính trong MP TCP 20

CHƯƠNG 3: HOẠT ĐỘNG CỦA GIAO THỨC MP TCP 23

3.1 Các loại bản tin trong MP TCP 23

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

3.3 Khởi tạo luồng con mới 27

3.4 Quản lý đường dẫn 28

3.4.1 Thêm địa chỉ(Add Address) 29

3.4.2 Xóa địa chỉ(Remove Address) 30

3.5 Quá trình truyền dữ liệu 31

3.5.1 Ánh xạ số thứ tự dữ liệu(Data Sequence Mapping) 31

3.5.2 Báo nhận dữ liệu 31

Trang 3

3.5.4 Xem xét phía bên gửi 32

3.5.5 Điều khiển tắc nghẽn(congestion control) 32

3.5.6 Các chính sách về luồng con 33

3.5.7 Truyền lại 33

3.6 Đóng kết nối 33

CHƯƠNG 4: ĐIỀU KHIỂN TẮC NGHẼN 35

4.1 Các nguyên nhân gây ra tắc nghẽn 35

4.2 Khái niệm điều khiển tắc nghẽn 35

4.3 Thuật toán điều khiển tắc nghẽn trong giao thức MP TCP 35

4.3.1 Các yêu cầu đối với thuật toán 35

4.3.2 Các thuật toán điều khiển tắc nghẽn trong MP TCP 36

KẾT LUẬN 37

TÀI LIỆU THAM KHẢO 38

Trang 4

DANH MỤC TỪ VIẾT TẮT

Trang 5

PHẦN MỞ ĐẦU

Hiện nay hạ tầng Internet đang thay đổi rất nhiều so với thời điểm ban đầu lúc nó

ra đời Khi giao thức TCP/IP được thiết kế, các thiết bị đầu cuối chỉ có một giao diệnkết nối(single interface) Ngày nay, hầu hết phương tiện kết nối internet đều có nhiềuhơn một giao diện, điển hình là những chiếc điện thoại thông minh được trang bị với

cả 3G và Wi-Fi Người dùng mong đợi rằng việc sử dụng những thiết bị sẽ tăng khảnăng dự phòng cũng như hiệu năng thực hiện nhưng thực tế không phải luôn luôn nhưvậy Hơn 95% tổng lưu lượng truy cập Internet vẫn còn được điều khiển bởi giao thứcTCP và TCP liên kết mỗi kết nối với một giao diện duy nhất Điều này có nghĩa rằngbản thân giao thức TCP không hiệu quả và trong suốt trong việc sử dụng các giao diện

có sẵn trên một đầu cuối multihomed

Vấn đề multihoming nhận được rất nhiều sự chú ý trong cộng đồng nghiên cứu

và IETF trong những năm qua Nhiều giải pháp đã được đưa ra, tuy nhiên chúng vẫncòn ở giai đoạn thử nghiệm và không chắc rằng các giải pháp trên sẽ được triển khairộng rãi Các giải pháp ở tầng Transport cũng đã được phát triển, đầu tiên là mở rộngTCP Tuy nhiên, phần mở rộng này chưa bao giờ được triển khai Giao thức SCTP(Stream Control Transmission Protocol) được thiết kế với mục đích multihoming.Một số mở rộng của giao thức SCTP cho phép các đầu cuối truyền thông tin trên nhiềuđường dẫn cùng một lúc Mặc dù được thực thi trong một số hệ điều hành, giao thứcSCTP vẫn không được sử dụng rộng rãi bên cạnh các ứng dụng cụ thể Các hạn chếchính của giao thức SCTP trên mạng Internet toàn cầu đầu tiên là việc các ứng dụngphải thay đổi để có thể sử dụng SCTP Thứ hai, một số khâu trong mạng truyền thôngchẳng hạn như NAT hoặc Firewall không hiểu giao thức SCTP và ngăn chặn tất cả cácgói tin SCTP

Trong những năm qua, nhóm nghiên cứu giao thức Multipath TCP(MP TCP) của

tổ chức IETF đã và đang phát triển các phần mở rộng đa đường dẫn ở giao thức TCP,cho phép các đầu cuối sử dụng nhiều đường dẫn thông qua nhiều giao diện, để thựchiện truyền các gói tin trên một kết nối duy nhất Đây có lẽ là phần mở rộng đầy thamvọng nhất với TCP được tiêu chuẩn hóa trong IETF

Trang 6

CHƯƠNG I: TỔNG QUAN VỀ GIAO THỨC TCP

1.1 Giới thiệu TCP

Transmission control protocol (TCP) là một giao thức truyền thông mạng đượcthiết kế để gửi các gói dữ liệu qua Internet TCP là một trong những giao thức được sửdụng nhiều nhất trong truyền thông mạng kỹ thuật số và là một phần của bộ giao thứcInternet, thường được gọi là TCP/IP TCP là giao thức nằm ở tầng 3 trong mô hìnhnày Còn trong mô hình lý thuyết OSI thì TCP là giao thức nằm ở tầng 4

TCP là một giao thức hướng kết nối TCP đảm bảo kết nối end-to-end giúpchuyển giao dữ liệu giữa các nút riêng biệt Trước khi truyền dữ liệu, TCP tạo ra mộtkết nối giữa các nút nguồn và đích và giữ nó sống cho đến khi kết thúc

TCP cung cấp khả năng chống tắc nghẽn, nghĩa là giao thức có khả năng thíchứng với tình trạng hiện tại của mạng để điều chỉnh lượng dữ liệu gửi đi cho phù hợp.TCP cung cấp kết nối full-duplex, nghĩa là có thể đồng thời nhận và gửi dữ liệucùng một lúc

1.2 Cấu trúc TCP Segment

TCP truyền dữ liệu theo dòng byte, chia nó ra thành nhiều phần và thêm vào mộttiêu đề TCP (TCP header) tạo ra một phân đoạn TCP (TCP segment) Sau đó các TCPsegment được đóng gói vào IP datagram và trao đổi với các peer khác

Thuật ngữ TCP segment dùng để chỉ Protocol Data Unit (PDU) ở tầng 4Transport trong mô hình OSI, còn ở tầng 3 thì PDU được gọi là packet, ở tầng 2 gọi làframe

Một TCP segment bao gồm một segment header và một phần dữ liệu TCPheader chứa 10 trường bắt buộc, và một trường tùy chọn mở rộng

Phần dữ liệu theo sau header Nội dung của nó là các dữ liệu payload được mangcho ứng dụng Chiều dài của phần dữ liệu không được quy định trong TCP segmentheader Nó có thể được tính bằng cách lấy tổng chiều dài IP datagram trừ đi tổng chiềudài TCP header và IP header

Trang 7

a) TCP header

Hình 1-1: Cấu trúc các trường trong phần TCP header.

Ý nghĩa các trường của TCP header:

Cổng gửi (Source port) - 16 bits: xác định cổng gửi.

Cổng nhận (Destination port) - 16 bits: xác định cổng nhận.

Số thứ tự (Sequence number) - 32 bits: có hai vai trò:

 Nếu cờ SYN (SYN flag) được bật(1), thì đây là số thứ tự ban đầu (initsequence number được sinh ra bởi hệ điều hành) Số thứ tự của byte dữ liệu tiếp theobằng với số xác nhận vừa nhận được và bằng với số thứ tự trước đó cộng thêm 1

 Nếu cờ SYN là tắt (0), thì đây là số thứ tự tích lũy của byte dữ liệu đầu tiêncủa segment này cho phiên hiện tại

Acknowledgment number (32 bits): nếu cờ ACK (ACK flag) được bật thì giá

trị của trường này là số thứ tự tiếp theo mà bên nhận mong đợi Điều này thừa nhận đãnhận tất cả các byte trước đó (nếu có) Các ACK đầu tiên dùng để xác nhận số thứ tựban đầu của bên vừa gửi, không có dữ liệu

Data offset (4 bits): Trường có độ dài 4 bít qui định độ dài của phần header (tính

theo đơn vị từ 32 bít) Phần header có độ dài tối thiểu là 5 từ (160 bit) và tối đa là 15 từ(480 bít)

Reserved (3 bits): để sử dụng trong tương lai và cần được thiết lập về 0.

Flags (9 bits) (hay Control bits):

 URG: Cờ cho trường Urgent pointer

 ACK: Cờ cho trường Acknowledgement

Trang 8

 PSH: Hàm Push

 RST: Thiết lập lại đường truyền

 SYN: Đồng bộ lại số thứ tự

 FIN: Không gửi thêm số liệu

Window size (16 bits): kích thước của cửa sổ nhận, xác định số lượng các đơn

vị kích thước cửa sổ (theo mặc định, byte) mà người gửi của phân khúc nàyhiện đang sẵn sàng nhận (xem Flow control và Window Scaling)

Checksum (16 bits): 16 bit của trường checksum được dùng để kiểm tra lỗi

của header và data

Urgent pointer (16 bits): Nếu cờ URG bật thì giá trị trường này chính là số từ

16 bít mà số thứ tự gói tin (sequence number) cần dịch trái.

Options (Variable 0–320 bits, divisible by 32).

b) Phần dữ liệu:

Hình 1-2: TCP pseudo-header

Trường cuối cùng không thuộc về header Giá trị của trường này là thông tindành cho các tầng trên (trong mô hình 7 lớp OSI) Thông tin về giao thức của tầng trênkhông được chỉ rõ trong phần header mà phụ thuộc vào cổng được chọn

Trang 9

1.3 Quá trình hoạt động của giao thức TCP

Hình 1-3: Sơ đồ trạng thái của TCP – phiên bản đơn giản hóa

 SYN-SENT: (client) đại diện chờ đợi một yêu cầu kết nối phù hợp sau khi

đã gửi một yêu cầu kết nối

 SYN-RECEIVED: (máy chủ) đại diện chờ đợi một xác nhận thừa nhận yêucầu kết nối sau khi cả hai nhận được và gửi một yêu cầu kết nối

Trang 10

 ESTABLISHED: (cả máy chủ và máy khách) đại diện cho một kết nối mở,

dữ liệu nhận được có thể được chuyển cho người sử dụng Các trạng thái bình thườngtrong giai đoạn truyền dữ liệu của kết nối

 FIN-WAIT-1: (cả máy chủ và máy khách) đại diện chờ đợi một yêu cầuchấm dứt kết nối từ TCP từ xa hoặc xác nhận yêu cầu chấm dứt kết nối gửi trước đây

 FIN-WAIT-2: (cả máy chủ và máy khách) đại diện chờ đợi một yêu cầuchấm dứt kết nối từ TCP từ xa

 CLOSE-WAIT: (cả máy chủ và máy khách) đại diện chờ đợi một yêu cầuchấm dứt kết nối từ người dùng địa phương

 CLOSING: (cả máy chủ và máy khách) đại diện chờ đợi một xác nhận yêucầu chấm thúc kết nối từ TCP từ xa

 LAST-ACK: (cả máy chủ và máy khách) đại diện chờ đợi xác nhận yêu cầuchấm dứt kết nối trước đó gửi cho TCP từ xa (trong đó bao gồm xác nhận yêu cầuchấm dứt kết nối của nó)

 TIME-WAIT: (hoặc máy chủ hoặc máy khách) đại diện chờ đợi đủ thờigian để chắc chắn là TCP từ xa đã nhận được xác nhận yêu cầu chấm dứt kết nối của

nó [Theo RFC 793 một kết nối có thể ở lại trong TIME-WAIT tối đa là bốn phút đượcbiết đến như một MSL (đoạn tuổi thọ tối đa).]

 CLOSED: (cả máy chủ và máy khách) đại diện không có trạng thái kết nối

ở tất cả

a) Thiết lập kết nối

Hình 1-4: Sơ đồ thiết lập kết nối

Trang 11

Hình 1-5: Quá trình thiết lập kết nối 2 phía

Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước (3-wayhandshake) Đầu tiên Server mở cổng và đợi Client kết nối Quy trình bắt tay 3 bướcxảy ra như sau:

1 Client gửi gói tin SYN (gói tin TCP) tới server yêu cầu thiết lập kết nối

Trong gói tin này, tham số sequence number được gán cho một giá trị ngẫu nhiên X (X

ở đây là init sequence number của máy client, init sequence number được tạo ra từthuật toán của riêng mỗi hệ điều hành)

2 Server hồi đáp bằng cách gửi lại phía client gói tin SYN-ACK, trong gói tinnày, tham số acknowledgment number được gán giá trị bằng X + 1, tham số sequencenumber được gán ngẫu nhiên một giá trị Y (Y ở đây là init sequence number của máyserver)

3 Để hoàn tất quá trình bắt tay ba bước, client tiếp tục gửi tới server bản tinACK với sequence number được gán cho giá trị bằng X + 1 còn tham sốacknowledgment number được gán giá trị bằng Y + 1

Kết nối được thiết lập

b) Truyền dữ liệu

Một số đặc điểm cơ bản của TCP để phân biệt với UDP:

 Truyền các gói dữ liệu theo đúng thứ tự

 Truyền lại các gói dữ liệu mất trên đường truyền

 Kiểm soát luồng: giới hạn tốc độ bên gửi truyền dữ liệu để đảm bảo truyềnđáng tin cậy Bên nhận liên tục báo bên gửi có thể được nhận bao nhiêu dữ liệu (điềukhiển bởi các cửa sổ trượt) Khi bộ đệm bên nhận đầy, thông điệp acknowledgmenttiếp theo để giá trị window size về 0 để ngăn việc truyền dữ liệu để cho dữ liệu trong

bộ đệm được xử lý

 Điều khiển tắc nghẽn

Trang 12

c) Kết thúc kết nối

Hình 1-6: Quá trình kết thúc kết nối

Để kết thúc kết nối hai bên sử dụng bắt tay bốn bước, mỗi bên của kết nối kếtthúc một cách độc lập Khi một thiết bị đầu cuối muốn dừng lại nửa chừng, nó gửi mộtgói FIN, đầu kia xác nhận lại bằng gói ACK Vì vậy, một quá trình kết thúc tiêu biểu

sẽ có 2 cặp gói tin trao đổi

Một kết nối có thể tồn tại ở dạng "nửa mở": một bên đã kết thúc gửi dữ liệu nênchỉ nhận thông tin, bên kia vẫn tiếp tục gửi

1.4 Điều khiển luồng trong TCP

Trong giao tiếp dữ liệu, điều khiển luồng là quá trình quản lý tỉ lệ truyền tải dữliệu giữa hai node để ngăn chặn bên gửi nhanh làm tràn bộ đệm bên nhận chậm Nócung cấp một cơ chế cho bên nhận để kiểm soát tốc độ truyền tải, do đó các nút nhậnkhông bị quá tải với các dữ liệu từ node truyền Điều khiển luồng nên được phân biệtvới điều khiển tắc nghẽn, được sử dụng để điều khiển luồng dữ liệu khi tắc nghẽn đãthực sự xảy ra

1.4.1 Stop-and-wait

Điều khiển luồng Stop-and-wait là hình thức đơn giản nhất của điều khiển luồng.Bên nhận cho biết đã sẵn sàng để nhận dữ liệu cho mỗi khung, thông điệp được chiathành nhiều khung Bên gửi đợi một ACK sau mỗi khung một khoảng thời gian nhấtđịnh (gọi là thời gian chờ - timeout) Điều đó đảm bảo rằng bên nhận đã nhận đượckhung chính xác Nó sẽ gửi các khung tiếp theo sau khi đã nhận được ACK

Trang 13

a) Hoạt động

1 Bên gửi: Truyền một khung duy nhất tại một thời điểm.

2 Bên nhận: Truyền tin báo nhận (ACK) khi nó nhận được một frame.

3 Bên gửi: nhận ACK trong thời gian chờ.

b) Ưu điểm và nhược điểm của Stop-and wait

- Ưu điểm: Lợi thế duy nhất của phương pháp này là sự đơn giản của nó.

- Nhược điểm: Bên gửi cần phải chờ đợi ACK sau mỗi khung nó truyền đi Đây là

nguyên nhân của sự kém hiệu quả

Stop and wait cũng thiếu hiệu quả khi phải truyền gửi lâu hơn Truyền lâu hơn là

cơ hội cho nhiều khả năng lỗi trong giao thức này

Cấu trúc của cửa sổ được mô tả như sau:

Hình 1-7: Cửa sổ trượt

Trang 14

Phần tô đen là phạm vi của cửa sổ gồm có cửa trước và cửa sau cùng di chuyển

theo một chiều

Kích thước của cửa sổ là chiều của cung giới hạn từ cửa sau đến cửa trước Kích thước của cửa sổ có thể thay đổi Khi cửa trước di chuyển, cửa sổ được mởrộng ra Ngược lại khi cửa sau di chuyển, kích thước của cửa sổ bị thu hẹp lại và nólàm cho cửa sổ thay đổi vị trí, trượt / quay quanh một tâm của vòng tròn

Kích thước nhỏ nhất của cửa số là 0, khi đó cửa trước và cửa sau nằm cùng một

vị trí Giả sử, có n=2k vị trí cho các cửa, khi đó kích thước tối đa của cửa sổ là n-1(không là n để phân biệt với kích thước là 0)

Khi kích thước của cửa sổ trượt là 1, ta có giao thức stop-and-wait

Giả sử ta dùng k bit để đánh số thứ tự cho các khung Ta sẽ có 2k khung, đánh số

từ 0 đến 2k-1 Khi đó cửa sổ trượt sẽ được chia thành 2k vị trí tương ứng với 2k khung.Đối với cửa sổ gởi, các vị trí nằm trong cửa sổ trượt biểu hiện số thứ tự của cáckhung mà bên gởi đang chờ bên nhận báo nhận Phần bên ngoài cửa sổ là các khung

có thể gởi tiếp Tuy nhiên phải đảm bảo rằng, cửa sổ gởi không được vượt quá kíchthước tối đa của cửa sổ

Đối với bên nhận, các vị trí nằm trong cửa sổ biểu hiện số thứ tự các khung mà

nó đang sẳn sàng chờ nhận

Kích thước tối đa của cửa sổ biểu thị dung lượng bộ nhớ đệm của bên nhận cóthể lưu tạm thời các gói tin nhận được trước khi xử lý chúng Giả sử bên nhận có mộtvùng bộ nhớ đệm có khả năng lưu trữ 4 khung nhận được Khi đó, kích thước tối đacủa cửa sổ sẽ là 4

Vấn đề kế tiếp cần phải quan tâm là bên nhận sẽ làm gì nếu khung bị lỗi

Giải pháp đơn giản là truyền lại tất cả các khung bắt đầu từ khung thứ N bị lỗi.Nếu có những khung khác được nhận trong khoảng thời gian này thì chúng đều bị bỏ

qua Đây gọi là giao thức Go-Back-N.

Giải pháp thứ hai là chỉ truyền lại những khung bị lỗi, và chờ đến khi nó được

gởi lại trước khi tiếp tục việc gởi tin, gọi là giao thức Selective Repeat.

Cơ chế phát lại theo nhóm(Go-Back-N):

Giao thức Go-Back-N thì rất đơn giản Khi một khung bị lỗi Bên nhận bỏ quakhung Vì không một báo nhận nào gởi về cho bên nhận nên sự kiện quá thời gian xảy

ra, bên gởi phải gởi lại khung bị lỗi và toàn bộ các khung phía sau nó

Ví dụ:

Trang 15

Hình 1-8: Giao thức Go-Back-N

Trong ví dụ trên, bên nhận phát hiện ra khung số 2 bị lỗi nó bỏ qua các khungsau đó (3,4,5,6,7,8), chỉ chờ nhận lại khung số 2 Phía bên gởi chờ báo nhận từ bênnhận cho đến khi quá thời gian, nó sẽ thực hiện gởi lại các khung 2, 3, 4, 5, 6,

Cơ chế phát lại có lựa chọn(Selective repeat)

Trong giao thức này, khung bị lỗi bị bỏ đi, nhưng các khung nhận tốt sau đó đềuđược lưu lại tạm thời trong vùng nhớ đệm Khi quá thời gian, bên gởi chỉ gởi lại khung

cũ nhất chưa được báo nhận Nếu khung này đến nơi chính xác, bên nhận có thểchuyển lên tầng mạng tất cả các khung đã được lưu vào bộ nhớ đệm theo đúng thứ tự.Trong giao thức này, bên nhận sử dụng khung Báo không nhận NAK (NegativeAcknowledge) khi phát hiện ra khung bị lỗi, ví dụ lỗi CRC, sai thứ tự gói tin NAK sẽđược gởi về bên nhận trước khi sự kiện quá thời gian báo nhận của khung bị lỗi xảy ra.Nhờ đó tăng được hiệu xuất truyền tin

Hình 1-9: Giao thức Selective Repeat với cửa sổ trượt lớn hơn 1

Trong ví dụ trên các khung 0, 1 được nhận tốt và đã được báo nhận, còn khung

số 2 thì bị lỗi trên đường truyền Khi khung số 3 đến, tầng liên kết dữ liệu phát hiện lỗi

về số thứ tự khung chờ nhận, vì thế nó gởi khung NAK cho khung số 2 và lưu tạm thờikhung số 3 vào vùng nhớ đệm Tương tự, các khung 4 và 5 cũng được lưu lại mà chưachuyển lên tầng mạng (vì phải chờ nhận khung số 2)

Khi khung NAK 2 đến bên gởi, nó truyền lại ngay khung số 2

Trang 16

Khi khung số 2 đến bên nhận, nó đã có đủ các khung 2,3,4,5 theo đúng thứ tự vìthế nó chuyển 4 khung này lên tầng mạng theo một thứ tự đúng đắn Đồng thời bênnhận gởi về bên gởi khung ACK 5 để báo rằng đã nhận tốt đến khung số 5.

Trong trường hợp khung NAK2 bị mất, không đến được bên gởi, thì sự kiện quáthời gian sẽ xảy ra Khi đó bên gởi cũng chỉ gởi lại khung số 2 mà thôi

1.5 Điều khiển tắc nghẽn trong TCP

Hiện tại TCP dùng 4 thuật toán liên kết chặt chẽ với nhau là: Slow Start,Congestion Avoidance, Fast Recovery và Fast Retransmit để điều khiển tắt nghẽn

Hình 1-10: Các thuật toán điều khiển tắc nghẽn

1.5.1 Slow Start

Nó còn được gọi là giai đoạn tăng trưởng theo cấp số nhân

Congestion window (cwnd) được gán bằng 1 MSS (maximum segment size).Congestion window được gửi tăng theo cấp số nhân cho đến khi mất gói tin hoặcvượt quá một ngưỡng ssthresh, với ssthresh ở đây là ngưỡng cwnd do TCP quản lý.Nếu mất gói tin, thuật toán sẽ đặt lại ngưỡng slow start bằng 1 nửa congestionwindow hiện tại và đưa congestion window về 1 MMS

Nếu cwnd vượt quá ngưỡng ssthresh thì thuật toán bước vào trạng tháiCongestion avoidance

Nếu nhận được 3 ACK trùng thì bước vào trạng thái Fast Recovery

1.5.2 Congestion Avoidance

Trang 17

Nếu nhận được ACK thì cwnd = MSS2/cwnd.

Nếu bị mất gói tin thì đặt lại ngưỡng slow start bằng 1 nửa congestion windowhiện tại và đưa congestion window về 1 MMS và bắt đầu lại Slow Start

Nếu nhận 3 gói ACK trùng thì giảm cwnd xuống 1 nửa thay vì giảm về 1,ngưỡng ssthresh sẽ bằng với cwnd lúc này, chuyển sang Fast Recovery

1.5.3 Fast Recovery

Trong trạng thái này, TCP sẽ truyền lại các gói tin bị mất và chờ đợi ACK củatoàn bộ cửa sổ truyền trước khi bước vào Congestion avoidance, ssthresh bằng vớicwnd lúc này

Nếu không có ACK, TCP sẽ đợi timeout và đặt lại ngưỡng bằng một nửa cwnd,đưa cwnd về 1 MSS, bước vào trạng thái slow start

1.5.4 Fast Retransmit

Khi bên gửi nhận được 3 gói tin ACK trùng thì nó sẽ chuyển sang trạng thái FastRetransmit nghĩa là không cần chờ timeout và bước vào trạng thái Fast Recovery

Trang 18

CHƯƠNG 2: TỔNG QUAN VỀ GIAO THỨC MULTIPATH

TCP

2.1 Nguyên nhân ra đời của MP TCP

Ngày nay, những giao thức hiện tại chủ yếu đều chạy trên nền tảng TCP/IP vốnchỉ dùng một đường duy nhất để truyền dẫn giữa 2 host Điều này dẫn đến những hạnchế trong việc tận dụng tối ưu tài nguyên hệ thống, điều khiển tắc nghẽn và cân bằngtải

Multipath TCP ra đời với ý tưởng giải quyết những vấn đề trên Thay vì dùngmột đường đi như thường lệ, ta sẽ dùng cùng một lúc nhiều đường đi để truyền dẫn dữliệu, vừa tăng được thông lượng, vừa cân bằng được tải trọng giữa các đường với nhau

và giảm thiểu được số lần đụng độ dẫn đến tắc nghẽn

có thể được cải thiện rất nhiều Những cải tiến như vậy cũng sẽ làm giảm chi phí đầu

tư cơ sở hạ tầng mạng Bằng cách ứng dụng chia sẻ tài nguyên, những tài nguyên sẵn

có có thể được gộp lại như một nguồn tài nguyên duy nhất dành cho người sử dụng.Multipath được triển khai nhằm mục đích đạt được một số mục tiêu của nguồntài nguyên tổng hợp bằng cách sử dụng đồng thời nhiều đường dẫn trên mạng Hai lợiích chủ yếu của truyền thông Multipath là :

-Tăng khả năng phục hồi: bằng cách cung cấp nhiều đường dẫn khác nhau -Tăng hiệu quả của việc sử dụng tài nguyên: qua đó nâng cao năng lực mạng

lưới có sẵn trong hệ thống mạng

2.3 Những mục tiêu đặt ra khi thiết kế MP TCP

a) Mục tiêu về chức năng

Cải thiện thông lượng của hệ thống (throughput): MPTCP hoạt động trên cơ

sở truyền trên nhiều đường dẫn, tuy nhiên một kết nối MPTCP sau khi được thiết lậpphải có thông lượng lớn hơn thông lượng của một kết nối TCP đơn lẻ tốt nhất Nóingắn gọn, việc triển phải MPTCP phải có kết quả khả quan hơn là việc lựa chọn rađường đi tốt nhất và gửi theo đường đi đó

Cải thiện khả năng phục hồi và chịu lỗi (resilience): MPTCP cho phép mọi

Trang 19

end-to-end end-to-end

thường Nhờ có cơ chế này mà MPTCP vẫn đảm bảo được hệ thống hoạt động thôngsuốt khi có sự cố xảy ra trên một trong những đường dẫn đó Ngoài ra, khả năng phụchồi của một kết nối MPTCP phải nhanh hơn bất kỳ một kết nối TCP đơn lẻ nào

Cân bằng tải và điều khiển tắc nghẽn: Dễ dàng nhận thấy việc truyền dẫn bằng

nhiều con đường khác nhau góp một phần không hề nhỏ vào việc tránh tắc nghẽn trênđường truyền Đương nhiên việc điều khiển tắc nghẽn không chỉ đơn giản như thế,chúng ta còn cần phải giải quyết rất nhiều vấn đề phát sinh khác như kiểm soát tắtnghẽn trên từng luồng con, hoặc ngăng ngừa thắt cổ chai ở hai bên đầu kết nốiMPTCP… Muốn làm được điều đó, MPTCP phải sử dụng các thuật toán kiểm soát tắcnghẽn riêng (sẽ nói ở sau)

b) Mục tiêu về sự tương thích

Ngoài các mục tiêu chức năng được liệt kê ở trên, giao thức TCP Multipath phảiđáp ứng một số mục tiêu tương thích để hỗ trợ triển khai trên mạng Internet ngày nay

Tương thích với ứng dụng: Khả năng tương thích ứng dụng là sự ảnh hưởng

của MPTCP tới các ứng dụng thông thường vẫn chạy trên nên TCP Để đạt được điềunày, đầu tiên MP TCP phải thiết kế theo cùng một mô hình dịch vụ như TCP : gửi thứ

tự, tin cậy, theo byte Hơn nữa như đã đề cập, một kết nối MP TCP cung cấp cho cácứng dụng có thông lượng phải không thấp hơn một kết nối TCP đơn lẻ trên bất kỳ mộttrong đường dẫn nào có sẵn của nó

Tương thích với tầng mạng: Khái niệm tương thích với tầng mạng và tương

thích với các thiết bị hoạt động ở tầng mạng nghĩa là Multipath TCP phải tương thíchvới mạng Internet ngày nay bao gồm khả năng truyền qua các middlebox sẵn có như :firewall, NAT, và các proxy nâng cao hiệu suất Điều này yêu cầu phải xây dựng giaothức với các chức năng có thể dò và truyền qua các middlebox

Hình 2-1: Mô hình kiến trúc Internet truyền thống

Ngày đăng: 03/01/2021, 10:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1) Hà Văn Đạt(2009). Giao thức Multipath TCP, Luận văn thạc sĩ, Trường đại học bách khoa Hà Nội Sách, tạp chí
Tiêu đề: Giao thức Multipath TCP
Tác giả: Hà Văn Đạt
Năm: 2009
2) Lê Phong Dũ, Lê Tuấn Anh (2013). Điều khiển tắc nghẽn trong giao thức truyền thông đa đường cho các ứng dụng multimedia. Tạp chí khoa học trường đại học Cần Thơ, chuyên đề công nghệ thông tin 2013, 30-37 Sách, tạp chí
Tiêu đề: Tạp chí khoa học trườngđại học Cần Thơ
Tác giả: Lê Phong Dũ, Lê Tuấn Anh
Năm: 2013
3) M. Bagnulo(2011). RFC6824 (Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses), Internet Engineering Task Force Sách, tạp chí
Tiêu đề: RFC6824 (Threat Analysis for TCP Extensions forMultipath Operation with Multiple Addresses)
Tác giả: M. Bagnulo
Năm: 2011
4) A. Ford, C.Raiciu, U.Politechnica of Bucharest, M.Handley, U.College London, O.Bonaventure, U.catholique de Louvain (2013). RFC6181 (TCP Extensions for Multipath Operation with Multiple Addresses), Internet Engineering Task Force Sách, tạp chí
Tiêu đề: RFC6181 (TCP Extensionsfor Multipath Operation with Multiple Addresses)
Tác giả: A. Ford, C.Raiciu, U.Politechnica of Bucharest, M.Handley, U.College London, O.Bonaventure, U.catholique de Louvain
Năm: 2013
5) Mark Handley, Costin Raiciu, Alan Ford(2010), “Multipath TCP in Practice” Sách, tạp chí
Tiêu đề: Multipath TCP in Practice
Tác giả: Mark Handley, Costin Raiciu, Alan Ford
Năm: 2010

HÌNH ẢNH LIÊN QUAN

Hình 1-1: Cấu trúc các trường trong phần TCP header. - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 1: Cấu trúc các trường trong phần TCP header (Trang 6)
Hình 1-2: TCP pseudo-header - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 2: TCP pseudo-header (Trang 7)
Hình 1-3: Sơ đồ trạng thái của TCP – phiên bản đơn giản hóa - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 3: Sơ đồ trạng thái của TCP – phiên bản đơn giản hóa (Trang 8)
Hình 1-4: Sơ đồ thiết lập kết nối - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 4: Sơ đồ thiết lập kết nối (Trang 10)
Hình 1-6: Quá trình kết thúc kết nối - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 6: Quá trình kết thúc kết nối (Trang 11)
Hình 1-7: Cửa sổ trượt - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 7: Cửa sổ trượt (Trang 13)
Hình 1-8: Giao thức Go-Back-N - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 8: Giao thức Go-Back-N (Trang 14)
Hình 1-9: Giao thức Selective Repeat với cửa sổ trượt lớn hơn 1 - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 9: Giao thức Selective Repeat với cửa sổ trượt lớn hơn 1 (Trang 15)
Hình 1-10: Các thuật toán điều khiển tắc nghẽn - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 1 10: Các thuật toán điều khiển tắc nghẽn (Trang 16)
Hình 2-1: Mô hình kiến trúc Internet truyền thống - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 2 1: Mô hình kiến trúc Internet truyền thống (Trang 19)
2.4. Mô hình phân chia chức năng của MPTCP - tiểu luận môn học truyền thông không dây đề tài multipath TCP
2.4. Mô hình phân chia chức năng của MPTCP (Trang 20)
Hình 2-2: Mô hình thực tế - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 2 2: Mô hình thực tế (Trang 20)
Hình 2-4: Thành phần của MPTCP - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 2 4: Thành phần của MPTCP (Trang 22)
Bảng 3-1: Các loại bản tin trong giao thức MPTCP (theo IANA). - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Bảng 3 1: Các loại bản tin trong giao thức MPTCP (theo IANA) (Trang 24)
Hình 3-1: Ví dụ về một kịch bản sử dụng MP TCP. - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 3 1: Ví dụ về một kịch bản sử dụng MP TCP (Trang 25)
Hình 3-2: Bản tin Multipath Capable. - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 3 2: Bản tin Multipath Capable (Trang 27)
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. - tiểu luận môn học truyền thông không dây đề tài multipath TCP
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 (Trang 28)
Hình 3-5: Ví dụ về sử dụng Token - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 3 5: Ví dụ về sử dụng Token (Trang 29)
Hình 3-7: Bản tin “Add Address”. - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 3 7: Bản tin “Add Address” (Trang 31)
Hình 4.1: Kịch bản luồng con MPTCP và luồng TCP cùng đi qua một liên kết thắt cổ chai. - tiểu luận môn học truyền thông không dây đề tài multipath TCP
Hình 4.1 Kịch bản luồng con MPTCP và luồng TCP cùng đi qua một liên kết thắt cổ chai (Trang 37)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w