ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
KHOA CÔNG NGHỆ
o8o—
Đánh giá hiệu suất giao thức TCP trên mạng
sử dụng đường truyền xDSL
GVHD: TS Nguyễn Đình Việt
HV: Phùng Văn Minh
Lớp: K10T2
Mã số: 1.01.10
HÀ NỘI 6/2006
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
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
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
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
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
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
9
DANH MỤC BẢNG
Bảng 2.1 Các loại xDSL và các thuộc tính của nó 53
Bảng 4.1 Thông lượng chuẩn hóa ứng với mô phỏng LAN kết nối
Internet qua ADSL 102
Bảng 4.2 Thời gian trễ trung bình ứng với mô phỏng LAN kết nối
Internet qua ADSL 104
Bảng 4.3 Jitter trung bình ứng với mô phỏng LAN kết nối Internet
qua ADSL 106
Bảng 4.4 Thông lượng chuẩn hóa ứng với mô phỏng WLAN kết nối
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
10
DANH MỤC CHÚ GIẢI VÀ CÁC TỪ VIẾT TẮC
Access Point điểm truy cập
ACK biên nhận đúng
ADSL (Asymettric DSL) đường thuê bao số bất đối xứng
Back off rút lui
BS (Base Station) Trạm cơ sở
Cell tế bào
Congestion control điều khiển tắc nghẽn
Connection kết nối
Delay time thời gian trễ
DSL (Digital Subscribe Line) đường dây thuê bao số
Emulation mô phỏng tương tác với mạng thực
Endnode máy tính trên mạng
End-to-end đầu cuối-đầu cuối
Error model mô hình lỗi
FDM (Frequency Division Multiplexing) dồn kênh phân tầng
Flow control điều khiển lưu lượng
HDSL (High bit rate DSL) đường thuê bao số tốc độ cao
Hop chặng
Link-by-link theo chặng
Port cổng kết nối
Round trip time thời gian trễ khứ hồi
Routing định tuyến
11
Server máy phục vụ
Sliding window cửa sổ trượt
Stop-and-wait dừng và chờ
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
Throughput thông lượng
Time-out hết giờ
Trace-driven chạy theo vết
Traffic lưu lượng
VDSL (Very high speed DSL) đường thuê bao số tốc độ rất cao
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.
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.
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
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).
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
18
và chồng giao thức TCP/IP trở thành "keo dán" gắn kết các mạng để trở thành
liên mạng Internet.
Mỗi máy tính trên Internet chạy bằng chồng giao thức TCP/IP, có một
địa chỉ IP, và có thể gửi các gói IP đến tất cả các máy khác trên Internet. Để
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
19
thay đổi nhiều về khả năng ứng dụng Internet trong đời sống xã hội. Dịch vụ
WWW không làm thay đổi gì về cơ bản của mạng nhưng làm cho người dùng
dễ sử dụng hơn. Nó cho phép một nơi (site) có thể đặt nhiều trang thông tin
chứa văn bản, hình ảnh, âm thanh, và cả video bằng cách nhúng vào các liên
kết đến các trang khác.
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.
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.
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.
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
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,
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á 2
32
(đị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 2
32
. 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
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.
26
Hình 1.4 Các giao thức và các mạng trong mô hình TCP/IP
Tầng Host-to-Network
Tầng Host-to-Network là tầng nằm dưới tầng IP, mô hình TCP/IP
không định nghĩa cụ thể tầng này cho mọi máy sử dụng TCP/IP mà chỉ nói
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
để 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
1.2.1 Giới thiệu
Trên mạng các lưu lượng là các dòng dữ liệu trao đổi thông qua hệ
thống mạng. Nếu không có các cơ chế điều khiển các dòng dữ liệu, các dòng
dữ liệu này truyền đi không theo một quy tắc nhất định nào cả. Vì vậy, khi
các dòng đến một nút mạng quá lớn, sẽ gây tắc nghẽn mạng. Tắc nghẽn sẽ
làm giảm đáng kể hiệu suất hoạt động của toàn mạng, có thể dẫn đến tình
trạng mạng bị tê liệt hoàn toàn (mạng không chuyển tiếp được gói số liệu nào)
mặc dù có ứng dụng cần truyền dữ liệu. Chính vì thế, khi thiết kế các giao
thức truyền số liệu người ta thường gắn các quy tắc chi phối các dòng lưu
lượng đi vào mạng, thường được gọi là cơ chế điều khiển lưu lượng, việc thực
hiện các có chế này gọi là điều khiển lưu lượng.
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.