Vì hiệu quả sử dụng tài nguyên cao hơn, hai trạm có tốc độ khác nhau có thể thông tin được với nhau, việc điều khiển lưu lượng và tránh tắc nghẽn đường truyền thực hiện đơn giản, ưu tiên
Trang 1MỤC LỤC
LỜI MỞ ĐẦU 2
Chương I: TỔNG QUAN VỀ MẠNG CHUYỂN MẠCH GÓI 3
1.1 Khái niệm về mạng truyền số liệu 3
1.1.1 Mạng truyền số liệu 3
1.1.2 Các chuẩn giao tiếp vật lý 8
1.2 Các kỹ thuật chuyển mạch trong mạng truyền số liệu 11
1.2.1 Kỹ thuật chuyển mạch kênh 11
1.2.2 Kỹ thuật chuyển mạch tin 12
1.2.3 Kỹ thuật chuyển mạch gói 12
Chương II: TRUYỀN SỐ LIỆU TRONG MẠNG CHUYỂN MẠCH GÓI 15
2.1 Điều khiển luồng và tránh tắc nghẽn 15
2.1.1 Khái niệm và phân loại điều khiển luồng 15
2.1.2 Khái niệm và phân loại điều khiển tránh tắc nghẽn 16
2.1.3 Ý nghĩa của việc điều khiển luồng và tránh tắc nghẽn 19
2.1.4 Nhiệm vụ chủ yếu của điều khiển luồng và tránh tắc nghẽn 22
2.2 Vấn đề kiểm soát lỗi trong mạng chuyển mạch gói 23
2.2.1 RQ dừng và đợi 23
2.2.2 RQ liên tục 31
Chương III: ĐIỀU KHIỂN LUỒNG TRONG MẠNG CHUYỂN MẠCH GÓI DÙNG PHƯƠNG PHÁP CỬA SỔ TRƯỢT 43
3.1 Các phương pháp điều khiển luồng trong mạng chuyển mạch gói 43
3.1.1 Thuật toán Leaky bucket ( phương pháp chậu dò) 43
3.1.2 Thuật toán Sliding windown ( phương pháp cửa sổ trượt) 46
3.2 Phương pháp cửa sổ trượt 48
3.2.1 Điều khiển luồng theo cửa sổ 49
3.2.2 Cửa sổ thích ứng 56
Chương IV: MỘT SỐ BÀI TOÁN ỨNG DỤNG 62
4.1 Bài toán đánh giá hiệu suất sử dụng liên kết trên đường truyền vệ tinh 62
4.2 Bài toán đánh giá hiệu suất sử dụng liên kết trên đường truyền giữa 2 trạn mặt đất 63
4.3 Bài toán đánh giá hiệu suất sử dụng liên kết trên đường truyền giữa hai thiết bị ở cự ly gần 64
4.4 Nhận xét 65
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 67
CÁC CHỮ VIẾT TẮT 68
Trang 2độ vận hành ngày càng cao.
Ngày nay xét về mặt kỹ thuật vẫn chủ yếu dựa vào 3 kỹ thuật chuyển mạch chính là:
+ Kỹ thuật chuyển mạch kênh
+ Kỹ thuật chuyển mạch tin
+ Kỹ thuật chuyển mạch gói
Trong đó kỹ thuật chuyển mạch gói được sử dụng rộng rãi hơn cả Vì hiệu quả
sử dụng tài nguyên cao hơn, hai trạm có tốc độ khác nhau có thể thông tin được với nhau, việc điều khiển lưu lượng và tránh tắc nghẽn đường truyền thực hiện đơn giản,
ưu tiên gói tin với tốc độ truyền tin cao…
Để tìn hiểu sâu hơn về kỹ thuật này em đã chọn đề tài “ NGHIÊN CỨU MẠNG CHUYỂN MẠCH GÓI ĐI SÂU VỀ THUẬT TOÁN CỬA SỔ TRƯỢT MỘT SỐ BÀI TOÁN ỨNG DỤNG” Phần nội dung đồ án được phân bố thành 4 chương như sau:
Chương I : Tổng quan về mạng chuyển mạch gói
Chương II : Truyền số liệu trong mạng chuyển mạch gói
Chương III: Phương pháp điều khiển luồng trong mạng chuyển mạch gói và
đi sâu về thuật toán cửa sổ trượt
Chương IV: Một số bài toán liên quan
Trong quá trình làm Đồ án, với sự hướng dẫn, chỉ bảo tận tình của thầy giáo
Thạc sỹ: Vũ Văn Rực và các thầy cô trong khoa Điện - Điện tử tàu biển cùng các
bạn trong lớp đã tạo mọi điều kiện thuận lợi giúp em hoàn thành Đồ án đúng tiến độ yêu cầu
Em xin chân thành cám ơn.!
Hải Phòng Ngày 15 tháng 02 năm 2012
Sinh viên: Nguyễn Thế Bình
Trang 3Chương I TỔNG QUAN VỀ MẠNG CHUYỂN MẠCH GÓI
1.1: KHÁI NIỆM VỀ MẠNG TRUYỀN SỐ LIỆU
1.1.1Mạng truyền số liệu
Các khái niệm cơ bản về truyền số liệu
a.Các chế độ thông tin (Communication Modes)
Khi một người đang diễn thuyết thì thông tin được truyền đi theo một chiều Tuy nhiên, trong một cuộc đàm thoại giữa hai người thì thông điệp được trao đổi theo hai hướng Các thông điệp này thường được trao đổi lần lượt nhưng cũng có thể xảy
ra đồng thời Tương tự, khi truyền số liệu giữa hai thiết bị, có thể dùng một trong 3 chế độ thông tin sau:
- Đơn công (one way hay simplex): được dùng khi dữ liệu được truyền chỉ theo một hướng, ví dụ trong một hệ thống thu nhập số liệu định kỳ
- Bán song công (either way hay half-duplex): được dùng khi hai thiết bị kết nối với nhau muốn trao đổi thông tin một cách luân phiên, ví dụ một thiết bị chỉ gửi
dữ liệu đáp lại khi đáp ứng một yêu cầu từ thiết bị kia Rõ ràng hai thiết bị phải có thể chuyển đổi qua lại giữa truyền và nhận sau mỗi lần truyền
- Song công hoàn toàn (both way hay full-duplex): được dùng khi số liệu được trao đổi giữa hai thiết bị theo cả hai hướng một cách đồng thời
b Các chế độ truyền (Transmission modes)
Truyền bất đồng bộ: (asynchronous tránmasion)
Cách thức truyền trong đó các ký tự dữ liệu mã hoá thông tin được truyền đi tại những thời điểm khác nhau mà khoảng thời gian nối tiếp giữa hai kí tự không cần thiết phải là một giá trị cố định
Ở chế độ truyền này hiểu theo bản chất truyền tín hiệu số thì máy phát và máy thu độc lập trong việc sử dụng đồng hồ, đồng hồ chính là bộ phát xung clock cho việc dịch bit dữ liệu (shift) và như vậy không cần kênh truyền tín hiệu đồng hồ giữa hai đầu phát và thu Tất nhiên, để có thể nhận được dữ liệu, máy thu buộc phải đồng bộ theo từng kí tự một
Mặc dù được dùng chủ yếu để truyền kí tự giữa một bàn phím và một máy tính, truyền bất đồng bộ cũng còn được dùng để truyền các khối ký tự giữa hai máy tính Trong trường hợp này, mỗi ký tự kế tiếp đi ngay sau stop bit của ký tự trước đó vì các
ký tự trong một khối được truyền tức thời ngay sau ký tự mà không có khoảng thời gian trì hoãn nào giữa chúng
Truyền đồng bộ (Synchronous transmission)
Cách thức truyền trong đó khoảng thời gian cho mỗi bit là như nhau, và trong
hệ thống truyền ký tự khoảng thời gian từ bit cuối của ký tự này đến bit đầu của ký tự
Trang 4kế tiếp bằng không hoặc bằng bội số tổng thời gian cần thiết truyền hoàn chỉnh một ký tự.
Về góc độ truyền tín hiệu số thì máy phát và máy thu sử dụng một đồng hồ chung, nhờ đó máy thu có thể đồng bộ được với máy phát trong hoạt động dịch bit để thu dữ liệu Như vậy, cần phải có kênh (cần hiểu hoặc là cặp dây dẫn hoặc là một kênh trên đường ghép kênh hay kênh do mã hoá) thứ hai cho tín hiệu đồng hồ chung
Tuy nhiên, khi xét đến các mức thông in cao hơn mức vật lý trong mô hình hệ thống mở thì việc đồng bộ này được thực hiện theo từng khối dữ liệu và đặc tính truyền đồng bộ khác nhau, cần có các đặc trưng sau:
- Luồng bit truyền được mã hoá một cách thích hợp để máy thu có thể duy trì trong một cơ cấu đồng bộ bit
- Tất cả cá frame được dẫn đầu bởi một hay nhiều byte điều khiển nhằm đảm bảo máy thu có thể dịch luồng bit đến theo các ranh giới byte hay ký tự một cách chính xác
- Nội dung của mỗi frame được đóng gói giữa một cặp ký tự điều khiển để đồng
bộ frame
Trong trường hợp truyền đồng bộ, khoảng thời gian giữa hai frame truyền liên tiếp có các byte nhàn rỗi được truyền liên tiếp để máy thu duy trì cơ cấu đồng bộ bit và đồng bộ byte hoặc mỗi frame được dẫn đầu bởi hai hay nhiều byte đồng bộ đặc biệt cho phép máy thu thực hiện tái đồng bộ
c Kiểm soát lỗi (error control)
Trong quá trình truyền luồng bit giữa hai DTE, rất thường xảy ra sai lạc thông tin, có nghĩa là mức tín hiệu tương ứng với bit 0 bị thay đổi làm cho máy thu dịch ra là bit 1 và ngược lại, đặc biệt khi có khoảng cách vật lí truyền khá xa ví dụ như dùng mạng PSTN để truyền Vì thế, khi truyền số liệu giữa hai thiết bị cần có phương tiện phát hiện các lỗi có thể xảy ra và khi xảy ra lỗi nên có phương tiện sửa chữa chúng
Chúng ta có thể dùng một số các lược đồ, nhưng việc chọn loại nào là tuỳ thuộc vào phương pháp truyền được dùng Khi dùng phương pháp truyền bất đồng bộ, vì mỗi ký tự được chăm sóc như một thực tế riêng biệt, nên thường thêm một số ký số nhị phân vào mỗi ký tự được truyền Ký số nhị phân thêm vào này gọi là bit chẵn lẻ -
parity bit.
Ngược lại, khi dùng phương pháp truyền đồng bộ, chúng ta thường xác định các lỗi xảy ra trên một frame hoàn chỉnh Hơn thế nữa, nội dung của một frame có thể rất lớn và xác suất nhiều hơn một bit lõi gia tăng Vì vậy cần dùng tuần tự kiểm tra lỗi phức tạp hơn Cũng có một số dạng kiểm tra lỗi khác nhau, nhưng nhìn chung thiết bị
sẽ tín toán ra tuần tự các ký số kiểm tra dựa vào nội dung của frame đang được truyền
và gắn tuần tự này vào đuôi của frame sau ký tự dữ liệu hay trước byte báo hiệu kết thúc frame
Trang 5Trong quá trình duyệt frame, máy thu có thể tính toán lại một cách tuần tự kiểm tra mới dựa vào nhận được từ frame hoàn chỉnh và so sánh với các ký số kiểm tra nhận được từ máy phát Nếu hai chuỗi ký số này không giống nhau, coi như có một lỗi truyền xảy ra.
Cả hai lược đồ nói trên chỉ cho phép máy thu phát hiện lỗi trưyền Chúng ta cần máy thu lấy được một bản copy khác từ nguồn khi bản truyền bị lỗi Có một số lược
đồ cho phép điều này Ví dụ xem xét trường hợp một đầu cuối và một máy tính truyền
số liệu truyền bất đồng bộ Khi user gõ vào bàn phím, ký tự đã mã hoá được truyền đến máy tính dưới dạng in được Ngay sau đó, ký tự tương ứng với luồng bit vừa thu được máy tính dội trở lại (echo) đầu cuối và hiện lên màn hình Nếu ký tự xuất hiện không giống như ký tự đã truyền trước đó, user có thể gửi một ký tự đặc biệt để thông
báo với máy tính bỏ qua ký tự vừa nhận Điều này được gọi là kiểm soát lỗi Một
phương thức có chức năng tương tựng cũng phải được dùng khi truyền các khối ký tự Chúng ta sẽ quay trở lại ở phần sau
d Điều khiển luồng (flow control)
Điều này là hết sức quan trọng khi hai thiết bị đang truyền thông tin qua mạng
số liệu, khi mà rất nhiều mạng sẽ đệm số liệu trong các bộ đệm có kích thước giới hạn Nếu hai thiết bị hoạt động với tốc độ khác nhau, chúng ta thường phải điều khiển số liệu đầu ra của thiết bị tốc độ cao hơn để ngăn chặn trường hợp nghẽn trên mạng Điều
khiển luồng thông tin giữa hai thiết bị truyền thường được gọi vắn tắt là điều khiển luồng (flow control).
e Các giao thức liên kết dữ liệu.
Kiểm soát lỗi và điều khiển luồng là hai thành phần thiết yếu của một chủ đề tổng quát hơn đó là giao thức điều khiển truyền số liệu Về cơ bản, một giao thức là một tập hợp các tiêu chuẩn hay quy định phải tuân theo bởi cả hai đối tác ở hai đầu, nhằm đảm bảo thông tin đang trao đổi xuyên qua một liên kết số liệu nối tiếp được tiếp nhận và được biên dịch ra một cách chính xác Bên cạnh kiểm soát lỗi và điều khiển luồng, giao thức liên kết số liệu cũng định nghĩa những chi tiết sau:
- Khuôn dạng của mẫu số liệu đang trao đổi, nghĩa là số bit trên một phần từ thông tin và dạng lược đồ mã báo đang được dùng
- Dạng và thứ tự các thông điệp được trao đổi để đạt được độ tin cậy giữa hai đối tác truyền
f Mã truyền (transmission code)
Trong hệ thống thông tin số liệu, thường muốn truyền dòng các văn bản, các giá trị số, hình ảnh, âm thanh,…v.v từ nơi này đến nơi khác Các thông tin thì có nhiều dạng, tuy nhiên máy tính hay các thiết bị đầu cuối chỉ biết các bit 1 hay 0 vì chúng là các hệ thống nhị phân Cần phải chuyển các thông tin về dạng nhị phân để thực hiện vấn đề phù hợp dữ liệu cho máy tính, đồng thời cũng phải có dấu hiệu nào đó cho con người hiểu được hay chuyển về dạng thông tin hiểu được khi nhân thông tin nhị phân
Trang 6Nhu cầu này là nguyên nhân cho việc ra đời các bộ mã Các bộ mã là tập hợp một số giới hạn các tổ hợp nhị phân, mỗi tổ hợp bit nhị phân mang ý nghĩa của một ký tự nào
đó theo quy định của từng bộ mã Số lượng bit nhị phân trong một tổ hợp bit nói lên quy mô của một bộ mã hay số ký tự chứa trong bộ mã Nếu gọi n là số bit trong một tổ hợp bit thì số ký tự có thể mã hoá là 2n Có một số bộ mã thông dụng như Baudot, BCD, EBCDIC, ASCII
Mặc dù mã này được dùng để xuất nhập, nhưng một khi dữ liệu được nhập vào trong máy tính nó được chuyển đổi và được lưu giữ dưới dạng số nhị phân tương ứng
có số bit cố định, thông thường là 8, 16 hay 32 bit Chúng ta gọi mẫu nhị phân 8 bit là một byte và mẫu dài hơn là một từ Vì một dãy biet được dùng để biểu diễn cho mỗi
từ, nên thường dùng nhiều phần từ 8 bit khi truyền dữ liệu giữa hai DTE.Do đó trong vài trường hợp 8 bit được qua một liên kết số liệu có thể đại diện cho một ký tự có thể
in được mã hoá nhị phân (7 bit cộng với một bit kiểm tra) trong khi ở trường hợp khác
nó có thể đại diện cho thành phần 8 bit của một giá trị lớn hơn Trong trường hợp sau
sẽ xem xét phần từ như là byte hoặc như là octet cho các mục đích truyền tin
g Các đơn vị dữ liệu (data unit)
Theo đơn vị đo lường dung lượng thông tin thì đơn vị cơ bản là byte, một byte là một tổ hợp 8 bit
h Giao thức (protocol)
Giao thức truyền là tập hợp các quy định liên quan đến các yếu tố kỹ thuật truyền số liệu, cụ thể hoá các công tác cần thiết và quy trình thực hiện việc truyền nhận số liệu từ đầu đến cuối
Tuỳ thuộc vào việc lựa chọn các giải pháp kỹ thuật và thiết kế quy trình làm việc mà sẽ có các giao thức khác nhau Mỗi giao thức sẽ được sử dụng tương ứng với thiết kế của nó
Trang 7j Đường nối và liên kết.
Đường nối là đường kết nối thực tế xuyên qua môi trường truyền, vì vậy
nó là đối tượng truyền dẫn mang tính vật lý
Liên kết là kết nối giữa các đầu cuối dựa trên các đường nối và tồn tại trong một khoảng thời gian nhất định, mỗi đường nối có thể chứa nhiều liên kết, ngoài ra một liên kết có thể được kết hợp từ nhiều liên kết hay một liên kết có thể phân thành nhiều liên kết Do đó liên kết là đối tượng truyền dẫn phụ thuộc mang tính lôgic
Sơ đồ về mạng truyền số liệu
Mạng truyền số liệu bao gồm 2 hay nhiều hệ thống truyền và nhận tin được ghép nối với nhau theo nhiều hình thức phân cấp hoặc phân chia thành các trung tâm xử lý trao đổi với các chức năng khác nhau Sơ đồ tổng quát của một mạng truyền số liệu có thể được mô tả như sau:
é
+ DTE ( Data Terminal Equipment)
Đây là thiết bị lưu trữ và xử lý thông tin.Trong hệ thống truyền số liệu hiện đại ngày nay thì DTE thường là máy tính hoặc máy fax hoặc là trạm đầu cuối
Như vậy, tất cả các ứng dụng của người sử dụng( chương trình, dữ liệu) đều nằm trong DTE Chức năng của DTE thường là lưu trữ các phần mềm ứng dụng, đóng gói dữ liệu rồi gửi ra DCE hoặc nhận gói dữ liệu từ DCE theo một giao thức xác định DTE trao đổi với DCE thông qua một chuẩn giao tiếp nào đó Như vậy, mạng truyền
số liệu chính là mạng để nối các DTE lại cho phép chúng phân chia tài nguyên, trao đổi dữ liệu và lưu trữ thông tin dùng chung
+ DCE ( Data Circuit terminal Equipment)
Đây là thuật ngữ dùng để chỉ các thiết bị dùng để nối các DTE với các đường mạng truyền thông, nó có thể là một Modem, dồn kênh, card mạng hoặc một thiết bị
số nào đó như một máy tính chẳng hạn( nút mạng) DCE có thể được cài đặt bên trong DTE hoặc đứng riêng như một thiết bị độc lập Giữa DTE và DCE, việc trao đổi dữ liệu phải tuân thủ theo một chuẩn dữ liệu nhất định
Giao tiếpDTE-DCE
Giao tiếpDTE-DCE
Hình 1.1: Sơ đồ tổng quát của mạng truyền số liệu
Trang 81.1.2 Các chuẩn giao tiếp vật lý
a Giao tiếp EIA-232D/V24
Giao tiếp EIA-232D/V24 được định nghĩa như là một giao tiếp chuẩn cho việc kết nối giữa DTE và modem ITU-T gọi là V24 Thông thường modem được đề cập đến như một DCE (Data connect Equipment) Đầu nối giữa DTE và modem là đầu nối 25
Các đường dữ liệu TxD (Transmitted Data) và dữ liệu RxD (Received Data) là các đường được DTE dùng để truyền và nhận dữ liệu Các đường khác thực hiện các chức năng định thời và điều khiển liên quan đến thiết lập, xoá cuộc nối qua PSTN (Public Switching Telephone Network) và các hoạt động kiểm thử tuỳ chọn
Các tín hiệu định thời TxClk và RxClk có liên quan đến sự truyền và nhận của
dữ liệu trên đường truyền nhận dữ liệu Như đã biết, dữ liệu được truyền theo chế độ đồng bộ hoặc chế độ bất đồng bộ Trong chế độ truyền bất đồng bộ cả hai đồng hồ truyền và thu đều được thực hiện độc lập ở cả hai đầu máy phát và máy thu Trong chế
độ này chỉ các đường dữ liệu truyền / nhận là được nối đến modem và các đường điều khiển cần thiết khác Các đường tín hiệu đồng vì vậy không cần dùng và không nối đến modem Tuy nhiên trong chế độ truyền đồng bộ số liệu truyền và nhận được truyền nhận một cách đồng bộ với tín hiệu đồng hồ tương ứng và thường được tạo ra bởi modem Các modem làm việc trong chế độ thứ hai này gọi là modem đồng bộ khi tốc độ baud nhỏ hơn tốc độ bit thì các tín hiệu đồng hồ được tạo ra bởi modem hoạt động với tần số thích hợp so với tốc độ thay đổi tín hiệu trên đường truyền
b Modem rỗng (Null Modem)
Với tín hiệu cả truyền và nhận số liệu từ đầu cuối đến máy tính đều trên cùng một đường, vì modem có cùng chức năng ở cả hai phía Tuy nhiên theo định nghĩa nguyên thuỷ chuẩn EIA-232D/V24 là giao tiếp chuẩn nối các thiết bị ngoại vi vào máy tính nên để dùng được cần quyết định thiết bị nào sẽ là máy tính và thiết bị nào sẽ là thiết bị ngoại vi vì cả hai thiết bị không thể truyền và nhận số liệu trên cùng một đường dây, có 3 khả năng lựa chọn:
- Đầu cuối mô phỏng modem và định nghĩa các đường một cách thích hợp để hoàn chỉnh hoạt động
- Máy tính mô phỏng modem
- Cả đầu cuối và máy tính đều không thay đổi và các dây dẫn được nối lại
Bất tiện của hai lựa chọn đầu là không có đầu cuối nào hay máy tính nào có thể dùng trực tiếp với một modem Từ đó tiếp cận tổng quát cho vấn đề là bằng cách nối lại tín hiệu trên cổng giao tiếp EIA-232D/V24 để mô phỏng một modem, cho phép đầu cuối và máy tính nối trực tiếp vào modem, lựa chọn thứ 3 được dùng rộng rãi, yêu cầu một modem rỗng (Null Modem) chèn vào giữa đầu cuối và máy tính
Các đường truyền trao đổi với nhau từng đôi một các đường điều khiển cũng
Trang 9công hoàn toàn Các đường RTS và CTS được nối với nhau tại đầu đường dây và sau
đó tín hiệu này được nối đến ngõ vào DTR Tín hiệu signal ground và shield ground được nối trực tiếp
Khi hai thiết bị liên lạc với nhau qua một liên kết số liệu đồng bộ thì đồng hồ truyền từ mỗi thiết bị thường được nối đến và được dùng như đồng hồ thu tại thiết bị kia Trong vài trường hợp không có thiết bị nào có đồng hồ và đồng hồ cho cả hai thiết
bị được tạo ra trong modem rỗng thành phần này được gọi là bộ modem eliminator
c Giao tiếp EIA-530
Chuẩn EIA-530 là giao tiếp có tập tín hiệu giống giao tiếp EIA-232D/V24 Điều khác nhau là giao tiếp EIA-530 dùng các tín hiệu điện vì sai theo RS 422/V11 để đạt được cự lý truyền xa hơn và tốc độ cao hơn Dùng bộ nối 37 chân cùng với bộ nối tăng cường 9 chân nếu tập tín hiệu thứ hai cũng được dùng
d Giao tiếp EIA-430/V35
Giao tiếp EIA/430/V35 được định nghĩa cho việc giao tiếp giữa một DTE với một modem đồng bộ băng rộng hoạt động với tốc độ từ 48Kbps đến 168Kbps Giao tiếp này dùng tập tín hiệu giống với giao tiếp EIA-232D/V24 ngoại trừ không có các đường thuộc kênh thứ hai hay kiểm thử Các tín hiệu điện là một tập hợp theo lối không cân bằng (V28) và cân bằng (RS422/V11) Các đường tín hiệu không cân bằng dùng cho các chức năng điều khiển; các đường tín hiệu cân bằng dùng cho dữ liệu và tín hiệu đồng hồ Vì tất cả các đường tín hiệu dữ liệu và đồng hồ là cân bằng nên trong các trường hợp truyền với đường cáp dài thường hay sử dụng các đường truyền nhận EIA-430/V35 dùng bộ nối 34 chân, nhưng với các áp dụng chỉ dùng các đường truyền
số liệu và đồng hồ thì có bộ kết nối nhỏ hơn
e Giao tiếp X21
Giao tiếp X21 được định nghĩa cho giao tiếp giữa một DTE và DCE trong một dạng dữ liệu công cộng Giao tiếp X21 cũng được dùng như một giao tiếp kết cuối cho các mạch thuê riêng số tốc độ là bội số của 64Kbps Đầu nối và các đường tín hiệu được trình bày trên hình 1.2
Tất cả các đường tín hiệu dùng đồng bộ phát và thu cân bằng (RS-422A/V11)
Là giao tiếp đồng bộ, bên cạnh cặp tín hiệu truyền (T) và nhận ( R) còn có tín hiệu định thời phân tử bit (s) và định thời byte (B) Các tín hiệu điều khiển (C) và (I) được dùng với các đường truyền và thu thiết lập nên cầu nối xuyên qua một mạng dữ liệu chuyển mạch số hoá hoàn toàn
Trang 10Hình 1.2: Đầu nối và các đường tín hiệu của chuẩn giao tiếp X21
f Giao tiếp ISDN
Giao tiếp ISDN là giao tiếp thay thế được số hoá hoàn toàn vào PSTN Mạch thoại được số hoá hoạt động tại tốc độ 64Kbps và một kết cuối tốc độ cơ bản cung cấp hai mạch như vậy cùng với một mạch 16kbps cho mục đích thiết lập và xoá cuộc gọi
Ba mạch riêng biệt được ghép kênh cho mục đích truyền đến và đi từ một tổng đài gần nhất lên một cặp dây Thiết bị kết cuối mạng NT (Network Termination) tách biệt các đường dẫn đi và đến lên hai cặp dây riêng biệt Năng lượng có thể được cấp từ NT cho các DTE nếu có nhu cầu Giao tiếp giữa user và NT trên hai cặp dây được gọi là giao tiếp S xem hình 1.3 Nguồn năng lượng chính từ NT đến thiết bị đầu cuối được dẫn xuất từ các cặp truyền/nhận Một nguồn năng lượng thứ hai cũng có sẵn qua chân 7 và
8 Nhằm kết nối thiết bị có tốc độ thấp và giao tiếp S có tốc độ cao này cần dùng thiết
bị có tên là "bộ thích nghi đầu cuối" TA (terminal Adapter)
Trang 11Hình 1.3: Đầu nối và các đường tín hiệu của chuẩn giao tiếp S
1.2.CÁC KỸ THUẬT CHUYỂN MẠCH TRONG MẠNG TRUYỀN SỐ
LIỆU
Mạng truyền số liệu rất đa dạng về chủng loại cũng như về số lượng, có nhiều cách phân chia mạng truyền số liệu Xét về mặt kỹ thuật có thể phân chia mạng truyền
số liệu ra 3 loại sau:
+ Kỹ thuật chuyển mạch kênh
+ Kỹ thuật chuyển mạch tin
+ Kỹ thuật chuyển mạch gói
1.2.1 Kỹ thuật chuyển mạch kênh
Mạng chuyển mạch kênh sử dụng kỹ thuật chuyển mạch kênh, dữ liệu được truyền qua các đường nối cố định giữa 2 thuê bao gọi là kênh truyền Quá trình truyền
dữ liệu bao gồm 3 giai đoạn: Xác lập kênh truyền, truyền dữ liệu và giải phóng kênh truyền
Xác lập kênh truyền: Trong quá trình truyền dữ liệu giữa 2 thuê bao (User) dữ liệu có thể phải đi qua rất nhiều nút mạng, các nút mạng lại là điểm xuất phát của nhiều liên kết tới các nút mạng khác Như vậy trước khi dữ liệu được truyền đi cần phải thiết lập một kênh truyền, việc thiết lập này dựa vào các thuật toán tìm đường
Trang 12(routing) Cuối cùng khi đã thiết lập kênh truyền giữa thuê bao chủ gọi và thuê bao bị gọi cần thiết phải kiểm tra trạng thái bận rỗi của thuê bao bị gọi trước khi có thể truyền
Như vậy, trong quá trình truyền dữ liệu ta thấy kênh truyền được thiết lập trước khi truyền dữ liệu nên cần phải dự trữ dung lượng kênh cho mỗi cặp thuê bao đồng thời các bộ chuyển mạch tại các nút mạng phải đáp ứng được yêu cầu thiết lập kênh của mạng Khi kênh truyền được xác lập thì dữ liệu chỉ được truyền trên kênh cố định này
1.2.2 Kỹ thuật chuyển mạch tin
Hiện nay các bức thư điện tử, điện báo, các files của máy tính… còn được gọi
là các các bản tin Quá trình truyền các bản tin thực hiện như sự trao đổi dữ liệu số hai chiều giữa các máy tính
Với chuyển mạch tin không tồn tại sự thiết lập kênh giữa hai thuê bao, điều này khác hẳn với chuyển mạch kênh Mỗi thuê bao khi truyền một bản tin nó sẽ gán địa chỉ của thuê bao nhận vào bản tin Trong quá trình trao đổi dữ liệu bản tin được truyền qua các nút, tại mỗi nút bản tin được tạm lưu trữ trên bộ đệm và sẽ được chuyển dần tới các nút khác cho đến khi tới đích
Trong kỹ thuật mạng chuyển mạch tin, các nút mạng còn có chức năng quản lý việc truyền thông như xác nhận trả lời tin báo đã nhận đúng hay chưa hoặc yêu cầu truyền lại những tin báo nhận sai Đồng thời kiểm soát thông lượng đường truyền nhằm tránh xung đột, tắc nghẽn thông tin trong mạng
Nhược điểm của mạng chuyển mạch tin là thời gian trễ lớn do bản tin bị giữ tại các bộ đệm của nút mạng Thời gian trễ này bao gồm cả thời gian nhận bản tin và thời gian xếp hàng chờ chuyển tiếp bản tin đó
1.2.3 Kỹ thuật chuyển mạch gói
Chuyển mạch gói tương tự như chuyển mạch tin, sự khác nhau cơ bản là trong chuyển mạch gói dữ liệu được chia ra thành các gói tin nhỏ có kích thước xác định Các gói tin này được gửi trên mạng thông qua một đường hoặc nhiều đường tới đích,
có thể gửi theo trình tự hoặc không theo trình tự Mỗi gói tin sẽ mang thông tin về địa chỉ nguồn, địa chỉ đích, dữ liệu và các thông số kèm theo khác Phía thu khi nhận các gói tin dựa vào các thông tin gói tin mang theo để sắp xếp thành dữ liệu như ở phía phát
Trong mạng chuyển mạch gói có hai phương pháp được dùng để truyền gói tin
Trang 13Datagram: Các gói tin là độc lập với nhau, đường đi của mỗi gói tin có thể khác nhau do đó thứ tự các gói tin đến Đích là không giống nhau Bởi vậy, mỗi gói tin sẽ phải mang thêm thông tin về số thứ tự phát của mình để dễ dàng sắp xếp các gói tin thành khối dữ liệu.
Vitual Circuit (mạch ảo): Trong mạch ảo, sự kết nối logic mạch được thiết lập trước khi truyền mỗi gói tin Mỗi gói tin bao gồm dữ liệu và nhận dạng kênh ảo Mỗi nút với đường đi đã định sẽ chuyển trực tiếp gói tin đến đúng địa chỉ mà không cần tìm đường nữa Điều này khác hẳn với Datagram, mỗi nút mạng trong mạch ảo không cần tìm đường cho mỗi gói mà nó chỉ làm 1 lần cho 1 kết nối Kết nối chấm dứt khi 1 trong 2 trạm truyền đi gói tin Clear Request để thông báo chấm dứt kết nối
Nhược điểm của các liên kết ảo là khi một nút mạng bị hỏng thì các liên kết ảo qua nút đó đều phải bỏ còn với Datagram thì khi một nút mạng bị hỏng gói tin vẫn có thể được truyền theo đường khác
Hai vấn đề cơ bản của chuyển mạch gói là:
+ Routing (tìm đường)
+ Traffic control (điều khiển lưu lượng)
Routing (tìm đường): Chức năng cơ bản của chuyển mạch gói là chuyển các gói tin từ trạm nguồn tới trạm đích, để thực hiện chức năng đó một hoặc nhiều con đường thông qua mạng được chọn (con đường này nối từ trạm nguồn tới trạm đích thông qua một số nút trung gian) Do có rất nhiều nút mạng trung gian nên không phải là chỉ có một đường đi tới đích mà có rất nhiều đường đi khác nhau Bằng các thuật toán tìm đường con đường tối ưu nhất sẽ được chọn
Traffic control (điều khiển lưu lượng): Giá trị lưu lượng trong mạng cần phải được điều khiển để tăng hiệu suất Traffic control có 4 loại với các mục đích khác nhau: Flow control, Congestion control, Deadlock control, Error control
+ Flow control (điều khiển luồng dữ liệu): Lưu lượng dữ liệu sẽ được điều khiển phù hợp với khả năng xử lý của phía thu để các bộ đệm thu không bị tràn
+ Congestion control (điều khiển tắc nghẽn): Đảm bảo cho lưu lượng dữ liệu đi vào mạng không vượt quá khả năng xử lý của toàn mạng
+ Deadlock control: Là tình trạng một nút không chấp nhận chuyển tiếp các gói tin vì nó không còn bộ đệm
+ Error control (kiểm soát lỗi): Có nhiều nguyên nhân gây sai, mất gói trong quá trình truyền như: Mất đường nối, hỏng nút mạng, trạm thu nhận sai…
Như vậy, trong mạng chuyển mạch gói do dữ liệu được chia thành nhiều gói nhỏ có kích thước xác định nên cho phép các nút mạng có thể quản lý toàn bộ các gói tin trong bộ nhớ mà không cần lưu tạm trữ trên bộ nhớ ngoài Đồng thời nhờ vào các thuật toán tìm đường tối ưu giúp việc định tuyến cho các gói tin thông qua mạng cũng nhanh hơn Chính vì vậy mà kỹ thuật chuyển mạch gói đạt được hiệu quả cao hơn rất nhiều so với kỹ thuật chuyển mạch tin
Trang 15Chương II TRUYỀN SỐ LIỆU TRONG MẠNG CHUYỂN MẠCH GÓI
Trước khi đi sâu nghiên cứu vấn đề này chúng ta cần phân biệt rõ 2 khái niệm:+ Thông lượng: Là tốc độ truyền thông tin của mạng tính theo đơn vị gói/s.+ Lưu lượng: Là tốc độ thông tin đi đến mạng bao gồm cả thông tin mới và thông tin phát lại
2.1.1 Khái niệm và phân loại điều khiển luồng.
Trong mạng thông tin nói chung và đối với mạng chuyển mạch gói nói riêng vấn
đề điều khiển luồng thông tin luôn được đặt lên hàng đầu Trong thực tế rất nhiều mạng chuyển mạch gói nằm trong tình trạng quá tải vì số lượng người sử dụng rất lớn
và ngày một tăng nhanh với nhiều ứng dụng khác nhau Để tránh hiện tượng tắc nghẽn xảy ra trong mạng và nâng cao chất lượng dịch vụ, điều đó đã yêu cầu các nhà thiết kế mạng hoặc phải chấp nhận tăng chi phí nâng cấp tài nguyên mạng hoặc phải áp dụng các kỹ thuật điều khiển luồng để tránh hiện tượng nghẽn mạng
Điều khiển luồng: Là cơ chế nhằm đảm bảo việc truyền thông tin của phía phát không vượt quá khả năng xử lý của phía thu
Trong kỹ thuật mạng điều khiển luồng được chia ra làm 2 loại:
Hình 2.1: Phân loại kỹ thuật điều khiển luồng.
+ Điều khiển luồng giữa hai nút đầu cuối (End to End): Là cơ chế nhằm đảm bảo nút nguồn (nơi tạo kết nối để truyền thông tin) thực hiện việc truyền thông tin không vượt quá khả năng xử lý của nút đích (nơi kết thúc liên kết truyền thông tin)
+ Điều khiển luồng giữa 2 nút mạng liên tiếp (Hop by Hop): Là cơ chế điều khiển luồng giữa 2 nút mạng liên tiếp trên đường kết nối từ phía phát đến phía thu được chọn
Trang 16Trong kỹ thuật điều khiển luồng người ta thường phân biệt 2 kỹ thuật điều khiển luồng chính sau:
+ Điều khiển luồng theo phương pháp cửa sổ trượt (Sliding windown)
+ Điều khiển luồng theo phương pháp chậu rò (Leaky bucket)
Tắc nghẽn là một vấn đề thường gặp trong các mạng chuyển mạch gói mà nguyên nhân chủ yếu là do tài nguyên mạng còn hạn chế mà số lượng người sử dụng liên tục tăng và dường như không có giới hạn Trong cấu trúc của một mạng chuyển mạch gói thường bao gồm nhiều nút mạng được liên kết với nhau thông qua nhiều đường liên kết Một nút mạng có thể kết nối với nhiều nút mạng khác thông qua các đường liên kết nối đến nó và ngược lại các nút mạng khác cũng có thể trao đổi thông tin với nó thông qua các liên kêt này Thông thường các nút mạng được thiết kế với bộ đệm lưu trữ có hạn, nếu tình trạng tắc nghẽn xảy ra với một nút mạng nào đó thì bộ đệm tương ứng của nút sẽ dần đầy và bị tràn bộ đệm Đây là nguyên nhân gây mất các gói tin Nếu tình trạng mạng bị tắc nghẽn kéo dài một nút mạng bị tràn bộ đệm hệ quả
là sẽ kéo theo các nút mạng trước nó trong đường liên kết cũng nhanh chóng bị tràn bộ đệm Khi đó mạng có thể bị tắc nghẽn hoàn toàn, thông lượng của mạng gần như bằng
0, làm mất các gói tin Nếu một gói tin bị mất thì tại thời điểm tắc nghẽn các tài nguyên mà gói tin đó sử dụng được coi là lãng phí
Tránh tắc nghẽn: Là cơ chế kiểm soát thông tin đi vào mạng nhằm đảm bảo tổng lưu lượng đi vào mạng không vượt quá khả năng xử lý của toàn mạng
Các nguyên nhân gây tắc nghẽn:
+ Do tràn bộ đệm: Như phần trên vừa chỉ ra, bộ đệm tràn là nguyên nhân gây ra mất các gói tin và hiện tượng tắc nghẽn trong mạng
+ Do lỗi đường truyền: Các hiệu ứng đường truyền gây ra mất các gói tin và ảnh hưởng đến tắc nghẽn trong mạng
+ Do nghẽn cổ chai: Là hiện tượng xảy ra khi hai mạng có tốc độ chênh lệch nhau quá lớn tại nút nối giữa các đường liên kết hai mạng sẽ xảy ra tắc nghẽn
+ Do lưu lượng lớn và thay đổi đột ngột gây ra tình trạng tắc nghẽn
Nguyên lý chung của tránh tắc nghẽn:
Trang 17Hình 2.2: Đồ thị đánh giá trạng thái tắc nghẽn trong mạng.
Đồ thị biểu diễn mối quan hệ giữa thông lượng của mạng và lưu lượng đưa vào mạng (offered load) Với mức lưu lượng vào mạng nhỏ (phía trái điểm gãy) thông lượng tăng tuyến tính với lưu lượng đưa vào, đó là lúc băng thông chưa được sử dụng hết Thông lượng lớn nhất khi lưu lượng đưa vào mạng gần với băng thông giới hạn của mạng và thông lượng tăng chậm tương ứng với kích thước dữ liệu trong bộ đệm Khi lưu lượng đưa vào mạng tiếp tục tăng lên đến một giới hạn nào đó thông lượng trong mạng giảm đột ngột từ điểm vách đến một giá trị rất nhỏ Lúc này mạng rơi vào trạng thái tắc nghẽn, thông lượng có thể giảm xuống bằng không trạng thái này gọi là Deadlock
Nguyên lý chung của các phương pháp điều tránh tắc nghẽn trên mạng là duy trì điểm hoạt động của mạng nằm ở phía trái điểm gãy và đảm bảo bộ đệm các nút mạng không bị tràn
Phân loại các phương pháp điều khiển chống tắc nghẽn:
Dựa trên nguyên lý hoạt động có thể phân loại các phương pháp điều khiển chống tắc nghẽn như sau:
Trang 18Hình 2.3: Phân loại các phương pháp điều khiển tránh tắc nghẽn.
Điều khiển tránh tắc nghẽn vòng hở: Là phương pháp điều khiển dựa theo nguyên lý kiểm soát lượng thông tin đầu vào mạng hoặc điều khiển thông lượng đầu vào phía thu Phương pháp này không sử dụng thông tin phản hồi từ phía thu, từ các nút mạng và việc điều khiển luồng dựa vào nguyên lý chậu rò (Leaky bucket) Ưu điểm của phương pháp này là các kỹ thuật được ứng dụng đơn giản, thời gian đáp ứng khá nhanh do thông lượng đầu vào đã được hạn chế
Điều khiển phía phát: Thông lượng đầu vào phía phát sẽ được kiểm soát chặt chẽ
để không gây quá tải cho mạng
Điều khiển phía thu: Khả năng xử lý của phía thu là có hạn do vậy thông lượng đầu vào phía thu cũng nằm trong sự kiểm soát
Điều khiển tránh tắc nghẽn vòng kín:
Hoạt động của phương pháp điều khiển tránh tắc nghẽn vòng kín tương tự như các phương pháp kiểm soát lỗi đều dựa trên các thông tin phản hồi để biết được trạng thái của mạng từ đó đưa ra các biện pháp xử lý Các phương pháp kiểm soát lỗi cũng được coi là các phương pháp điều khiển luồng tránh tắc nghẽn với hoạt động dựa trên nguyên lý cửa sổ trượt
2.1.3 Ý nghĩa của việc điều khiển luồng và tránh tắc nghẽn.
Để thấy rõ chức năng và tác động của các biện pháp điều khiển luồng và tránh tắc nghẽn ta xét hoạt động của một mạng khi không có sự kiểm soát
Trang 19Hình 2.4: Hoạt động của mạng khi không có sự kiểm soát.
Trên hình vẽ này các số trên mỗi liên kết thể hiện tốc độ truyền dữ liệu trên đường
đó Giả sử có hai kết nối từ B đến A (theo đường B – Y – X – A, tốc độ λBA Kbps) và từ C đến D (theo đường C – Z – X – D, tốc độ λCD Kbps)
Giả thiết hệ thống mạng không được kiểm soát, nghĩa là tất cả các gói tin đều có
thể truy cập tài nguyên của mạng, và bộ đệm tại các nút X, Y và Z có thể được sử dụng bởi
bất kỳ gói tin nào Giả thiết môi trường truyền không có lỗi, lúc này các gói tin không bị sai nhưng vẫn có thể phải được truyền lại nếu nó bị nút mạng hủy do không còn dung lượng bộ đệm để lưu gói tin tạm thời trước khi xử lý Giả thiết khi gói tin bị mất vì không được lưu trong bộ đệm thì nút phát nó sẽ thực hiện phát lại nhằm đảm bảo việc truyền tin tin cậy
Để minh họa cho việc điều khiển trong mạng, ta tìm hiểu các trường hợp sau:
Trường hợp 1: λ =BA 7Kbps và λ =CD 0
Trong trường hợp này không xảy ra tắc nghẽn vì lưu lượng từ B đến A sẽ được mạng trung chuyển hết Tốc độ thông tin đến nút A chính bằng tốc độ thông tin nút B đưa vào mạng, các đường B-Y, Y-X và X-A đều có tốc độ 7 Kbps
Trường hợp 2: λBA = +8 δ Kbps (δ > 0) và λ =CD 0
Trong trường hợp này, tốc độ thông tin từ B đến A lớn hơn tốc độ hoạt động của đường từ X đến A Vì lý do này, tốc độ thông tin từ Y đến X lớn hơn từ X đến A, lượng thông tin dư thừa sẽ phải được lưu trong bộ đệm của X Bộ đệm của X sẽ dần bị đầy và tràn dẫn đến các gói thông tin từ Y đến sẽ không được lưu và bị hủy Vì bộ đệm của Y lưu lại các gói tin chưa được báo nhận (để truyền lại) nên bộ đệm của Y cũng dần bị
đầy và tràn
Nút X có thể chuyển 8 Kbps khi lưu lượng đầu vào của nó là 8+δ Kbps (X hủy δ
Kbps) Lúc này, đường Y – X sẽ có tốc độ 8+2δ Kbps (trong đó 8+δ Kbps là thông tin từ B
Trang 20đến và δ Kbps là thông tin phát lại) Nhưng vì nút X chỉ có thể truyền 8 Kbps nên nó hủy
2δ Kbps và Y lại phải truyền lại lượng thông tin này Quá trình này cứ tiếp diễn và cuối cùng đường nối Y – X sẽ hoạt động với tốc độ 56 Kbps Tương tự như vậy, đường liên kết
từ B đến Y cũng sẽ hoạt động với tốc độ 16 Kbps (bao gồm cả các gói mới và các gói được
phát lại)
Để giải quyết vấn đề này, có thể làm theo hai cách:
• Xây dựng hệ thống mạng có khả năng đáp ứng tốc độ của thông tin từ X đến A
(8+δ Kbps) nhằm đáp ứng với yêu cầu về tốc độ của B – giải pháp này chỉ thực sự khả thi và hiệu quả khi tốc độ phát tin của B là ổn định trong một thời gian dài, nếu không
hiệu quả sử dụng tài nguyên rất thấp nếu xây dựng hệ thống mạng có khả năng đáp ứng lưu lượng lớn nhưng lại chỉ hoạt động với các yêu cầu trao đổi lưu lượng nhỏ
• Giới hạn tốc độ truyền tin của B xuống còn 8 Kbps – phương án này khả thi khi yêu
cầu truyền tin của B trong phần lớn thời gian < 8 Kbps và tốc độ vượt 8 Kbps chỉ diễn
ra trong thời gian ngắn
Trong hai phương án này, trên thực tế người ta sử dụng phương án 2 với sự hỗ trợ của các giao thức mạng
Trường hợp 3: λ =BA 7Kbpsvà λ =CD 7Kbps
Tương tự như trường hợp 1, trường hợp 3 không xảy ra tắc nghẽn trong mạng
Thông tin được chuyển đến A và D với tốc độ 7Kbps cho mỗi nút Mỗi một liên kết trong
mạng sẽ hoạt động với tốc độ 7Kbps
Trường hợp 4: λBA = +8 δ Kbps và λ =CD 7 Kbps (δ > 0)
Trong trường hợp này, đường đi từ C đến D có đủ dung lượng (tốc độ) để đáp ứng yêu cầu cho kết nối C – D; tuy nhiên yêu cầu truyền thông tin trên đường B – A vượt quá
khả năng xử lý của tuyến truyền này
Trong trường hợp này, hai kết nối B – A và C – D chia sẻ bộ đệm của nút X Như
đã xét trong trường hợp 2, lưu lượng thông tin từ B đến A làm tràn bộ đệm của X, điều này dẫn đến thông tin từ B và C khi đến X đều bị hủy Hiện tượng này xảy ra đối với tất cả các gói tin (cả B và C) cho dù nguyên nhân gây ra là do B Hệ quả là nút Y và Z cũng bị tràn
bộ đệm và tất cả các đường liên kết sẽ hoạt động với tốc độ cực đại của chúng
Do trước khi chuyển gói tin từ B và C đến A và D tương ứng, nút X phải lưu các gói tin này vào bộ đệm để xử lý nên trong trường hợp bộ đệm X bị tràn, X sẽ phải hủy các gói tin này Do tốc độ thông tin Y – X gấp đôi tốc độ thông tin Z – X (khi các liên kết này hoạt động với tốc độc đỉnh) nên số lượng gói tin từ Y đến X sẽ gấp đôi từ Z đến X Nói một cách khác, X sẽ hủy (hay chấp nhận) các gói tin từ Y và Z đến theo tỷ lệ 2:1 Lúc này thông tin từ B đến A hoạt động với tốc độ 8 Kbps trong khi thông tin từ C đến D chỉ hoạt động
với tốc độ 4 Kbps
So với trường hợp 3, ta thấy:
Trang 21• Thông lượng tổng cộng của mạng giảm từ 14 Kbps xuống còn 12 Kbps.
• Nút C bị đối xử không công bằng vì tốc độ truyền thông tin của nó đến D bị giảm từ 7 Kbps xuống còn 4 Kbps trong khi nút B không bị
ảnh hưởng nhiều (giảm từ 8+δ Kbps xuống 8 Kbps) Ngoài ra,
nguyên nhân gây ra tắc nghẽn lại là do nút B.
Để giải quyết vấn đề này, người ta có thể dành một phần dung lượng bộ đệm tại X cho các gói tin từ C đi đến Việc dành trước tài nguyên này có vẻ như trái ngược với
nguyên tắc của chuyển mạch gói khi tài nguyên trong mạng được chia sẻ bởi tất các các nút và người dùng Tuy nhiên, trên thực tế người ta có thể đánh đổi điều này để đảm bảo tính công bằng ở trong mạng
Hình dưới đây mô tả thông lượng của mạng trong mối quan hệ với lưu lượng đầu vào
Hình 2.5: Các trạng thái hoạt động của mạng.
Trường hợp lý tưởng: Mạng sẽ thực hiện chuyển tất cả các gói đi vào mạng khi tốc độ đến của các gói nhỏ hơn khả năng trung chuyển của mạng (đoạn dốc của đường
lý tưởng) Khi lưu lượng vào mạng lớn hơn khả năng đáp ứng của mạng thì mạng phải
có khả năng chuyển các gói tin với tốc độ bằng thông lượng của mạng (đoạn bằng của đường lý tưởng)
Trường hợp không có kiểm soát: Mạng sẽ chuyển tất cả các gói tin khi lưu lượng nhỏ hơn 1 giá trị cực đại nào đó Khi vượt qua ngưỡng đó thông lượng bắt đầu giảm, lưu lượng vào càng nhiều thì thông lượng càng giảm Một số trường hợp mạng hầu như không chuyển được gói tin nào, trạng thái đó gọi là Deadlock
Trường hợp có kiểm soát: Áp dụng các biện pháp điều khiển luồng và điều khiển tránh tắc nghẽn hệ thống có khả năng hoạt động tốt ngay cả khi lưu lượng vào
Trang 22mạng lớn hơn thông lượng của mạng Tuy nhiên do ta phải sử dụng các thông tin cho các thuật toán điều khiển nên thông lượng thực tế của mạng sẽ nhỏ hơn trường hợp lý tưởng thậm chí nhỏ hơn cả trong trường hợp không có điều khiển.
2.1.4 Nhiệm vụ chủ yếu của điều khiển luồng và tránh tắc nghẽn.
Điều khiển luồng và tránh tắc nghẽn được sử dụng khi có sự giới hạn về tài nguyên giữa những người sử dụng hay giữa các thiết bị mạng
Điều khiển luồng và tránh tắc nghẽn nhằm:
+ Tối ưu hóa thông lượng sử dụng của mạng: Việc điều khiển luồng và tránh tắc nghẽn trong một mạng đơn giản như việc truyền thông tin giữa 2 thiết bị đầu cuối với nhau là không cần thiết vì tình trạng tắc nghẽn ít xảy ra, tốc độ truyền thông tin tiến gần đến tốc độ truyền tin cực đại của đường truyền vật lý Nhưng trong một mạng lớn với nhiều nút mạng thì việc điều khiển luồng và tránh tắc nghẽn là một trong những yếu tố quan trọng nhằm tối ưu hóa thông lượng của mạng, nâng cao hiệu quả truyền thông tin của toàn mạng
+ Giảm trễ gói tin: Gói tin khi được truyền từ phía phát đến phía thu phải đi qua nhiều nút mạng, mỗi nút sẽ giữ gói tin trên bộ đệm chờ xử lý sau đó sẽ chuyển tiếp gói tin tới một nút trên đường liên kết đã được thiết lập trước Thời gian gói tin đi từ phía phát tới phía thu gọi là thời gian trễ truyền Thời gian trễ này yêu cầu càng nhỏ càng tốt, nó phụ thuộc chủ yếu vào môi trường truyền dẫn và độ dài liên kết Điều khiển luồng và tránh tắc nghẽn chỉ đảm bảo thời gian trễ của gói tin ở mức chấp nhận được thông qua việc giới hạn số lượng gói tin đi vào mạng tránh tình trạng tắc nghẽn do đó giúp làm giảm trễ hàng đợi trong bộ đệm nhớ tại các nút mạng Vì vậy điều khiển luồng không thể là phương pháp điều khiển chính để sử dụng trong các ứng dụng đòi hỏi trễ thời gian nhỏ
+ Đảm bảo tính công bằng cho việc trao đổi thông tin trên mạng: Tính công bằng trong trao đổi thông tin là khả năng đảm bảo cho các thuê bao quyền sử dụng tài nguyên mạng như nhau trong các ứng dụng khác nhau Đảm bảo tính công bằng trong việc sử dụng tài nguyên mạng là 1 yếu tố quan trọng hàng đầu trong kỹ thuật mạng Việc điều khiển luồng và tránh tắc nghẽn cho phép các thuê bao sử dụng đúng tài nguyên mạng theo dịch vụ đã đăng kí sử dụng
+ Tránh tắc nghẽn trong mạng: Nhiệm vụ chủ yếu của điều khiển luồng là tránh tình trạng tắc nghẽn xảy ra trong mạng Vì vậy điều khiển luồng và điều khiển tránh tắc nghẽn là 2 kỹ thuật có liên quan chặt chẽ với nhau Điều khiển luồng là việc kiểm soát thông tin giữa các thiết bị đầu cuối cụ thể trong khi điều khiển tắc nghẽn liên quan đến việc kiểm soát thông tin trên toàn mạng Hai kỹ thuật điều khiển này có đặc điểm chung là đều phải tìm biện pháp giới hạn lưu lượng thông tin đầu vào nhằm tránh hiện tượng lưu lượng vào quá lớn làm giảm hiệu suất truyền toàn mạng mà có thể dẫn tới nghẽn hoàn toàn thông tin trong mạng
Trang 232.2: VẤN ĐỀ KIỂM SOÁT LỖI TRONG MẠNG CHUYỂN MẠCH GÓI.
Các phương pháp kiểm soát lỗi tự động truyền lại ARQ thực chất hoạt động dựa trên nguyên lý cửa sổ trượt nhưng là những ứng dụng đơn giản nhất của phương pháp này Với RQ dừng và đợi có thể coi là phương pháp điều khiển luồng ứng dụng phương pháp cửa sổ trượt với kích thước cửa sổ phát bằng kích thước cửa sổ thu và bằng 1 Với phương pháp selective repeat RQ kích thước cửa sổ truyền bằng kích thước cửa sổ thu bằng K Với Go back-N-ARQ kích thước cửa sổ truyền là K còn kích thước cửa sổ thu là 1
RQ dừng và đợi
Selective repeat RQ
Bảng 2.6: Các giới hạn cửa sổ truyền và nhận.
ARQ (automatic repeat request): Là giao thức kiểm soát lỗi hoạt động dựa trên nguyên lý hồi tiếp thông tin báo nhận trở lại phía phát đối với các gói tin được phát đi Trong trường hợp xảy ra lỗi phía thu sẽ dựa vào thông tin phản hồi này có thể tự động truyền lại gói thông tin bị hỏng trước đó
Có hai loại ARQ cơ bản là: + RQ dừng và đợi
+ RQ liên tục
2.2.1: RQ dừng và đợi
RQ dừng và đợi là phương pháp kiểm soát lỗi được dùng cho các lược đồ truyền
số liệu thiên hướng kí tự Lược đồ điều khiển RQ dừng và đợi được định nghĩa để cho phép truyền các khối ký tự một cách đáng tin cậy Giao thức RQ dừng và đợi hoạt động theo chế độ bán song công vì sau khi gửi một gói tin phía phát lại phải đợi báo nhận từ phía thu cho biết gói tin được nhận thành công hay không Nếu báo nhận cho biết gói tin được nhận tốt phía phát sẽ tiếp tục phát gói tin tiếp theo Ngược lại, khi gói tin không được nhận thành công phía phát sẽ tự động phát lại gói tin vừa phát Mặc dù
RQ dừng và đợi đang bị RQ liên tục dần thay thế trong nhiều ứng dụng để nâng cao hiệu quả truyền đạt thông tin nhưng việc nghiên cứu RQ dừng và đợi để làm nền tảng vẫn rất quan trọng vì nó là một trong các phương pháp kiểm soát lỗi đầu tiên được ứng dụng và là lược đồ kiểm soát lỗi đơn giản nhất
Người ta chia RQ dừng và đợi làm hai loại tùy theo phương pháp báo nhận, với phương pháp báo nhận ngầm định ta có RQ dừng và đợi ngầm định, với phương pháp báo nhận là yêu cầu rõ ta có RQ dừng và đợi yêu cầu rõ Với RQ dừng và đợi truyền lại ngầm định (Implicit retransmission), phía thu chỉ phát gói tin xác báo ACK
Trang 24(Acknowledge) đối với những gói tin được nhận tốt, phía phát hiểu rằng khi không có ACK đồng nghĩa với gói tin bị hỏng và tự động truyền lại gói tin đó Còn với RQ dừng
và đợi yêu cầu rõ (Explicit request), khi phía thu phát hiện một gói tin bị hỏng nó sẽ gửi lại một gói tin thông báo từ chối NAK (Negative acknowledge) để yêu cầu phía phát phát lại gói tin vừa phát
a: Hoạt động của RQ dừng và đợi ngầm định.
Phía phát chỉ có thể có một gói tin đang chờ báo nhận (chờ ACK) tại một thời điểm Khi nhận một gói tin không bị lỗi, phía thu sẽ phát gói tin xác báo (gói tin ACK) cho phía phát Nhờ có gói tin ACK mà phía phát biết rằng gói tin phát đi đã được nhận tốt và có thể tiếp tục truyền gói tin tiếp theo Khi phía phát khởi động truyền một gói tin, nó đồng thời kích hoạt một bộ định thời (timer) Bộ định thời được đặt trước một khoảng thời gian bất khả dụng (time out) để tránh tình trạng quá trình truyền tin bị treo
do phía thu không nhận được gói tin ACK
Nếu phía thu nhận một gói tin bị lỗi hoặc phía phát nhận được một gói tin báo nhận có chứa lỗi thì gói tin tương ứng sẽ bị loại bỏ, phía phát phải thực hiện phát lại gói tin trước đó Nếu phía phát không nhận được gói tin ACK trong khoảng thời gian cho trước (do gói tin bị thất lạc không đến được phía thu hoặc gói tin ACK bị mất) phía thu cũng tự động phát lại gói tin trước đó
Nếu gói tin ACK bị hỏng thì phía thu lại nhận được 1 gói tin tương tự gói tin vừa nhận Phía thu sẽ nhận ra sự trùng lặp này thông qua chỉ số đi kèm theo gói tin đó,
nó sẽ loại bỏ gói tin vừa nhận song vẫn gửi gói tin xác báo ACK tới phía phát
Ưu điểm chính của RQ dừng và đợi là nó yêu cầu bộ đệm tối thiểu để phía phát
và phía thu chỉ cần chứa đủ một gói tin Do nhu cầu lưu trữ thấp nên RQ dừng và đợi được sử dụng rộng rãi trong các ứng dụng có sự tham gia của các thiết bị đơn giản
Trang 25Phát hiện trùng gói tin Gói tin bị hỏng trục thời gian
trục thời gian
trục thời gian
khởi động timer
dừng Timer khởi động lại Timer
khởi động timer
dừng Timer khởi động lại Timer
ACK(N) ACK(N)
ACK(N)
I(N) I(N)
I(N) I(N)
ACK(N)
I(N) ACK(N)I(N)
khởi động lại Timer dừng Timer
dừng Timer khởi động timer
phía thu phía phát
phía thu phía phát
phía thu phía phát I(N+2)
I(N) I(N)
I(N+1) I(N) I(N)
I(N) I(N) I(N+1)
I(N)
I(N+1) I(N)
I(N+1) I(N)
Hỡnh 2.7: Hoạt động của RQ dừng và đợi ngầm định.
Hỡnh vẽ trờn trỡnh bày tuần tự cỏc gúi tin trong cỏc trường hợp xảy ra trong quỏ trỡnh truyền gúi tin Trong trường hợp khụng xảy ra lỗi trong quỏ trỡnh truyền gúi tin (hỡnh 2.7-a) : Phớa phỏt gửi gúi tin I(N) đồng thời khởi động một bộ định thời Mỗi gúi tin phỏt đi đều mang một danh định (chỉ số) để phõn biệt với gúi tin khỏc Khi phớa thu
Trang 26nhận gói tin I(N) không có lỗi, nó xử lý gói tin và chuyển tiếp gói tin này đồng thời gửi báo nhận cho phía phát Gói tin báo nhận ACK(N) mang danh định của gói tin vừa nhận Khi phía phát nhận được gói tin ACK(N) nó dừng bộ định thời và chuẩn bị cho chu kỳ chuyển gói tin tiếp theo Như vậy một chu kỳ hoạt động của timer bắt đầu từ khi phía phát gửi một gói tin tới khi nhận được gói tin xác báo của gói tin tương ứng Trong trường hợp phía thu nhận gói tin I(N) nhưng vì một lý do nào đó gói tin I(N) bị lỗi (hình 2.7 -b): Vì gói tin thu được bị lỗi nên phía thu sẽ không phát gói tin xác báo Trong thời gian xác định cho trước (khoảng thời gian bất khả dụng), mà phía phát không nhận được gói tin xác báo dù vì bất cứ lý do nào, thì nó sẽ tự động phát lại gói tin I(N) Như vậy, khi phía phát không nhận được gói tin ACK(N) nó sẽ ngầm hiểu
là gói tin phát đi đã bị lỗi và tự động truyền lại gói tin này Trong lần phát lại này gói tin I(N) được nhận tốt tại phía thu sẽ phát gói tin xác báo ACK(N) Ta thấy rằng chu
kỳ lớn nhất của quá trình truyền một gói tin sẽ bằng khoảng thời gian bất khả dụng (time out) Khoảng thời gian này phải vượt quá thời gian tối thiểu một lượng thích hợp, nhằm tránh trường hợp gói tin ACK(N) có thể đến ngay sau khi gói tin I(N) vừa được truyền lại
Trong trường hợp gói tin I(N) được nhận tốt tại phía thu nhưng gói tin ACK(N) quay trở lại phía phát bị lỗi (hình 2.7 -c): Gói tin ACK(N) rất có thể bị lỗi trong quá trình truyền từ phía thu trở lại phía phát thậm chí có thể bị mất trên quá trình truyền Trường hợp này phía phát vẫn phải đợi cho hết khoảng thời gian bất khả dụng định trước rồi nó thực hiện truyền lại gói tin I(N) trước khi truyền gói tin I(N+1) Gói tin I(N) một lần nữa được gửi tới phía thu, lần này nhờ vào danh định của gói tin, phía thu nhận ra gói tin này đã được nhận tốt nó loại bỏ gói tin I(N) mới gửi nhưng vẫn gửi gói tin xác báo ACK(N) tới phía thu
Trang 27
b Hoạt động của RQ dừng và đợi yờu cầu rừ.
I(N)
trục thời gian
gói tin bị hỏng trục thời gian
trục thời gian
dừng Timer khởi động Timer
dừng Timer khởi động Timer
phía thu phía phát phía thu phía phát phía thu phía phát
I(N)
I(N+1) I(N) I(N)
I(N) I(N) I(N+1) I(N)
I(N+1) I(N)
I(N+1) I(N)
khởi động Timerkhởi động lại Timerdừng Timer
Hỡnh 2.8: Hoạt động của RQ dừng và đợi yờu cầu rừ.
Cũng giống như RQ dừng và đợi ngầm định, khi phớa thu nhận một gúi tin khụng lỗi nú sẽ phỏt một gúi tin ACK bỏo nhận cho phớa phỏt Khi nhận được gúi xỏc bỏo (ACK) khụng lỗi, phớa thu sẽ dừng bộ định thời và khởi động quỏ trỡnh truyền một gúi tin khỏc Khi phớa thu nhận một gúi tin bị lỗi nú sẽ loại bỏ đồng thời phỳc đỏp bằng một gúi tin xỏc bỏo NAK yờu cầu phớa phỏt phỏt lại gúi tin vừa gửi Nếu phớa thu
Trang 28không nhận được phúc đáp (gói ACK hoặc NAK) thì khi hết khoảng thời gian bất khả dụng (time out) nó sẽ tự động phát lại gói tin trước đó
Như vậy với việc sử dụng một gói tin yêu cầu rõ (NAK) phía thu đã tức thời thông báo cho phía phát khi nhận một gói tin có lỗi Do đó có thể rút ngắn thời gian chờ xác báo của phía phát đối với những gói tin bị lỗi giúp tăng được hiệu quả sử dụng liên kết
Trong trường hợp quá trình phát không có lỗi thì hoạt động của RQ dừng và đợi yêu cầu rõ tương tự như RQ dừng và đợi ngầm định (hình 2.8 -a) Phía phát gửi gói tin I(N) đồng thời kích hoạt bộ định thời, phía thu nhận tốt gói I(N) sau quá trình xử lý gói tin I(N) được chuyển tiếp đồng thời phía thu gửi gói tin ACK(N) xác báo về phía phát Quá trình truyền gói tin I(N+1) tiếp tục theo một chu kỳ mới
Trong trường hợp gói tin I(N) được phát đi nhưng bị lỗi (hình 2.8 -b) Khác với cơ chế truyền lại ngầm định, lúc này phía thu sẽ sử dụng một gói tin yêu cầu rõ NAK(N)
để yêu cầu phía phát vào trạng thái truyền lại gói tin I(N) Phía phát thay vì phải chờ hết khoảng thời gian bất khả dụng (time out) như trong RQ dừng và đợi ngầm định, nó
sẽ phát lại gói tin I(N) ngay sau khi xử lý xong gói NAK(N) Hiệu suất sử dụng liên kết của phương pháp này được cải thiện đáng kể so với RQ dừng và đợi ngầm định
c: Hiệu suất sử dụng liên kết của RQ dừng và đợi.
Hiệu suất sử dụng liên kết hay còn gọi là hiệu suất truyền tin giữa phía phát và thu được ký hiệu (U), là tỷ lệ giữa thời gian phía phát cần để phát xong một lượng thông tin trên tổng thời gian cần thiết để truyền lượng thông tin đó
ix
t
T U T
=
Với: + Tix: Là khoảng thời gian phát một gói tin.
+ Tt: Là tổng thời gian cần thiết để truyền gói tin đó.
Tổng thời gian cần thiết (Tt) ở đây bao gồm thời gian trễ khi truyền tín hiệu từ
phía phát sang phía thu (và ngược lại) cũng như thời gian xử lý thông tin và thời gian chờ báo nhận từ phía thu Khi tín hiêu được truyền lan từ một điểm này đến một điểm khác thông qua môi trường truyền dẫn luôn luôn tồn tại một khoảng thời gian trễ tuy ngắn nhưng xác định Thời gian trễ này được gọi là trễ truyền lan do môi trường truyền dẫn, mặc dù hầu như không có ý nghĩa nhưng trong một vài trường hợp thời gian trễ này rất quan trọng Trong liên kết truyền số liệu thời gian trễ liên quan đến liên kết chính là thời gian kể từ khi bit đầu tiên của gói tin được phía phát truyền đi tới khi bit cuối cùng của gói tin báo nhận được thu Như vậy tham số này không chỉ phụ thuộc vào thời gian truyền gói tin mà còn phụ thuộc vào thời gian trễ truyền lan trong môi trường truyền dẫn Tỷ lệ giữa hai tham số thời gian này thay đổi theo các kiểu liên kết số liệu khác nhau và được biểu diễn:
a=T p
Trang 29Với Tp và Tix được tính là: + Tp = khoảng cách (m)/tốc độ truyền lan (m/s)
+ Tix = số bit được truyền/ tốc độ bit của liên kết (bps)
Để tính hiệu suất tính cho phương pháp RQ dừng và đợi, người ta tính cho một gói tin điển hình, hiệu suất của cả một phiên truyền cho nhiều gói tin về bản chất chính bằng hiệu suất khi tính cho một gói tin (vì cả tử số và mẫu số cùng nhân với một hệ số
tỷ lệ là số gói tin được truyền)
Giả sử quá trình truyền tin trong môi trường là không có lỗi, chỉ xét tới ảnh hưởng của trễ truyền lan
ip
T T d ACK
Tap T
Tp Tix
T
ACK )
G
Gãi tin (1) Gãi tin (0)
Trôc thêi gian
Hình 2.9: Hiệu suất sử dụng liên kết cho 1 gói tin.
Trong đó:
+ Tix: Thời gian phát gói tin
+ Tp: Trễ truyền sóng giữa phía phát và phía thu
+ Tip: Thời gian xử lý gói tin ở phía thu
+ Tack: Thời gian phát gói tin ACK
+ Td: Trễ truyền sóng từ phía thu sang phía phát
+ Tap: Thời gian xử lý gói tin ACK ở phía phát
Tổng thời gian cần thiết để truyền gói tin là:
Tt = Tix+2Tp = Tix+2Td
Theo định nghĩa ta tính được hiệu suất truyền như sau:
Trang 30Với a được xác định bởi công thức:
d ix
T a T
=
Với:
d
d T v
=
+ d: Là khoảng cách giữa hai trạm phát và thu
+ v: Là vận tốc truyền sóng trong môi trường (v=3.108 m/s khi truyền trong không gian tự do và môi trường cáp quang, v≈2.108 m/s khi truyền với cáp đồng trục, cáp xoắn)
ix
F T R
= , a càng nhỏ thì hiệu suất truyền càng lớn
Nhưng trong thực tế không thể loại bỏ yếu tố lỗi do môi trường truyền gây ra vì các liên kết đều có tốc độ lỗi bit BER 0≠ (Bit Error Rate), lỗi bit luôn tồn tại dù nhiều hay ít Lỗi do môi trường truyền được đặc trưng bởi tham số xác suất lỗi p
Xác suất lỗi p (0 ≤ p ≤ 1) là xác suất phía thu nhận được bit 0 khi phía phát truyền bit 1 (hoặc ngược lại)
Xác suất lỗi càng lớn thì môi trường truyền càng không tốt, khi p = 0 thì môi trường truyền không có lỗi (lý tưởng) còn p = 1 là khi môi trường truyền luôn luôn có lỗi (sẽ không dùng để truyền tin)
Khi 0,5 < p < 1 tức là khả năng phía thu nhận được thông tin có lỗi sẽ lớn hơn nhận được thông tin đúng, trong trường hợp này, sử dụng quy luật đảo bit luồng thông tin là ta có thể giảm ½ xác suất lỗi bit khi đó ta có: 0 < p < 0,5 Vì lý do đó, trong lý thuyết thông tin, người ta chỉ tìm hiểu các môi trường truyền dẫn có xác suất lỗi 0 ≤ p
≤ 0,5
Khi truyền thông tin trong môi trường có lỗi, có thể xảy ra trường hợp phải truyền lại gói tin (do lỗi), do đó hiệu suất trong trường hợp này nhỏ hơn trường hợp lý tưởng Gọi N Rlà số gói tin phải truyền cho đến khi đúng (1≤ N R≤ ∞), khi ấy, hiệu suất của trường hợp thực tế sẽ là:
Trang 31Vấn đề ở đây là tính được giá trị N R Để đơn giản hóa, ta giả thiết ACK và
NAK không bị lỗi Ta thấy, với xác suất lỗi là p thì:
+ Xác suất để truyền gói tin thành công ngay lần đầu là: 1-p
+ Xác suất để truyền gói tin đến lần thứ hai mới thành công là: p(1-p)
Tổng quát hoá: Xác suất để truyền gói tin đến lần thứ i mới thành công là: p i−1.(1−P)
R nhỏ đây là điều không mong muốn khi truyền thông tin vì trên thực tế,
người ta mong muốn truyền tin với tốc độ đường truyền càng cao càng tốt
d nhỏ tham số khoảng cách giữa phía phát và phía thu thường không thay
đổi được do phụ thuộc vào những yêu cầu khách quan bên ngoài
v lớn vận tốc truyền sóng trong môi trường có các giá trị nhất định và rất khó
có thể thay đổi
F lớn có thể tăng kích thước gói tin để tăng hiệu suất Tuy nhiên phương
pháp này có nhược điểm là thông tin truyền lại sẽ lớn nếu gói tin ban đầu bị sai Cũng
vì lý do này mà mỗi môi trường truyền dẫn nhất định sẽ có kích thước gói tin tối ưu tương ứng
Như vậy, hệ số a gần như không thể thay đổi dẫn đến phương pháp truyền lại
theo cơ chế dừng và đợi không được sử dụng phổ biến do hiệu quả sử dụng đường truyền không cao Để nâng cao hiệu suất, cần có những cơ chế mới nhằm đảm bảo phía phát có thể tận dụng được thời gian rảnh rỗi trong khi chờ báo nhận từ phía thu Người ta đã dựa trên cơ chế dừng và đợi này để tạo ra các cơ chế mới cho hiệu quả truyền cao hơn, cụ thể là cơ chế truyền lại theo nhóm (Go-back-N ARQ) và cơ chế truyền lại có lựa chọn (Selective Repeat ARQ)
2.2.2 RQ liên tục
Với RQ liên tục hiệu suất sử dụng liên kết được cải thiện đáng kể nhờ chấp nhận chi phí để mở rộng bộ đệm Khác với RQ dừng và đợi (sử dụng liên kết bán song công), với RQ liên tục liên kết được thiết lập song công Khi không có lỗi, hiệu suất sử dụng liên kết của RQ liên tục là 100%, trường hợp này khó có thể xảy ra vì số gói tin
Trang 32thường được giới hạn tại phía phát Khi xảy ra lỗi truyền có thể thực hiện truyền lại theo 2 phương pháp:
+ Truyền lại có lựa chọn (Selective repeat ARQ)
+ Truyền lại theo nhóm (Go back N ARQ)
a Selective repeat ARQ
Truyền lại có lựa chọn có thể thực hiện theo hai phương pháp: Truyền lại ngầm định và truyền lại yêu cầu rõ
Selective repeat ARQ ngầm định.
N+4 N+1 N+1 N N N N
danh s¸ch truyÒn l¹i
danh s¸ch thu N+5 N+1 N+3 N+4 N+2
ra khái tr¹ng th¸i truyÒn l¹i truyÒn l¹i
trôc thêi gian
I(N+5) I(N+1) I(N+4) I(N+3) I(N+2) I(N)
I(N+5) I(N+1) I(N+4) I(N+3)
V(S) N+5
N N+1 N+1 N+1 N+1 N+1 N+5
N+5]
N+4 N+3 N+2 N+1 N
I(N+2) I(N+1) I(N)
néi dung
V(R)
néi dung
AC 1) AC 2) AC 3) AC 4) AC 1)
I(N +5) I(N
I(N +2) I(N +1) I(N)
PhÝa thu PhÝa ph¸t
N+3
N+4 N+2 N+4 N+2 N+2
N+2 N+2 N+2 N
N+3
N N+1vµo tr¹ng th¸i
Hình 2.10: Hoạt động của Selective RQ ngầm định với gói tin bị hỏng.
Trong RQ liên tục các gói tin được truyền một cách liên tục mà không đợi gói tin xác báo (ACK) trả về Vì có nhiều gói tin đang đợi báo nhận nên phía phát vẫn giữ những gói tin đó trong danh sách truyền lại, danh sách này hoạt động theo nguyên tắc hàng đợi FIFO (First In First Out) Để thực hiện điều này phía phát sử dụng một biến tuần tự V(S), nó chỉ ra chỉ số tuần tự N(S) được phân phối vào gói tin kế tiếp sẽ được truyền Tương tự như vậy phía thu cũng duy trì một biến tuần tự thu V(R), nó chỉ ra gói tin kế tiếp đang mong đợi được nhận Việc sử dụng các biến tuần tự cho phép mỗi
Trang 33báo (ACK) tương ứng Trong RQ liên tục trường hợp không có lỗi truyền, cứ mỗi gói tin gửi đi từ phía phát, phía thu sẽ phúc đáp bằng một gói tin xác báo (ACK) Khi nhận được gói tin ACK không lỗi, phía phát sẽ biết rằng gói tin phát đi đã được thu tốt ở phía thu và nhờ vào chỉ số tuần tự gửi kèm theo gói xác báo ACK nó loại bỏ gói tin tương ứng ra khỏi danh sách truyền.
Giống như lược đồ RQ dừng và đợi, phía thu sẽ phúc đáp một gói tin ACK cho mỗi gói tin được nhận tốt trước đó Giả sử gói tin I(N+1) bị hỏng, phía thu phúc đáp một gói tin ACK cho các gói tin I(N), I(N+2), I(N+3)… Sau khi nhận gói tin ACK(N+2), phía phát phát hiện ra gói tin I(N+1) đã không được báo nhận Để chấp nhận khả năng có nhiều hơn một gói tin đang bị hỏng, khi phát hiện một gói tin không
có báo nhận phía phát chuyển vào trạng thái truyền lại Ở trạng thái này, việc truyền gói tin mới bị hoãn lại cho đến khi tất cả các gói tin không được báo nhận đều đã được truyền lại Phía thu xóa gói tin I(N+2) ra khỏi danh sách truyền lại vì đã nhận được gói tin ACK tương ứng đồng thời thực hiện truyền lại gói tin I(N+1) trước khi truyền gói tin I(N+5) Khi nhận được gói tin I(N+1) phía thu sẽ phúc đáp ACK(N+1) cho phía phát để xóa gói tin I(N+1) ra khỏi danh sách truyền Trong tuần tự truyền gói tin trên, phía phát và phía thu đều sử dụng các biến tuần tự V(S), V(R) nhờ các biến tuần tự này nội dung các gói tin sẽ được xếp hàng trong danh sách liên kết nhận được phía thu phân phối đến lớp phía trên theo đúng tuần tự
Trang 34N+3 N+3 N N+2
N+2 N+1 N+1 N N N N
gãi tin bÞ háng
AC N+1)
N+3 N+1 N
AC N+4)AC N+3)AC N+2)AC N)
N+4 V(S)
I(N+3) I(N)
I(N) I(N+1) I(N+2) I(N+3) I(N)
trôc thêi gian truyÒn l¹i truyÒn l¹i
N+1
danh s¸ch thu danh s¸ch truyÒn l¹i
Hình 2.11: Hoạt động của Selective repeat ARQ ngầm định với gói ACK bị hỏng.
Trong trường hợp có lỗi xảy ra do gói tin xác báo (ACK) bị lỗi (giả sử các gói tin được nhận đúng hoàn toàn tại phía thu) Trường hợp này ACK(N) bị hỏng, khi nhận được gói xác báo ACK(N+1) phía phát thấy rằng gói tin I(N) vẫn chờ báo nhận
và do đó truyền lại gói tin đó Khi nhận được gói tin I(N) nhờ biến tuần tự phía thu xác định gói này này đã được nhận tốt, nó loại bỏ gói tin mới nhận này nhưng vẫn gửi báo gói tin báo nhận (gói tin ACK) để báo nhận cho phía phát nhằm xóa gói tin I(N) khỏi danh sách phát lại
Truyền lại có lựa chọn yêu cầu rõ.
Trong phương pháp này phía phát sử dụng gói tin phủ nhận NAK (negative acknowledge) để yêu cầu truyền lại, giả sử không có báo nhận nào bị hỏng:
Một gói tin ACK báo nhận cho tất cả các gói tin trong danh sách truyền lại tính
từ gói tin có số tuần tự chứa trong gói ACK trở về trước bao gồm cả gói tin có chỉ số tuần tự tương ứng với gói ACK Giả sử gói tin I(N+1) bị hỏng, phía thu khi nhận tốt một gói tin nó sẽ phúc đáp bằng một gói tin xác báo ACK Phía thu sau khi nhận gói tin I(N) nó gửi ACK(N) tương ứng về phía phát Khi phía thu nhận gói tin I(N+2) nó