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

Đánh giá hiệu suất giao thức TCP trong mạng sử dụng đường truyền xDSL

115 893 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 115
Dung lượng 1,78 MB

Nội dung

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á

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Lớp: K10T2

Mã số: 1.01.10

HÀ NỘI 6/2006

Trang 2

3

MỤC LỤC

TÓM TẮT 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 7

DANH MỤC BẢNG 9

DANH MỤC CHÚ GIẢI VÀ CÁC TỪ VIẾT TẮC 10

LỜI CẢM ƠN 12

MỞ ĐẦU 13

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

1.1 LỊCH SỬ RA ĐỜI VÀ PHÁT TRIỂN CỦA MẠNG INTERNET 15

1.1.1 SỰ RA ĐỜI CỦA MẠNG INTERNET 15

1.1.2 CÁC MÔ HÌNH THAM CHIẾU 19

1.2 ĐIỀU KHIỂN LƯU LƯỢNG VÀ ĐIỀU KHIỂN TẮC NGHẼN 26

1.2.1 GIỚI THIỆU 26

1.2.2 ĐIỀU KHIỂN LƯU LƯỢNG VÀ ĐIỀU KHIỂN TẮC NGHẼN TRONG GIAO THỨC TCP 28

1.3 CÁC CƠ CHẾ CẢI THIỆN HIỆU SUẤT TCP TRONG MẠNG KHÔNG ĐỒNG NHẤT 34

1.3.1 CÁC CƠ CHẾ CẢI THIỆN HIỆU SUẤT TCP TRONG MẠNG CÓ ĐƯỜNG TRUYỀN KHÔNG DÂY 34

1.3.2 CƠ CHẾ CẢI THIỆN HIỆU SUẤT TCP TRONG MẠNG BẤT ĐỐI XỨNG 38

1.4 CÔNG NGHỆ XDSL VÀ ỨNG DỤNG TRÊN INTERNET 45

1.4.1 GIỚI THIỆU 45

Trang 3

4

1.4.2 CÔNG NGHỆ ĐƯỜNG DÂY THUÊ BAO SỐ BẤT ĐỐI

XỨNG ADSL 47

CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ ĐƯỜNG DÂY THUÊ BAO SỐ XDSL 48

2.1 MẠNG ĐIỆN THOẠI VÀ MẠNG SỐ LIỆU 48

2.1.1 SỰ HOẠT ĐỘNG CHUNG CỦA HAI MẠNG 48

2.1.2 ĐƯỜNG DÂY THUÊ BAO 50

2.1.3 TẠI SAO PHẢI CẦN ĐẾN KỸ THUẬT DSL 51

2.1.4 CÁC DÒNG DSL 52

2.2 ĐẶC ĐIỂM CỦA XDSL: 55

2.3 CƠ SỞ KỸ THUẬT ADSL 56

2.3.1 KỸ THUẬT TRUYỀN DẪN TRONG ADSL 57

2.3.2 ĐẶC TRƯNG LỖI CỦA ĐƯỜNG TRUYỀN ADSL 59

2.3.3 ĐIỀU CHẾ TÍN HIỆU TRONG ADSL 62

3.3.4 CÁC KỸ THUẬT KIỂM SOÁT LỖI TRONG ADSL 67

3.3 SỬ DỤNG ĐƯỜNG THUÊ BAO SỐ TRONG MẠNG MÁY TÍNH 71

CHƯƠNG 3: ĐÁNH GIÁ HIỆU SUẤT MẠNG VÀ MÔ PHỎNG MẠNG BẰNG CHƯƠNG TRÌNH NS 72

3.1 GIỚI THIỆU CHUNG VỀ ĐÁNH GIÁ HIỆU SUẤT MẠNG 72

3.2 SƠ LƯỢC VỀ BỘ MÔ PHỎNG MẠNG NS-2 (NETWORK SIMULATOR 2) 76

3.2.1 GIỚI THIỆU BỘ MÔ PHỎNG MẠNG NS-2 76

3.2.2 CẤU TRÚC PHẦN MỀM NS-2 VÀ CÁCH DÙNG NÓ TRONG MÔ PHỎNG 78

Trang 4

5

3.3 CÁCH TẠO KỊCH BẢN VỚI MẠNG CÓ ĐƯỜNG TRUYỀN BẤT ĐỐI XỨNG 80 3.4 CÁCH TẠO KỊCH BẢN MÔ PHỎNG MẠNG HỖN HỢP CÓ DÂY VÀ KHÔNG DÂY VÀ ĐƯỜNG TRUYỀN BẤT ĐỐI XỨNG 86 CHƯƠNG 4: ĐÁNH GIÁ HIỆU SUẤT GIAO THỨC TCP TRÊN

MẠNG CÓ ĐƯỜNG TRUYỀN ADSL 94 4.1 THIẾT LẬP CẤU HÌNH MẠNG MÔ PHỎNG 94 4.1.1 MẠNG MÔ PHỎNG VỚI MÁY CỦA NGƯỜI SỬ DỤNG KẾT NỐI INTERNET BẰNG ĐƯỜNG TRUYỀN ADSL 94 4.1.2 MẠNG MÔ PHỎNG VỚI MÁY CỦA NGƯỜI SỬ DỤNG KẾT NỐI INTERNET QUA ACCESS POINT NỐI VỚI ĐƯỜNG TRUYỀN ADSL 95 4.2 CÁC MÔ HÌNH LỖI VÀ SỬ DỤNG MÔ HÌNH LỖI TRÊN ĐƯỜNG TRUYỀN 96 4.2.1 CÁC ĐẶC TRƯNG LỖI CỦA ĐƯỜNG TRUYỀN KHÔNG DÂY 97 4.2.2 MÔ HÌNH LỖI MARKOV 98 4.3 MÔ PHỎNG 100 4.3.1 MÔ PHỎNG VỚI MẠNG MÀ MÁY CỦA NGƯỜI SỬ DỤNG NỐI TRỰC TIẾP VỚI INTERNET QUA ADSL 100 4.3.2 MÔ PHỎNG VỚI MẠNG MÀ MÁY CỦA NGƯỜI SỬ DỤNG KẾT NỐI INTERNET QUA ACCESS POINT Ở NỐI VỚI ĐƯỜNG TRUYỀN ADSL 108 KẾT LUẬN 115

Trang 5

6

TÀI LIỆU THAM KHẢO 117 TÀI LIỆU TIẾNG VIỆT 117 TÀI LIỆU TIẾNG ANH 117

Trang 6

7

DANH MỤC HÌNH VẼ

Hình 1.1 Mạng ARPANET lúc thiết kế 17

Hình 1.2 Mô hình tham chiếu OSI 21

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

Hình 1.4 Các giao thức và các mạng trong mô hình TCP/IP 26

Hình 1.5 Sự xuất hiện tắc nghẽn trong mạng 27

Hình 1.6 Một ví dụ về thuật toán tránh tắc nghẽn trên Internet 30

Hình 1.7 Phương pháp lọc biên nhận 41

Hình 1.8 Đánh dấu vào biên nhận tại hàng đợi 42

Hình 1.9 Chuyển thông báo tắc nghẽn cho bên nhận 42

Hình 1.10 Bên nhận đã nhận được thông báo tắc nghẽn 43

Hình 1.11 Bên gửi thích ứng với việc có ít số biên nhận 44

Hình 1.12 Sử dụng bộ lọc và bộ tái tạo 45

Hình 2.1 Sơ đồ tổng quát mạng điện thoại 49

Hình 2.2 Mạng điện thoại và mạng dữ liệu song song cùng tồn tại 50

Hình 2.3 Sự phân bố dải tần trong phương pháp phân tần - FDD 57

Hình 2.4 Sự phân bố giải tần trong phương pháp triệt tiếng vọng 59

Hình 2.5 Pha và biên độ trong điều chế 64-CAP 64

Hình 2.6 Cách chia băng tần trong DTM 65

Hình 2.7 Nguyên lý cơ bản của phương pháp mã xoắn 69

Hình 2.8 Giá trị đầu vào và ra của phương pháp mã xoắn 70

Hình 3.1 Sơ đồ tổng quan của NS-2 78

Hình 3.2 Cấu hình mạng có đường truyền bất đối xứng 80

Trang 7

8

Hình 3.2 Cấu trúc liên kết mạng hỗn hợp có dây và không dây 89

Hình 4.1 LAN kết nối với Internet qua ADSL 94

Hình 4.2 WLAN nối với Internet qua ADSL 96

Hình 4.3 Mô hình Markov hai trạng thái cải tiến 99

Hình 4.4 Cấu hình mạng mô phỏng LAN truy cập Internet qua ADSL 101

Hình 4.5 Thông lượng chuẩn hóa ứng với mô phỏng LAN kết nối Internet qua ADSL 104

Hình 4.6 Thời gian trễ trung bình ứng với mô phỏng LAN kết nối Internet qua ADSL 105

Hình 4.7 Jitter trung bình ứng với mô phỏng LAN kết nối Internet qua ADSL 107

Hình 4.8 Cấu hình mạng mô phỏng WLAN kết nối với Internet qua ADSL 108

Hình 4.9 Thông lượng chuẩn hóa ứng với mô phỏng WLAN kết nối Internet qua ADSL 110

Hình 4.10 Độ trễ trung bình giữa các gói tin tin với mô phỏng WLAN kết nối với Internet qua ADSL 112

Hình 4.11 Jitter trung bình với mô phỏng WLAN kết nối với Internet qua ADSL 113

Trang 8

với Internet 108 Bảng 4.5 Độ trễ trung bình giữa các gói tin với mô phỏng WLAN

kết nối với Internet qua ADSL 111 Bảng 4.5 Jitter trung bình với mô phỏng WLAN kết nối với Internet

qua ADSL 112

Trang 9

10

DANH MỤC CHÚ GIẢI VÀ CÁC TỪ VIẾT TẮC

ADSL (Asymettric DSL) đường thuê bao số bất đối xứng

Congestion control điều khiển tắc nghẽn

DSL (Digital Subscribe Line) đường dây thuê bao số

FDM (Frequency Division Multiplexing) dồn kênh phân tầng

HDSL (High bit rate DSL) đường thuê bao số tốc độ cao

Trang 10

11

Store-and-forward chứa và chuyển tiếp

TCP (Transmission Control Protocol) giao thức thường dùng trên Internet

ở tầng giao vận

TCP/IP bộ giao thức truyền tải chính trên

mạng Internet

TDM (Time Division Multiplexing) dồn kênh phân chia thời gian

VDSL (Very high speed DSL) đường thuê bao số tốc độ rất cao

Trang 11

13

MỞ ĐẦU

Thế kỷ 21 được coi là thế kỷ của phát triển công nghệ thông tin, sự giao thoa ngày càng lớn giữa công nghệ thông tin với viễn thông, mạng internet ra đời vào cuối thế kỷ trước đã lớn mạnh thành cơ sở hạ tầng quan trọng về thông tin liên lạc của xã hội loài người

Giao thức TCP/IP được sử dụng trong mạng Internet từ khi xuất hiện

và giữ vai trò quyết định đối với sự hoạt động của mạng này Các dịch vụ trên mạng internet ngày càng phát triển, do đó yêu cầu băng thông cũng như yêu chất lượng của các kết nối trên mạng ngày càng cao Tính dễ sử dụng, nhanh chóng trong kết nối của các kết nối vào internet cũng ngày càng được yêu cầu Hơn nữa, tính kinh tế cần phải được đảm bảo Do đó, công nghệ kết nối mạng Internet cổ điển (sử dụng modem băng thoại) không còn phù hợp Công nghệ đường dây thuê bao số xDSL đã và đang phát triển đáp ứng các yêu cầu băng thông rộng, chất lượng kết nối, tính dễ sử dụng, cũng như giá thành Vì vậy, trong luận văn này, chúng tôi đề cập đến vấn đề hiệu suất giao thức TCP hoạt động trên mạng có đường kết nối xDSL, đặc biệt là giao thức TCP trên ADSL, như một đại diện Trong quá trình nghiên cứu đánh giá hiệu suất chúng tôi sử dụng phương pháp mô phỏng mạng, cụ thể là bộ mô phỏng mạng

NS (Network Simulator) Đây là bộ mô phỏng mạng được nhiều người sử dụng trong nghiên cứu

Hiện nay, ở Việt Nam công nghệ sử dụng thuê bao số ngày càng được

sử dụng rộng rãi không chỉ ở thành thị mà còn phát triển ở các vùng nông thôn Vì vậy, nghiên cứu phát triển hệ thống mạng, cũng như hiệu suất giao thức truyền số liệu trên mạng có sử dụng đường truyền thuê bao số là việc làm cần thiết của các nhà nghiên cứu phát triển mạng

Trang 12

14

Bố cục luận văn bao gồm 4 chương:

Chương 1: Giới thiệu chung, trình bày các vấn đề chung nhất về lịch sử

ra đời và phát triển của mạng Internet Các mô hình truyền dữ liệu trên Internet Các cơ chế điều khiển lưu lượng và tránh tắc nghẽn đầu cuối-đầu cuối Các phương pháp cải tiến giao thức TCP khi mở rộng mạng

Chương 2: Tổng quan về công nghệ đường dây thuê bao số xDSL, giới

thiệu tổng quan về đường thuê bao số, các kỹ thuật điều chế các phương pháp

mã hóa sữa lỗi khi truyền số liệu trên đường thuê bao Các ứng dụng trong thực tế của xDSL đặc biệt là ADSL

Chương 3: Đánh giá hiệu suất mạng và mô phỏng mạng bằng chương trình NS, giới thiệu về các phương pháp đánh giá hiệu suất mạng và cách sử

dụng chương trình mô phỏng mạng NS để mô phỏng mạng

Chương 4: Đánh giá hiệu suất giao thức TCP trên mạng có đường truyền ADSL, trình bày kết quả mô phỏng mạng LAN kết nối với Internet qua

ADSL và mạng WLAN kết nối với Internet qua ADSL

Trang 13

15

Chương 1: Giới thiệu chung

1.1 Lịch sử ra đời và phát triển của mạng Internet

1.1.1 Sự ra đời của mạng Internet

Ba thế kỷ trước mỗi thế kỷ có một công nghệ phát triển vượt trội Thế

kỷ 18 là kỷ nguyên cách mạng của các hệ thống máy móc công nghiệp Thế

kỷ 19 là thế kỷ của các dây chuyền máy móc Trong thế kỷ 20, công nghệ then chốt là thu thập, xử lý và phân phát thông tin nhờ vào sự ra đời và phát triển của công nghiệp máy tính Để đáp ứng nhu cầu chia sẽ thông tin nhanh chóng bằng máy tính, công nghệ ghép nối các máy tính lại với nhau xuất hiện, gọi là mạng máy tính Sự xuất hiện của mạng máy tính đã làm thay đổi lớn diện mạo của thế giới

Mặt dù công nghiệp máy tính vẫn còn trẻ so với các ngành công nghệp khác (như ô tô, máy bay), máy tính có sự phát triển thần kỳ trong thời gian ngắn Trong hai thập kỷ đầu tồn tại, các hệ thống máy tính có sự tập trung cao, thường trong phòng đơn lớn Một công ty trung bình, một trường đại học

có thể có một hoặc hai máy, trong khi các cơ quan lớn chỉ có nhiều nhất là vài

tá máy tính

Sự kết hợp máy tính và truyền thông tạo ra một động lực mạnh mẽ trong cách tổ chức một hệ thống máy tính Khái niệm "máy tính trung tâm" như một phòng với một máy tính lớn cho các người dùng sử dụng chung hiện nay đã lỗi thời Mô hình cũ của máy tính đơn phục vụ tất cả việc tính toán cần thiết của tổ chức được thay bằng một lượng lớn các máy tính được kết nối để thực hiện công việc Những hệ thống này được gọi là mạng máy tính

Từ khi ra đời mạng máy tính đã phát triển mạnh mẽ, theo nhiều hướng khác nhau, với nhiều công nghệ và quy mô khác nhau Một nhu cầu cần thiết

Trang 14

16

tiếp theo là làm sao để các mạng có công nghệ và quy mô khác nhau có thể liên hệ, chia sẽ thông tin với nhau một cách dễ dàng và hiệu quả, các liên mạng ra đời từ đòi hỏi khách quan đó Các liên mạng phát triển trên phạm vi toàn thế giới và hợp thành một liên mạng lớn, gọi là mạng Internet Hiện nay, mạng Internet là mạng rất hữu ích của xã hội loài người Đáp ứng được phần lớn nhu cầu trao đổi thông tin của toàn xã hội

Internet là không phải chỉ là một mạng, nó là một tập rất lớn các mạng khác nhau sử dụng chung bộ giao thức TCP/IP và cung cấp các dịch vụ thông dụng có tính chắc chắn Nó là một hệ thống đặc biệt, nó không được lập kế hoạch trước bởi bất kỳ ai và cũng không chịu sự điều khiển của bất kỳ ai Để

dễ hiểu hơn về nó, chúng ta bắt đầu từ đầu và xem xét chúng phát triển như thế nào và tại sao

Qua quá trình nghiên cứu phát triển cuối những năm 60 mạng ARPANET ra đời ở đại học Berkely, bang Califonia (Mỹ) Mạng này bao gồm nhiều máy tính cỡ trung được gọi là các IMP (Interface Message Processors), chúng được nối với nhau qua các đường truyền có tốc độ 56-kbps Để tạo được tính tin cậy cao mỗi IMP được nối tới ít nhất hai IMP khác Mạng này là mạng sử dụng cơ chế truyền theo gói (datagram), do đó nếu một

số đường nối bị hỏng thì các thông điệp có thể tự động định tuyến lại theo đường khác Mỗi nút của mạng bao gồm một IMP và host, thường đặt trong cùng phòng, được nối bằng cáp ngắn Một host có thể gửi thông điệp lên đến

8063 bit tới IMP của nó, sau đó thông điệp được chia nhỏ thành các gói nhỏ hơn, mỗi gói lớn nhất là 1008 bit và chuyển chúng đến đích một cách độc lập Mỗi gói được nhận tại bên nhận một cách đúng đắn sau khi được chuyển tiếp qua các nút trung gian Như vậy, mạng này là mạng điện tử đầu tiên sử dụng chuyển mạch gói theo kiểu lưu-và-chuyển tiếp (store-and-forward)

Trang 15

17

Phần mềm được chia thành hai phần: cho mạng và cho các host Phần mềm dành cho mạng được cài đặt cho đầu cuối phía IMP của kết nối host-IMP, cho giao thức IMP-IMP và cho giao thức trao đổi giữa một IMP nguồn

và một IMP đích theo hướng hoàn thiện dần tính tin cậy Phần mềm dành cho các host được cài đặt cho đầu cuối phía host của kết nối host-IMP, cho giao thức host-host và các phần mềm ứng dụng Hình 1.1 là sơ đồ thiết kế của mạng ARPANET lúc mới ban đầu

Hình 1.1 Mạng ARPANET lúc thiết kế

Trong quá trình phát triển, ARPA cho nghiên cứu sử dụng mạng vệ tinh

và mạng di động sử dụng sóng radio, kết nối vào ARPANET Các thí nghiệm cho thấy giao thức ARPANET không thích hợp cho việc chạy trên các mạng phức hợp Qua nhiều nghiên cứu về giao thức, năm 1974 Cerf và Kahn đã phát minh ra mô hình TCP/IP và các giao thức hoạt động trên nó TCP/IP được thiết kế đặc biệt cho việc liên lạc thông qua liên mạng

Số lượng các mạng, các máy và người dùng nối đến ARPANET tăng trưởng rất nhanh sau khi TCP/IP trở thành giao thức chính thức vào ngày 1 tháng 1 năm 1983 Nhiều mạng vùng khác kết nối với ARPANET, các kết nối không còn trên phạm vi nước Mỹ nữa mà nối sang Canada, Châu Âu, Khoảng giữa những năm 1980, mọi người mới xem tập hợp các mạng này như là một liên mạng, và sau đó như là Internet Mô hình tham chiếu TCP/IP

Trang 16

có thể kết nối hàng triệu máy tính cá nhân vào Internet các nhà cung cấp dịch

vụ Internet sử dụng modem, mỗi modem được gán một địa chỉ IP tạm thời, và gửi gói các IP đến máy các host trên Internet Chúng được xem như các máy trên Internet khi chúng còn kết nối đến bộ định tuyến của nhà cung cấp dịch

vụ Như vậy chúng ta có thể kết nối Internet bằng các máy tính cá nhân thông qua nhà cung cấp dịch vụ Internet

Các ứng dụng truyền thống trên Internet đã được khai thác ngay từ thời

kỳ đầu (trước năm 1990), gồm có bốn ứng dụng chính:

1 E-mail Cho phép soạn, gửi và nhận các thư điện tử trong mạng, nó

xuất hiện trong những ngày đầu của ARPANET và được nhiều người ưa chuộng

2 Tin tức Các nhóm thiết kế diễn đàn đăng các thông tin công cộng và

có thể trao đổi các thông điệp

3 Đăng nhập từ xa Sử dụng các chương trình telnet, rlogin, ssh,

người sử dụng ở bất kỳ đâu trên Internet cũng có thể đăng nhập đến các máy tính khác khi có một tài khoản

4 Truyền tệp Sử dụng chương trình FTP, người dùng có thể sao chép

các tập tin từ một máy trên Internet đến máy khác

Vào đầu thập niên 90 của thế kỷ trước, Internet đã được sử dụng rộng rãi trong các trường học, các tổ chức chính quyền và trong cộng đồng các nhà nghiên cứu khoa học Các ứng dụng mới trên Internet cũng phát triển, đặc biệt

là ứng dụng WWW (World Wide Web) Sau khi ra đời, ứng dụng này làm

Trang 17

Sự tăng trưởng nhanh chóng của dịch vụ WWW trong những năm 90 của thế kỷ trước có sự đóng góp của những công ty dịch vụ Internet - ISP (Internet Service Provider) Đây là các công ty cung cấp cho người dùng kết nối đến Internet và khả năng truy cập các dịch vụ e-mail, WWW và nhiều dịch vụ khác Những công ty này ký hợp đồng với hàng chục triệu người dùng mới mỗi năm, ở thời điểm những năm cuối thập niên 90 thế kỷ trước, đã làm thay đổi hoàn toàn tính chất của mạng từ phục vụ cho nghiên cứu và quân

sự trở thành phục vụ lợi ích công cộng, giống như hệ thống điện thoại Hiện nay số lượng người sử dụng Internet trên toàn thế giới là rất lớn, khoảng hàng trăm triệu người đến hàng tỷ người

1.1.2 Các mô hình tham chiếu

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), hay còn gọi là các mức hoặc lớp, mỗi tầng 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 tầng cao hơn, sao cho 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

Trang 18

20

Việc truyền thông trên mạng ngày càng phát triển mạnh Vì vậy, việc chuẩn hóa cơ chế truyền thông là nhiệm vụ cần thiết Chính vì thế các chuẩn truyền thông mạng ra đời, 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 nhất là ISO OSI và TCP/IP sẽ được trình bày dưới đây

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

Mô hình OSI (Open Systems Interconnection), được minh họa trên hình 1.2, dựa trên đề xuất của tổ chức chuẩn quốc tế ISO (International Standards Organization), năm 1983, là bước đầu của sự chuẩn hóa các giao thức sử dụng nhiều tầng, nó được điều chỉnh lại vào năm 1995 Mô hình này được gọi là mô hình tham chiếu ISO OSI bởi vì nó xử lý kết nối các hệ thống

mở, là các hệ thống cho phép mở trong việc liên lạc với các hệ thống khác Thường gọi tắt là mô hình OSI

Trang 19

21

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

Mô hình OSI có bảy tầng Những nguyên tắc chính được áp dụng để xây dựng bảy tầng này có thể được tổng quát như sau:

 Một tầng có thể được tạo ra khi cần phải có một sự trừu tượng mới

 Mỗi tầng có thể tương ứng với một chức năng nào đó

 Chức năng của mỗi tầng có thể được chọn theo hướng các giao thức chuẩn hóa quốc tế

 Các ranh giới của mỗi tầng có thể được chọn để giảm tối thiểu lưu lượng thông tin trao đổi qua giao tiếp

Trang 20

22

 Số lượng tầng phải đủ lớn để các chức năng riêng biệt trong cùng tầng không quá xa nhau và đủ nhỏ sao cho kiến trúc không trở nên cồng kềnh

 Tầng vật lý (Physical Layer)

Tầng vật lý đề cập tới việc truyền các bit thô qua một kênh truyền Nó 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ì, hủy bỏ các liên kết dữ liệu, kiểm soát lỗi truyền, đồng bộ việc 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

 Tầng Mạng (Network Layer)

Tầng mạng điều khiển sự hoạt động của mạng Vấn đề chính là làm thế nào để định tuyến các gói tin, để truyền chúng đi được từ nguồn đến đích thông qua mạng Ngoài ra tầng mạng còn phải giải quyết các vấn đề phức tạp khác như: giao tiếp giữa các mạng, điều khiển tắc nghẽn (congestion control)

và đảm bảo chất lượng dịch vụ khi cần thiết

 Tầng Giao Vận (Transport Layer)

Chức năng cơ bản của tầng giao vận là nhận dữ liệu từ tầng trên rồi chia thành các đơn vụ nhỏ hơn nếu cần sau đó chuyển xuống cho tầng mạng

và đảm bảo tất cả các phần được truyền đúng đến đích Ngoài ra tầng giao vận còn đưa ra các kiểu dịch vụ cung cấp cho tầng phiên Tầng này thực hiện việc

Trang 21

23

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ì, hủy 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ã hóa dữ liệu

 Tầng Ứng Dụng (Application Layer)

Tầng ứng dụng bao gồm nhiều giao thức khác nhau cần thiết cho người dùng Giao thức ứng dụng được sử dụng rộng rãi là HTTP (HyperText Transfer Protocol), là cơ sở của World Wide Web Khi một trình duyệt cần một trang Web, nó sẽ truyền tên của trang mà nó cần đến máy phục vụ (server) sử dụng HTTP Máy phục vụ sẽ gửi lại trang đó Ngoài ra, các giao thức ứng dụng khác cũng được sử dụng cho việc truyền tệp, thư điện tử (email), bản tin trên mạng,

Trang 22

24

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

Hình 1.3 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 tham chiếu 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 kề 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

Trong mỗi mạng sử dụng giao thức IP ở tầng mạng, các giao tiếp mạng phải có địa chỉ IP khác nhau Vì vậy, khi kết nối với Internet các máy tính khác nhau phải có địa chỉ IP khác nhau Nhưng tổng số địa chỉ IP có thể có không quá 232 (địa chỉ IP dài 4 byte) Nhưng nhu cầu truy cập Internet rất lớn,

vì vậy số lượng giao tiếp kết nối vào Internet có thể lớn hơn 232 Khi đó, vấn

đề cấp phát và phân bổ địa chỉ IP như thế nào Hơn nữa, địa chỉ IP được cấp phát phải thông qua một tổ chức quốc tế cấp phát địa chỉ, vì không được có hai địa chỉ trùng nhau trên Internet Một số giải pháp được đề xuất

 Tầng giao vận

Trang 23

25

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 tùy ý 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 việc lắp ráp gói số liệu nhận được 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, để đảm bảo bên gửi tốc độ cao không “làm lụt” bên nhận có tốc độ thấp và để tránh tắc nghẽn mạng

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 qua hình 1.4

 Tầng ứng dụng

Trên tầng giao vận là tầng ứng dụng Nó chứa tất cả các giao thức bậc cao 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), hình 1.4 cho thấy điều này

Trang 24

để gửi gói IP đi trên mạng Vì đặc điểm của các tầng vật lý rất khác nhau trên các mạng khác nhau nên phải có giao thức Host-to-Network riêng cho từng loại mạng cũng như từng loại máy

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

Trang 25

27

 Điều khiển lưu lượng

Điều khiển lưu lượng là một loạt các biện pháp nhằm quản lý việc phát gói số liệu giữa hai thực thể đầu cuối Việc quản lý này chính là việc làm sao khi bên thực thể gửi phát các gói số liệu qua mạng thì thực thể nhận luôn luôn nhận đúng tất cả các gói số liệu phát mà không bị tràn bộ đệm

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

Điều khiển tắc nghẽn là công việc phức tạp hơn so với điều khiển lưu lượng, nó có nhiệm vụ bảo đảm cho mạng không bị tắc nghẽn Tức là mọi nút mạng đều không bị quá tải khi thực hiện việc chuyển tiếp các gói số liệu từ nhiều lưu lượng truyền qua nó

Hai vấn đề điều khiển lưu lượng và điều khiển tắc nghẽn có liên quan 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ế các thuật toán điều khiển lưu lượng và điều khiển tắc nghẽn thường bổ sung cho nhau do đó nó giống như một thuật toán lớn bao hàm cả hai thuật toán trên Trong nhiều tài liệu hai khái niệm được xem là đồng nghĩa và ở đây chúng tôi cũng dùng với ý nghĩa đó Tức là, điều khiển lưu lượng và điều khiển tắc nghẽn có cùng tên gọi là điều khiển lưu lượng

Hình 1.5 Sự xuất hiện tắc nghẽn trong mạng

Trang 26

28

Một nút mạng thực hiện điều khiển tắc nghẽn bằng cách loại bỏ các gói

số liệu, khi không đủ năng lực chứa và chuyển tiếp các gói số liệu Khi đó, sau một khoảng thời gian, gọi là thời gian hết giờ, không nhận được biên nhận của các gói số liệu bị loại, bên gửi sẽ phát lại các gói số liệu này Nếu lưu lượng đến mạng tiếp tục tăng lên nữa, có thể dẫn đến tình trạng tất cả các gói

số liệu đều phải phát lại, 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 Hình 1.5 mô tả sự xuất hiện của tắc nghẽn, với tải nhẹ, chưa vượt ngưỡng giới hạn, thì hầu hết các gói tin đều được chuyển đi hết Lúc đó, khi tải tăng thì thông lượng qua mạng cũng tăng theo Nhưng khi tải đưa vào mạng tăng vượt ngưỡng giới hạn cho phép thì thông lượng đạt được của mạng giảm đi

1.2.2 Điều khiển lưu lượng và điều khiển tắc nghẽn trong giao thức TCP

1.2.2.1 Giao thức TCP

TCP là giao thức trao đổi số liệu có kết nối, đảm bảo tin cậy và chính xác giữa hai thực thể cuối trong mạng Việc thiết kế và thực hiện giao thức TCP phức tạp Bởi vì, TCP phải làm nhiệm vụ quản lý đúng số tuần tự tính theo byte của dòng số liệu Ngoài ra, nó còn phải làm nhiệm vụ tối ưu hóa dải thông của mạng bằng cách giám sát và điều khiển lưu lượng số liệu từ thực thể gửi tới thực thể nhận [1]

Để đảm bảo trao đổi số liệu tin cậy và chính xác giữa các thực thể cuối, TCP thực hiện các cơ chế: đối thoại khi thu phát; kiểm tra số liệu thu, phát; kiểm tra số tuần tự; và điều khiển lưu lượng

Khi gửi một gói số liệu, bên gửi phải lưu lại gói tin vừa gửi vào trong

bộ đệm chờ biên nhận Bên nhận phải thông báo nhận đúng sau một khoảng thời gian nhất định Nếu sau khoảng thời gian đó bên gửi vẫn chưa nhận được

Trang 27

số liệu, bên nhận áp dụng thuật toán kiểm tra và các số liệu kiểm tra được gửi kèm theo số liệu để xác định số liệu vừa thu có bị lỗi hay không Nếu có lỗi, thực thể thu thông báo kết quả nhận sai cho thực thể phát và yêu cầu phát lại gói số liệu hỏng

TCP phải làm nhiệm vụ sắp xếp lại các gói số liệu do tầng IP chuyển lên Vì các gói IP đến đích không theo đúng trật tự khi phát (giao thức IP là giao thức không hướng kết nối) nên thực thể TCP khi nhận phải lập lại trật tự các gói số liệu thu, hủy các gói số liệu trùng lặp khi cần và chuyển các gói số liệu đó theo đúng trật tự phát cho các ứng dụng

Để có thể đồng bộ việc phát và thu các gói số liệu, trong những trường hợp bên phát có khả năng phát nhanh hơn khả năng nhận của bên thu Người

ta sử dụng bộ đệm cho cả thực thể thu và nhận, thực thể nhận chỉ cho phép thực thể phát gửi một lượng số liệu đủ với vùng đệm thu của minh, để đảm bảo bên phát nhanh không làm tràn bộ đệm bên thu chậm

Để nhiều tiến trình trên một máy tính có thể đồng thời sử dụng các thiết

bị truyền thông bằng giao thức TCP, giao thức này cung cấp một tập địa chỉ gọi là các cổng (port) trên mỗi máy tính Địa chỉ cổng kết hợp với địa chỉ mạng (địa chỉ IP) tạo thành socket Mỗi một socket có thể được nhiều kết nối

sử dụng đồng thời [2]

Trang 28

30

Hình 1.6 Một ví dụ về thuật toán tránh tắc nghẽn trên Internet

1.2.2.2 Các cơ chế điều khiển lưu lượng và điều khiển tắc nghẽn

Cơ chế cửa sổ động

Cơ chế cửa sổ động là một trong các phương pháp điều khiển lưu lượng

số liệu trong mạng thông tin máy tính Độ lớn cửa sổ chính bằng số gói số liệu được gửi liên tục mà không cần chờ thông báo trả lời về kết quả nhận các gói số liệu đó Độ lớn cửa sổ quyết định hiệu suất trao đổ số liệu trong mạng Nếu chọn độ lớn cửa sổ cao thì có thể gửi được nhiều số liệu trong cùng một đơn vị thời gian Nhưng khi việc truyền số liệu có lỗi thì lượng gói số liệu phải gửi lại lớn và vì vậy hiệu quả sử dụng đường truyền thấp

Giao thức TCP cho phép thay đổi độ lớn của cửa sổ một cách động, phụ thuộc vào độ lớn bộ đệm thu của thực thể TCP nhận Để thực hiện cơ chế cửa sổ động, TCP đảm bảo:

- Trả lời về số tuần tự thu tiếp theo trong trường biên nhận, nghĩa là khẳng định tổng số Byte nhận đúng cho đến thời điểm gửi gói tin trả lời này;

Trang 29

31

- Thông báo về tổng số Byte nhận đúng có thể nhận được, tương ứng với độ lớn bộ nhớ đệm thu

Cơ chế phát lại thích nghi

Để đảm bảo kiểm tra phát hiện và khắc phục lỗi trong việc trao đổ số liệu qua mạng diện rộng, được kết nối từ nhiều mạng khác nhau, TCP phải có

cơ chế đồng hồ kiểm tra phát (time-out) và cơ chế phát lại (retransmission) mềm dẻo, thay đổi phụ thuộc vào thời gian trễ thực của môi trường truyền dẫn

cụ thể, cũng như số chặng mà gói tin đi qua Thời gian trễ toàn phần RTT(Round-trip-time), được xác định từ thời điểm bắt đầu phát gói số liệu cho đến khi nhận được biên nhận của gói số liệu đó Nó là yếu tố quyết định giá trị của đồng hồ kiểm tra phát (Tout)

Cơ chế phát lại thích nghi dựa trên việc xác định thời gian trễ toàn phần RTT theo thời gian Bằng việc sử dụng các hàm xác định thời gian của hệ điều hành, hoàn toàn xác định được thời gian trễ toàn phần của một kết nối TCP tại các mốc thời gian nhất định Có thể tính thời gian trễ toàn phần RTT theo công thức sau đây:

RTT = (* Old_RTT) + (1-)*New_RTT, trong đó 0<1

Từ đó, có thể tính thời gian kiểm tra phát Tout theo công thức:

Tout = * RTT, với  = 2

Cơ chế điều khiển tắc nghẽn số liệu

Hiện tượng tắc nghẽn số liệu được thể hiện trước hết ở việc gia tăng thời gian trễ RTT của một gói số liệu (bất kỳ) khi chuyển qua mạng Để hạn chế khả năng dẫn đến tắc nghẽn số liệu trong mạng, người ta điều khiển lưu lượng số liệu trao đổi trên mạng theo thuật toán bao gồm các pha như sau: Pha bắt đầu chậm (Slow Start), Pha tránh tắc nghẽn (Congestion Avoidance),

Trang 30

sổ phát, cho thực thể TCP phát Khi thiết lập kết nối TCP, cửa sổ phát được gán giá trị là một gói số liệu Thực thể TCP bắt đầu phát với cửa sổ tắc nghẽn

là một Mỗi khi nhận được thông báo trả lời ACK không lặp, giá trị cửa sổ phát được tăng thêm một (nói một cách khác giá trị cửa sổ phát tăng gấp đôi), cho đến khi cửa sổ phát đạt đến một giá trị ngưỡng - giá trị ước lượng dung lượng còn lại của mạng trong một thời điểm nhất định Đến đây, thực thể phát cần biết rằng độ lớn cửa sổ phát đã quá lớn, và cần phải có điều chỉnh phù hợp

Trang 31

33

tắc nghẽn là: sự hết giờ (time-out) và bên phát nhận ba biên nhận lặp liên tiếp [2]

- Pha phát lại nhanh

Thông thường, thực thể TCP thực hiện phát lại một gói số liệu khi nhận được thông báo NAK (thu sai) hoặc được đồng hồ quản lý phát lại kích hoạt (time-out) Thuật toán phát lại nhanh (Fast Retransmission) cho phép thực thể phát thực hiện phát lại không cần chờ đồng hồ “time-out”, trong trường hợp nhận được nhiều hơn hai thông báo ACK lặp lại (duplicated ACK) [2]

Thông báo ACK lặp lại được tạo ra trong trường hợp thực thể nhận thông báo gói số liệu đến không đúng theo thứ tự phát (out-of-order) và nêu

số thứ tự gói số liệu chờ nhận Trong thực tế, thường chỉ cần từ một đến hai thông báo ACK lặp lại là đủ để gói số liệu “bị lạc” đến và được xử lý đúng thứ tự Nếu thực thể phát nhận được nhiều hơn ba thông báo ACK lặp lại thì điều đó đồng nghĩa với việc gói số liệu bị mất (packet loss) và trong trường hợp này, gói số liệu đó được phát lại ngay mà không chờ đến time-out, sau đó quay về giai đoạn khởi động chậm với cửa sổ phát bằng một Trong các phiên bản TCP ra đời sau (Reno, New-Reno, ), sau khi phát lại nhanh thì thực hiện khôi phục nhanh (Fast Recovery) tức là giảm cửa sổ phát xuống còn một nửa

- chứ không phải là một như giai đoạn khởi động chậm Sau đó mỗi khi nhận một biên nhận lặp bên phát sẽ gửi một gói số liệu Đến khi nhận được biên nhận không lặp, còn được gọi là "biên nhận khôi phục" thì mới ra khỏi giai đoạn khôi phục nhanh và hoạt động bình thường trở lại

Trang 32

34

1.3 Các cơ chế cải thiện hiệu suất TCP trong mạng không đồng nhất

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

Trong mạng có đường truyền không dây, sự mất gói số liệu chủ yếu là

do lỗi đường truyền hoặc do sự chuyển cuộc gọi gây trễ quá dài, chứ không phải là do tắc nghẽn trên mạng Người ta đã đề xuất nhiều phương pháp giải quyết vấn đề này, chúng có thể được chia làm hai loại chính Loại thứ nhất bao gồm các giải pháp che giấu phần mạng hay làm mất gói số liệu do lỗi đường truyền, sao cho bên gửi chỉ phát hiện được những sự mất gói số liệu do tắc nghẽn Loại thứ hai bao gồm các giải pháp cải tiến TCP bằng các cơ chế thông báo rõ ràng về nguyên nhân mất gói số liệu, giúp cho TCP có thể phân biệt được các kiểu mất gói số liệu khác nhau

1.3.1.1 Cơ chế che giấu phần mạng hay làm mất gói số liệu do lỗi đường truyền

Phương pháp che giấu sự mất gói số liệu không phải do tắc nghẽn, không cho bên gửi của kết nối TCP phát hiện ra Theo cách tiếp cận này, vì vấn đề xảy ra có tính cục bộ, cho nên giải quyết nó theo cách cục bộ, tầng Giao vận không cần phải nhận thấy các đặc điểm của các đường truyền riêng

lẻ Các giao thức theo cách tiếp cận này cố gắng làm cho các đường truyền gây nhiều lỗi thể hiện ra như thể các đường truyền có chất lượng cao, nhưng

có dải thông sử dụng được nhỏ hơn Kết quả là bên gửi của kết nối TCP hầu như chỉ nhận thấy sự mất gói số liệu do tắc nghẽn mạng

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

Các kỹ thuật khắc phục lỗi phổ biến nhất ở tầng Liên kết dữ liệu thường có hai dạng như sau:

Trang 33

35

Phát hiện lỗi/ Khắc phục lỗi: phương pháp này người ta thêm một lượng thông tin vào dữ liệu, theo một số thuật toán nhất định, sao cho bên nhận có thể phát hiện hoặc tự sửa lại dữ liệu bị lỗi cho đúng

Yêu cầu phát lại tự động (Automatic Repeat reQuest - ARQ): khi phát hiện ra một lỗi trong dãy dữ liệu đến, bên nhận yêu cầu bên gửi gửi lại

Bằng cách kết hợp kỹ thuật phát hiện lỗi và kỹ thuật yêu cầu phát lại tự động trong giao thức tầng Liên kết dữ liệu, người ta có thể biến tầng Liên kết

dữ liệu không tin cậy thành một tầng tin cậy

Các giải pháp ở tầng Giao vận

Các giải pháp này cố gắng nâng cao chất lượng đường truyền bằng cách phát lại các gói số liệu bị lỗi ở mức giao thức TCP Người ta sẽ tạo một agent TCP trên bộ định tuyến ở đầu vào của đường truyền gây nhiều lỗi, agent này sẽ giữ bản sao của mọi gói số liệu từ bộ định tuyến đi vào đường truyền này Nếu nhận được biên nhận của một gói số liệu, agent sẽ loại bỏ bản sao của gói số liệu đó khỏi bộ nhớ đệm của nó, còn nếu biết rằng gói số liệu bị mất, agent này sẽ thay mặt cho bên gửi phát lại gói số liệu Có hai cơ chế thực hiện agent, đó là TCP gián tiếp (Indirect TCP – I-TCP) và Snoop TCP

 TCP gián tiếp (Indirect TCP):

Theo cơ chế này, kết nối TCP từ người gửi sẽ kết thúc tại đầu vào đường truyền hay gây ra lỗi, nơi đặt agent TCP, agent sẽ biên nhận các gói số liệu mà nó nhận được và chịu trách nhiệm gửi nó đến đích Trên đường truyền không dây, nơi có tỉ suất lỗi bít cao và thất thường, một kết nối TCP được tinh chỉnh cho phù hợp với đặc điểm của đường truyền này (thí dụ SACK TCP) sẽ thiết lập Ngoài kết nối TCP, tại đây, cũng có thể sử dụng một giao thức giao vận khác

Trang 34

36

Nhược điểm của I-TCP là không tuân thủ cơ chế điều khiển lưu lượng

“đầu cuối-đầu cuối” trong giao thức TCP, nút trung gian (nút gắn agent TCP) gửi biên nhận thay cho bên nhận, do đó biên nhận có thể được bên gửi nhận trước khi gói số liệu thực sự đến bên nhận Ngoài ra I-TCP cũng gây khó khăn cho các trạm cơ sở (BS), vì chúng phải chuyển một lượng lớn thông tin trạng thái khi xảy ra việc chuyển cuộc gọi

 Snoop-TCP:

Cơ chế thực hiện agent TCP này tôn trọng ngữ nghĩa “end-to-end” Agent nằm giữa hai mạng không chia đôi kết nối TCP, nó chỉ giữ bản sao các gói số liệu chứ không tự sinh ra các biên nhận Các biên nhận không phải là biên nhận lặp sẽ được agent chuyển tiếp tới bên gửi, còn các biên nhận lặp sẽ

bị chặn lại Khi nhận được biên nhận lặp thứ ba, hoặc khi agent đã chờ hết thời gian hết giờ cục bộ, gói số liệu tương ứng sẽ được agent phát lại Thời gian hết giờ cục bộ này phải được xác định phù hợp với đường truyền không dây chỉ có một chặng, nó đương nhiên là nhỏ hơn thời gian hết giờ mà bên gửi (nguồn) sử dụng Giải pháp này cũng có nhược điểm tương tự giải pháp phát lại ở tầng Liên kết dữ liệu, đó là việc nó có thể cản trở các cơ chế kiểu

“đầu cuối - đầu cuối” Về thực chất giải pháp Snoop-TCP cũng giống giải pháp phát lại ở tầng Liên kết dữ liệu, chúng che giấu mọi sự mất gói số liệu gây ra bởi đường truyền Cả hai giải pháp này đều đòi hỏi không có sự mất gói số liệu do tắc nghẽn trên đường truyền giữa Snoop agent và đích [2]

1.3.1.2 Thông báo rõ ràng về nguyên nhân mất gói số liệu

Việc cải thiện chất lượng các đường truyền Internet không che giấu được tất cả các mất mát không phải do tắc nghẽn Nguyên nhân thứ nhất là, mặc dù các mất mát gói số liệu kiểu này tập trung trên các đường truyền không dây, nhưng chúng cũng có thể xuất hiện ở mọi nơi trong mạng và có lẽ

Trang 35

37

không thể che giấu hết các lỗi này Thứ hai là, các cơ chế kiểu cục bộ, chẳng hạn như giải pháp thêm thông tin khắc phục lỗi (FEC) cho gói số liệu cũng không thể khôi phục được các gói số liệu bị mất Khi đó giải pháp cải thiện hiệu suất TCP bằng một số cơ chế làm cho bên gửi nhận thấy được sự tồn tại của các chặng không dây và những sự mất mát gói số liệu không phải do tắc nghẽn mạng sẽ tránh cho bên gửi khỏi kích hoạt các thuật toán điều khiển tắc nghẽn khi xảy ra mất gói số liệu không do tắc nghẽn

 Thông báo rõ việc mất gói số liệu - ELN (Explicit Loss Notification):

Người ta đã đề xuất hai cách tiếp cận, cách thứ nhất là thông báo rõ ràng nơi xảy ra việc mất gói số liệu không phải do tắc nghẽn bằng tín hiệu ELN Bên gửi phản ứng lại bằng cách phát lại gói số liệu bị mất mà không giảm kích thước cửa sổ của nó Người ta cũng đề xuất việc sử dụng một tín hiệu giống hệt như vậy để dừng ngay việc điều khiển tắc nghẽn ở bên gửi khi xuất hiện sự đứt kết nối do việc chuyển cuộc gọi trong mạng tế bào Cái khó của việc thực hiện giải pháp này là nếu có gói số liệu bị hỏng, nó sẽ bị loại ngay tại tầng Liên kết dữ liệu trước khi được chuyển lên cho tầng giao vận, vì thế khó có thể nhận được thông tin ELN

 Thông báo rõ về tắc nghẽn - ECN (Explicit Congestion Notification):

Cách tiếp cận thứ hai là cải tiến sự điều khiển lưu lượng của giao thức TCP chứ không phải là việc khôi phục lại sau khi có sự mất gói số liệu không phải do tắc nghẽn Các giải pháp được người ta đề xuất nhằm phục mục đích tách việc phát hiện tắc nghẽn khỏi vấn đề mất mát gói số liệu Bằng cách bổ sung một số cơ chế vào trong mạng hoặc bổ sung vào bên nguồn, tắc nghẽn sẽ

bị phát hiện và thông lượng sẽ được giảm trước khi xảy ra tràn bộ đệm trong mạng Một trong các giải pháp như vậy được thực hiện trong phiên bản Vegas TCP

Trang 36

38

Với ECN, các bộ định tuyến sẽ gửi một tín hiệu chỉ rõ sự tắc nghẽn trong mạng cho bên gửi của kết nối TCP, chứ không loại bỏ gói số liệu Nếu tất cả mọi nguồn gửi, đích nhận và bộ định tuyến đều phục tùng cơ chế này (Vegas hoặc ECN), sự mất gói số liệu do tắc nghẽn sẽ được giảm đi đáng kể

Do đó, các sự mất mát còn lại có thể được xem chủ yếu gây ra bởi vấn đề khác, chứ không phải là tắc nghẽn; bên gửi chỉ cần phát gói số liệu mà không phải giảm kích thước cửa sổ Sự biến mất của các mất mát do tắc nghẽn có thể dẫn tới việc xác định lại thuật toán điều khiển tắc nghẽn của giao thức TCP,

để cho nó phản ứng nhẹ hơn với việc mất gói số liệu

Các mạng ngày nay không có hành trạng lý tưởng như vậy Bởi vì không có phản hồi từ mạng, nên việc phát hiện tắc nghẽn sớm, trước khi nó xảy ra, tại bên gửi, sẽ không thực hiện được; dẫn đến sự mất gói số liệu do tắc nghẽn là không thể tránh được Nếu chúng ta muốn thực hiện cơ chế điều khiển tắc nghẽn tại nguồn, dựa trên các thông tin rõ ràng nhận được từ mạng, như trong ECN, thì điều chắc chắn là sẽ không dễ dàng, vì trong mạng, sẽ luôn có một số bộ định tuyến không tuân theo mệnh lệnh cung cấp cho bên nguồn các thông tin nó yêu cầu Điều này là một thực tế, bởi vì trên Internet, hiện có hàng chục, thậm chí hàng trăm nghìn bộ định tuyến, thuộc nhiều chủ

sử hữu khác nhau, không ai có thể buộc các chủ sở hữu này thay đổi cơ chế hoạt động của các bộ định tuyến của họ

Tuy nhiên, để đảm bảo chất lượng dịch vụ (QoS) trên Internet, cần phải thực hiện các cơ chế điều khiển lưu lượng như trên, trong đó trong tương lai, chắc chắn chúng sẽ được sử dụng

1.3.2 Cơ chế cải thiện hiệu suất TCP trong mạng bất đối xứng

Đối với các mạng có dây và có các kênh truyền đối xứng về băng thông

và độ trễ hai chiều thì TCP hoạt động rất tốt Tuy nhiên, đối với những mạng

Trang 37

39

chứa những liên kết có tính chất bất đối xứng về băng thông cũng như độ trễ thì TCP hoạt động thất thường hơn Cụ thể, đối với mạng chứa liên kết có băng thông bất đối xứng (ví dụ: mạng có đường truyền ADSL) TCP hoạt động không tốt, thông lượng giảm đáng kể, nếu băng thông theo hai hướng của liên kết quá chênh lệch nhau Trong thực tế, khi một trạm kết nối Internet qua đường truyền bất đối xứng Kênh lên (Up Link) có tốc độ thấp cũng có thể được dùng để truyền tải dữ liệu chứ không phải chỉ để truyền các gói tin biên nhận, ví dụ như chúng ta đính kèm tập tin khi gửi mail, hay là sử dung Webcam để kết nối bạn bè, sử dụng voice chat Khi đó, băng thông còn lại thường là thấp Tức là, khi sử dụng hướng có băng thông thấp để truyền dòng

dữ liệu thì độ chênh lệch của kênh bất đối xứng là lớn, làm cho việc truyền số liệu ở hướng ngược lại (hướng có băng thông lớn) bị tắc nghẽn ở dòng phản hồi (dòng ACK)

Nguyên nhân chính của việc giảm thông lượng khi có kết nối TCP có băng thông kênh gửi lớn hơn nhiều so với băng thông kênh biên nhận (kênh ACK) là các ACK không về được đến bên gửi hoặc bị đợi quá lâu tại các hàng đợi Hậu quả là thông lượng TCP thường (ví dụ TCP Reno) giảm đáng

kể khi gặp trường hợp trên Để khắc phục tình trạng này có nhiều giải pháp đã được đề xuất, nghiên cứu nhằm làm giảm ảnh hưởng của vấn đề bất đối xứng nêu trên Một trong những giải pháp mà chúng tôi nghiên cứu, đánh giá là điều chỉnh thuật toán biên nhận của giao thức TCP và thuật toán thay đổi cửa

sổ tắc nghẽn của bên nhận khi nhận được ACK

Người ta đã đưa ra các giải pháp để tăng hiệu suất giao thức TCP trong mạng có đường truyền bất đối xứng Các giải pháp này đều cố gắng hạn chế mất gói biên nhận và hạn chế việc các biên nhận phải chờ lâu trong hàng đợi,

nó bao gồm các pha như sau:

a Giảm lưu lượng dòng ACK

Trang 38

40

 Lọc biên nhận (ACK Filtering -AF)

 Điều khiển tắc nghẽn ACK (ACK Congestion Control - ACC)

b Giải quyết tình trạng có ít gói biên nhận

 Bên gửi thích nghi với biên nhận (Sender Adaptation- SA)

 Tái tạo biên nhận (ACK Reconstruction - AR)

Các phương pháp này có thể thực hiện riêng rẽ hoặc kết hợp thực hiện với mục đích là đảm bảo hoạt động hiệu quả cho TCP

1.3.2.1 Giảm lưu lượng dòng ACK

 Lọc biên nhận

Phương pháp này sử dụng một bộ lọc ACK (ACK Filter) tại các bộ định tuyến (router) ở đầu vào kênh truyền ACK có băng thông thấp Tại đó, các ACK nằm trong hàng đợi chờ được truyền đi Khi gặp bùng nỗ ACK, hàng đợi càng dài ra làm tăng độ trễ gói ACK khi về đến bên gửi, tình trạng này có thể dẫn đến việc các ACK về quá muộn gây hết giờ chờ biên nhận Hơn nữa, nếu kích thước hàng đợi nhỏ thì các ACK có thể bị mất Khi gặp tình trạng này bên gửi coi như gói tin đã bị mất và đã truyền lại gói số liệu và giảm cửa sổ phát Nếu việc này thường xuyên xảy ra thì hiệu suất hoạt động của TCP giảm đáng kể

Nhận xét rằng, nếu các biên nhận là biên nhận tích lũy thì ta có thể loại

bỏ các ACK biên nhận cho các gói tin có số thứ tự nhỏ Chỉ cần truyền ACK biên nhận cho gói tin có số thứ tự lớn nhất ACK này được coi như là một biên nhận "tổng" cho tất cả các gói tin có ACK nằm trong hàng đợi đang xét Việc này làm giảm tải cho hàng đợi, giảm tải cho kênh ACK và giảm được khả năng phải truyền lại các gói số liệu

Trang 39

41

Hình 1.7 Phương pháp lọc biên nhận

Hình 1.7 mô tả các biên nhận đang đợi tại hàng đợi Các biên nhận tích lũy cho gói tin số 3, 5, 7 được loại tại hàng đợi Chỉ truyền biên nhận cho gói tin số 9, cũng là biên nhận "tổng" cho tất cả các gói có số thứ tự nhỏ hơn 9

 Điều khiển tắc nghẽn dòng ACK

Phương pháp này làm giảm dòng lưu lượng biên nhận bằng cách làm chậm việc biên nhận, tức là chờ nhiều gói đến rồi mới gửi biên nhận một lần Phương pháp này sử dụng bộ tương thích mở rộng của TCP Tại hàng đợi nơi xảy ra tắc nghẽn dòng ACK, thực hiện đánh dấu ngẫu nhiên các ACK để thông báo rõ nguyên nhân tắc nghẽn là do kênh biên nhận bị tắc nghẽn Từ đó bên gửi phản ứng bằng cách thông báo cho bên nhận giảm lưu lượng dòng ACK bằng cách chậm biên nhận nhằm làm giảm dòng lưu lượng ACK đang

Bottleneck router

Trang 40

42

Hình 1.8 Đánh dấu vào biên nhận tại hàng đợi

Hình 1.9 Chuyển thông báo tắc nghẽn cho bên nhận

Ngày đăng: 25/03/2015, 09:40

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