Giao thức mạng tạo thành bộ quy tắc điều hành và các thủ tục tất cả các thiết bị kết nối với một mạng phải tuân theo để cho thông tin liên lạc giữa các thiết bị sẽ diễn ra một cách có trật tự. Quy định thủ tục được thực hiện trong một thiết lập các chương trình, mỗi chương trình hoạt động ở một lớp cụ thể về một số mạng lưới kiến trúc tiêu biểu là mô hình tiêu chuẩn ISO OSI. Điều này dẫn đến một giao thức ngăn xếp như mô tả trong phần 17.12.1. Nhiều giao thức độc quyền (hoàn thành nhiều vai trò chức năng tương tự ở mức độ tương đương trong ngăn xếp) đã tồn tại và mô tả toàn diện của chúng tất cả ở đây là không thể. (Một đặc điểm kỹ thuật khắt khe của ngay cả một giao thức duy nhất có thể dễ dàng chạy đến hàng trăm trang). Thay vào đó, chức năng chung của giao thức ở các lớp khác nhau trong các ngăn xếp giao thức được kiểm tra và một số ví dụ giao thức cụ thể được mô tả để minh họa các chức năng này được thực hiện thường. Mức độ chi tiết mà các giao thức được giải quyết là không thống nhất, việc nghiên cứu thường trở nên ít chi tiết với tăng mức độ giao thức lớp. Các ví dụ cụ thể mô tả cho các lớp mạng và ở trên đều lấy từ các bộ giao thức tiêu chuẩn ISO.
Trang 1Mục Lục
CHƯƠNG 18: GIAO THỨC MẠNG 2
18.1 Giới thiệu 2
18.2 Lớp vật lý 2
18.2.1 Giao thức lớp vật lý – X21 3
18.3 Lớp liên kết dữ liệu 9
18.3.1 Đồng bộ hóa 11
18.3.2 Điều khiển lỗi 15
18.3.3 Điều khiển luồng 33
18.3.4 Giao thức liên kết dữ liệu – HDLC 37
18.4 Lớp mạng 42
18.4.1 Định tuyến 42
18.4.2 Điều khiển tắc nghẽn 50
18.4.3 Điều khiển lỗi 52
18.4.4 Chất lượng dịch vụ 52
18.4.5 Giao thức phân cấp mạng hướng kết nối – X25PLP 52
18.4.6 Giao thức phân cấp mạng không kết nối (CLNP) 57
18.4.7 Sử dụng nguyên thủy 65
18.5 Lớp truyền dẫn 67
18.5.1 Phân mảnh và khôi phục bản tin 68
18.5.2 Ghép kênh và truyền dẫn mạch ảo song song 68
18.5.3 Điều khiển luồng và điều khiển lỗi điểm – điểm 69
18.5.4 Sử dụng các cổng dễ biết và tạm thời 69
18.5.5 Giao thức truyền dẫn phân cấp – TP4 69
18.6 Lớp phiên 77
18.6.1 Kết nối, duy trì và phát hành phiên 77
18.6.2 Giám sát đối thoại 78
18.6.3 Phục hồi 78
18.6.4 Giao thức phân cấp phiên – ISO-SP 78
18.7 Lớp trình diễn 84
18.7.1 Dịch giữa phương thức truyền tải và cục bộ 85
18.7.2 Phương thức trừu tượng ký hiệu 1 (ASN.1) 86
18.7.3 Giao thức phân cấp trình diễn – ISO-PP 87
18.8 Lớp ứng dụng 87
18.9 Giao thức ngăn xếp không theo mô hình OSI 88
18.10 Tổng kết 89
Trang 2CHƯƠNG 18: GIAO THỨC MẠNG 18.1 Giới thiệu
Giao thức mạng tạo thành bộ quy tắc điều hành và các thủ tục tất cả các thiết bị kết nối với một mạng phải tuân theo để cho thông tin liên lạc giữa các thiết bị sẽ diễn ra một cách có trật tự Quy định thủ tục được thực hiện trong một thiết lập các chương trình, mỗi chương trình hoạt động ở một lớp cụ thể về một số mạng lưới kiến trúc tiêu biểu là mô hình tiêu chuẩn ISO OSI Điều này dẫn đến một giao thức ngăn xếp như mô tả trong phần 17.12.1 Nhiều giao thức độc quyền (hoàn thành nhiều vai trò chức năng tương tự ở mức độ tương đương trong ngăn xếp) đã tồn tại
và mô tả toàn diện của chúng tất cả ở đây là không thể (Một đặc điểm kỹ thuật khắt khe của ngay cả một giao thức duy nhất có thể dễ dàng chạy đến hàng trăm trang) Thay vào đó, chức năng chung của giao thức ở các lớp khác nhau trong các ngăn xếp giao thức được kiểm tra và một số ví dụ giao thức cụ thể được mô tả để minh họa các chức năng này được thực hiện thường Mức độ chi tiết mà các giao thức được giải quyết là không thống nhất, việc nghiên cứu thường trở nên ít chi tiết với tăng mức độ giao thức lớp Các ví dụ cụ thể mô tả cho các lớp mạng và ở trên đều lấy từ các bộ giao thức tiêu chuẩn ISO
18.2 Lớp vật lý
Giao thức lớp vật lý định nghĩa các giao diện giữa một thiết bị đầu cuối người
sử dụng, được gọi tổng quát như là dữ liệu thiết bị đầu cuối (DTE), và một thiết bị
mà tạo ra các tín hiệu vật lý được truyền đến một nút truy cập mạng, gọi tổng quát như thiết bị truyền thông dữ liệu (DCE) DCE có thể là một modem nếu điều chế là cần thiết để phù hợp với các tín hiệu vật lý cho các đặc tính điện của đường dây, hoặc một trình điều khiển đường dây (trong trường hợp này DCE viết tắt đôi khi được hiểu là thiết bị cuối mạch dữ liệu)
Trang 3 DTE(Data Terminal Epuipment): Dữ liệu thiết bị đầu cuối
DCE(Data Circuit- Epuipment): Thiết bị cuối mạch dữ liệu
Data: Dữ liệu
Control: Kiểm Soát
Timing: Thời gian
Ground: Mặt đất
Physical layer interface: Giao diện lớp vật lý
Data network: Mạng số liệu
Hình 18.1 Vị trí và chức năng chung của một giao diện lớp vật lý
Định nghĩa giao thức có thể được chia thành cơ khí, điện, chức năng và phần
thủ tục Các phần cơ học luôn luôn đòi hỏi một đa lõi DCE-DTE cáp giao diện
chấm dứt kết nối nhiều chân với các loại khác nhau của tín hiệu (ví dụ như dữ liệu
và tín hiệu điều khiển) được truyền qua dây khác nhau Hình 18.1 cho thấy mối
quan hệ giữa các DTE và DCE và một đại diện chung của một giao diện DTE-DCE
với một dây dành riêng cho mỗi các chức năng chính thường yêu cầu
Kiểu truyền thống của giao diện kết hợp một chức năng cụ thể với mỗi pin của kết nối, một cách tiếp cận đặc trưng bởi các giao thức đặc điểm kỹ thuật EIA RS-
232 và các dẫn xuất của nó (RS-232-C và RS-449) Một cách tiếp cận thứ hai, điển hình là giao thức đặc điểm kỹ thuật ITU X.21, là sử dụng chân ít hơn nhưng mỗi lần sử dụng pin cho nhiều hơn một chức năng, sử dụng chuỗi ký tự mã hóa để phân biệt giữa các chức năng (Lưu ý, tuy nhiên, một biến thể của X.21 tồn tại, X.21bis,
đã được thiết kế để tương thích với RS-232-C.)
18.2.1 Giao thức lớp vật lý – X21
X.21 xác định giao diện lớp vật lý cho các gói tin X.25 chuyển mạng dữ liệu công cộng (PSPDN) (Nó cũng có thể chỉ định các giao diện vật lý cho một mạng chuyển mạch dữ liệu công cộng (CSPDN), nhưng trong trường hợp này chỉ quan tâm đến cuộc gọi thiết lập và hoạt động thanh toán bù trừ gọi,các dữ liệu giai đoạn chuyển giao không yêu cầu kiểm soát rõ ràng trong một hệ thống chuyển mạch)
Trang 4X.21 cung cấp cho truyền đồng bộ bit nối tiếp giữa DTE và DCE trong chế độ duplex Hình 18.2 cho thấy các kết nối đường dây DTE-DCE cho X.21và Bảng 18.1 cung cấp cho các chức năng kết hợp với mỗi dòng X.27 (tương ứng với RS-22A) là một tiêu chuẩn mô tả một phiên bản mạch giao diện cân bằng của X.21 và X.26 (tương ứng với RS-423A) là một tiêu chuẩn mô tả một phiên bản mạch không cân bằng (Nói đúng ra X.21 mô tả phần thủ tục của các đặc điểm kỹ thuật với X.26/X.27 mô tả các bộ phận điện) Đối với dòng tốc độ từ 9,6 kbit /s và 10 Mbit/s X.27 được sử dụng, trong khi cho tốc độ 9,6 kHz và dưới đây X.26 là đủ
Hình 18.2 Kết nối đường dây DTE-DCE: T = truyền, C = kiểm soát, R = nhận
được, I = dấu hiệu cho thấy, S=thời gian biểu tượng, B =byte thời gian, Ga = DTE nền tảng chung, G = tín hiệu mặt đất.
Trang 5X.21
Chi tiết Chức năng
Chức năng chung
Ga
DTE điểm chung
•
Truyền (hoặc vận
ON hoặc OFF tương ứng với số không và một trạng thái tương ứng
Các đặc điểm kỹ thuật cơ khí xác định một kết nối 15-pin, hình 18.3 Quy ước
là mà DTEs thực hiện kết nối ở trong và DCEs thực hiện kết nối phần có lỗ để lắp
Trang 6Các trạng thái cho phép của giao diện X.21 được xác định bởi các tín hiệu trên
T, C, R và mạch I T có thể được tổ chức tại logic 1 (1111 .) hoặc logic 0 (0000 .) có thể thực hiện một xen kẽ mẫu bit (0101 .) có thể mang ký tự trong Bảng chữ cái quốc tế số 5 (IA5, về cơ bản các ký tự ASCII), Phụ lục C, hoặc có thể mang dữ liệu C và I có thể ON hoặc OFF R có thể được tổ chức tại logic 1 hoặc logic 0 hoặc có thể mang IA5 ký tự
Hình 18.3 Kết nối 15-pin cho X.21 giao diện DTE - DCE
Một ví dụ X.21 sự kiện trao đổi dữ liệu được minh họa trong hình 18.4 Trước khi sự kiện này là bắt đầu cả hai trạm ở trong trạng thái 'sẵn sàng' (1, OFF, 1, OFF) hoặc trạng thái 1 (Bảng 18.2 danh sách các trạng thái của giao diện X.21.) Các DTE bắt đầu thiết lập kiểm soát của nó (C) dòng ON và (T) đường truyền của nó để logic 0 Đây là trạng thái 2, 'yêu cầu gọi lại Tiếp nhận này kết hợp các chương trình DCE truyền hai ký tự đồng bộ (SYN SYN) tiếp theo là một chuỗi liên tục +ký
tự trên (R) dòng nhận được Này đại diện cho trạng thái 3, 'tiến hành-đến-chọn ' DTE sau đó truyền khung một 'yêu cầu gọi "T bao gồm một ký tự SYN tiếp theo là địa chỉ của người được gọi là DTE theo sau là một chút kiểm tra chẵn lẻ và chấm dứt+ký tự Đây là trạng thái 4, 'tín hiệu lựa chọn
Hiện sau một khoảng thời gian mà một số ký tự có thể xảy ra như DCE cố gắng thiết lập, tức là bắt đầu, các cuộc gọi trong khi vẫn giữ DTE thông báo về sự tiến hành Khi DCE gọi thành công trong việc thiết lập cuộc gọi được gọi là DCE đặt một BEL ký tự (chỉ chuông hoặc chuông) trên R Đây là trạng thái 8, 'cuộc gọi đến Nếu gọi là DTE sẵn sàng để chấp nhận dữ liệu nó đặt C-line của nó sang ON (trạng thái 9, 'gọi chấp nhận ") và rồi DCE qua (thiết lập) thông tin về các cuộc gọi đến DTE vào R-line (trạng thái 10B, "DCE cung cấp thông tin, được gọi là DTE) Sau
đó tạo R để logic 1 (trạng thái 11, ‘tiến hành kết nối’)
Trang 7Hình 18.4 Ví dụ đơn giản của sự kiện trao đổi dữ liệu X.21
Trang 8
Bảng 18.2 Trạng thái chính của giao diện X.21
DCE chờ đợi, thủ tục gọi
DCE chờ đợi, được gọi là thủ tục
DCE chờ đợi, thông tin DTE
DCE chờ đợi, cho các cuộc gọi chấp nhận
Gọi tín hiệu tiến hành
Cuộc gọi đến
Gọi được chấp nhận
Tiến hành thông tin cuộc gọi
Gọi chấp nhận, sử dụng phụ giải quyết
DCE-cung cấp thông tin, gọi DTE
DCE-cung cấp thông tin, được gọi là DTE
Thông tin cuộc gọi
DTE kiểm soát không sẵn sàng, DCE sẵn sàng
DTE không kiểm soát được không sẵn sàng, DCE sẵn sàng
DCE kiểm soát không sẵn sàng
DTE cung cấp thông tin
1 0 0 IA5 1 1 1
* 1 1 1 1
* 1 1 1
* 1 1 D 1 D 01 0 0 0 1 D X 0 0 0 01 0 X IA5
OFF ON ON ON ON ON ON OFF OFF ON OFF ON OFF ON ON ON OFF ON ON ON OFF ON OFF ON OFF OFF OFF ON X OFF OFF OFF OFF OFF X OFF
1 1 + + + SYN SYN SYN SYN IA5 BEL BEL BEL SYN IA5 IA5 IA5 1 1 D D 1 1 BEL X 0 0 0 0 0 1 0 0 1 01 SYN
OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF ON ON ON OFF OFF OFF X OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF
Trang 91 111111 0 000000 01 010101
IA5 Char chuỗi từ Bảng chữ cái quốc tế thứ 5 (trước ít nhất 2 ký tự SYN)
+ Điều khiển ký tự từ IA5
* Điều Điều khiển ký tự từ IA5
BEL Điều khiển ký tự từ IA5 (không chuỗi 3 ký tự)
SYN Ký tự điều khiển từ IA5 (không chuỗi 3 ký tự) truyền ít nhất hai lần
D Dữ liệu
X Không quan tâm
† Chỉ được sử dụng trong điểm-điểm và gói dịch vụ cho thuê chuyển sang.
và đặt lên vị trí ON (trạng thái 12, 'sẵn sàng cho dữ liệu') và đã sẵn sàng cho tín
ON
Chuyển giao thông tin (trạng thái 13, 'truyền dữ liệu') bây giờ có thể diễn ra
Sau khi hoàn thành chuyển giao dữ liệu, hoặc DTE có thể bắt đầu thanh toán bù
ràng'), T-line được thiết lập là logic 0 kể từ khi truyền dữ liệu sẽ có chấm dứt Trong hình 18,4 khởi của thanh toán bù trừ gọi là DTE DCE sau đó đặt I OFF (DCE xác nhận rõ ràng, trạng thái 17), R được thiết lập ở logic 0 từ tiếp nhận dữ liệu sẽ chấm dứt, và gửi một tín hiệu "yêu cầu rõ ràng" cho chương trình DCE gọi
cùng tình trạng ban đầu của hệ thống (trạng thái 1, 'sẵn sàng') được phục hồi bằng
18.3 Lớp liên kết dữ liệu
Nhiệm vụ của giao thức cấp liên kết dữ liệu (OSI lớp 2, Hình 17.23) là cung cấp một định giao thức dữ liệu đơn vị (PDU) từ một trạm ở một đầu của một liên
Để kiểm soát dòng chảy của thông tin, một đường truyền ngược lại là cần thiết
Trang 10Ngoài đường phía trước, xem hình 18.5 Hai đường có thể có mặt cùng một lúc(Một kênh full-duplex), hoặc chúng có thể hoạt động luân phiên (một kênh bán
(DLC)
Kiểm soát thông tin nhất định phải vượt qua và lùi về thông tin liên lạc đường ngoài các thông tin tải trọng được thêm vào mức 3 PDU (hoặc gói) để hình thànhmức 2 PDU (hoặc khung) để truyền Cùng với các thủ tục hợp lý để tiếp nhậnkhung hình, điều này tạo thành giao thức Thông tin bổ sung đồng bộ hóa truyền,xác định các gói dữ liệu và phát hiện sự hiện diện của lỗi Do đó, một khung chung
Hình 18.5 Vai trò của bộ điều khiển liên kết dữ liệu trong các lớp liên kết dữ liệu
(Bit)
Hình 18.6 Chung cấu trúc khung dữ liệu
Chức năng của mỗi trường là:
để cấu trúc dữ liệu
khung như vậy
Bắt đầu
Tiêu đề
Thông tin Kiểm tra
Trang 11(FCS), hoặc một kiểm tra dư vòng (CRC), như trong Chương 10 Trong một số
18.3.1 Đồng bộ hóa
bộ điều khiển liên kết dữ liệu đầu tiên phải xác định sự bắt đầu của mỗi khung hình
xung đồng hồ từ đầu Hình 18.7 đưa ra một minh họa sơ đồ của quá trình tiếp nhận
thái tiếp theo
kiến bắt đầu của khung Một sự phối hợp thực hiện và một điều kiện bắt đầu do đóphát hiện, phần còn lại của khung được nhận và được lưu rữ vào bộ đệm, cho đến
Hình 18.7 DLC quá trình tiếp nhận khung
Trang 12Chiến lược khác nhau được sử dụng để chỉ ra chiều dài của một khung dữ liệu nhận được mặc dù dòng chữ số có thể được truyền và nhận đồng bộ, tức là khoảng cách giữa mỗi cặp biểu tượng liền kề là một hằng số, các khung dữ liệu có thể được đồng bộ trong một hướng nghĩa là sự bắt đầu của khung kế tiếp không thể được dự đoán bởi người nhận Nếu khung không chạy đồng bộ, sau đó tất cả chúng đều cùng độ dài và xảy ra đều đặn Trong trường hợp này, bắt đầu và kết thúc của mỗi khung hình có thể được xác định bằng đồng hồ trạm tiếp nhận.Những bộ gheps kênh hoạt động trên nguyên tắc này và đồng bộ hóa được kiểm soát chặt chẽ Cho khung hình không đồng bộ, có nhiều khả năng Đó là:
1 Chiều dài khung cố định – điểm kết thúc khung được phát hiện bằng cách
đếm các ký hiệu từ khung bắt đầu
2 Chiều dài khung thay đổi, chiều dài rõ ràng – nơi mà chiều dài của khung
được đưa ra một cách rõ ràng trong phạm vi tiêu đề Các tiêu đề thường có phạm vi kiểm tra của mình, vì một lỗi trong giả định chiều dài khung dẫn đến nhầm lẫn
3 Chiều dài khung thay đổi, điểm dừng rõ ràng – nơi cuối cùng được chỉ
định bởi một biểu tượng dừng Trong trường hợp này, mã dừng phải bị cấm xuất hiện trong tiêu đề, dữ liệu và kiểm tra các trường (Đây là nguyên tắc thông qua bởi các lớp của giao thức điều khiển liên kết HDLC được mô tả trong phần 18.3.4)
Nếu khung được bắt đầu bằng một trạng thái dòng nhàn rỗi, sau đó là một mối quan tâm chính là trường bắt đầu nên dễ dàng phân biệt với các chuỗi dữ liệu trước đó ,
mà có thể là một tình trạng nhàn rỗi cân bằng, ví dụ 101010 , hoặc một điều kiện nhàn rỗi thụ động , ví dụ 111111 Một mẫu nhị phân thích hợp để bắt đầu có thể là 110.101
Nếu đường truyền bị xáo trộn bởi tiếng ồn, lỗi sẽ xảy ra trong các dữ liệu nhận được và trường bắt đầu có thể không được phát hiện Phân tích đơn giản sau đây có thể được sử dụng để kiểm tra phương pháp đồng bộ hóa ban đầu hoạt động trong điều kiện có tiếng ồn
Cho khả năng liên kết lỗi bit là P b , và tổng chiều dài của khung là n bit
Một điều kiện cần thiết để phát hiện sự xuất hiện của một khung đến là trường
đầu tiên bị lỗi, xảy ra với xác suất P cfs (xác suất chính xác bắt đầu khung)
Trang 13P cfs = (1 - Pb) n s (18.1)
Ở đây n s là chiều dài của mã bắt đầu Xác suất mà không có lỗi xảy ra bất cứ nơi
nào trong khung là P cf (xác suất của khung hình chính xác) được cho bởi:
Xác suất mà các khung hình không đồng bộ là (1 – P cfs ), đó là khoảng n s P b Vì số lượng các bit trong trường bắt đầu là nhỏ so với tổng số bit trong khung, đây sẽ là một xác suất thấp
Xác suất tính từ công thức (18.2) trên một loạt các P b được đưa ra trong hình 18.8 cho một loạt các khung có độ dài n từ 8 tới 2048 Tỷ lệ lỗi liên kết bình thường là tốt hơn hơn 10-4
hoặc 10-5, do đó gần như 100% khung truyền là lỗi tự
do Kênh thoại có thể tồi tệ hơn điều này đáng kể, tuy nhiên, xác suất lỗi bit 10-1 có thể gặp phải sự xáo trộn mạnh, hình 15.3
Từ hình 18.8, tại P b bằng 10-5, gần như tất cả các khung dữ liệu có độ dài lên đến 2048 bit về cơ bản không có lỗi, trong khi tại Pb bằng 10-5 chỉ có khung hình có
độ dài ngắn hơn, ta nói rằng, 32 bit sẽ có khả năng hoạt động tốt Xác suất của một trường đầu 8 bit được phát hiện một cách chính xác được đưa ra bởi các đường cong với n = 8
Hình18.8 Xác suất lỗi của khung n-bit so với xác suất lỗi bit
Trang 14VÍ DỤ 18.1
Một tập hợp của 512 khung bit 80% là không bị lỗi Xác định xác suất tối đa cho phép lỗi bit
Đề cập đến hình 18.8, chúng ta thấy rằng một P b trong khoảng 4×10-4 hiệu xuất một
xác suất sự kiện 0.8 với n = 512 P b phải nhỏ hơn giá trị này Lưu ý về P b cần giảm như sự tăng độ dài khung
Hình 18.9 cho thấy xác suất ít nhất một lỗi trong khung nhưng mà đồng bộ hóa trường là không có lỗi Chú ý rằng đây là tỷ lệ thuận với Pb cho tỷ lệ lỗi thấp
Hình 18.9 Xác suất của ít nhất một lỗi bit, với đồng bộ khung đúng
VÍ DỤ 18.2
Một khung có 16 bit được phân bổ cho một mã số bắt đầu, 512 bit thông tin và một tiêu đề 32 bit ước tính xác suất đồng bộ khung nhưng có một lỗi ở vị trí khác nếu xác suất lỗi bit là 10-4
Xác suất của một đồng bộ hóa chính xác là:
P cfs = (1 – 10-4)16 = 0.998
Có 512 + 32 bit dữ liệu, do đó xác suất của một lỗi khung là:
P f = 0.998 [1 – (1 – 10-4)544] = 0.054
Chú ý rằng điều này cũng xấp xỉ bằng (n – n s )P b
Trang 1518.3.2 Điều khiển lỗi
Các lớp liên kết dữ liệu của một mạng có trách nhiệm cung cấp khung không lỗi truyền giữa các nút mạng Điều này có nghĩa là một số hình thức phát hiện lỗi
và thuật toán sửa lỗi đã được sử dụng trong các giao thức liên kết dữ liệu kể từ khi chuyển giao công nghệ (trong điều khoản của SNR) nếu không thì sẽ không đủ để ngăn chặn các lỗi xảy ra (Trong một số sợi quang học dựa trên mạng cáp quang hiện đại tỷ lệ lỗi cố hữu là đủ thấp cho lien kết bởi kiểm soát lỗi liên kết được phân phối một cách hiệu quả với việc kiểm soát lỗi hoàn toàn quá trình từ đầu đến cuối.) Chương 10 bàn về kiểm soát lỗi nói chung và địa chỉ phát hiện lỗi và sửa lỗi về phía trước một cách chi tiết Ở đây, chúng tôi đặt phát hiện lỗi vào một bối cảnh mạng lưới, kĩ thuật tự động kiểm tra yêu cầu lặp lại (ARQ) ARQ là cơ chế sửa lỗi truyền thống được sử dụng thông dụng nhất trong mạng
Phát hiện và sửa lỗi
Để kiểm soát số lỗi trong các gói dữ liệu cuối cùng,đây là điều cần thiết đầu tiên để phát hiện sự hiện diện của các lỗi như vậy, và sau đó sửa chữa chúng Phát hiện lỗi là thực hiện bằng cách mã hóa Các dữ liệu truyền được mở rộng bằng việc
bổ sung dự phòng chữ số, gia tăng theo một số quy tắc toán học
Một ví dụ đơn giản là kiểm tra tính chẵn lẻ, vị trí bit đơn sẽ được thêm vào một
từ dữ liệu để làm cho số lượng những số 1 kĩ thuật số ngang bằng (hoặc cách khác lẻ) Một lỗi duy nhất trong chuyển giao bây giờ là mất sự cân bằng này, và do đó có thể phát hiện Bất kỳ số lẻ của các lỗi này là có thể phát hiện bởi quy định đơn giản này.nhưng những lỗi ngang bằng thì không (xem phần 10.3.1)
Nguyên tắc có thể được mở rộng cho một từ mã n bit có chứa k bit thông tin và
r = (n - k) bit dư thừa Khi xem xét tất cả các mẫu lỗi có thể xảy ra, nó có thể được hiển thị là một tỷ lệ 2-r của chúng phát hiện không được, và do đó sẽ không bị phát hiện Ví dụ nếu r = 16 thì tỷ lệ này là 1,5 × 10-5
Nhiều mô hình lỗi giả định không có khả năng xảy ra trong thực tế, ví dụ, một lỗi trong tất cả các bit thay thế của một khung 1000 bit (Đây là vì xác suất của bất
kỳ mô hình 500 bit lỗi là rất thấp, nhưng nó cũng là giá trị làm điểm đó, nếu số lượng lớn các lỗi làm chúng có xu hướng xảy ra trong hệ thống thực tế xảy trong xung.) Do đó nó có thể cấu trúc mã để kết hợp không lỗi sẽ không bị phát hiện,
Trang 16nhưng thường xảy ra mô hình lỗi (ví dụ lỗi đơn) sẽ được phát hiện với chắc chắn 100% Nó rất dễ để đảm bảo rằng tất cả các số lẻ của lỗi sẽ được phát hiện (bằng cách sử dụng một mã kiểm tra chẵn lẻ, ví dụ), và vậy lỗi đôi cũng sẽ được phát hiện Mã BCH có thể đảm bảo rằng 4, 6, 8 lỗi v…v… sẽ được phát hiện
Nếu những lỗi ngẫu nhiên xảy ra, chúng ta có thể tính được số lượng lỗi trong một cho từ mã xác định bằng cách áp dụng định lý nhị thức như trong phần 3.2.3
Do đó xác suất lỗi j xảy ra trong một từ mã n-bit với xác suất lỗi P b được cho bởi phương trình (3.8) lặp đi lặp lại dưới đây:
Lỗi ngẫu nhiên xảy ra mang tính toán dễ dàng cho số lượng các lỗi có thể trong một khung, vì vậy các mã có thể được lựa chọn để phù hợp với số lỗi Nhiều loại đường truyền thông, tuy nhiên, phải chịu mẫu lỗi xung nơi liên kết chủ yếu là lỗi tự
do cho hầu hết thời gian nhưng bị rải rác nhiều lỗi Ví dụ như sự giảm âm, chuyển đổi can thiệp, và các lỗi trong băng từ và ổ đĩa Nó có thể được chỉ ra rằng các xung lỗi chiều dài ≤ r có thể được phát hiện với xác suất 100%
Hình 18.10 Xác suất của lỗi j so với xác suất lỗi bit cho một khung 1024 bit
Trang 17Hình 18.11 Xác suất của lỗi j so với độ dài khung cho một xác suất lỗi bít 10 -4
VÍ DỤ 18.3
Lỗi xung xảy ra thường xuyên Cho rằng xung xảy ra tại một khoảng thời gian
trung bình là 10 giây, và rằng xác suất của việc có nhiều hơn i bit trong xung là 2-i
Ước tính xác suất mà (31, 21) mã cho phép thông qua một xung, nếu tốc độ truyền
là 4800 bit/s
Thời gian của một từ mã là 31/4800 = 6,5 x 10-3
s
Một lỗi trùm trong một từ 10/(6,5 × 10-3) = 1548 từ, hoặc với một xác suất
6.5×10-4 Không phải tất cả các lỗi trùm vẫn không bị phát hiện Mã này sử
dụng 31–21=10 bit kiểm tra, vì vậy bao gồm 10 bit trong chiều dài sẽ được phát
hiện Xác suất mà một xung có hơn 10 bit là 2-10 10-3
Do đó xác suất tổng thể là một từ mã có chứa một xung lớn hơn 10 bit là
10-3× 6.5×10-4 = 6,5 × 10-7
Cho các tình huống thực tế hầu hết các báo cáo tóm tắt sau đây có thể được thực
hiện:
1 Phần lớn các lỗi sẽ được phát hiện bằng cách mã hóa
2 Xác suất của một lỗi không bị phát hiện là vài bậc thấp hơn xác suất của một lỗi
được phát hiện
Trang 18Lý thuyết mã hóa có thể được mở rộng để các lỗi ‘phía trước đúng’ cũng như phát hiện chúng (xem Chương 10), nhưng điều này đòi hỏi phải có khả năng dự phòng lớn trong việc truyền dữ liệu Hiệu chỉnh mã hóa lỗi phía trước (FECC) chỉ được sử dụng, nơi dữ liệu phải được gửi chính xác lần đầu tiên, và/hoặc khi một kênh trở lại
là không có sẵn, ví dụ, trong các ứng dụng không gian hoặc trong phát lại ghi âm từ tính hoặc quang học của dữ liệu Hầu hết các lỗi trong hầu hết các mạng được kiểm soát bằng cách phát lại các dữ liệu sử dụng một giao thức yêu cầu lặp lại tự động (ARQ)
ARQ
Phương pháp đơn giản điều chỉnh sai sót đã được phát hiện là yêu cầu truyền tải lần hai của dữ liệu – thường được gọi là một ARQ, Chương 10 Một sự trở lại hoặc kênh ngược là cần thiết cho chiến lược này, nhưng nó hoạt động tốt và thường hoạt động với tổng thể thấp dự phòng, giữ hiệu quả truyền tải cao Một mục tiêu của hệ thống là giữ số lượng dữ liệu truyền lại ở mức tối thiểu, xảy ra một cách tự nhiên với xuất hiện lỗi từ truyền lại chỉ cần thiết khi xảy ra lỗi Các phần sau đây cho thêm chi tiết về chương trình ARQ thực tế, được sử dụng phổ biến trong các mạng
dữ liệu Hai lớp riêng biệt của hoạt động ARQ được sử dụng, tương ứng với nửa đôi và cả đôi liên kết truyền thông Trường hợp bán song công đơn giản là xử lý để lấy được các nguyên tắc cơ bản, sau đó các trường hợp cả đôi được coi là có hiệu quả truyền dẫn cao hơn Chỉ có một phác thảo các thủ tục được đưa ra ở đây, chứ không phải là một định nghĩa, từ các nguyên tắc được sử dụng trong một số biến thể của giao thức thực tế
Stop-and-wait (Dừng và đợi)
Bản phác thảo của giao thức này được đưa ra trong hình 18.12, trong đó cho thấy
sơ đồ chuyển trạng thái cho cả trạm sơ cấp và trạm thứ cấp trong việc trao đổi Các vòng tròn đại diện cho các trạng thái các bộ điều khiển liên kết dữ liệu, trong khi các nhánh đại diện cho các điều kiện bên ngoài làm cho hệ thống thay đổi trạng thái
Các trạm chính bắt đầu chu kỳ bằng cách truyền khung dữ liệu có sẵn kế tiếp,
và sau đó ngay lập tức chuyển sang trạng thái chờ đợi Trạm thứ hai trong khi đó đã trong tình trạng thụ động, chờ đợi một khung đến được phát hiện Khi một khung như vậy nhận (ký hiệu là tiếp nhận của trường bắt đầu), bộ điều khiển di chuyển đến một trạng thái kiểm tra tính toàn vẹn của khung này
Trang 19hai truyền một thông báo ACK, cho thấy một sự thừa nhận tích cực, và sau đó lưu trữ các thông tin nhận được Nếu khung không kiểm tra lỗi, sau đó một tin nhắn NAK được truyền lại cho các trạm chính, cho thấy một sự thừa nhận tiêu cực, và mặc nhiên yêu cầu truyền lại của cùng một khung ACK và NAK phản ánh một thuật ngữ sử dụng thông thường trong giao thức thực tế Có ba kết quả khác biệt của trạng thais, chờ đợi tại các trạm chính:
1 Nhận đƣợc ACK - chỉ ra rằng khung truyền đã nhận được nguyên vẹn.Trạm
chính bây giờ di chuyển trạng thái để truyền tải các khung có sẵn tiếp theo
2 Nhận đƣợc NAK - chỉ ra rằng khung truyền có lỗi (s ) trạm chính truyền tại
cùng một khối một lần nữa, và di chuyển đến một trạng thái chờ đợi lần nữa
3 Không xác nhận đã nhận - hoặc vì không ai gửi đi, hoặc vì khung trước đã bị
hỏng bởi nhiễu âm Trường hợp này được phát hiện bởi một thời gian chờ, nơi mà một bộ đếm thời gian được bắt đầu tại các trạm chính khi khung hình đầu tiên được truyền đi, và nếu không trả lời được sau khi nhận được một số giới hạn định trước,
bộ điều khiển bị gián đoạn bởi bộ đếm thời gian và sau đó tiến hành truyền lại khung trước
Hình 18.12 Biểu đồ chuyển trạng thái cho dừng-và-chờ ARQ
Trang 20Chú ý rằng trạng thái chờ đợi khi phục hồi từ một lỗi được hiển thị là khác biệt các trạm chính ban đầu trạng thái chờ đợi Điều kiện tinh tế khác nhau trong hai trạng thái , kể từ khi hồi phục lỗi đó là cần thiết để đặt một giới hạn về số lượng tối
đa lặp đi lặp lại, để ngăn chặn điều khiển từ mài dừng lại nếu liên kết thông tin liên lạc bị vỡ, ví dụ Nếu khung nhận được thay bởi nhiễu âm, bởi vì các trạm trung đã được chấp nhận khung dữ liệu trước đó, trong khi các chính trạm lặp lại điều đó
Để bảo vệ chống lại điều này, khung dữ liệu được đánh số trong tiêu đề Nếu một khung dữ liệu được nhận bởi các trạm trung cho một lần thứ hai, do đó, điều này có thể được phát hiện và loại bỏ các khung hình Để tính toán hiệu suất của một giao thức phụ thuộc thời gian các hành động khác nhau phải được kiểm tra Hình 18.13 thông tin này cho một chuỗi điển hình
Một khung dữ liệu A1 được truyền từ các trạm chính đến trạm thứ cấp, trong đó xem xét các khung nhận được và đưa ra quyết định về việc liệu khung là thỏa đáng hay không Một khung nhận B1 sau đó được cử đi theo hướng ngược lại, và quyết định này mang lại cho các trạm chính Truyền tải trên các liên kết truyền thông Do
đó, xen kẽ hoặc song công một nửa
Hình 18.13 Sơ đồ thời gian cho dừng-và-chờ ARQ
Thời gian của dữ liệu gửi đi khung A1 là s, và trễ truyền một chiều trên các liên kết truyền thông là s Một khoảng thời gian trôi qua ở cuối của khung nhận được trong khi bộ điều khiển logic đánh giá tính toàn vẹn của khung và chuẩn bị các liên kết truyền thông để truyền đi theo hướng ngược lại Trong một số
Trang 21khi nhận được để truyền
Khung xác nhận có chiều dài s, và nó ngắn hơn khung dữ liệu bởi vì nó chỉ truyền duy nhất một mục tin Khung B1 phải, tuy nhiên, bao gồm một phần bắt đầu
và cũng có thể là một phần kiểm tra Trong một số hệ thống thuộc loại này, các kênh ngược hoạt động với tốc độ tín hiệu thấp hơn so với kênh trước, tỉ lệ này thấp hơn nên nó chiếm một băng thông nhỏ hơn Các modem V.23, bảng 20.4, cung cấp một kênh song công hai tần số 1200 và 75bit/s tương ứng
Bàn về trình tự kiểm soát logic, tóm tắt trong hình 18.2, ghi lại sự cần thiết cho một khoảng thời gian chờ, trong trường hợp ACK không trở lại tại các trạm chính Khoảng thời gian chờ tout được cho bởi:
Sự ngang bằng được áp dụng khi các khoảng thời gian được biết đến chính xác Mối quan hệ đó sẽ được sử dụng trong các cuộc thảo luận dưới đây Trên thực tế, khoảng thời gian không được biết đến chính xác, vì vậy giai đoạn thời gian chờ phải lớn hơn giá trị giới hạn Kết thúc thời gian thấp nhất, hình 18.3, giữa việc truyền tải của khung hình kế tiếp , là:
Trang 22Số lần mà một khung được lặp đi lặp lại, về nguyên tắc, không có lỗi, mặc dù trong thực tế nó ít khi lặp lại quá một lần Để tính toán tỷ lệ hiệu quả của truyền qua liên kết dữ liệu này, account phải được thực hiện qua tất cả các số có thể lặp đi lặp lại Giả sử sau đó i được lặp đi lặp lại xảy ra trước khi một khung nhất định được nhận mà không có lỗi Xác suất để sự kiện này xảy ra là và nó chiếm một khoảng thời gian i * s Bao gồm các khung lỗi, xác suất tổng thể truyền và nhận khung lỗi là (1 - )
Thời gian trung bình để truyền đúng bằng thời gian của một khung lỗi, cộng với thời gian trung bình i lặp đi lặp lại r là một biến ngẫu nhiên ứng với xác suất trung bình , , do đó thời gian trung bình cho một tuyến truyền đúng là:
để nó có thể hoạt động trong trạng thái bão hòa Truyền khung dữ liệu qua một liên kết dữ liệu là không ổn định khi xuất hiện tiếng ồn, vì vậy tất cả các liên kết như vậy phải được đệm ở mỗi đầu Tốc độ dữ liệu trung bình, D bit/s, là số bít thông tin cho mỗi khung hình được chia cho thời gian trung bình cho một khung, tức là:
số lượng đáng kể thời gian chờ đợi ACK Hình 18.14 cho hiệu quả giao thức ARQ với tỉ số (D/C) trái với các thông số truyền dữ liệu, cho ba xác suất lỗi khung Nhận thấy rằng xác suất lỗi khung hình không có nhiều sự khác biệt so với tổng thể
Trang 23Hình 18.14 Hiệu quả giao thức dừng và đợi ARQ (độ dài khung là 560bit và 512bit)
Nâng cao hiệu quả giao thức có thể thu được nếu thời gian chờ đợi ACK được giảm hoặc loại bỏ, mà có thể là với các giao thức ARQ như xem xét dưới đây
Go-back-N
Giao thức này là một trong những lớp của giao thức ARQ liên tục, hoạt động trên một kênh song công và truyền liên tục trong cả hai hướng để tránh thời gian chờ của việc dừng và chờ ARQ Một hệ thống như vậy được cân bằng nghĩa là có một dòng chảy tương tự với dữ liệu trong mỗi hướng qua đường liên kết Các trạm chính truyền khung dữ liệu liên tục mà không cần chờ đợi ACK (Điều này đôi khi được gọi là ống dẫn) Khi các trạm thứ cấp nhận được khung dữ liệu, đầu tiên nó được kiểm tra, và sau đó ACK được chèn trong phần tiêu đề của khung dữ liệu gửi
đi trên kênh ngược lại ACK đôi khi được gọi là piggybacked vào khung dữ liệu Các tin kiểm soát (ACKs và NAKs) là rất quan trọng cho hệ thống ARQ liên tục, do đó phải được thực hiện trong những vấn đề sau:
1 Khung dữ liệu bị hỏng
2 ACK bị hỏng
3 NAK bị hỏng
Trang 24Nếu các trạm chính nhận được một NAK nó sẽ rút lên danh sách các truyền khung dữ liệu, và truyền lại tất cả từ lỗi mà nó nhận được Khung can thiệp sẽ bị loại bỏ bởi các trạm trung gian Bảng 18.3 đưa ra một phác thảo một chuỗi các hoạt động tại trạm chính (trong triển khai thực tế thì tích lũy được sử dụng, tức là không phải tất cả các khung dữ liệu nhận được một cách chính xác ACK cá nhân, ACK(J) chỉ nhận của tất cả các khung hình lên đến khung J)
Sơ cấp
Dữ liệu thứ cấp Phát Nhận
Bảng 18.3 Trình tự truyền cho go-back-N ARQ
Phần này đơn giản hoá thời gian trong truyền dẫn và giả thiết trễ của một khung trong mỗi hướng Nhận thấy sự cần thiết của các trạm chính để duy trì dữ liệu truyền lại do các khung hình có thể yêu cầu gửi một lần nữa, trong khi các trạm trung cần để đệm các khung dữ liệu gửi đi sẽ đến với khoảng cách giữa chúng Rõ ràng, một số khung lỗi được truyền lại làm giảm nhẹ thông lượng Tuy nhiên, trong thực tế có nhiều lỗi xảy ra, có nhiều hơn một khung sẽ bị ảnh hưởng, và rằng một hoặc nhiều các khung hình bị loại bỏ cũng có thể có lỗi Ngoài ra, tính toán cho thấy khi so sánh với chọn lựa – nhắc lại ARQ (mô tả dưới đây), mức chịu đựng là không lớn với tỷ lệ lỗi thấp
Trang 25Hình 18.15 Trình tự thời gian cho go-back-N ARQ
Hình 18.15 cho thấy chuỗi chi tiết hơn, và xác định khoảng thời gian cần thiết
để tính toán hiệu quả truyền tải Nó cho thấy truyền cả từ trạm sơ cấp và thứ cấp, và giả thiết đơn giản rằng truyền thứ cấp được đồng bộ hóa với khung nhận được từ trạm sơ cấp, mà không phải là trường hợp tối ưu nhưng cho phép các sơ đồ được rút ra rõ ràng hơn Điều này được giới thiệu và phân tích đơn giản dưới đây, bỏ qua một số điểm của thời gian và các bước phải được giải quyết trong thiết kế của giao thức thực tế
Để phân tích hiệu suất của NARQ, đầu tiên xem xét các thông số truyền Như trước đây, độ dài khung là s, và trễ truyền là s Theo các điều kiện ở hình 18.15, ACK được lan truyền qua các trạm trung trong khe của khung kế tiếp sau khi nhận được khung dữ liệu Do đó, khoảng thời gian chờ được cho bởi:
+ (18.13) Thời gian xử lý được bỏ qua, nó được tính chung vào của hàng đợi và chuẩn bị nhận để truyền Bởi vì điều này và một số điều không chắc chắn về tính chính xác
Trang 26giảm dần của hai dòng khung hình, giá trị tăng cho khoảng thời gian chờ thường được thực hiện, mà nó phải tăng trong từng bước của :
= 2 + 2 (18.14)
Hình 18.16 Hiệu quả giao thức go-back-N ARQ
Hệ số thứ nguyên a được cho bởi phương trình (18.7) như sau:
a = = 3 + (18.15) Hình 18.15 cũng cho thấy nội dung của phần truyền lại tại các trạm sơ cấp, và phần nhận được tại các trạm thứ cấp Ví dụ go-back-N này đòi hỏi lưu trữ 4 khung tại các trạm chính Nhìn chung, số lượng lưu trữ là N, trong đó N là số nguyên lớn nhất bên cạnh a
Một lập luận tương tự như trong phần trước có thể được sử dụng để tính toán hiệu suất cho một kênh thoại Lỗi như trước khi được cho là xảy ra một cách ngẫu nhiên Xác suất mà một khung dữ liệu là do lỗi được kí hiệu là , và xác suất mà một khung được lặp đi lặp lại được kí hiệu là Kể từ khi truyền được cân bằng, mọi lỗi đều có khả năng theo cả phía trước và ngược lại Do đó:
= 2 2n (18.16)
Trang 27gian N * s, vì vậy thời gian trung bình để truyền thành công một khung dữ liệu được cho bởi:
Bảng 18.4 Trình tự truyền cho chọn lọc ARQ
Trong trường hợp này, thông lượng giảm xuống rất nhiều bởi xác suất lỗi khung
có giá trị cao, nhưng nhận thấy rằng hiệu suất tốt được duy trì cho liên kết với trễ lớn (giá trị lớn của a) Chú ý tới bản chất bậc của đồ thị
Trang 28Lựa chọn – lặp lại
Go-back-N của giao thức ARQ đã làm tốn một số nhất định của thời gian truyền bằng cách lặp lại khung tốt Chọn lọc – lặp lại sử dụng tốt hơn các kênh bằng cách phát lại khung dữ liệu lỗi Trong khía cạnh khác, giao thức này hoạt động tương tự như trong hình 18.15, ngoại trừ các chuỗi truyền như trong bảng 18.4 (Cũng như các giao thức go-back-N, tích lũy ACK có thể được sử dụng)
Giao thức này lặp đi lặp lại khung ít hơn so với go-back-N, nhưng nó đến không theo thứ tự Do lưu trữ là cần thiết ở trạm thứ cấp cũng như sơ cấp Tuy nhiên, nếu lặp đi lặp lại nhiều của khung dữ liệu tương tự sẽ xảy ra, số lượng lưu trữ cần thiết không bị chặn, và sự kiểm soát các trình tự phức tạp hơn Do đó, chọn lọc-lặp lại ARQ không được sử dụng nhiều trong thực tế như go-back-NARQ
Vì chỉ có một khung được truyền lại khi một lỗi được phát hiện, thời gian trung bình mỗi khung được cho bởi:
= + (1 - ) =
Do đó, hiệu quả giao thức ARQ tương đối cho chọn lọc – lặp lại là:
= ( ) (1 - ) (18.20) Thông số là độc lập của sự trễ vòng lặp và parametera, và do đó là tối ưu
So sánh các kỹ thuật ARQ
Có hai trường hợp cổ điển có thể được sử dụng để so sánh hiệu suất trễ trong ARQ
mô tả ở trên Đó là trễ dài và các trường hợp trễ ngắn, cả hai hệ thống với xác suất thấp của lỗi Cho các hệ thống với xác suất lỗi cao, ví dụ như trong hệ thống radio, tính toán khác nhau chúng ta sẽ được những kết quả khác nhau Trường hợp trễ dài được đặc trưng bởi các đường truyền vệ tinh địa tĩnh, trong đó có trễ khoảng 270ms giữa hai trạm mặt đất ngăn cách bởi vệ tinh duy nhất (xem chương 14) Môi trường tiếng ồn được giả định là trong suốt, dẫn đến lỗi xảy ra một cách độc lập và ngẫu nhiên
Trang 291ms/100 dặm hoặc 6.5µs/km ( Một đường radio trễ khoảng 3.3µs/km và cáp có thể trễ giữa khoảng 5 đến 7 s/km)
Trường hợp 1 – Trễ dài
Một liên kết dữ liệu hoạt động trên một đường vệ tinh với 9600bit/s, với xác suất lỗi bit , mỗi khung dữ liệu chứa một tiêu đề 48bit, một phần kiểm tra 32bit, một mào đầu 8bit và 64bit thông tin
Khung mào đầu là 48 + 32 + 8 = 88bit
Trễ truyền là = 270ms , = 64bits
Do đó độ dài khung là 152bit, và xác suất của mỗi khung là ≈ 1.5*
Thời gian bị chiếm đóng bởi khung = 152/9600 s hoặc 15.8ms
Giải pháp dừng và đợi ARQ
Bỏ qua và , vì vậy = 2 = 540ms Do đó a = (15.8 + 540)/ 15.8 hoặc 35.2
Lấy giá trị của a = 37.18 từ phương trình (18.15)
Khả năng truyền lại của khung là 2 = 3*
= (1 – 3* ) = 0.42
Trang 30Các tính toán trên đã được lặp lại với một lĩnh vực thông tin dài hơn 1024bit và kết quả đưa ra trong bảng 18.5 cùng với 64bit thông tin ngắn hơn để so sánh
Giao thức dừng và chờ rõ ràng không hiệu quả khi có sẵn một liên kết song công Chú ý làm thế nào để hiệu quả của cả ba kỹ thuật được cải thiện với một trường dữ liệu dài hơn
Một tính năng của hệ thống với trễ dài là số lượng khung hình ở bất kỳ một thời điểm cụ thể Đối với trường hợp 64bit, có hơn 35 khung hình được chuyển đi cùng một lúc, có nghĩa là truy cập khung có thể kịp với tổng số này Hiệu ứng này sẽ được xem xét sau
Trường hợp 1- trễ dài 64bit thông tin 1024 bit thông tin
Lấy phần giá trị quan trọng của a = 3 + (2 * 0.65)/15.8 = 3.08
=
*
( ) = 0.42 Lưu ý rằng trong trường hợp trễ ngắn thì không có nhiều sự khác biệt giữa việ thực hiện dừng và chờ và go-back-N của loại ARQ
Trang 31Giải pháp lựa chọn - lặp lại ARQ
Điều này sẽ cho kết quả tương tự như trường hợp 1 vì nó không phụ thuộc vào trễ truyền Các tính toán trên được lặp lại với 1024bit thông tin và kết quả được đưa ra trong bảng 18.6
Bảng 18.6 Hiệu quả giao thức hoặc tỷ lệ D/C cho trễ ngắn
Trường hợp 2 – trễ ngắn 64bit thông tin 1024 bit thông tin
Trường hợp 3 – Hệ thống tỷ lệ lỗi cao
Hệ thống tỷ lệ lỗi cao cần được xử lí đặc biệt, và xuất hiện chủ yếu trong môi trường vô tuyến di động Hãy xem xét một hệ thống đài phát thanh kỹ thuật số di động có tốc độ dữ liệu 1 Mbit/s và khung có độ dài 125μs Chiều dài đường đi là 1km và xác suất lỗi bit là 10-2
Trễ đường truyền đặc trưng là 3.3μs/km nên trễ đường truyền của hệ thống là 3.3μs, điều này không đáng kể Để ARQ liên tục thì a= 3, ta thống nhất xem xét dưới quan điểm bi quan của phương trình (18.14) trong quá trình dừng và chờ Bây giờ ta hãy xem xét xác suất lỗi Khung dữ liệu chứa tổng số 125 bit Xác suất
để một
khung dữ liệu bị lỗi là 1 – (1 – 10-2)125 = 0.715 (chú ý điều kiện nPb << 1 không thỏa mãn trong trường hợp này) Xác suất này là rất cao, do đó trung bình 1,4 khung thì yêu cầu lặp lại một khung Ta thừa nhận ARQ dừng và chờ có tỷ lệ bỏ qua lỗi là 0.285, đây không phải là một con số khả thi
Trong ARQ cần phải tính toán các lỗi xảy ra trong quá trình truyền dẫn từ cả hai phía Vì vậy, nếu mỗi lần truyền khung có một xác suất lỗi là Pf , vậy thì tổng xác suất lỗi là :
Trang 32P retrans = P f (1 - P f ) + (1 - P f ) P f + P 2 f
= 2 P f (1- P f ) + P 2 f
Trong trường hợp này, Pretrans là 0,919, đó là điều không khả thi
Một cách để cải thiện tình hình là làm cho khung ngắn hơn, do đó xác suất tồn tại của đường dẫn được cải thiện Nếu chiều dài khung được giảm xuống còn 40 bit, xác suất lỗi của một khung bây giờ là 1−(1−10-2)40 = 0.331, và Pretrans = 0.552 Điều này vẫn còn không tốt, nhưng có thể khả thi Áp dụng các công thức thông thường, hiệu quả của giao thức ARQ là 0.17 cho ARQ lùi lại và 0.45 cho ARQ dừng và chờ, giả sử giá trị Pretrans như nhau
Rõ ràng, việc truyền tải gặp phải những điều kiện rất khó khăn nhưng các nút được chế tạo cho tình huống nhiễu cao, các đường dẫn có khả năng tồn tại cao hơn nếu độ dài khung thấp Khi truyền tải thông qua liên kết cáp trên đất liền hay một đường tín hiệu radio cố định, lỗi không xảy ra một cách ngẫu nhiên mà thường xảy
ra theo các nhóm lỗi Trong con đường vô tuyến, lỗi bị gây ra bởi hiện tượng fading hoặc một số cản trở nhất thời, còn trong một mạch cáp chúng bị gây ra bởi sự can thiệp từ quá độ chuyển mạch Mặc dù như vậy tỷ lệ lỗi trung bình vẫn là Pb, các lỗi xảy ra ở trong chùm Giả sử rằng trung bình nhóm lỗi có chiều dài là b bit, vậy thì trung bình nhóm lỗi sẽ xảy ra mỗi b/Pb bit Kết quả của các nhóm lỗi là khung bị xáo trộn ở khoảng thời gian mở rộng, điều này phù hợp cho giao thức truyền lại
Vì mỗi khung có chiều dài 15.8 ms ( đối với trường hợp 64 bit ), khả năng của một khung bị lỗi là Pf = 15.8 x 10-3/52.1 = 3 x 10-4, bỏ qua thời gian nhận dành cho quá trình dừng và chờ Các tính toán trên do đó có thể được làm lại với giá trị mới này của khung truyền lại Chú ý rằng với khung dài, ARQ dừng và chờ thì hiệu quả hơn hơn so với trường hợp lỗi được phân bố đồng đều
Trang 33nên lỗi là rất hiếm Đối với một khung 1000 bit, xác suất lỗi khung là Pf < 10-6 Mặc dù thế, quy trình đánh giá khung vẫn được thực hiện liên tục, chúng là cần thiết dù tỉ lệ lỗi là bé hơn một khung trong một triệu khung Các giao thức như vậy làm tăng thêm trễ đáng kể cho các đường truyền tốc độ cao hơn (> 2 Mbit/s) Trong những trường hợp này, một cách tiếp cận tốt hơn là để cho các đường dẫn chuyển tiếp các khung phía trước không được kiểm soát và cho phép ARQ được thực hiện các chức năng trên toàn bộ đường dẫn mạng
Nếu khung đi qua m liên kết tương tự, xác suất tổng thể của lỗi khung là mPf , công thức (6.20) Trong trường hợp này, ví dụ nếu m = 20, thì tổng xác suất của lỗi khung nhỏ hơn 2 x 10-5, đây không phải là một khó khăn lớn Nguyên tắc này áp dụng cho các dịch vụ chuyển tiếp khung, nó được phổ biến như việc mạng viễn thông cố định ngày càng bị lỗi thời Chuyển mạch của chuyển tiếp khung được thực hiện ở mức 2 của mô hình OSI chứ không phải là mức 3 như trong mạng X.25 (xem phần 20.7.2) Việc sửa chữa các lỗi được thực hiện từ đầu đến cuối ở giao thức cao hơn, nhưng các khung có lỗi được phát hiện trong khi truyền dẫn được loại bỏ
18.3.3 Điều khiển luồng
Điều hiển nhiên là nút phát ở một đầu của một đường truyền dữ liệu không thể truyền khung với tốc độ nhanh hơn so với tốc độ nút nhận khung mà đầu kia của đường dẫn có thể tiếp nhận Điều này có thể khắc phục bằng cách điều khiển luồng
Thiết bị thu không sẵn sàng
Một phương pháp đơn giản để điều khiển luồng là cho nút nhận gửi một khung máy thu-không-sẵn sàng (RNR) tới nút phát bất cứ khi nào mà nó không thể nhận thêm khung Điều này làm cho nút phát ngừng việc truyền khung dữ liệu Nút phát
có thể định kỳ gửi khung yêu cầu (ENQ) để hỏi các nút nhận về tình trạng của nút Khi nút nhận có thể nhận được khung trở lại, nó đáp ứng các khung ENQ với một máy thu đã sẵn sàng (RR) chứ không phải là một khung RNR và việc truyền tải khung dữ liệu được nối lại
Trang 34Dừng và chờ
Một phương pháp khác là sử dụng giao thức kiểm soát lỗi như một cơ chế điều khiển luồng thay thế Trong cơ chế dừng và chờ ARQ nút nhận được có thể chỉ đơn giản là giữ lại một khung ACK để ngừng việc truyền tải ngay cả khi không có khung lỗi xuất hiện Thường thì nút phát sẽ gửi các khung ENQ sau khi giai đoạn thời gian chờ đã trôi qua và nút nhận có thể đáp ứng với khung ACK được giữ lại nếu nó đã sẵn sàng để nhận được nhiều khung hơn (Nút truyền ở trong tình trạng này thì không phân biệt được một khung ACK đã bị mất)
Cửa sổ trƣợt
Trong một chương trình ARQ các khung liên tục được đánh số tuần tự Rõ ràng trong thực tế việc đánh số không thể tăng vô hạn, vì vậy k bits sẽ được phân bổ cho một số miền trong khung Ngay cả trong việc thực hiện thừa nhận cộng dồn cũng
có một giới hạn về số lượng khung hình có thể được truyền khi không nhận được một ACK (Trong dừng-và-chờ là giao thức này số 1) Do đó, một cửa sổ được định nghĩa là phạm vi xác định của số khung có thể truyền Hình 18.17 minh họa một cửa sổ như vậy, nơi mà mặt nạ có thể xoay, mở rộng hay thu hẹp như mong muốn Các gia số biên dưới giảm đi mỗi lần một khung được truyền, trong khi gia số biên trên tăng khi các khung được nhận
Khung gửi đi có chứa một số thứ tự gửi, N(S), trong khi các khung hoặc báo nhận từ nút đích có chứa một số thứ tự nhận, N(R) Hoạt động điều khiển luồng bằng cách sử dụng cửa sổ trượt được minh họa trong hình 18.18
Nút A duy trì một danh sách các số khung được phép được gửi, trong khi nút B duy trì một danh sách tương tự của số khung có thể được nhận Hình vẽ cho thấy cách các cửa sổ có thể di chuyển, như là các khung hình đầu tiên được truyền Bảng 18.7 cho ta một cái nhìn chi tiết hơn về các thao tác bao gồm cả các ảnh hưởng khi một khung bị mất Để đơn giản hóa các hình minh họa, ta chọn k = 2 để việc tính
toán được thực hiện theo modul-4, và cửa sổ mở tối đa N = 3
Trang 35Hình 18.17 Cửa sổ trượt
Hình 18.18 Nguyên tắc điều khiển luồng
Bảng 18.7 Trình tự điều khiển luồng cho cửa sổ mở N = 3
Trang 36Node B có dung lượng bộ đệm của N khung, và do đó trong phạm vi an toàn
mà tại đó bộ đệm B không bị tràn, nút A có thể gửi N khung dữ liệu đến mà không cần sự đồng ý từ trạm B, Tuy nhiên, trước đó nút B cho phép luồng các khung được duy trì mà không cần phải chờ đợi
Do đó, trong ví dụ này, nút A gửi khung số 0 và 1 Sau đó node B trả lời với một bản tin báo nhận, trong đó bao gồm một con trỏ đến số khung được chấp nhận tiếp theo Ngụ ý rằng tất cả các khung với số lượng đến giá trị này đã được nhận thành công, bản tin báo nhận lưu trữ đã được sử dụng Khi các khung được nhận chính xác, danh sách khung tại hai nút sẽ so sánh với nhau Một khung bị mất hoặc
bị hỏng sẽ được một cơ chế phục hồi lại và cho phép các trình tự được nối lại chính xác Nếu bộ đệm nhận đã đầy thì bản tin báo nhận sẽ không được gửi đi và các nút phát ngừng truyền khung dữ liệu cho đến khi được xác nhận lại một cách rõ ràng Các báo nhận thường được kèm thêm trong một khung dữ liệu Nếu các khung
dữ liệu thuận tiện không có sẵn thì khung điều khiển đại diện cho RR hoặc RNR
có thể được sử dụng cho phù hợp
Điều khiển luồng có thể được thực hiện không chỉ ở cấp độ liên kết ( điều khiển luồng bước nhảy) mà còn ở cấp độ cao hơn của giao thức ngăn xếp ( điều khiển luồng từ đầu đến cuối ) Ví dụ như điểm đích DTE có thể cần phải kiểm soát tỷ lệ
mà các gói dữ liệu được đưa vào một mạch ảo
Tác động điều khiển của cửa sổ trượt trên các đường dẫn trễ dài
Xem xét những gì xảy ra với các ví dụ về đường dẫn vệ tinh (trường hợp 1, phần 18.3.2) khi dùng 5 bit có sẵn để cửa sổ trượt điều khiển luồng Khi thời gian truyền khung dài hơn nhiều so với thời gian khung thì tham số a ( tỷ lệ thời gian tối thiểu của khung ) sẽ lớn hơn và kích thước cửa sổ trong giao thức cửa sổ trượt điều khiển luồng phải đủ để đối phó với điều này Xem xét lần lượt các giao thức ARQ được thảo luận trong phần 18.3.2 Kích thước tối đa của cửa sổ ít nhất phải lớn hơn
M (Nếu kích thước của cửa sổ ít hơn số lượng khung dữ liệu trong hệ thống tại một thời điểm thì hiệu suất có thể được phục hồi bằng cách tăng chiều dài của khung dữ liệu.)
Nói đến ví dụ, đối với giao thức lùi lại N dành cho hệ thống thông tin 64 bit,
a = 37.18 do đó, để cho việc lưu trữ đầy đủ thì dung lượng bộ đệm phải có ít nhất
38 khung
Trang 37lưu trữ M bị hạn chế đến 31
Việc truyền dẫn sẽ phải dừng lại sau khi 31 khung dữ liệu đã được truyền, cho đến khi bản tin báo nhận thông báo là đã nhận được Trong mỗi chu kỳ của khung được truyền, đường dẫn ra có thể hoạt động trong 31/38 phần thời gian, yếu tố này làm giảm hiệu quả của giao thức ARQ
Để phục hồi công suất, giá trị của a phải bằng 31 Chiều dài khung phải được
mở rộng đến 500/(31-3) = 17,86 ms , tương ứng với 17,86 x 9,6 = 171,5 bit Vì
khung mào đầu có 88 bit nên trường dữ liệu này phải có ít nhất 171-88 = 83 bit
Ví dụ này cho thấy các thông số có thể được điều chỉnh để có được hiệu suất tối
ưu Chiều dài của khung dữ liệu cũng bị ảnh hưởng bởi khả năng lỗi, nó một hàm của xác suất lỗi bit
18.3.4 Giao thức liên kết dữ liệu – HDLC
Các giao thức liên kết dữ liệu được sử dụng tương tự hoặc hoặc dựa trên mức
độ điều khiển liên kết dữ liệu cao (HDLC), được chuẩn hóa trong năm 1976 như là ISO 3309 Một số giao thức có nguồn gốc tương tự là :
1 Thủ tục điều khiển dữ liệu thông tin liên lạc tiên tiến (ADCCP) - một tiêu
chuẩn của ANSI X3.66, sử dụng rộng rãi tại Hoa Kỳ
2 Giao thức liên kết truy cập, cân bằng (LAP-B) - các đặc điểm kỹ thuật lớp liên kết dữ liệu của ITU-T X.25 với giao diện mạng gói (xem phần 20.7.1)
3 Giao thức liên kết truy cập, kênh D (LAP-D) - giao thức liên kết dữ liệu cho
các kênh tín hiệu trong ISDN
4 Điều khiển liên kết dữ liệu đồng bộ (SDLC) - một tiêu chuẩn công ty IBM
HDLC là một giao thức hướng tới bit, tức là tải trọng dữ liệu là không có chiều dài cố định, cũng không phải được thể hiện trong bội số bát phân (8 bit, byte) Bất
kỳ mẫu bit não cũng có thể được vận chuyển bằng HDLC mà không quan tâm đến
ý nghĩa hoặc cấu trúc của nó, và do đó, giao thức này được cho là trong suốt đối với cấu trúc dữ liệu Nó cũng đồng bộ bit từ kết nối không đồng bộ ở mức vật lý được giả định
Có ba loại trạm được xác định trong HDLC Đó là:
Trang 381 Trạm sơ cấp - chịu trách nhiệm về việc kiểm soát hoạt động của các đường dẫn
Khi một trạm sơ cấp điều khiển khiển các hoạt động của khung dữ liệu tìchúng được gọi là các lệnh
2 Trạm thứ cấp - hoạt động dưới sự kiểm soát của một trạm sơ cấp, và nó không
thể tự truyền dữ liệu riêng của mình Khung điều khiển do các trạm thứ cấp phát ra được gọi là đáp tuyến
3 Trạm kết hợp - hoạt động như một trạm sơ cấp hay thứ cấp, dựa theo các luồng
thông tin
Về cấu hình các loại trạm thì có hai loại cấu hình chính cung cấp bởi HDLC như minh họa trong hình 18.19:
1 Cấu hình không cân bằng - cho phép hoạt động trong mạng đa điểm
2 Cấu hình cân bằng - chỉ hoạt động giữa hai trạm được phối hợp trong một
liên kết điểm nối điểm
Các thủ tục của giao thức được mô tả trong quá trình hoạt động riêng biệt của ba chế độ khác nhau sau đây, mặc dù chế độ đầu tiên thường được sử dụng nhất:
1 Chế độ cân bằng không đồng bộ (ABM) – trong đó thông tin liên lạc tồn
tại song công toàn phần trên một liên kết điểm nối điểm (Hình 18.19 (b)), cả hai trạm là phần tử bình đẳng (cân bằng) và có thể bắt đầu trao đổi dữ liệu khi cần thiết (không đồng bộ)
2 Chế độ đáp ứng không đồng bộ (ARM) – trong đó các trạm sơ cấp và thứ
được liên kết bởi một liên kết điểm nối điểm bán song công
3 Chế độ đáp ứng bình thường (NRM) – là một kết nối không cân bằng
(Hình 18.19 (a)), trong đó các thủ tục được bắt đầu giữa một thiết bị kiểm soát (sơ cấp) và một hoặc nhiều trạm thứ cấp
Có ba loại khung cần thiết để kiểm soát các đường dẫn và việc trao đổi dữ liệu
Đó là:
1 Khung thông tin (I) – có chứa các tải trọng dữ liệu và các thông số điều
khiển luồng liên quan đến nó
2 Khung giám sát (S) – có chứa các thông tin điều khiển cần thiết để thiết lập
các liên kết và thực hiện kiểm soát lỗi ARQ cũng như điều khiển luồng nếu không có các khung dữ liệu truyền về trên kênh ngược lại
Trang 39Hình 18.19 Cấu hình thông tin liên lạc HDLC: (a) không cân bằng, (b) cân bằng
Bit mẫu này được gọi là cờ hiệu và là chuỗi 01111110 Từ khi bộ điều khiển liên kết dữ liệu bắt đầu dò xét luồng dữ liệu đối với ký hiệu cờ hiệu này đến khi dữ liệu được nhận, dữ liệu phải được xử lý để cờ hiệu không bao giờ xuất hiện trong luồng truyền đi Thao tác hay xử lý này được gọi là nhồi bit, cụ thể là chèn thêm bit
0 vào mỗi khi một chuỗi 5 bit 1 mã nhị phân xuất hiện Do đó, cờ hiệu chỉ xuất hiện tại các điểm chính xác trong luồng số được gửi đến chứ không phụ thuộc vào nội dung của dữ liệu được truyền đi ( tất nhiên tất cả các thiết bị đầu cuối sẽ xóa bit 0 sau khi nhận bất khì 5 bit nhị phân) Đương nhiên, các lỗi có thể xảy ra trong truyền tải và làm nhiễu loạn sự sắp xếp này, nhưng mặc dù các sự kiện như vậy là phiền hà, thủ tục vẫn tồn tại cho việc phục hồi Hình 18.21 minh họa ý tưởng của việc nhồi bit
Khi các khung được truyền hoặc nối với nhau, thì một cờ hiệu duy nhất là đủ để đánh dấu sự kết thúc của một khung và bắt đầu khung tiếp theo (Hình 18.22)
Trang 40Các chức năng khác của các trường trong khung HDLC là:
1 Trường địa chỉ - xác định các trạm thứ cấp đến, và chỉ cần thiết cho các
trường hợp không cân bằng (Hình 18.19), nhưng luôn luôn thống nhất
2 Trường thông tin - chỉ xuất hiện trong khung I và một số khung U, chiều
dài tối đa của nó được xác định riêng cho mỗi ứng dụng
3 Trường thông tin kiểm tra (FCS) - độ dài thong thường là 16 bit, nhưng
cũng có thể mở rộng thành 32 bít nếu có yêu cầu
4 Trường điều khiển - có cấu trúc phụ thuộc vào từng loại khung, được chỉ ra
trong hình 18.20 Bít đầu tiên chỉ ra có phải là không I hay không, và nếu không phải, bít thứ 2 sẽ phân biệt giữa khung S và khung U
Hình 18.20 Cấu trúc khung HDLC