1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu phương pháp đánh giá và cải thiện hiệu năng giao thức TCP cho mạng máy tính

138 2K 5

Đ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 138
Dung lượng 1,34 MB

Nội dung

Loại giải pháp thứ nhất: thực hiện che giấu sự mất gói số liệu không phải do tắc nghẽn, làm cho các đường truyền chất lượng kém thể hiện ra trước bên gửi như các đường truyền có chất lượ

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NÔI KHOA CÔNG NGHỆ

-

NGUYỄN ĐÌNH VIỆT

NGHIÊN CỨU PHƯƠNG PHÁP ĐÁNH GIÁ VÀ CẢI THIỆN HIỆU NĂNG

GIAO THỨC TCP CHO MẠNG MÁY TÍNH

LUẬN ÁN TIẾN SỸ TOÁN HỌC

HÀ NỘI – 2003

Trang 2

KHOA CÔNG NGHỆ

- * -

NGUYỄN ĐÌNH VIỆT

NGHIÊN CỨU PHƯƠNG PHÁP ĐÁNH GIÁ VÀ CẢI THIỆN HIỆU NĂNG

GIAO THỨC TCP CHO MẠNG MÁY TÍNH

Chuyên ngành: Đảm bảo Toán học cho Máy tính và Hệ thống tính toán

Mã số: 1.01.10

LUẬN ÁN TIẾN SỸ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

1 PGS TS Vũ Duy Lợi

2 PGS Nguyễn Quốc Toản

HÀ NỘI – 2003

Trang 3

MỤC LỤC

MỞ ĐẦU 3

CHƯƠNG 1 GIỚI THIỆU CHUNG 8

1.1 Sự phát triển của mạng Internet 8

1.2 Kiến trúc mạng Internet 9

1.2.1 Mô hình tham chiếu ISO OSI 9

1.2.2 Mô hình tham chiếu TCP/IP 12

1.3 Điều khiển lưu lượng và điều khiển tắc nghẽn 14

1.3.1 Cơ bản về điều khiển lưu lượng và điều khiển tắc nghẽn 14

1.3.1.1 Khái niệm 14

1.3.1.2 Điều khiển lưu lượng theo cơ chế cửa sổ trượt 15

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

1.3.2 Điều khiển lưu lượng trong giao thức TCP 22

1.3.2.1 Giao thức TCP ban đầu 22

1.3.2.2 Nguyên lý “Bảo toàn các gói số liệu” và các nguyên nhân vi phạm 24

1.3.2.3 Khởi động chậm 27

1.3.2.4 Tính thời gian khứ hồi một cách thông minh 29

1.3.2.5 Tránh tắc nghẽn 32

1.4 Kết nối mạng không dây với Internet và các vấn đề nảy sinh 33

1.4.1 Các mạng truyền thông không dây số hiện đại 33

1.4.2 Các vấn đề nảy sinh khi kết nối với Internet 36

CHƯƠNG 2 CÁC PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG MẠNG 38

2.1 Giới thiệu 38

2.1.1 Tầm quan trọng của việc đánh giá hiệu năng mạng máy tính 38

2.1.2 Các độ đo hiệu năng mạng 39

2.1.3 Các phương pháp đánh giá hiệu năng mạng 40

2.2 Mô hình Giải tích 43

2.2.1 Quá trình Poisson và các tính chất của nó 45

2.2.2 Hàng đợi M/M/1 và một số kết quả 46

2.2.2.1 Xác suất trạng thái cân bằng của hàng đợi M/M/1 47

2.2.2.2 Đặc trưng thông lượng của hàng đợi M/M/1 hữu hạn 48

2.2.2.3 Kích thước trung bình của hàng đợi M/M/1 hữu hạn 49

2.2.2.4 Công thức Little L=λW và áp dụng để tính thời gian trễ trung bình 50

2.3 Mô phỏng mạng bằng chương trình máy tính 52

2.3.1 Ý tưởng xây dựng bộ mô phỏng mạng 52

2.3.2 Bộ mô phỏng mạng NS (Network Simulator) 53

2.3.2.1 Giới thiệu 53

2.3.2.2 Cấu trúc phần mềm của NS 57

2.3.2.3 Lập trình mô phỏng bằng NS 58

CHƯƠNG 3 ĐÁNH GIÁ HIỆU NĂNG MẠNG BẰNG MÔ HÌNH HÀNG ĐỢI 59

3.1 Mô hình mạch ảo 59

3.2 Hiệu năng của các cơ chế kiểm soát lỗi 61

3.2.1 Kiểm soát lỗi đầu cuối - đầu cuối (end-to-end) 62

3.2.2 Kiểm soát lỗi theo chặng (link-by-link) 66

3.2.3 So sánh cơ chế kiểm soát lỗi đầu cuối - đầu cuối và theo chặng 69

3.2.3.1 So sánh các cơ chế theo chặng và đầu cuối - đầu cuối ở mạng tốc độ thấp 69

3.2.3.2 So sánh các cơ chế theo chặng và đầu cuối - đầu cuối ở mạng tốc độ cao 71

3.3 Hiệu năng của cơ chế điều khiển lưu lượng bằng cửa sổ trượt 73

Trang 4

3.3.1 Mô hình cửa sổ trượt với sự biên nhận từng gói số liệu 74

3.3.1.1 Trường hợp tải rất nặng 75

3.3.1.2 Trường hợp tải xấp xỉ bằng khả năng vận chuyển của đường truyền 77

3.3.2 Mô hình cửa sổ trượt với sự biên nhận ở cuối cửa sổ 78

3.3.2.1 Trường hợp tải rất nặng 79

3.3.2.2 Trường hợp tải xấp xỉ bằng khả năng vận chuyển của đường truyền 81

CHƯƠNG 4 CẢI TIẾN CƠ CHẾ ĐIỀU KHIỂN LƯU LƯỢNG TCP 82

4.1 Các cải tiến đối với giao thức TCP cho mạng có dây 83

4.1.1 Tahoe TCP 83

4.1.2 Reno TCP 84

4.1.3 New-Reno TCP 86

4.1.4 SACK TCP 87

4.1.5 So sánh hiệu năng của Tahoe, Reno, New-Reno và SACK TCP 89

4.2 Đặc tính lỗi của đường truyền không dây 90

4.3 Ảnh hưởng của lỗi đường truyền không dây lên hiệu năng của TCP 91

4.4 Các cơ chế cải thiện hiệu năng TCP trong mạng có đường truyền không dây 94

4.4.1 Che giấu phần mạng hay làm mất gói số liệu do lỗi đường truyền 94

4.4.1.1 Các giải pháp ở tầng Liên kết dữ liệu 94

4.4.1.2 Các giải pháp ở tầng giao vận 96

4.4.2 Thông báo rõ ràng về nguyên nhân mất gói số liệu (ELN và ECN) 97

CHƯƠNG 5 PHÁT LẠI CỤC BỘ THÔNG MINH VÀ SNOOP TCP 100

5.1 Phát lại cục bộ thông minh 100

5.1.1 Thuật toán tính thời gian hết giờ để phát lại cục bộ 103

5.1.2 Đồng hồ phát lại (Retransmission Timer) 104

5.2 Mô hình lỗi (Error Model) của đường truyền không dây 105

5.2.1 Mô hình lỗi đồng đều (Uniform Error Model) 106

5.2.2 Mô hình lỗi Markov hai trạng thái (Two-state Markov Error Model) 106

5.2.3 Mô hình lỗi Markov hai trạng thái cải tiến 107

5.3 Snoop TCP 108

5.3.1 Snoop data 109

5.3.2 Snoop ACKs 110

5.3.3 Phát lại cục bộ thông minh trong Snoop TCP 113

5.3.3.1 Chọn giá trị cho hệ số làm trơn của bộ lọc tính srtt 114

5.3.3.2 Chọn đơn vị thời gian đồng hồ phát lại (snoopTick) và cận dưới của rto 114

5.3.3.3 Đặt giá trị cận trên cho rto bằng cách giới hạn số lần rút lui (backoff) 115

5.4 Lập mô hình mạng mô phỏng để đánh giá hiệu năng của Snoop TCP 117

5.4.1 Thiết lập cấu hình mạng mô phỏng 118

5.4.2 Thiết lập giá trị các tham số của mô hình lỗi được cài đặt trong NS-2 119

5.5 Đánh giá hiệu năng của snoop TCP bằng mô phỏng 120

5.5.1 Xác định thời gian mô phỏng cần thiết 120

5.5.2 Đánh giá hiệu năng của Snoop TCP với các mức độ lỗi đường truyền khác nhau 121

5.5.3 Nghiên cứu ảnh hưởng của đồng hồ phát lại lên hiệu năng của Snoop TCP 123

5.6 So sánh hiệu quả của snoop TCP với một số phương pháp khác 127

KẾT LUẬN 129

PHƯƠNG HƯỚNG NGHIÊN CỨU TIẾP THEO 130

DANH MỤC CÔNG TRÌNH CÔNG BỐ CỦA TÁC GIẢ 131

DANH MỤC TÀI LIỆU THAM KHẢO 132

BẢNG CHÚ GIẢI (Index) 136

Trang 5

MỞ ĐẦU

Mạng Internet đã phát triển bùng nổ trong hơn 20 năm qua; hiện nay, Internet đã

mở rộng thành một liên mạng trên phạm vi toàn cầu và được coi là cơ sở hạ tầng cho truyền thông của xã hội loài người Trong mạng Internet, bộ giao thức TCP/IP

đã được sử dụng ngay từ những ngày đầu tiên và giữ vai trò quyết định đối với sự hoạt động của mạng Internet Giao thức TCP sử dụng cơ chế điều khiển lưu lượng, tắc nghẽn và lỗi từ hai đầu của kết nối để vận chuyển thông tin trên Internet một cách hiệu quả và tin cậy Trong suốt nhiều năm được sử dụng rộng rãi, các khiếm khuyết thể hiện ra đã được phát hiện và khắc phục Chính vì thế, TCP hoạt động rất tốt trong các mạng kiểu truyền thống: sử dụng các đường truyền có dây với tỉ suất lỗi bit thấp, tin cậy và các máy tính nối mạng cố định Trong các mạng như vậy, TCP coi việc mất gói số liệu là tín hiệu báo tắc nghẽn đã xảy ra và sẽ phản ứng một cách tích cực để tránh hiện tượng này, bằng cách giảm lưu lượng đưa vào mạng Thực tế đòi hỏi phải mở rộng Internet, kết nối các mạng khác nhau vào Internet

và sử dụng nhiều loại môi trường truyền với các đặc tính rất khác nhau về lỗi truyền, độ trễ lan truyền, tính cân xứng về dải thông của các đường truyền v.v Thí

dụ, kết nối các mạng không dây với các trạm làm việc có thể di động vào Internet Đường truyền không dây có đặc trưng là tỉ suất lỗi bit cao, thất thường, đồng thời thỉnh thoảng bị đứt đoạn do sự chuyển cuộc gọi khi các máy tính di động Giao thức TCP phản ứng với sự mất gói tin do chất lượng đường truyền xấu giống như phản ứng với hiện tượng tắc nghẽn, đó là giảm lưu lượng đưa vào mạng; phản ứng như vậy rõ ràng là không thích hợp, làm cho hiệu năng của TCP bị giảm rất trầm trọng

Để cải thiện hiệu năng của TCP, người ta đã đề xuất và áp dụng nhiều phương pháp khác nhau; tuy nhiên, có thể chia chúng làm hai loại

Loại giải pháp thứ nhất: thực hiện che giấu sự mất gói số liệu không phải do tắc nghẽn, làm cho các đường truyền chất lượng kém thể hiện ra trước bên gửi như các đường truyền có chất lượng cao hơn, nhưng có dải thông nhỏ hơn Theo các phương pháp thuộc loại này, nói chung, bên gửi của kết nối TCP chỉ phát hiện được sự mất gói số liệu gây ra do tắc nghẽn, do đó không cần phải sửa đổi các giao thức đã được

Trang 6

cài đặt tại bên gửi Một số trong các công trình nghiên cứu đầu tiên theo hướng này

là [5], [16], [47], [48]

Loại giải pháp thứ hai: thực hiện cải tiến giao thức TCP bằng một số cơ chế, làm cho bên gửi của kết nối TCP có khả năng phân biệt được nguyên nhân gây ra mất gói số liệu, nhờ đó tránh được sai lầm dẫn đến làm giảm hiệu năng TCP rất trầm trọng, đó là thực hiện thuật toán tránh tắc nghẽn khi không xảy ra tắc nghẽn Các phương pháp thuộc loại này đều đòi hỏi phải sửa đổi giao thức TCP trên các máy tính kết nối Internet, kể cả các thiết bị định tuyến (router) Một số trong các công trình nghiên cứu đầu tiên theo hướng này là [9], [35], [36]

Luận án đi sâu nghiên cứu loại giải pháp thứ nhất, không đòi hỏi phải thay đổi giao thức TCP trên mạng Internet truyền thống

Theo phương pháp I-TCP [5], [47], kết nối TCP được chia làm hai kết nối tại trạm cơ sở, là cửa ngõ nối mạng Internet với mạng không dây; một kết nối đi qua chặng không dây; kết nối kia đi qua phần mạng có dây Phương pháp I-TCP cải thiện được hiệu năng TCP, ưu điểm chính của nó là tính đơn giản; tuy nhiên nó có nhược điểm rất lớn là mâu thuẫn với các cơ chế điều khiển kiểu đầu cuối - đầu cuối của TCP, do đó có thể làm mất hoặc giảm tác dụng của các cơ chế này

Phương pháp được đề xuất trong [48] là phát lại nhanh trong trường hợp kết nối

bị gián đoạn do sự chuyển cuộc gọi, nó cải thiện đáng kể hiệu năng của TCP; tuy nhiên, phương pháp này có nhược điểm lớn là đòi hỏi phải sửa đổi giao thức liên mạng mobile IP, làm cho nó có khả năng phát tín hiệu báo sự kết thúc việc chuyển cuộc gọi; ngoài ra giao thức TCP trên các máy tính đầu cuối cũng phải sửa đổi Chúng tôi chọn phương pháp snoop TCP được đề xuất trong [16] (1995), thuộc loại giải pháp thứ nhất, nhằm cải thiện hiệu năng của giao thức TCP trong mạng có đường truyền không dây là chặng cuối cùng của kết nối giữa người gửi và người nhận Giải pháp này có hai ưu điểm nổi bật là: không đòi hỏi phải thay đổi các cơ chế điều khiển đầu cuối - đầu cuối của TCP và không cần phải sửa đổi bộ giao thức TCP/IP đã được cài đặt trên các máy tính của mạng Internet Theo giải pháp Snoop TCP, một chương trình đặc biệt gọi là Snoop agent sẽ được cài đặt tại máy tính nằm

Trang 7

ở cửa ngõ nối Internet với mạng không dây Agent này sẽ giám sát các gói số liệu

và biên nhận của kết nối TCP đi qua nó, để thực hiện phát lại một cách thông minh các gói số liệu bị mất trên chặng đường truyền không dây Hiệu quả của việc phát lại chủ yếu dựa trên ước lượng thời gian khứ hồi cục bộ trên chặng này, trong đó

việc chọn đơn vị thời gian của đồng hồ phát lại có ý nghĩa quyết định Chúng tôi đã

nghiên cứu kỹ các thuật toán ước lượng thời gian khứ hồi thông minh; đã nghiên cứu kỹ các đặc điểm lỗi của đường truyền không dây và ảnh hưởng của nó lên hiệu năng TCP Dựa trên các kết quả nghiên cứu đó, chúng tôi đã nêu các đề xuất có tính phương pháp luận để tính ước lượng thời gian khứ hồi thông minh cho chặng

không dây Các đề xuất cụ thể của chúng tôi gồm có: 1/ Chọn đơn vị thời gian

của đồng hồ phát lại của snoop agent bằng 2 lần thời gian khứ hồi trên chặng không dây khi đường truyền tốt; 2/ Chọn cận dưới của thời gian hết giờ để phát lại (rto) đúng bằng đơn vị thời gian của đồng hồ; 3/ Chọn cận trên của thời gian hết giờ để phát lại bằng cách giới hạn số lần rút lui (backoff)

Hiệu năng của Snoop TCP có áp dụng đề xuất cải tiến của chúng tôi được so sánh với Snoop TCP chưa cải tiến cũng như TCP thông thường Chúng tôi đánh giá hiệu năng bằng phương pháp mô phỏng, sử dụng phần mềm mô phỏng mạng NS, đó

là bộ mô phỏng mạng được sử dụng rất phổ biến, đặc biệt là trong các trường đại học và viện nghiên cứu ở Mỹ cũng như ở nhiều quốc gia khác Kết quả nghiên cứu bằng mô phỏng của chúng tôi đã chỉ ra rằng, so với TCP thông thường, Snoop TCP (chưa cải tiến) có thể cải thiện thông lượng đến hơn 400%, trong trường hợp mạng WAN có đường truyền không dây Với cùng mạng mô phỏng như vậy, Snoop TCP

có áp dụng đề xuất cải tiến của chúng tôi có hiệu năng cao hơn nữa, đạt tới hơn 150% so với Snoop TCP chưa cải tiến

Mục đích chính của Luận án này là đóng góp vào các nghiên cứu phương pháp

đánh giá và cải thiện hiệu năng giao thức TCP cho mạng máy tính có đường truyền không dây Để thực hiện mục tiêu chính, chúng tôi còn nghiên cứu một số vấn đề

khác có liên quan trực tiếp, hỗ trợ cho nó, đó là:

Trang 8

1 Các cơ chế điều khiển lưu lượng và tắc nghẽn trong giao thức TCP

2 Các cải tiến đối với cơ chế điều khiển lưu lượng và tắc nghẽn trong TCP

3 Đặc tính lỗi của đường truyền không dây và các Mô hình lỗi (Error Model)

4 Phương pháp đánh giá hiệu năng mạng bằng mô hình Giải tích và mô phỏng Luận án gồm phần mở đầu, năm chương và kết luận Nội dung chính của các chương được trình bày tóm tắt dưới đây

Chương 1: Các vấn đề cơ bản về điều khiển lưu lượng và tắc nghẽn trong giao thức TCP; việc kết nối các mạng không dây với Internet và các vấn đề nảy sinh Chương 2 trình bày tầm quan trọng của việc đánh giá hiệu năng mạng, các độ đo hiệu năng thông dụng và các phương pháp chính đánh giá hiệu năng mạng

Chương 3 trình bày phương pháp đánh giá hiệu năng mạng bằng mô hình hàng đợi Trong mục 3.2, chúng tôi trình bày một kết quả nghiên cứu, sử dụng lý thuyết Hàng đợi để tính toán định lượng hiệu năng hai cơ chế kiểm soát lỗi đầu cuối - đầu cuối (end-to-end) và kiểm soát lỗi theo chặng (link-by-link) Thông qua việc so sánh kết quả, chúng tôi đã rút ra được một số kết luận hữu ích, trong đó có một số kết luận minh chứng cho tính hợp lý của giải pháp Snoop TCP

Chương 4 trình bày các cải tiến trong cơ chế điều khiển lưu lượng của giao thức TCP; đặc tính lỗi của đường truyền không dây và ảnh hưởng của nó lên hiệu năng của TCP Nội dung chương 4 là cơ sở trực tiếp cho các nghiên cứu ở chương 5 Chương 5 trình bày các nghiên cứu sâu về giải pháp phát lại cục bộ thông minh

và snoop TCP Tác giả luận án cũng trình bày các đề xuất về tính ước lượng thời gian khứ hồi trên chặng không dây và đánh giá hiệu quả của chúng bằng mô phỏng

Ba kết quả nghiên cứu bằng mô phỏng là: 1/ Xác định thời gian mô phỏng cần thiết đối với mạng mô phỏng Snoop TCP; 2/ Đánh giá hiệu năng của Snoop TCP ứng với các mức độ lỗi khác nhau của đường truyền không dây; 3/ Nghiên cứu ảnh hưởng của đồng hồ phát lại lên hiệu năng của Snoop TCP, xác định được giá trị tốt nhất của đơn vị thời gian của đồng hồ phát lại

Trang 9

Luận án đã được trình bày, thảo luận và thông qua tại Bộ môn Mạng và Truyền thông máy tính, Khoa Công nghệ, Đại học Quốc gia Hà nội; đã được bảo vệ tại HỘI ĐỒNG ĐÁNH GIÁ CẤP CƠ SỞ LUẬN ÁN TIẾN SĨ, ngày 16 tháng 5 năm 2003 Một số kết quả nghiên cứu của luận án đã được báo cáo tại Hội thảo Quốc gia “Các vấn đề chọn lọc của Công nghệ Thông tin” (Hải Phòng, 6/2001); Hội thảo Khoa học Quốc gia lần thứ nhất: ICT.rda (Hà nội, 02/2003) và trình bày trong hai buổi semina tại trung tâm CDMC (Center for Distributed and Mobile Computing), Đại học Cincinnati, Hoa Kỳ Các kết quả nghiên cứu chính của luận án đã được công bố trong [1], [2], [3], [42], [43]; trong đó [42] là nội dung chính của chương 4, đã được báo cáo tại semina của trung tâm CDMC (14/5/2002); [43] là một phần nội dung của chương 5, đã được báo cáo tại semina của trung tâm CDMC (02/8/2002)

Tác giả xin bày tỏ lòng biết ơn chân thành đối với Khoa Công nghệ, Đại học Quốc gia Hà Nội, đã tạo điều kiện thuận lợi và giúp đỡ nhiều mặt để tác giả hoàn thành được luận án Xin chân thành cám ơn các đồng nghiệp ở Khoa Công nghệ đã động viên, giúp đỡ tác giả trong thời gian qua

Tác giả xin bày tỏ lòng biết ơn chân thành đối với GS VS Nguyễn Văn Hiệu, Chủ nhiệm Khoa Công nghệ, Đại học Quốc gia Hà Nội, đã tạo cơ hội tốt để tác giả được đến nghiên cứu khoa học tại một Đại học lớn của Hoa Kỳ trong thời gian đang thực hiện luận án, từ tháng 2 đến tháng 8 năm 2002

Tác giả xin bày tỏ lòng biết ơn chân thành đối với Đại học Cincinnati, Hoa kỳ, đã tạo điều kiện thuận lợi để tác giả được đến tham gia các hoạt động nghiên cứu khoa học như một thành viên của Trung tâm Tính toán Phân tán và Di động, Khoa Công nghệ thông tin, Trường Đại học Công nghệ (Center for Distributed and Mobile Computing, Department of Electrical and Computer Engineering and Computer Science, College of Engineering, University of Cincinnati)

Tác giả xin bày tỏ lòng biết ơn sâu sắc đối với PGS TS Vũ Duy Lợi và PGS Nguyễn Quốc Toản đã tận tình hướng dẫn, chỉ bảo và cho nhiều lời khuyên quý báu trong suốt quá trình tác giả thực hiện luận án

Trang 10

CHƯƠNG 1 GIỚI THIỆU CHUNG

1.1 Sự phát triển của mạng Internet

Năm 1967, Robert L G đã đề xuất một mạng máy tính thí nghiệm, sau đó trở thành mạng ARPANET (Advanced Research Projects Agency Network) của Bộ Quốc phòng Mỹ Ngay từ thời kỳ đầu, các nghiên cứu đã cho biết rằng, nếu sử dụng

kỹ thuật chuyển mạch gói cho ARPANET sẽ đem lại hiệu quả cao hơn các phương pháp khác về nhiều phương diện: tính kinh tế, tính sẵn sàng sử dụng và tính hữu dụng Chính điều này đã thúc đẩy sự nghiên cứu về chuyển mạch gói và đến đầu năm 1969, Bộ Quốc phòng Mỹ đã ký hợp đồng triển khai thực hiện mạng ARPANET với hãng BBN (Bolt, Beranek, and Newman) có trụ sở đóng tại Massachusetts Đến tháng 9 năm 1969, mạng máy tính chuyển mạch gói đầu tiên trên thế giới ra đời, sau đó đã phát triển rất nhanh chóng, kết nối mạng của các trường đại học, các trung tâm nghiên cứu của chính phủ và của các hãng công nghiệp trên khắp nước Mỹ Mạng ARPANET cung cấp các dịch vụ truyền thông, cho phép truy cập từ xa tới tất cả tài nguyên của hệ thống, do đó đem lại nhiều lợi ích cho Bộ Quốc phòng Mỹ cũng như cho cộng đồng khoa học

Trong quá trình nghiên cứu và triển khai mạng ARPANET, nhiều tư tưởng và phương pháp mới lần đầu tiên được đề xuất và đưa vào thực hiện, trong đó có các giao thức được phân lớp, mạng có các đường trục và các đường rẽ nhánh, điều khiển lưu lượng (flow control), đặc tính thứ lỗi; với các đặc tính này, mạng vẫn có khả năng hoạt động được khi có một số nút hoặc đường truyền bị hỏng mà không cần sự can thiệp của người điều hành Ngoài ra, những người nghiên cứu và thực hiện mạng ARPANET đã phổ biến việc sử dụng các mô hình Giải tích và mô hình

Mô phỏng để dự đoán và đánh giá hiệu năng mạng Trong số các nhà khoa học tham gia dự án ARPANET phải kể đến L Kleinrock và các cộng sự của ông ở Đại học California, Los Angeles (UCLA)

Mạng ARPANET có ảnh hưởng to lớn đến sự tiến hoá của các mạng thương mại,

mô hình tham chiếu được sử dụng trong mạng ARPANET là tiền thân của tất cả các

Trang 11

loại mạng máy tính, kể cả mạng Internet ra đời sau này Về sau, khi các mạng vệ tinh và vô tuyến ra đời và kết nối vào ARPANET thì các giao thức đang được sử dụng trong ARPANET không đáp ứng được yêu cầu liên mạng, do đó cần phải có các mô hình kiến trúc mới, có khả năng liên kết nhiều mạng với nhau một cách trong suốt Kiến trúc này được gọi là mô hình tham chiếu TCP/IP, tên này được đặt theo tên của hai giao thức cơ bản của nó là TCP và IP

1.2 Kiến trúc mạng Internet

Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở mức độ cao nhằm làm giảm độ phức tạp của việc thiết kế; mạng được chia thành các tầng (layer), mỗi tầng được xây dựng dựa trên tầng bên dưới nó Trong các mạng khác nhau, số tầng, tên các tầng, nội dung của các tầng và chức năng của các tầng có thể khác nhau; tuy nhiên, mục đích của mỗi tầng là sử dụng các dịch vụ do các tầng bên dưới cung cấp, để cung cấp những dịch vụ nhất định cho các tầng cao hơn, sao cho các tầng này khi sử dụng các dịch vụ của nó, không cần phải quan tâm tới các thao tác chi tiết mà các dịch vụ phải thực hiện

Để các mạng máy tính khác nhau có thể truyền thông với nhau, chúng cần phải tuân theo các chuẩn Người ta đã xây dựng nên các chuẩn như vậy, chúng còn được gọi là mô hình tham chiếu, làm cơ sở chung cho các nhà thiết kế dựa vào khi thiết

kế mạng Hai mô hình tham chiếu quan trọng là ISO OSI và TCP/IP sẽ được trình bày ở các phần dưới đây

1.2.1 Mô hình tham chiếu ISO OSI

Mô hình mạng máy tính này do Tổ chức Tiêu chuẩn Quốc tế ISO (International Standard Organization) đề nghị năm 1983, được gọi là mô hình tham chiếu ISO OSI (ISO Open Systems Interconnection Reference Model), thường được gọi ngắn gọn

là mô hình OSI Đây là bước tiến đầu tiên tới sự chuẩn hoá quốc tế các giao thức khác nhau về truyền thông, giải quyết việc kết nối các hệ thống mở, là các hệ thống tuân theo các chuẩn được chỉ rõ, do đó các hệ thống này có khả năng truyền thông

Trang 12

với các hệ thống khác tuân theo các chuẩn giống nó Mô hình OSI có bảy tầng, được minh hoạ trên hình 1.1

Hình 1.1 Mô hình tham chiếu OSI

Tầng Vật lý (Physical Layer) Tầng vật lý giải quyết các vấn đề ghép nối cơ khí,

điện và giao thức để có thể khởi tạo, duy trì và kết thúc các liên kết vật lý giữa các thiết bị truyền thông Tầng này liên quan đến việc truyền dòng bit giữa các máy bằng kênh truyền thông vật lý, không xét đến ý nghĩa và cấu trúc của dòng bit

Tầng Liên kết dữ liệu (Data Link Layer) Nhiệm vụ chính của tầng này là thiết

lập, duy trì, huỷ bỏ các liên kết dữ liệu, kiểm soát lỗi truyền, điều khiển lưu lượng, điều khiển truy cập môi trường truyền thông

Trang 13

Tầng Mạng (Network Layer) Tầng mạng phải giải quyết nhiều vấn đề phức tạp,

như: định tuyến, giao tiếp giữa các mạng và điều khiển tắc nghẽn (congestion control); trong đó định tuyến là vấn đề quan trọng nhất

Tầng Giao vận (Transport Layer) Tầng này thực hiện việc truyền tin, điều

khiển lưu lượng và điều khiển tắc nghẽn đầu cuối - đầu cuối (end-to-end), thực hiện ghép kênh và phân kênh

Tầng Phiên (Session Layer) Tầng phiên tổ chức và đồng bộ việc trao đổi dữ

liệu giữa các tiến trình ứng dụng, cho phép người sử dụng trên các máy khác nhau thiết lập, duy trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ, đăng nhập từ xa vào những hệ thống chia sẻ thời gian

Tầng Trình dữ liệu (Presentation Layer) Tầng này giải quyết các vấn đề liên

quan đến cú pháp và ngữ nghĩa của thông tin được truyền, làm cho các máy tính sử dụng các biểu diễn dữ liệu khác nhau có thể truyền thông với nhau Tầng này cũng thực hiện các dịch vụ như nén hoặc mã hoá dữ liệu

Tầng Ứng dụng (Application Layer) Tầng này có nhiệm vụ tạo ra giao diện

thuận tiện giữa người sử dụng và môi trường truyền tin; cung cấp các dịch vụ hỗ trợ cho các ứng dụng không thuộc mô hình OSI, thí dụ: thư điện tử (email), truyền tệp (ftp), WWW

Truyền dữ liệu trong mô hình OSI Khi ứng dụng X trên một máy tính cần gửi

dữ liệu cho ứng dụng Y trên một máy tính khác trên mạng, nó sẽ trao dữ liệu cho tầng ứng dụng, tầng ứng dụng có thể gắn thêm một khối dữ liệu có cấu trúc xác định, gọi là header, vào đầu gói số liệu của nó rồi gửi xuống tầng trình dữ liệu Tầng trình dữ liệu có thể chuyển đổi gói số liệu này theo các cách khác nhau và có thể bổ sung header của nó rồi gửi kết quả xuống tầng phiên bên dưới Đối với tầng này, nó không phân biệt header của tầng trên với dữ liệu trong gói số liệu mà nó nhận được Quá trình này cứ tiếp tục cho tới khi dữ liệu truyền xuống tầng vật lý, tại đó dữ liệu mới thực sự được truyền tới máy nhận Tại máy nhận, các header được lần lượt loại

bỏ khi gói số liệu đi qua các tầng từ dưới lên trên, cho tới khi nó đi đến ứng dụng nhận Y Tầng nào phát hiện ra lỗi thì yêu cầu phát lại ngay tại tầng đó

Trang 14

Đơn vị dữ liệu theo mô hình tham chiếu OSI Tại mỗi tầng của mô hình OSI,

các thực thể ngang hàng có thể trao đổi với nhau các đơn vị dữ liệu Mỗi đơn vị dữ liệu bao gồm một trường dữ liệu và một phần gọi là header, có vai trò như chiếc

“phong bì” để chứa trường dữ liệu Header là phần đầu của mỗi đơn vị dữ liệu, chứa các địa chỉ cần thiết để có thể gửi đơn vị này tới đích, ngoài ra, nó còn chứa các thông tin điều khiển Tại mỗi tầng của mô hình, đơn vị dữ liệu này thường có một tên gọi riêng, chẳng hạn, tại tầng Liên kết dữ liệu, là khung tin (frame), tại tầng mạng, là gói số liệu (packet), tại tầng giao vận, là phân đoạn (segment) Tuy nhiên, trong rất nhiều tài liệu, người ta hay dùng một thuật ngữ chung là gói số liệu; chúng tôi cũng sẽ sử dụng thuật ngữ gói số liệu theo nghĩa như vậy

1.2.2 Mô hình tham chiếu TCP/IP

Hình 1.2 trình bày hai mô hình tham chiếu TCP/IP và OSI để tiện so sánh

Hình 1.2 Mô hình tham chiếu TCP/IP và mô hình tham chiếu OSI

Tầng Internet

Tầng Internet đôi khi được gọi là tầng IP, có chức năng tương tự tầng mạng trong

mô hình OSI Nhiệm vụ của tầng Internet là định tuyến gói số liệu, điều khiển lưu lượng và điều khiển tắc nghẽn Mỗi gói số liệu có thể đi đến đích theo các con đường khác nhau; tại đích, thứ tự nhận các gói số liệu có thể khác với thứ tự lúc chúng được phát đi từ nguồn, do đó tầng Giao vận trên nó phải giải quyết vấn đề thứ tự các gói số liệu Tầng Internet định nghĩa một khuôn dạng gói số liệu và giao thức chính là giao thức IP

Trang 15

Tầng giao vận

Tầng này phải được thiết kế sao cho các thực thể ngang hàng ở máy nguồn và máy đích có thể truyền thông với nhau, tương tự như trong mô hình OSI Tại tầng này, người ta định nghĩa hai giao thức kiểu đầu cuối - đầu cuối là TCP (Transmission Control Protocol) và UDP (User Datagram Protocol)

TCP là giao thức hướng kết nối, bảo đảm, nó vận chuyển dòng byte sinh ra từ máy (nguồn) tới một máy tuỳ ý khác (đích) trong liên mạng mà không có lỗi TCP phân mảnh dòng byte từ các tầng trên đi xuống thành các gói số liệu riêng biệt rồi chuyển từng gói số liệu này xuống cho tầng Internet Tại máy đích, tiến trình TCP nhận và thực hiện lắp ráp các gói số liệu nhận được lại thành dòng byte rồi chuyển lên tầng trên TCP cũng có các chức năng điều khiển lưu lượng và điều khiển tắc nghẽn; các chức năng này sẽ được nghiên cứu kỹ tại mục 1.3 của chương này

UDP là giao thức không hướng kết nối, không bảo đảm (không có sự biên nhận cho gói số liệu UDP), dành cho các ứng dụng không muốn sử dụng các chức năng điều khiển lưu lượng và phân phát các gói số liệu đúng thứ tự của TCP mà muốn tự cung cấp các chức năng này UDP được sử dụng rộng rãi trong các ứng dụng kiểu dùng một lần, khách/chủ và các ứng dụng trong đó việc phân phát tin nhanh chóng quan trọng hơn việc phân phối tin chính xác Mối quan hệ giữa IP, TCP và UDP được thể hiện trên hình 1.3

Hình 1.3 Các giao thức và các mạng trong mô hìnhTCP/IP ban đầu

Trang 16

Tầng Ứng dụng

Tầng ứng dụng chứa tất cả các giao thức bậc cao, hỗ trợ ứng dụng Trong các mô hình đầu tiên, tầng này bao gồm các giao thức TELNET (virtual terminal protocol), FTP (File Transfer Protocol) và SMTP (Simple Mail Transfer Protocol) v.v

Tầng Host-to-Network

Bên dưới tầng Internet là một khoảng trống lớn, mô hình tham chiếu TCP/IP thực

tế hầu như không nói gì về tầng này, ngoài việc chỉ ra rằng máy tính (host) phải nối với mạng bằng cách sử dụng một số giao thức để có thể gửi các gói số liệu IP đi trên mạng Tầng này không được định nghĩa và nó khác nhau trên các máy tính khác nhau cũng như trên các mạng khác nhau [8]

1.3 Điều khiển lưu lượng và điều khiển tắc nghẽn

Nói chung, nếu không có một cơ chế điều khiển nào đối với các lưu lượng đến mạng thì tắc nghẽn là điều chắc chắn sẽ xảy ra Chính vì vậy, cần phải có các quy tắc chi phối việc nhận các lưu lượng từ bên ngoài đi vào mạng, các quy tắc này thường được gọi là các cơ chế điều khiển lưu lượng, việc thực hiện các cơ chế này được gọi là điều khiển lưu lượng Nếu các cơ chế điều khiển lưu lượng không được triển khai thực hiện đúng đắn, nó có thể đưa mạng đến trạng thái bị tắc nghẽn, đó là trạng thái khi lưu lượng đến mạng tăng lên, thông lượng vận chuyển của mạng lại giảm đi Thậm chí tình trạng tắc nghẽn có thể trầm trọng đến mức mạng bị nghẹt hoàn toàn, thông lượng vận chuyển của mạng tụt xuống bằng không, trạng thái này thường được gọi là deadlock [39], [41]

1.3.1 Cơ bản về điều khiển lưu lượng và điều khiển tắc nghẽn

1.3.1.1 Khái niệm

Điều khiển lưu lượng liên quan đến việc vận chuyển giữa một người gửi đã biết

nào đó và một người nhận Nhiệm vụ của nó là đảm bảo rằng bên gửi có tốc độ nhanh không thể tiếp tục truyền dữ liệu nhanh hơn mức mà bên nhận có thể tiếp thu được Điều khiển lưu lượng luôn luôn liên quan đến một sự phản hồi trực tiếp từ

Trang 17

phía người nhận đến người gửi để báo cho bên gửi về khả năng nhận số liệu thực của bên nhận

Điều khiển tắc nghẽn thực hiện nhiệm vụ đảm bảo cho mạng có khả năng vận

chuyển lưu lượng đưa vào, đó là một vấn đề toàn cục, liên quan đến hành vi của mọi nút mạng, quá trình chứa và chuyển tiếp trong mỗi nút mạng và các yếu tố khác

có khuynh hướng làm giảm thông lượng của mạng

Điều khiển lưu lượng và điều khiển tắc nghẽn là hai khái niệm khác nhau, nhưng liên quan chặt chẽ với nhau Điều khiển lưu lượng là để tránh tắc nghẽn, còn điều khiển tắc nghẽn là để giải quyết vấn đề tắc nghẽn khi nó xuất hiện hoặc có dấu hiệu sắp xảy ra Trong thực tế triển khai thực hiện các thuật toán điều khiển lưu lượng và điều khiển tắc nghẽn, nhiều khi cả hai thuật toán này cùng được cài đặt trong một giao thức, thể hiện ra như là một thuật toán duy nhất, thí dụ trong giao thức TCP [26], [27] Trong nhiều tài liệu thuộc lĩnh vực mạng máy tính, hai khái niệm này

được sử dụng như nhau và được coi là đồng nghĩa Trong các phần sau của Luận án

này, tác giả sẽ theo quan điểm đó, các vấn đề về điều khiển lưu lượng và điều khiển tắc nghẽn sẽ được trình bày chung, với tên gọi điều khiển lưu lượng

Các tầng có thể thực hiện điều khiển lưu lượng

Có thể thực hiện điều khiển lưu lượng ở một vài tầng trong mạng, thí dụ:

Điều khiển lưu lượng ở tầng Giao vận: thường được gọi là điều khiển lưu lượng

đầu cuối - đầu cuối: nhằm tránh cho bộ đệm của quá trình nhận tại đích khỏi bị tràn

Điều khiển lưu lượng trên từng chặng: nhằm tránh cho từng đường truyền khỏi bị

tắc nghẽn Tuy nhiên, việc điều khiển lưu lượng trên từng chặng sẽ có ảnh hưởng đến các chặng khác, do đó nó cũng có tác dụng tránh tắc nghẽn cho các đường truyền có nhiều chặng Trong mô hình tham chiếu OSI, điều khiển lưu lượng theo từng chặng được thực hiện ở tầng Liên kết dữ liệu và tầng Mạng

1.3.1.2 Điều khiển lưu lượng theo cơ chế cửa sổ trượt

Đây là một trong các cơ chế điều khiển lưu lượng được sử dụng rộng rãi nhất, có thể áp dụng tại một hay nhiều tầng của mạng, thường là tầng Liên kết dữ liệu, tầng Mạng hay tầng Giao vận

Trang 18

Cơ chế điều khiển lưu lượng bằng cửa sổ trượt cho phép bên gửi phát đi liên tiếp một số gói số liệu nhất định rồi mới phải dừng lại chờ thông báo về kết quả nhận, gọi là biên nhận, trước khi tiếp tục phát Bên nhận điều khiển lưu lượng bằng cách kìm lại hay gửi ngay biên nhận, đó là một gói số liệu điều khiển, hoặc một gói số liệu có chứa thông tin điều khiển, mà bên nhận dùng để báo cho bên gửi biết về việc

đã nhận một hay một số gói số liệu như thế nào Tại mọi thời điểm, bên gửi phải ghi nhớ một danh sách chứa số thứ tự liên tiếp các gói số liệu mà nó được phép gửi đi, các gói số liệu này được gọi là nằm trong cửa sổ gửi Tương tự như vậy, bên nhận cũng duy trì một danh sách gọi là cửa sổ nhận, tương ứng với các gói số liệu mà nó được phép nhận Hai cửa sổ gửi và nhận không nhất thiết phải có độ lớn bằng nhau Người ta đã đề xuất và sử dụng một số phương thức quản lý cửa sổ khác nhau, thí dụ: biên nhận riêng rẽ cho mỗi gói số liệu nhận được, biên nhận ở cuối cửa sổ, biên nhận ở đầu cửa sổ v.v Dưới đây sẽ trình bày hai cách đã được sử dụng phổ biến trong số các cách đã được nêu [31], [41]

Để việc phân tích sự điều khiển lưu lượng theo cơ chế cửa sổ được thuận lợi, chúng tôi sử dụng một số ký hiệu cho các tham số nêu trong bảng 1.1

Bảng 1.1 Định nghĩa các tham số

Tt Thời gian truyền (transmit) một gói số liệu

Tp Thời gian truyền một biên nhận, là tín hiệu cho phép tiếp tục truyền

τ Thời gian trễ lan truyền

W Kích thước cửa sổ, đơn vị là gói số liệu

d Thời gian từ khi bắt đầu truyền gói số liệu đầu tiên trong cửa sổ, cho đến khi nhận được tín hiệu cho phép truyền tiếp

Biên nhận từng gói số liệu

Theo cách quản lý này, mỗi khi nhận được một gói số liệu, bên nhận sẽ gửi một biên nhận cho bên gửi Cửa sổ gửi tương ứng với các gói số liệu đã gửi đi nhưng chưa được biên nhận (hình 1.4a) Khi có một gói số liệu mới từ tầng trên chuyển xuống để gửi đi, nó sẽ được gán số thứ tự lớn nhất tiếp theo, do đó mép trên của cửa

Trang 19

sổ gửi sẽ tăng thêm 1 Nếu cửa sổ tăng tới cực đại thì tiến trình truyền ở tầng trên bị chặn lại, không thể truyền các gói số liệu xuống nữa, cho đến khi có chỗ trống trong vùng nhớ đệm Mỗi gói số liệu sau khi đến đích sẽ được bên nhận biên nhận một cách riêng rẽ Khi biên nhận về đến bên gửi, mép dưới của cửa sổ gửi sẽ được tăng thêm 1, làm cho danh sách các gói số liệu đã truyền nhưng còn chờ biên nhận giảm

đi một phần tử, đồng thời vùng nhớ tương ứng với phần tử đó cũng được giải phóng

để cấp phát cho một gói số liệu mới (hình 1.4b, c) Bằng cách này, cửa sổ gửi luôn ghi nhớ được danh sách các gói số liệu còn chưa được biên nhận Vì các gói số liệu trong cửa sổ gửi có thể bị hỏng hoặc mất trên đường truyền, nên bên gửi phải giữ lại bản sao của chúng trong bộ nhớ đệm để phát lại nếu sau một khoảng thời gian nhất định vẫn không nhận được biên nhận

Hình 1.4 Điều khiển lưu lượng bằng cửa sổ trượt, biên nhận từng gói số liệu

a Trạng thái ban đầu b Gói số 0 được biên nhận c Gói số 1 được biên nhận Các gói số liệu nằm ngoài cửa sổ nhận nếu đến sẽ bị loại bỏ Khi nhận được một gói số liệu có số thứ tự bằng mép dưới của cửa sổ, nó sẽ được truyền cho tầng trên, bên nhận sinh ra một biên nhận gửi tới người gửi và tăng cửa sổ lên một ô Nếu kích thước cửa sổ nhận bằng 1, có nghĩa là nó chỉ chấp nhận các gói số liệu đến theo đúng thứ tự Nếu khác 1 thì không phải như vậy, trong trường hợp này, bên nhận sẽ giữ gói số liệu đến không đúng thứ tự trong bộ đệm, chờ nhận đủ các gói số liệu trong cửa sổ rồi mới chuyển các gói số liệu lên tầng trên theo thứ tự mà bên gửi đã gửi đi Khoảng thời gian chờ này luôn được giới hạn

Trang 20

Biên nhận ở cuối cửa sổ

Đây là cách đơn giản nhất, bên nhận sẽ phát ra một biên nhận sau khi nhận được tất cả các gói số liệu trong cửa sổ nhận Hình 1.5 minh hoạ cho phương pháp này, trong đó nút A truyền thông với nút B, sử dụng một giao thức tựa như giao thức HDLC, kích thước cửa sổ gửi và cửa sổ nhận ban đầu bằng 3 Các gói số liệu đi trên mạng được biểu diễn bằng các mũi tên, kiểu của gói số liệu được ghi bên cạnh mũi tên, ý nghĩa như sau [31]:

Hình 1.5 Điều khiển lưu lượng bằng cửa sổ trượt, biên nhận ở cuối

cửa sổ Kích thước cửa sổ nhận và gửi ban đầu bằng 3

• I n.m: là gói số liệu, với trường số thứ tự gói số liệu N(S) = n, trường biên nhận N(R) = m Bên B cho gói số liệu của nó “cõng” (“piggyback”) biên nhận tới bên

A, việc này giúp nâng cao hiệu quả sử dụng đường truyền Tất nhiên, bên A cũng có thể biên nhận các gói số liệu mà B gửi cho nó bằng cách trên

• RNR 4: là gói số liệu điều khiển, B báo cho A rằng, lúc này nó không thể nhận tiếp các gói số liệu của A, đồng thời biên nhận cho các gói số liệu có số thứ tự nhỏ hơn hoặc bằng 3 Khi nhận được tín hiệu này, A sẽ phải ngừng gửi, chờ cho đến khi nhận được tín hiệu cho phép gửi tiếp của B

• RR 4: là gói số liệu điều khiển, B báo cho A rằng, lúc này nó sẵn sàng nhận tiếp các gói số liệu của A, bắt đầu từ gói số 4

Trang 21

Giả sử rằng bên gửi luôn có sẵn dữ liệu để gửi, còn bên nhận cũng gửi biên nhận ngay sau khi nhận được gói số liệu cuối cùng trong cửa sổ nhận Chúng ta có thể tính được thông lượng trung bình lớn nhất có thể đạt được, dựa trên hình 1.6:

với d = WTt + Tp + 2τ và R là dung lượng đường truyền giữa A và B

Hình 1.6 Điều khiển lưu lượng bằng cửa sổ trượt, biên nhận ở cuối cửa sổ; kích thước cửa sổ W=3

So với cách biên nhận từng gói số liệu, rõ ràng là số lượng biên nhận giảm đi, từ một biên nhận/một gói số liệu, xuống còn một biên nhận/một cửa sổ Thí dụ, nếu kích thước cửa sổ W=8, thì số biên nhận giảm đi 8 lần Tuy nhiên, chúng ta sẽ phải trả giá bằng việc thông lượng truyền bị giảm đi Kết luận này sẽ được làm sáng tỏ bằng các phân tích định lượng, tại Chương 3, mục 3.3

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

Tắc nghẽn

Trong mạng máy tính, tắc nghẽn xảy ra khi số lượng gói số liệu đến nút mạng vượt quá khả năng xử lý của nó hoặc vượt quá khả năng vận tải của các đường truyền ra, điều đó dẫn đến việc thông lượng của mạng bị giảm đi khi lưu lượng đến mạng tăng lên Hiện tượng tắc nghẽn có thể xảy ra ở một hoặc một số nút mạng, hay trên toàn mạng và được miêu tả trên hình 1.7

Trang 22

Hình 1.7 Sự xuất hiện tắc nghẽn trong mạng Khi số lượng gói số liệu đến mạng còn tương đối nhỏ, nằm trong khả năng vận tải của nó, chúng sẽ được phân phát đi hết, số lượng gói số liệu được chuyển đi tỉ lệ thuận với số lượng gói số liệu đến mạng Do luôn có một tỉ lệ gói số liệu phải phát lại do bị lỗi trong quá trình vận chuyển, lưu lượng mà mạng thực sự phải vận chuyển nhìn chung lớn hơn lưu lượng đi qua mạng (thông lượng)

Khi lưu lượng đến cao quá một mức nào đó, các nút mạng không còn đủ khả năng chứa và chuyển tiếp các gói số liệu, do đó các nút mạng bắt đầu phải loại bỏ các gói số liệu Bên gửi sẽ phát lại các gói số liệu không được biên nhận sau một khoảng thời gian nhất định, gọi là thời gian hết giờ Nếu lưu lượng đến mạng tiếp tục tăng lên nữa, tỉ lệ gói số liệu phát lại trên tổng số gói số liệu trong mạng có thể tăng đến 100%, nghĩa là không có gói số liệu nào được phân phát đi cả, thông lượng của mạng giảm xuống bằng không, mạng bị nghẹt hoàn toàn

Một số yếu tố có thể dẫn đến tắc nghẽn, ngay cả khi lưu lượng đi vào mạng thấp hơn khả năng vận tải của mạng Chẳng hạn, khi số lượng gói số liệu đến trên hai hoặc ba lối vào của một nút mạng đều cần đi ra trên cùng một đường truyền để đến đích, chúng sẽ phải xếp hàng đợi được truyền đi Nếu tình trạng trên kéo dài, hàng đợi sẽ dài dần ra và đầy, không còn chỗ cho các gói số liệu mới đến, chúng bị loại

bỏ và sẽ được phát lại, làm tăng tỉ lệ gói số liệu phát lại trong mạng Biện pháp khắc phục bằng cách tăng kích thước hàng đợi (bộ nhớ) tại các nút mạng trong một chừng mực nào đó là có ích, tuy nhiên, người ta đã chứng minh được rằng, tăng kích thước hàng đợi quá một giới hạn nào đó sẽ không mang lại lợi ích gì, thậm chí còn có thể làm cho vấn đề tắc nghẽn tồi tệ hơn Đó là vì các gói số liệu sẽ bị hết giờ

Trang 23

ngay trong quá trình xếp hàng, bản sao của chúng đã được bên gửi phát lại rồi, làm tăng số lượng gói số liệu phát lại trong mạng [1], [38], [41]

Tốc độ xử lý chậm của các nút mạng cũng là một nguyên nhân quan trọng gây nên tắc nghẽn, bởi vì chúng có thể sẽ làm hàng đợi bị tràn ngay cả khi lưu lượng gói

số liệu đến nút mạng nhỏ hơn năng lực vận tải của đường truyền đi ra

Các đường truyền dung lượng thấp cũng có thể gây ra tắc nghẽn Việc tăng dung lượng đường truyền nhưng không nâng cấp bộ xử lý tại nút mạng, hoặc chỉ nâng cấp từng phần của mạng đôi khi cũng cải thiện được tình hình đôi chút, nhưng thường chỉ làm cái “cổ chai”, nơi xảy ra tắc nghẽn, dời đi chỗ khác mà thôi Giải quyết vấn đề tắc nghẽn nói chung, cần đến các giải pháp đồng bộ

Tắc nghẽn có khuynh hướng tự làm cho nó trầm trọng thêm Nếu một nút mạng nào đó bị tràn bộ đệm, gói số liệu đến sẽ bị loại bỏ, trong khi đó nút mạng bên trên, phía người gửi, vẫn phải giữ bản sao của gói số liệu đã gửi trong hàng đợi, cho đến khi hết giờ để phát lại Việc phải giữ bản sao gói số liệu trong hàng đợi để chờ biên nhận, cộng thêm việc có thể phải phát lại gói số liệu một số lần có thể làm cho hàng đợi tại chính nút trên cũng có thể bị tràn Sự tắc nghẽn lan truyền ngược trở lại phía nguồn phát sinh ra gói số liệu

Các giải pháp điều khiển tắc nghẽn

Vấn đề điều khiển tắc nghẽn có thể được giải quyết theo quan điểm của Lý thuyết điều khiển Theo cách tiếp cận này, có thể chia các giải pháp thành hai nhóm: các giải pháp Vòng lặp mở (Open loop) và các giải pháp Vòng lặp đóng (Closed loop) Theo các giải pháp vòng lặp mở, tắc nghẽn sẽ được giải quyết bằng việc thiết

kế tốt, đảm bảo sao cho tắc nghẽn không xảy ra Một hệ thống như vậy phải có khả năng quyết định khi nào thì nhận thêm các lưu lượng mới vào, khi nào thì loại bỏ các gói số liệu và loại các gói số liệu nào Các quyết định này phải theo lịch trình và phải có ở từng nút mạng, chúng được hệ thống đưa ra mà không xem xét đến trạng thái hiện thời của mạng

Trái lại, các giải pháp vòng lặp đóng lại dựa trên khái niệm về vòng phản hồi (feedback loop), chúng gồm có ba phần, hay ba bước như sau:

Trang 24

Bước một: theo dõi hệ thống để phát hiện tắc nghẽn xảy ra khi nào và ở đâu

Việc phát hiện tắc nghẽn có thể dựa trên một số độ đo khác nhau Các độ đo thường được sử dụng là tỉ lệ gói số liệu bị loại bỏ do thiếu bộ đệm, chiều dài trung bình của hàng đợi, số gói số liệu phải phát lại do bị hết giờ, thời gian trễ trung bình của gói

số liệu khi đi qua mạng v.v Sự tăng lên của các số đo này nói lên rằng tắc nghẽn đang tăng lên trong mạng

Bước hai: nơi phát hiện ra tắc nghẽn cần phải chuyển thông tin về sự tắc nghẽn đến những nơi có thể phản ứng lại Một cách thực hiện rất đơn giản là nút mạng

phát hiện ra tắc nghẽn sẽ gửi gói số liệu đến các nguồn sinh lưu lượng trên mạng, báo tin về sự cố Tất nhiên, việc này sẽ làm tăng thêm lưu lượng đưa vào mạng đúng lúc lẽ ra phải giảm đi Người ta cũng đã đề xuất và thực hiện một số cách khác nữa Chẳng hạn, nút mạng phát hiện ra tắc nghẽn sẽ đánh dấu vào một bit hay một trường định trước của mọi gói số liệu trước khi gói số liệu được nút mạng chuyển tiếp đi, nhằm loan báo cho các nút mạng khác về trạng thái tắc nghẽn Có thể nêu ra một cách thực hiện khác nữa, đó là làm cho các nút mạng đều đặn gửi đi các gói số liệu thăm dò để biết tình trạng của mạng

Bước ba: điều chỉnh lại hệ thống để sửa chữa sự cố Các cơ chế thực hiện phản

hồi đều nhằm mục đích là để các máy tính trên mạng có những phản ứng phù hợp nhằm làm giảm tắc nghẽn Nếu phản ứng xảy ra quá nhanh, lưu lượng trong hệ thống sẽ thăng giáng mạnh và không bao giờ hội tụ Nếu phản ứng quá chậm, việc điều khiển tắc nghẽn có thể không có ý nghĩa thực tế gì nữa Chính vì vậy, để cơ chế phản hồi có hiệu quả, cần phải sử dụng một số cách tính trung bình [26], [27]

1.3.2 Điều khiển lưu lượng trong giao thức TCP

1.3.2.1 Giao thức TCP ban đầu

Giao thức TCP được xây dựng dựa trên các khái niệm được Cerf và Kahn đưa ra đầu tiên [10] Đó là giao thức hướng kết nối, kiểu đầu cuối - đầu cuối, tin cậy, được thiết kế phù hợp với kiến trúc phân lớp các giao thức Giao thức TCP cung cấp sự truyền thông tin cậy giữa hai tiến trình chạy trên hai máy tính ở các mạng khác nhau

Trang 25

nhưng kết nối với nhau Giao thức TCP có khả năng gửi và nhận liên tiếp các đơn vị

dữ liệu chiều dài có thể thay đổi, được gọi là phân đoạn (segment), mỗi phân đoạn được đóng gói trong một “phong bì” và tạo nên một gói số liệu IP Khi thiết kế TCP người ta giả thiết rằng TCP sẽ nhận được các dịch vụ vận chuyển gói số liệu không tin cậy (không có sự biên nhận cho các gói số liệu) do các giao thức ở các tầng bên dưới cung cấp Về nguyên tắc, TCP phải có khả năng hoạt động bên trên một miền rất rộng các hệ thống truyền thông, từ các mạng có các đường truyền cố định, tới các mạng chuyển mạch gói và các mạng chuyển mạch cứng

Để có thể thực hiện chức năng chính là vận chuyển dữ liệu hiệu quả và tin cậy, TCP phải có khả năng thực hiện các chức năng cơ bản sau:

Dồn kênh: Để nhiều tiến trình trên một máy tính có thể đồng thời truyền thông

qua mạng với các tiến trình trên các máy tính khác trên Internet, giao thức TCP cung cấp một giao diện giữa tầng ứng dụng và tầng giao vận, gọi là socket Socket được đặc trưng bởi số hiệu cổng (port) và địa chỉ IP Mỗi một socket có thể được nhiều kết nối sử dụng đồng thời

Kết nối: Để đảm bảo việc vận chuyển tin cậy và thực hiện được cơ chế điều

khiển lưu lượng, TCP phải khởi tạo và duy trì một số thông tin trạng thái cho mỗi dòng dữ liệu Sự kết hợp các thông tin này, bao gồm socket, số thứ tự gói số liệu và kích thước cửa sổ, được gọi là kết nối Mỗi một kết nối được xác định rõ ràng, duy nhất bởi một cặp socket thuộc hai đầu kết nối đó

Đảm bảo sự vận chuyển tin cậy: TCP phải khôi phục lại được gói số liệu bị

hỏng, bị mất, bị lặp hoặc bị phân phát sai thứ tự do hệ thống truyền thông gây ra Điều này có thể đạt được bằng cách gán số thứ tự cho mỗi byte được truyền đi và biên nhận đã nhận đúng (ack) từ bên nhận của kết nối TCP Nếu bên gửi không nhận được biên nhận trong khoảng thời gian hết hạn, nó sẽ phát lại gói số liệu Bên nhận sẽ kiểm tra số thứ tự các gói số liệu nhận được và loại bỏ các gói số liệu không đúng thứ tự hoặc trùng lặp Các gói số liệu không đúng thứ tự sẽ phải được phát lại

Điều khiển lưu lượng bằng cửa sổ: TCP cung cấp phương tiện cho bên nhận

để nó điều khiển lưu lượng mà bên gửi phát đi; đó là trường “cửa sổ” trong gói tin

Trang 26

biên nhận Trường này chỉ ra miền số thứ tự các byte mà nó sẽ chấp nhận, tiếp sau byte mà nó đã nhận thành công Người ta giả thiết rằng con số này liên quan đến không gian nhớ đệm dữ liệu dành cho kết nối này, mà bên nhận hiện đang có để sử dụng Việc chỉ ra một cửa sổ lớn sẽ khuyến khích việc phát, nhưng nếu dữ liệu đến nhiều hơn mức có thể nhận, chúng sẽ bị loại bỏ và sẽ dẫn đến việc phải phát lại quá nhiều Việc chỉ ra một cửa sổ nhỏ sẽ hạn chế việc phát dữ liệu, có thể làm thời gian trễ của mỗi gói số liệu gửi đi tăng thêm một lượng bằng khoảng thời gian khứ hồi Bên gửi của kết nối TCP phải có khả năng nhận và gửi được ít nhất một byte dữ liệu mới từ người sử dụng, ngay cả khi cửa sổ gửi đã bằng không Ngoài ra, bên nhận cũng phải đều đặn gửi lại cho bên gửi một gói số liệu (“rỗng”) khi cửa sổ gửi của nó đã bằng không Khoảng thời gian gửi lại đều đặn đó được gợi ý lấy bằng hai phút [49] Các khả năng trên đảm bảo mỗi bên của kết nối TCP có thể báo cho bên kia của kết nối rằng, nó vẫn “còn sống”, đồng thời có thể báo cho bên kia biết rằng

nó đã sẵn sàng nhận thêm dữ liệu Khi cửa sổ nhận bằng không, nếu có một gói số liệu đến, nó phải có khả năng gửi biên nhận, cho bên gửi biết số thứ tự gói số liệu tiếp theo mà nó đang chờ và giá trị cửa sổ nhận hiện thời

Xác lập thứ tự ưu tiên và thực hiện bảo mật: Người sử dụng dịch vụ của giao

thức TCP có thể chỉ ra mức ưu tiên (Precedence) và bảo mật (Security) của kết nối được sử dụng TCP sẽ gán các giá trị tương ứng cho các trường “Type of service”

và trường “Security option” trong gói tin IP [49]

1.3.2.2 Nguyên lý “Bảo toàn các gói số liệu” và các nguyên nhân vi phạm

Mạng Internet đã phát triển một cách bùng nổ trong hơn 30 năm qua, trong quá trình đó cũng đã xảy ra những sự cố tắc nghẽn nghiêm trọng, mạng đã liên tiếp bị sụp vì tắc nghẽn Người ta đã tiến hành điều tra và phát hiện ra rằng, hầu hết nguyên nhân nằm trong việc triển khai thực hiện giao thức TCP, chứ không phải ở chính bản thân giao thức này Những cách thức được sử dụng để triển khai thực hiện giao thức TCP dựa trên cửa sổ đã gây ra hành vi sai trong phản ứng với tắc nghẽn mạng Người ta cũng đã đưa ra các thí dụ về hành vi sai và mô tả một số thuật toán đơn giản để giải quyết vấn đề [26] Các thuật toán này bắt nguồn từ ý tưởng về việc đạt

Trang 27

được sự ổn định của mạng, bằng cách bắt buộc kết nối tầng Giao vận tuân theo nguyên lý “Bảo toàn các gói số liệu”; nếu nguyên lý này được tuân theo, thì sự sụp mạng do tắc nghẽn sẽ rất khó xảy ra Khái niệm “bảo toàn các gói số liệu” có nghĩa

là đối với một kết nối đang chạy ổn định, với số gói số liệu đang đi trong đó bằng

kích thước của cửa sổ, chỉ được phép đưa một gói số liệu mới vào trong mạng khi

có một gói số liệu cũ đi ra khỏi mạng

Như vậy, sự điều khiển tắc nghẽn liên quan đến việc tìm ra những nơi vi phạm nguyên lý bảo toàn và sửa chữa chúng

Hình 1.8 Điều khiển lưu lượng bằng cửa sổ, tự giữ nhịp độ đưa gói tin mới vào

mạng (Window Flow Control “Self-clocking”) [26]

Hình 1.8 minh hoạ cho việc thực hiện nguyên lý “Bảo toàn các gói số liệu”, theo

cơ chế điều khiển lưu lượng bằng cửa sổ, tự giữ nhịp độ đưa gói tin mới vào mạng Một người gửi đang truyền thông với một người nhận Người gửi và người nhận đang ở trên các mạng có dải thông rộng (thí dụ mạng LAN), được biểu diễn bằng các đường ống lớn; hai mạng này kết nối với nhau qua một mạng dải thông hẹp và

cự ly dài, được biểu diễn bằng các đường ống nhỏ Đường kính của các đường ống biểu diễn dải thông của đường truyền, còn chiều dài của các đường ống biểu diễn chiều dài đường truyền, cũng tức là thời gian trễ truyền

Trang 28

Trên hình 1.8, người gửi đang gửi một cửa sổ đầy các gói số liệu nối tiếp nhau đi vào mạng trung gian (ống nhỏ) và biên nhận cho gói số liệu đầu tiên vừa về đến bên gửi Mỗi gói số liệu được biểu diễn bằng một hình chữ nhật tô màu xám, chiều cao bằng dải thông của mạng mà gói số liệu đang đi qua, chiều rộng bằng thời gian truyền gói số liệu; như vậy, diện tích của hình chữ nhật bằng kích thước của nó tính bằng bit Bởi vì diện tích hình chữ nhật biểu diễn gói số liệu không thay đổi khi đi qua các mạng, cho nên nó sẽ bị ép co hẹp lại khi đi trong mạng dải thông rộng và sẽ

bị kéo rộng ra khi đi trong mạng dải thông hẹp Pb biểu diễn khoảng cách thời gian nhỏ nhất giữa hai gói số liệu trong đường truyền dải thông hẹp nhất Pr là khoảng cách thời gian giữa hai gói số liệu trong mạng của người nhận, điều hiển nhiên là

Pr=Pb Ar và As biểu diễn khoảng cách thời gian giữa hai gói số liệu biên nhận trong mạng dải thông hẹp và mạng dải thông rộng Nếu thời gian xử lý của người nhận là như nhau đối với mọi gói số liệu thì Ar = Pr = Pb = As Từ đó, có thể thấy rằng cự ly giữa các gói số liệu biên nhận được bảo toàn trên đường trở về bên gửi, do vậy cứ mỗi khi nhận được một biên nhận, có thể gửi một gói số liệu mới vào mạng và

“nguyên lý bảo toàn các gói số liệu” được tuân theo!

Nguyên lý “Bảo toàn các gói số liệu” không được thực hiện đúng

Các quan sát trên mạng Internet cho thấy rằng, hệ thống “Bảo toàn các gói số liệu” như trên không được thực hiện đúng Người ta đã chỉ ra ba nguyên nhân [26]:

Nguyên nhân thứ nhất: Kết nối không đạt tới sự cân bằng Khi kết nối yêu cầu

sử dụng tài nguyên vượt quá khả năng của mạng, mạng sẽ loan báo bằng cách rất đơn giản là vứt bỏ các gói số liệu đi đến, nhưng khi kết nối sử dụng ít tài nguyên hơn phần dành cho nó, mạng sẽ không có phản ứng gì, do đó kết nối không thể biết được điều đó Vì vậy, chính kết nối phải tăng việc sử dụng dải thông của nó lên để biết được giới hạn hiện thời và nó chỉ có thể tìm ra giới hạn đó sau một lần sử dụng vượt quá mức dải thông dành cho nó

Nguyên nhân thứ hai: Người gửi đã đưa một gói số liệu mới vào mạng trước khi có một gói số liệu cũ ra khỏi mạng Trong mạng, việc mất gói số liệu là không

thể tránh khỏi, vì thế vấn đề là ở chỗ người gửi sẽ gửi lại gói số liệu bị mất nhanh

Trang 29

đến mức nào, cự ly giữa các gói số liệu được gửi lại như thế nào mà vẫn đảm bảo được sự bảo toàn các gói số liệu Vấn đề nêu trên liên quan tới đồng hồ phát lại của người gửi, trong đó bộ ước lượng thời gian khứ hồi là quan trọng nhất, nó giúp cho mạng tránh khỏi bị sụp vì tắc nghẽn khi tải nặng Tuy nhiên, việc ước lượng thời gian khứ hồi lại thường xuyên bị thất bại, bởi vì về nguyên tắc, hình trạng mạng và

số lượng các kết nối đang tranh chấp tài nguyên là không thể biết được Sai lầm thứ

nhất dẫn đến thất bại là người gửi không thể đánh giá được đúng độ biến thiên

(variation) σR của thời gian khứ hồi Sai lầm thứ hai dẫn đến thất bại nằm trong sự

chọn khoảng thời gian rút lui mỗi khi việc khi phát lại bị thất bại [45]

Nguyên nhân thứ ba: Không đạt được sự cân bằng do có sự hạn chế các tài nguyên mạng dọc theo đường truyền Nếu các đồng hồ hoạt động tốt, thì có thể

khẳng định khá chắc chắn rằng sự kiện hết giờ chỉ ra việc gói số liệu bị mất Các gói

số liệu bị mất do hai nguyên nhân: bị hỏng trong khi đang được vận chuyển hoặc bị loại bỏ tại một nút mạng nào đó, do khi gói số liệu đến, nút không còn bộ đệm trống

để nhận nó vào

Dưới đây, chúng tôi trình bày tóm tắt các thuật toán đã được người ta [26] đề xuất để khắc phục các nguyên nhân dẫn đến sự vi phạm nguyên lý “Bảo toàn các gói số liệu”

1.3.2.3 Khởi động chậm

Thuật toán khởi động chậm (SS, Slow Start) khắc phục nguyên nhân thứ nhất

dẫn tới việc vi phạm nguyên lý “Bảo toàn các gói số liệu”: Tăng dần lượng dữ liệu

đang được vận chuyển trong mạng để đạt tới sự cân bằng Thuật toán được trình

bày cụ thể hơn như sau:

• Bổ sung thêm tham số cửa sổ tắc nghẽn cwnd (congestion window) vào tập trạng thái của mỗi kết nối

• Khi bắt đầu phát hoặc bắt đầu lại việc phát sau khi có gói số liệu bị mất, đặt cwnd bằng một gói số liệu

• Mỗi khi nhận được một biên nhận mới, tăng cwnd lên một gói số liệu

Trang 30

• Khi gửi, gửi số lượng gói số liệu là min của kích thước cửa sổ mà hai bên đã thoả thuận và cwnd

Thực ra, theo cơ chế khởi động chậm, cửa sổ tăng lên theo hàm mũ, nó đạt tới

kích thước W sau thời gian bằng RTT.log2W, trong đó RTT là thời gian khứ hồi và

W tính bằng đơn vị gói số liệu Điều này có nghĩa là cửa sổ mở đủ nhanh để ảnh hưởng không đáng kể đến hiệu năng, ngay cả trên các đường truyền có tích số dải

thông x độ trễ lớn Theo thuật toán này, người gửi sẽ truyền dữ liệu với tốc độ khi

cao nhất là gấp đôi giá trị cực đại có thể của đường truyền Chính vì vậy, giai đoạn

khởi động chậm cần phải được kết thúc khi cửa sổ W đạt tới một ngưỡng nhất định

Hình 1.9 Sự tăng của cửa sổ trong cơ chế khởi động chậm Hình 1.9 minh hoạ sự tăng của cửa sổ trong cơ chế khởi động chậm Trục thời gian được cắt thành các đoạn có chiều dài bằng khoảng thời gian khứ hồi RTT, các đoạn này được chồng lên nhau theo chiều đứng, hướng trên-dưới ứng với chiều tăng của thời gian Các gói số liệu được biểu diễn bằng các hình chữ nhật màu xám, bên trong là số thứ tự của gói số liệu Các hình vuông nhỏ, không tô màu, có đánh số, biểu diễn cho các gói số liệu biên nhận tương ứng Trên hình vẽ có thể thấy rõ, mỗi khi có một biên nhận trở về, hai gói số liệu sẽ được phát ra: một gói tương ứng với

Trang 31

biên nhận (vì mỗi biên nhận cho biết rằng đã có một gói số liệu rời khỏi mạng, do

đó cần gửi đi một gói thế chỗ cho nó), còn gói thứ hai là do biên nhận đã làm tăng cửa sổ lên một đơn vị gói số liệu Hai gói số liệu này được vẽ chồng lên nhau, thể hiện rằng chúng cần được phát đi đồng thời, tuy nhiên, trong thực tế chỉ có thể phát chúng đi lần lượt, do đó trong khi một gói số liệu đang được phát đi, gói số liệu còn lại trong cửa sổ sẽ phải nằm chờ trong hàng đợi Khi cửa sổ mở rộng đến kích thước

W, thì trong hàng đợi có thể có đến 2xW gói số liệu đang xếp hàng chờ được gửi đi

1.3.2.4 Tính thời gian khứ hồi một cách thông minh

Tính thời gian khứ hồi một cách thông minh là cách khắc phục nguyên nhân thứ hai dẫn tới việc vi phạm nguyên lý “Bảo toàn các gói số liệu”, đó là việc đưa vào mạng một gói tin mới trước khi có một gói tin cũ ra khỏi mạng Như đã được trình bày tại tiểu mục 1.3.2.2, có hai sai lầm dẫn đến nguyên nhân thứ hai này, cách giải quyết chúng được trình bày dưới đây

Cách giải quyết sai lầm thứ nhất: tính ước lượng thời gian khứ hồi bằng một

bộ lọc dải thông thấp để tránh cho đại lượng này khỏi thăng giáng quá mạnh nhằm duy trì sự cân bằng Đặc tả cho giao thức TCP, RFC-793 [49] gợi ý tính ước

lượng thời gian khứ hồi như sau:

RTT ←α.RTT+(1-α).M (1-2) Trong đó RTT là ước lượng thời gian khứ hồi trung bình, M là số đo thời gian khứ hồi nhận được từ gói số liệu đã được biên nhận gần nhất và α là hệ số làm trơn của bộ lọc, giá trị mà người ta gợi ý nên sử dụng là α=0.9

Tác dụng làm trơn các thăng giáng của thời gian khứ hồi theo thuật toán trên, với một vài giá trị của α, có thể minh họa bằng thí dụ sau Giả sử với mỗi gói tin được biên nhận (received_ack), được đánh số từ 1 20, chúng ta đo được thời gian khứ hồi M, từ đó tính được thời gian khứ hồi được làm trơn RTT, như được trình bày trên Bảng 1.2 và được biểu diễn bằng đồ thị trên hình 1.10

Trang 32

Bảng 1.2 Tính RTT từ M cho mỗi gói tin được biên nhận

M (new_rtt) 1 1.2 0.8 0.6 1.2 1.4 2 1.8 1.2 1 RTT (α = 0.9) 1 1.02 1 0.96 0.98 1.02 1.12 1.19 1.19 1.17 RTT (α = 0.4) 1 1.04 0.99 0.91 0.97 1.6 1.25 1.36 1.33 1.26 RTT (α = 0.2) 1 1.16 0.87 0.65 1.09 1.34 1.87 1.81 1.32 1.06

Received_ack 11 12 13 14 15 16 17 18 19 20

RTT (α = 0.9) 1.13 1.11 1.09 1.07 1.06 1.06 1.05 1.05 1.04 1.04 RTT (α = 0.4) 1.17 1.11 1.07 1.04 1.03 1.02 1.02 1.02 1.01 1.01 RTT (α = 0.2) 0.85 0.89 0.9 0.9 0.98 1 1 1 1 1

Hình 1.10 Thời gian trễ khứ hồi được làm trơn RTT Sau khi ước lượng về RTT đã được cập nhật, thì thời gian hết giờ để phát lại gói

số liệu tiếp theo, RTO (retransmit timeout) được tính như sau:

Cần phải chọn β sao cho việc phát lại do hết giờ không bị sai lầm do thăng giáng của thời gian khứ hồi; nghĩa là làm cho xác suất thời gian khứ hồi của một gói tin

Trang 33

lớn hơn RTO là rất nhỏ Chính vì vậy, β cần được chọn không quá nhỏ, có thể sẽ dẫn đến việc phát lại vội vàng, khi gói tin vẫn đang ở trong mạng; β cũng không được chọn quá lớn, có thể sẽ dẫn đến việc phát lại quá chậm trễ, gói tin bị mất từ lâu, mà bên gửi vẫn chờ cho hết giờ rồi mới phát lại

Trong các phiên bản TCP được cài đặt đầu tiên, người ta thường chọn β là một số

cố định bằng 2 Tuy nhiên, các nghiên cứu thực nghiệm sau này cho thấy rằng, RTT thăng giáng trong một miền tương đối rộng, vì vậy không nên chọn β theo cách đơn giản như trên Công trình đầu tiên đề xuất việc cải tiến thuật toán tính RTO của Jacobson được công bố năm 1988 [26] Ông đã đề xuất cách làm cho β xấp xỉ tỉ lệ với độ lệch chuẩn của hàm mật độ xác suất thời gian đến của biên nhận Cụ thể là,

sử dụng độ lệch trung bình như một ước lượng rẻ (cheap estimator) của độ lệch chuẩn Thuật toán này đòi hỏi phải tính một biến nữa là độ lệch được làm trơn D, như sau:

D = α.D + (1-α).|RTT-M| (1-4) Trong đó, các tham số RTT và M hoàn toàn tương tự như trong biểu thức (1-2), còn α ở đây không nhất thiết phải có cùng giá trị như tham số α trong biểu thức đó Jacobson đã chỉ ra rằng, mặc dù D không hoàn toàn giống độ lệch chuẩn, nhưng nó cũng là một xấp xỉ đủ tốt Cách tính D như trên nhằm đạt được tốc độ cao nhất, chỉ

sử dụng các phép tính cộng, trừ và dịch trên các số nguyên Ngày nay, các phiên bản TCP đều sử dụng thuật toán này và tính thời gian hết giờ để phát lại như sau:

Sử dụng hệ số 4 có hai ưu điểm, thứ nhất là việc nhân với 4 sẽ được thực hiện bởi phép dịch, có tốc độ thực hiện cao; thứ hai là, xác suất một gói tin được biên nhận chậm hơn RTO là rất nhỏ, có thể bỏ qua [8], [26]

Cách giải quyết sai lầm thứ hai: rút lui theo hàm mũ Đây là cách giải quyết

duy nhất đúng đắn, bởi vì theo cơ chế khởi động chậm, cửa sổ gửi tăng lên theo hàm mũ, cho nên cũng cần phải rút lui theo cách này cho đủ nhanh khi đã có dấu hiệu của tắc nghẽn TCP sẽ đặt đồng hồ phát lại bằng khoảng thời gian rút lui và

Trang 34

khoảng đó sẽ được tăng gấp đôi cứ mỗi lần bị hết giờ liên tiếp Cơ chế rút lui này được giải thích tỉ mỉ trong [26], [41]

1.3.2.5 Tránh tắc nghẽn

Thuật toán tránh tắc nghẽn (CA, Congestion Avoidance) nhằm khắc phục nguyên nhân thứ ba dẫn tới việc vi phạm nguyên lý “Bảo toàn các gói số liệu” Một chiến

lược tránh tắc nghẽn như được đề xuất trong [28], bao gồm hai thành phần: thứ

nhất là các chính sách của mạng: mạng phải có khả năng gửi tín hiệu đến cho các

thực thể cuối của các kết nối (endpoint), báo cho chúng biết là tắc nghẽn đang xảy

ra hoặc sắp xảy ra; thứ hai là các chính sách của endpoint: các endpoint phải có

chính sách giảm lưu lượng đưa vào mạng nếu nhận được các tín hiệu báo và tăng thêm lưu lượng đưa vào mạng nếu không nhận được tín hiệu báo này

Chính sách của endpoint đối với tắc nghẽn: thích ứng với đường truyền

Đó chính là chính sách tăng theo cấp số cộng, giảm theo cấp số nhân, như đã được triển khai thực hiện trong BSD [26]; chính sách đó được giải thích như sau:

− Mỗi khi xảy ra sự kiện hết giờ, đặt giá trị cửa sổ tắc nghẽn cwnd bằng một phần hai giá trị cửa sổ hiện thời Đó là sự giảm theo cấp số nhân

− Mỗi khi nhận được một biên nhận cho gói số liệu mới, tăng cwnd thêm một lượng bằng 1/cwnd, đây là sự tăng theo cấp số cộng (Trong giao thức TCP, kích thước cửa sổ và kích thước gói số liệu được tính bằng byte, vì thế sự tăng nói

trên được chuyển thành maxseg*maxseg/cwnd, trong đó maxseg là kích thước gói số liệu cực đại và cwnd là cửa sổ tắc nghẽn, được tính bằng bytes)

− Khi gửi, sẽ gửi đi số gói số liệu bằng số bé hơn trong hai số: kích thước cửa sổ

mà bên nhận đã đề nghị và cwnd

Trong thực tế, các thuật toán Khởi động chậm (SS) và Tránh tắc nghẽn (CA) đã được triển khai thực hiện cùng với nhau như là một thuật toán, thuật toán này sẽ được trình bày chi tiết tại nhóm tiểu mục “4.1.1 Tahoe TCP”

Trang 35

Chính sách của mạng đối với tắc nghẽn

Đó là các chính sách làm cho mạng, cụ thể là các gateways gửi tín hiệu báo tắc nghẽn tới các máy tính trên mạng càng sớm càng tốt, nhưng đừng quá sớm, tránh cho mạng khỏi bị thiếu lưu lượng vận chuyển Gateway chỉ phải làm công việc loại

bỏ các gói số liệu để báo cho các thực thể đã gửi các gói số liệu rằng: chúng đã sử dụng quá phần tài nguyên mạng dành cho chúng Chính vì thế, các thuật toán tại gateway sẽ làm giảm tắc nghẽn ngay cả khi không phải sửa đổi giao thức giao vận ở các máy tính trên mạng, để thực hiện việc tránh tắc nghẽn Đồng thời các máy tính trên mạng có triển khai thực hiện tránh tắc nghẽn sẽ nhận được phần dải thông hợp

lý dành cho nó và chỉ bị mất một số lượng tối thiểu các gói số liệu

Bởi vì tắc nghẽn tăng lên theo hàm mũ, cho nên việc phát hiện sớm là quan trọng Nếu tắc nghẽn được phát hiện sớm, thì chỉ cần một vài điều chỉnh nhỏ đối với cửa sổ của người gửi cũng có thể giải quyết được vấn đề; ngược lại, sẽ phải điều chỉnh rất nhiều để mạng có thể chuyển hết đống gói số liệu tắc nghẽn trong mạng ra ngoài Tuy nhiên, do bản chất luôn thăng giáng mạnh của lưu lượng, phát hiện tắc nghẽn sớm một cách tin cậy là một việc khó

1.4 Kết nối mạng không dây với Internet và các vấn đề nảy sinh

1.4.1 Các mạng truyền thông không dây số hiện đại

Các mạng truyền thông không dây số hiện đại có thể được chia làm ba loại chính: 1/ Kết nối hệ thống (System interconnection); 2/ Mạng LAN không dây và 3/ Mạng WAN không dây [8]

Loại thứ nhất được sử dụng để kết nối các thành phần của một hệ thống máy tính lại với nhau trong cự ly ngắn; thí dụ, kết nối bàn phím, con chuột, máy in v.v với máy tính Bluetooth là một mạng thuộc loại này, quan hệ giữa máy tính với các thiết

bị theo mô hình chủ-tớ (Master-Slave) Hình 1.11a minh hoạ một mạng như vậy Loại thứ hai là mạng LAN không dây, trong đó mỗi máy tính có một modem vô tuyến để truyền thông với các máy tính khác trong cùng mạng Nếu các máy tính ở gần nhau, chúng có thể truyền thông trực tiếp với nhau theo kiểu ngang hàng (peer-

Trang 36

to-peer), mạng như vậy được gọi là mạng đặc biệt hay mạng ad-hoc (Hình 1.11b) Thông thường, trong mạng LAN không dây có một thiết bị đặc biệt được gọi là trạm cơ sở (Base station), các máy tính trong mạng truyền thông với nhau thông qua trạm này Trạm cơ sở cũng thường nối với mạng có dây, là cửa ngõ nối mạng không dây với Internet (Hình 1.11c) Trường hợp mạng LAN không dây có nhiều máy tính được phân bố trong một diện tích tương đối rộng, người ta có thể sử dụng nhiều trạm cơ sở nối với nhau bằng các đường truyền có dây, mỗi trạm cơ sở đảm bảo việc truyền thông cho một nhóm máy Mạng LAN gồm nhiều nhóm này nối với các mạng có dây (Internet) bằng một thiết bị có tên gọi là Portal (Hình 1.11d)

Hình 1.11 Mạng LAN không dây kết nối với Internet qua trạm cơ sở

Loại mạng không dây thứ ba được dùng trong các hệ thống truyền thông diện rộng; thí dụ, các hệ thống điện thoại di động kiểu tế bào (cellular) Các hệ thống điện thoại di động đã phát triển qua ba thế hệ Thế hệ thứ nhất - 1G (1st Generation) theo công nghệ tương tự (analog), chỉ truyền được tiếng nói Thế hệ 1G được xây dựng dựa trên ý tưởng tái sử dụng dải tần số vô tuyến, bằng cách chia không gian thành một cấu trúc kiểu tế bào, trong các tế bào không giáp nhau có thể sử dụng cùng một dải tần số Nhờ vậy, về nguyên tắc, với một miền tần số hữu hạn, hệ thống

Trang 37

có thể phục vụ số lượng người sử dụng không hạn chế Hệ thống này còn có khả năng chuyển cuộc gọi, khi người sử dụng đi từ tế bào này sang tế bào khác Tuy nhiên, do trình độ công nghệ ở thời kỳ này còn thấp, các thiết bị di động (điện thoại)

có giá thành cao, kích thước lớn, tiêu thụ nhiều năng lượng, nên nói chung, chúng thường được gắn cố định trên các xe cộ Cuối thập kỷ 80, nhờ các tiến bộ của công nghệ bán dẫn, giá thành, kích thước và năng lượng tiêu thụ của thiết bị di động đã giảm xuống rất nhiều, nhờ đó có thể mang chúng theo người một cách thuận lợi, dẫn đến sự bùng nổ số lượng người sử dụng

Các hệ thống di động không dây thế hệ thứ hai (2G) theo các tiêu chuẩn công nghệ số, được thiết kế nhằm mục đích chính là truyền tiếng nói Một số hệ điển hình

là GSM (Global System for Mobile Communications), IS-136, IS-95 v.v Công nghệ số không chỉ nâng cao chất lượng âm thanh và dịch vụ, mà quan trọng hơn là

nó còn làm giảm giá thành thiết bị di động cũng như giá thành cơ sở hạ tầng của hệ thống Các hệ thống 2G có khả năng cung cấp dịch vụ chuyển mạch gói, thí dụ dịch

vụ GPRS (General Packet Radio Service) hỗ trợ việc truy cập các dịch vụ trên Internet song song với việc sử dụng các dịch vụ khác của hệ thống Các hệ thống 2G ưu việt hơn hẳn các hệ thống 1G, nhờ đó số người sử dụng cũng lớn hơn rất nhiều

Các hệ thống di động không dây thế hệ thứ ba (3G) được phát triển có tính chất

kế thừa từ các hệ thống 2G; có thể truyền cả tiếng nói lẫn dữ liệu Các hệ thống này không chỉ sử dụng hiệu quả hơn phổ tần số, giá thành của hệ thống thấp hơn các hệ thống 2G và 1G, mà còn có khả năng truyền thông đa phương tiện với dải thông lớn hơn Các thiết bị truyền thông thế hệ 3G không những có thể dùng làm phương tiện truyền thông giữa người sử dụng với người sử dụng, mà nó còn có thể được gắn với các máy móc, thiết bị của con người và thực hiện truyền thông giữa các máy móc thiết bị với nhau Đây là nguyên nhân quan trọng dẫn đến sự tăng lên cực kỳ nhanh chóng số người sử dụng hệ thống

Về nhiều phương diện, các mạng không dây kiểu tế bào giống các mạng LAN không dây; điểm khác nhau là đường truyền dài hơn và tốc độ truyền thấp hơn

Trang 38

nhiều Mạng LAN không dây có kích thước cỡ chục mét, tốc độ truyền có thể tới 50Mbps; trong khi đó mạng không dây kiểu tế bào có tốc độ truyền dưới 1Mbps, cự

ly truyền cỡ ki lô mét

Hiện nay, người ta cũng đã bắt đầu nghiên cứu và triển khai các mạng không dây diện rộng có tốc độ truyền cao, không dựa trên cơ sở các mạng điện thoại di động không dây sẵn có

1.4.2 Các vấn đề nảy sinh khi kết nối với Internet

Khi các hệ thống không dây trở nên ngày càng phổ biến thì nhu cầu truy cập các dịch vụ Internet từ các máy tính và thiết bị trong mạng không dây là rất tự nhiên và

có ý nghĩa cực kỳ quan trọng Điều đó đòi hỏi phải mở rộng Internet, cho phép kết nối các mạng không dây vào Internet Như vậy, mạng Internet trở nên không đồng nhất về phương diện các đặc tính của đường truyền Trong phần mạng có dây, đường truyền có độ tin cậy cao và tỉ suất lỗi bit thấp, việc mất gói số liệu chủ yếu

do tắc nghẽn trong mạng chứ không phải do lỗi đường truyền Giao thức vận chuyển dữ liệu TCP đã được thiết kế và tinh chỉnh để có thể hoạt động đạt hiệu năng cao nhất trong môi trường mạng như vậy

Trong phần mạng không dây, đường truyền có tỉ suất lỗi bit cao và thay đổi thất thường, thỉnh thoảng bị đứt đoạn do người sử dụng di động chuyển từ tế bào này sang tế bào khác Do đó, tỉ lệ gói tin bị mất hoặc bị loại do lỗi đường truyền là rất cao và thời gian khứ hồi bị thăng giáng rất mạnh Cơ chế điều khiển lưu lượng trong giao thức TCP sẽ phản ứng với sự mất gói tin do đường truyền “xấu” giống như phản ứng với hiện tượng tắc nghẽn; đó là, giảm lưu lượng đưa vào mạng và rút lui theo hàm mũ, đúng vào lúc lẽ ra phải cố gắng phát lại các gói tin bị mất càng sớm càng tốt Phản ứng sai lầm này làm cho hiệu năng của TCP bị giảm rất trầm trọng Như vậy nảy sinh một vấn đề có tính chất nguyên lý, đó là, trong mạng Internet

có phần mở rộng là mạng không dây, cần phải thực hiện phương pháp điều khiển khắc phục lỗi như thế nào Nếu thực hiện điều khiển khắc phục lỗi theo kiểu đầu cuối - đầu cuối, như cơ chế điều khiển trong giao thức TCP, việc các gói tin bị mất

Trang 39

do lỗi đường truyền trên chặng không dây, sẽ làm cho TCP phản ứng sai lầm như đối với hiện tượng tắc nghẽn Còn nếu thực hiện điều khiển khắc phục lỗi kiểu theo chặng, thì trên tất cả các chặng trên phần mạng có dây (mạng Internet truyền thống),

cơ chế này sẽ làm giảm hiệu năng của TCP rất trầm trọng [1]

Ngoài ra còn một vấn đề thực tế quan trọng, có ý nghĩa quyết định đối với việc lựa chọn giải pháp khắc phục đặc điểm xấu của đường truyền không dây trong mạng Internet mở rộng Đó là, mạng Internet truyền thống đã phát triển rộng trên phạm vi toàn thế giới, hoạt động rất ổn định và hiệu quả trong mấy chục năm qua, đòi hỏi chủ sở hữu của các mạng đã kết nối với nhau tạo nên Internet phải thay đổi các giao thức trên mạng của họ chắc chắn là một việc rất khó

Xuất phát từ các nguyên nhân trên, nhiều nhà khoa học trên thế giới đã đã tập trung nghiên cứu và đề xuất các giải pháp khắc phục đặc điểm xấu của đường truyền không dây mà không đòi hỏi phải thay đổi giao thức TCP đã được cài đặt trên các máy của mạng Internet truyền thống (có dây) Một số công trình đầu tiên được công bố vào năm 1994 [47], và 1995 [4], [5], [16], [48]; cho đến nay, nhiều nhà khoa học vẫn tiếp tục nghiên cứu, đề xuất các phương pháp mới và kết hợp, cải tiến các phương pháp đã được công bố; thí dụ [12], [29] v.v

Luận án này được thực hiện nhằm mục đích đóng góp vào hướng nghiên cứu trên Trong chương 5, chúng tôi sẽ trình bày các giải pháp phát lại cục bộ một cách thông minh và giải pháp Snoop TCP; về giải pháp Snoop TCP, chúng tôi có một số

đề xuất cải tiến và đánh giá hiệu quả một cách định lượng bằng mô phỏng

Trang 40

CHƯƠNG 2 CÁC PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG MẠNG

2.1 Giới thiệu

Theo nghĩa chung, hiệu năng là một độ đo công việc mà một hệ thống thực hiện được Hiệu năng chủ yếu được xác định bởi sự kết hợp của các nhân tố: tính sẵn sàng để dùng (availability), thông lượng (throughput) và thời gian đáp ứng (response time) Đối với mạng máy tính, hiệu năng cũng còn được xác định dựa trên các nhân tố khác nữa, thí dụ: thời gian trễ (delay), độ tin cậy (reliability), tỉ suất lỗi (error rate), hiệu năng của ứng dụng v.v

Tuỳ theo mục đích nghiên cứu cụ thể, hiệu năng có thể chỉ bao gồm một nhân tố nào đó hoặc là sự kết hợp một số trong các nhân tố nêu trên

2.1.1 Tầm quan trọng của việc đánh giá hiệu năng mạng máy tính

Trong suốt lịch sử tiến hoá của mạng máy tính, vấn đề đánh giá và dự đoán hiệu năng mạng luôn thu hút sự quan tâm của những người nghiên cứu và thiết kế mạng; mục đích chính là để nắm được và cải thiện đặc trưng giá - hiệu năng (cost-performance) Yêu cầu đánh giá và dự đoán hiệu năng mạng đặt ra ngay từ khi người ta thiết kế kiến trúc của hệ thống cho đến khi mạng đã được lắp đặt và đưa vào hoạt động Trong giai đoạn đầu của quá trình thiết kế, người ta thường phải dự đoán hai điều Thứ nhất là bản chất của các ứng dụng sẽ chạy trên mạng và các yêu cầu dịch vụ mà các ứng dụng này đòi hỏi hệ thống mạng phải đáp ứng Điều dự đoán thứ hai liên quan tới việc lựa chọn một trong các thiết kế kiến trúc, dựa trên các công nghệ phần cứng và phần mềm sẽ được phát triển và đưa ra thị trường trong tương lai, khi hệ thống mạng bước vào giai đoạn triển khai thực hiện

Sau khi đã lựa chọn kiến trúc và bắt đầu thiết kế, triển khai hệ thống mạng, việc

dự đoán và đánh giá hiệu năng sẽ trở nên cụ thể hơn Thí dụ sẽ chọn đường truyền vật lý như thế nào, các đặc tính của đường truyền được chọn sẽ ảnh hưởng thế nào đến hiệu năng của mạng Các kỹ thuật được dùng để dự đoán và đánh giá hiệu năng mạng trong giai đoạn thiết kế và triển khai thực hiện có khi chỉ là các tính toán bằng tay, nhưng cũng có khi là các mô phỏng rất tinh vi Việc so sánh hiệu năng dự đoán

Ngày đăng: 20/03/2015, 08:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Việt (2002), “So sánh hiệu năng của các kế hoạch kiểm soát lỗi trong mạng truyền thông máy tính”, Tạp chí Tin học và Điều khiển học, 18(1), 87-96 Sách, tạp chí
Tiêu đề: So sánh hiệu năng của các kế hoạch kiểm soát lỗi trong mạng truyền thông máy tính”, "Tạp chí Tin học và Điều khiển học
Tác giả: Nguyễn Đình Việt
Năm: 2002
[2] Vũ Duy Lợi, Nguyễn Đình Việt (2002), "Điều khiển lưu lượng số liệu trong mạng thông tin máy tính", Kỷ yếu Hội thảo Quốc gia: Các vấn đề chọn lọc của CNTT, (Hải Phòng 6/2001), 104-112, NXB Khoa học Kỹ thuật Sách, tạp chí
Tiêu đề: Điều khiển lưu lượng số liệu trong mạng thông tin máy tính
Tác giả: Vũ Duy Lợi, Nguyễn Đình Việt
Nhà XB: NXB Khoa học Kỹ thuật
Năm: 2002
[4] A. Bakre and B. R. Badrinath (1995), “Handoff and system support for indirect TCP/IP”, Proc. 2nd Usenix Symp. Mobile and Location-Independent Computing, Apr.1995 Sách, tạp chí
Tiêu đề: Handoff and system support for indirect TCP/IP”, "Proc. 2nd Usenix Symp. Mobile and Location-Independent Computing
Tác giả: A. Bakre and B. R. Badrinath
Năm: 1995
[5] A. Bakre and B. R. Badrinath (1995), “I-TCP: Indirect TCP for Mobile hosts”, IEEE 1995, 1063-6927/95 Sách, tạp chí
Tiêu đề: I-TCP: Indirect TCP for Mobile hosts”, "IEEE "1995
Tác giả: A. Bakre and B. R. Badrinath
Năm: 1995
[6] A. Bakre and B. R. Badrinath (1997), “Implementation and Performance Evaluation of Indirect TCP”, IEEE Transaction on Computer, 46(3), March 1997 Sách, tạp chí
Tiêu đề: Implementation and Performance Evaluation of Indirect TCP”, "IEEE Transaction on Computer
Tác giả: A. Bakre and B. R. Badrinath
Năm: 1997
[7] Amit Bhargava, James F. Kurose, Don Towsley and Guy Vanleemput (Dec. 1988), “Performance Comparison of Error Control Schemes in High-Speed ComputerCommunication Networks”, IEEE Journal on Selected Area in Communications, 6(9), 1565-1575 Sách, tạp chí
Tiêu đề: Performance Comparison of Error Control Schemes in High-Speed Computer Communication Networks”, "IEEE Journal on Selected Area in Communications
[8] Andrew S. Tanenbaum (2003), Computer Networks, Prentice Hall, New Jersey, Fourth Edition Sách, tạp chí
Tiêu đề: Computer Networks
Tác giả: Andrew S. Tanenbaum
Năm: 2003
[9] Bikram S. Bakshi, P. Krishna, N. H. Vaida, D. K. Pradhan (1996), "Improving performance of TCP over wireless networks", Texas A&M University Technical Report, TR-96-014, May 1996 Sách, tạp chí
Tiêu đề: Improving performance of TCP over wireless networks
Tác giả: Bikram S. Bakshi, P. Krishna, N. H. Vaida, D. K. Pradhan
Năm: 1996
[10] Cerf V., R. Kahn (1974), "A Protocol for Packet Network Intercommunication", IEEE Transactions on Communications, 22(5), 637-648, May 1974 Sách, tạp chí
Tiêu đề: A Protocol for Packet Network Intercommunication
Tác giả: Cerf V., R. Kahn
Năm: 1974
[11] Chadi Barakat, Eitan Altman, and Walid Dabbous (2000), “On TCP Performance in a Heterogeneous Network: A Survey”, IEEE Communications Magazine, January 2000, 40-46 Sách, tạp chí
Tiêu đề: On TCP Performance in a Heterogeneous Network: A Survey”, "IEEE Communications Magazine
Tác giả: Chadi Barakat, Eitan Altman, and Walid Dabbous
Năm: 2000
[12] Christina Parsa, and J. J. Garcia-Luna Aceves (1999), “TULIP: A Link-Layer Protocol for Improving TCP over Wireless Links”, IEEE 1999, 1253-1257 Sách, tạp chí
Tiêu đề: TULIP: A Link-Layer Protocol for Improving TCP over Wireless Links”
Tác giả: Christina Parsa, and J. J. Garcia-Luna Aceves
Năm: 1999
[13] David R. Smith (1995), “Application of the Fritchman Error Model to New Error Parameters”, IEEE 1995, 0-7803-2489-7/95, 286-292 Sách, tạp chí
Tiêu đề: Application of the Fritchman Error Model to New Error Parameters”, "IEEE 1995
Tác giả: David R. Smith
Năm: 1995
[14] George Xylomenos and George C. Polyzos, Petri Mọhửnen and Mika Saaranen (2001), “TCP Performance Issues over Wireless Links”, IEEE Communications Magazine, April 2001, 52-58 Sách, tạp chí
Tiêu đề: TCP Performance Issues over Wireless Links”, "IEEE Communications
Tác giả: George Xylomenos and George C. Polyzos, Petri Mọhửnen and Mika Saaranen
Năm: 2001
[15] G. T. Nguyen, R. H. Katz, B. D. Noble, and M. Satyanarayanan (1996), “A trace- based approach for modeling wireless channel behavior”, Proc. Winter Simulation Conf., Dec. 1996 Sách, tạp chí
Tiêu đề: A trace-based approach for modeling wireless channel behavior”, "Proc. Winter Simulation "Conf
Tác giả: G. T. Nguyen, R. H. Katz, B. D. Noble, and M. Satyanarayanan
Năm: 1996
[16] H. Balakrishnan, S. Seshan, and R. H. Katz (1995), “Improving reliable transport and handoff performance in cellular wireless networks”, ACM Wireless Networks, 1, Dec.1995 Sách, tạp chí
Tiêu đề: Improving reliable transport and handoff performance in cellular wireless networks”, "ACM Wireless Networks
Tác giả: H. Balakrishnan, S. Seshan, and R. H. Katz
Năm: 1995
[17] H. Balakrishnan, Venkata N. Padmanabhan (2001), “How Network Asymmetry Affects TCP”, IEEE Communication Magazine, Apr. 2001, 60-67 Sách, tạp chí
Tiêu đề: How Network Asymmetry Affects TCP”, "IEEE Communication Magazine
Tác giả: H. Balakrishnan, Venkata N. Padmanabhan
Năm: 2001
[18] H. Balakrishnan, Venkata N. Padmanabhan, Srinivasan Seshan, and Randy H. Katz (1997), “A Comparison of Mechanisms for Improving TCP Performance over Wireless Links”, IEEE/ACM TRANSACTIONS ON NETWORKING, 5(6), DECEMBER 1997 Sách, tạp chí
Tiêu đề: A Comparison of Mechanisms for Improving TCP Performance over Wireless Links”," IEEE/ACM TRANSACTIONS ON NETWORKING
Tác giả: H. Balakrishnan, Venkata N. Padmanabhan, Srinivasan Seshan, and Randy H. Katz
Năm: 1997
[19] H. Chaskar, T. V. Lakshman, U. Madhow (1996), “On the Design of Interfaces for TCP/IP over Wireless”, IEEE Sách, tạp chí
Tiêu đề: On the Design of Interfaces for TCP/IP over Wireless
Tác giả: H. Chaskar, T. V. Lakshman, U. Madhow
Năm: 1996
[20] Hiashi Kobayashi (1978), Modeling and Analyis: An Introduction to System Performance Evaluation Methodology, Addition-Wesley, Massachusetts Sách, tạp chí
Tiêu đề: Modeling and Analyis: An Introduction to System "Performance Evaluation Methodology
Tác giả: Hiashi Kobayashi
Năm: 1978
[25] J. Rendon, F. Casadevall, D. Serarols, and J. L. Faner (2001), “Analysis of Snoop TCP protocol in GPRS system”, IEEE 2001, 0-7803-6728-6/01 Sách, tạp chí
Tiêu đề: Analysis of Snoop TCP protocol in GPRS system”, "IEEE 2001
Tác giả: J. Rendon, F. Casadevall, D. Serarols, and J. L. Faner
Năm: 2001

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

w