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

Nghiên cứu các giao thức lớp liên kết số liệu và ứng dụng

63 247 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 9,62 MB

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

CHUONG V: CAC GIAO THỨC DIEU KHIỂN LIÊN KẾT SO LIEU & UNG

DUNG

V.1 Tổng quan

Lớp điều khiển liên kết số liệu liên quan đến việc chuyển thơng tin số liệu qua một liên kết số liệu nối tiếp Liên kết số liệu cĩ thể là một kênh vật lý điểm- nối-điểm (dùng cáp xoắn , cáp đồng trục hay cáp quang) hoặc một kênh vơ tuyến như liên kết vệ tinh hoặc một liên kết vật lý hay luận lý qua các mạng chuyển mạch Lớp liên kết số liệu cung cấp một dịch vụ xác định cho tập các giao thức

mức cao hơn Tùy thuộc vào ứng dụng , dịch vụ user được cung cấp bởi lớp liên

kết số liệu cĩ thể là dịch vụ khơng tạo câu nối (connectionless) hay dịch vụ cĩ tạo cầu nối (connection-orienred)

Các hàm thực thể dịch vụ (service primitives) liên quan đến chế độ hoạt

động cĩ tạo cầu nối giống như các hàm thực thể đã được bàn đến trong chương IV Với loại dịch vụ này , giao thức liên kết số liệu dùng các thủ tục kiểm sốt lỗi và điều khiển luơng để tạo ra dịch vụ tin cậy Do đĩ , xác suất số liệu khơng lỗi ,

khơng trùng khá cao và các thơng điệp sẽ được phân phối theo thứ tự giống như

khi được nạp vào để truyền đi Để đạt được điều này , trước khi truyền bất cứ một frame thơng tin nào , một câu nối luận lí giữa hai thực thể giao thức được thiết lập thơng qua dịch vụ L_CONNECT Tất cả số liệu được chuyển giao nhờ vào giao thức điều khiển luơng và truyền lại thích hợp Khi tất cả số liệu đã được trao đổi , cầu nối luận lý bị xĩa bằng dịch vụ L_DISCONNECT

Bởi dải ứng dụng của lớp liên kết số liệu khá rộng nên trước hết chúng ta sẽ xem

xét vài mơi trường ứng dụng khác nhau liên quan đến nĩ V,2 Các giao thức thiên hướng kí tự

Các giao thức này là dùng các kí tự điều khiển truyền để thực hiện các chức năng điều khiển truyền liên quan đến quản lí liên kết , đánh dấu đầu và cuối frame , kiểm sốt lỗi và ‘trong sud?’ ’ di liệu Trong suốt dữ liệu làchức năng đặc biệt nhằm ngăn chặn sự nhầm lẫn giữa dữ liệu và thơng tin điều khiển

Trong khi để cập đến các giao thức thiên hướng kí tự ở chương IV , chúng

ta đã xem xét một liên kết số liệu điểm-nối-điểm và một luơng frame đơn cơng

(một chiêu ) để trình bày các khía cạnh khác nhau của các giao thức liên kết Tuy

nhiên trong hầu hết các ứng dụng thực tế chúng ta phải mở rộng các khái niệm đã được giới thiệu để chấp nhận số liệu đã được trao đổi theo cả hai hướng Tương tự , nếu như cĩ nhiều hơn hai chủ thể truyền tham gia trong cấu hình đa điểm , chứng ta phải cần đến một phương pháp điều khển truy cập vào mơi trường truyền chia

sẽ Chúng ta sẽ bàn đến các chủ điểm này khi khảo sát các giao thức khác nhau V.2.1 Các giao thức đơn cơng (simplex protocols)

Lớp giao thức này là đơn giản nhất vì nĩ chỉ cho phép chyển số liệu theo một hướng từ một máy tính (DTE) này đến một máy tính khác qua một liên kết số liệu điểm-nối-điểm Một ứng dụng tiêu biểu là truyền tập tin dữ liệu từ máy tính này đến máy tính khác Một trong những giao thức được dùng rộng rãi nhất là

kermit

Kermit được dùng rộng rãi để truyền nội dung của một hay nhiều tập tin từ một máy tính này đến một máy tính kia thơng qua một liên kết điểm-nối-điểm

Trang 2

Thường dùng truyền đồng bộ Kermit là một ví dụ thực tế của giao thức idle RQ

mà chúng ta đã mơ tả trong chương IV

Một số phiên bản của kermit cho phép nĩ truyễn tập tin giữa hai máy tính cá nhân hoặc giữa một máy tính cá nhân với mộtmáy tính server hay mainframe

Cơ cấu truyền tập tin cơ bản trong mỗi phiên bản là giống nhau Các khác biệt chủ yếu là cách thức mà user của máy nguồn dùng chương trình kermit để truy nhập vào chương trình kermit ở máy tính đích ở thời điểm khởi đâu Trước hết

chúng ta sẽ xem xét phiên bản được dùng để truyền các tập tin giữa hai máy tính cá nhân

Một tập lệnh đơn giản sẵn sàng cho cả hai user sau khi chương trình kermit

đã được chạy ở cả hai hệ thống Chúng được trình bày trong lược đồ tuần tự theo thời gian ở hình V.3

Nếu đang dùng modem thì một modem phải được đặt ở chế độ gọi và modem kia phải được đặt ở chế độ trả lời Dĩ nhiên , cả hai modem phải được cài

tốc độ hoạt động bằng nhau Mỗi user chạy chương trình kermit và nhập lệnh CONNECT, lệnh này nếu thành cơng sẽ cho kết quả là một liên kết vật lí được thiết lập giữa hai hệ thống Sau đĩ user trong hệ thống sẽ nhận tập tin nhập lệnh

RECEVE va user trong hệ thống truyền tập tin nhập vào lệnh SEND cùng với tên

tập tin muốn truyền Sau đĩ kermit trong hệ thống truyền sẽ chuyển các tập tin

dưới dạng nguyên vẹn của chúng Khi mỗi phân đoạn tập tin được truyền , một

thơng báo được xuất ra trên màn hình của cả hai user Sau khi tất cả các phân đoạn của tập tin đã được truyền, cả hai user đều thốt ra khỏi kermit và trở về hệ điều hành cục bộ bằng lệnh EXIT Để truyển tập tin theo hướng ngược lại , thứ tự

của các lệnh được đảo lại giữa hai máy.Chúng ta cĩ thể thấy rằng kermit khơng

đơn giản là một giao thức liên kết số liệu vì nĩ thực hiện một số các chức năng

thêm vào như đọc ghi tập tin cũng như phân đoạn và tái thiết lập tập tin Nĩ cũng

cĩ các loại frame (cũng gọi là gĩi ) liên quan đến mỗi chức năng này như chúng ta cĩ thể thấy từ dạng frame chuẩn ở hình V.4(a)

Trang 3

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

Máy tính nguồn Máy tính đích

user kermit kermit user KERMIT ai CONNECT [a] KERMIT “4 CONNECT JA La RECEIVE SEND(filname) Na! DATA BLOCK[IISENT 4 MS) DATA BLOCK [1] DATA RECEIVE BLOCK[2]SENT : “1 Ka} DATA BLOCK [2] RECEIVE DATA “ BLOCK[N]SENT fsa} DATA BLOCK [N] RECEIVE END OF FILE La hại END OF FILE EXIT ^» hài END OF TRANSMISSION “4 EXIT

Hình V.3 Các lệnh user của Kermit

Cĩ hai khác biệt chính giữa dạng frame được dùng trong kermit và dạng

frame được để cập đến trong chương IV Trước hết , một byte xác định chiểu dài

(length character) dude ding dé chi chiéu dai ctia mdi frame thay vi ding mot ki

tự diéu khién truyén ETX Khác biệt thứ hai là các I-frame , ACK-frame và NAK-

frame đều cĩ cùng dạng cơ bản Cũng cĩ kí tự điều khiển dự phịng CR (Carriage

Return) được dùng tại đầu cuối của mỗi frame Việc dùng kí tự chi chiéu dai cd

lợi ích là nội dung frame cĩ thể là dạng text hay dạng nhị phân vì máy thu chỉ làm

cơng việc đơn giản là nhận và nối lại một số kí tự hay byte thích hợp (như đã chỉ

định trong phần header) khi tập tin đang được tái thiết lập Thơng thường user trong máy tính thu biết được dạng tập tin hay cĩ thể suy ra nĩ từ tên tập tin

Trang 4

Nội dung của tập tin dạng text được truyền theo tuân tự các khối §0 kí tự , mỗi khối được kết thúc bởi cặp kí tự CR/LF (carriage return/line feed) Tuy nhiên ,

các tập tin nhị phân được truyền dưới dạng đơn giản hơn gồm một chuỗi các byte 8

bit Bất cứ kí tự điều khiển định dạng nào nằm trong phần nội dung_text hay nhị phân_ đều được mã hĩa trước khi truyền nhằm đảm bảo khơng gây ảnh hưởng đến

trạng thái của thiết bị thơng tin trong khi truyén Điểu này là một đặc trưng của

hoạt động điểu khiển luơng trong một số modem Mỗi kí tự điều khiển được phát hiện và được đổi thành tuân tự cửa hai kí tự in được bao gồm một kí tự tiễn tố điều khién_# ctia ASCII_kém theo mot ki ty ASCII cĩ thé in được nằm cùng hàng và ở

cột 4 hoặc cột 5 lần lượt tương ứng với cột 0 hoặc cột | trong bang ma ASCII Do đĩ , Ctrl-A trở thành #A , CR trở thành #M và FS trở thành #\ Khi xuất hiện bất kì kí tự # nào , đều phải thêm một # phía trước

Tuần tự trao đổi các frame bởi các thực thể giao thức của kermit để truyén một tập tin được trình bày trên hình I.4(b) Frame được gửi trước tiên để khởi động

truyền tập tin là frame gửi lời mời (S) Nĩ bao gồm một danh sách các tham số liên quan đến giao thức , như chiều dài frame tối đa và khoảng thời gian bất khả

dụng_timeout_ được dùng để truyền lại Máy thu phúc đáp bằng một frame chấp

nhận (Y) với các tham số điều khiển truyền đã được thống nhất

Kế tiếp máy phát xử lí truyền nội dung tập tin Trước hết , một frame đầu

tập tin cĩ chứa tên tập tin được truyền, tiếp theo làtuân tự các frame dữ liệu (D) chứa nội dung của tập tin Sau khi frame dữ liệu cuối cùng của tập tin đã được

truyền , máy thu được thơng báo bằng một frame kết thúc tập tin (Z) Sau đĩ các tập tin khác cĩ thể được truyền theo cách tương tự Cuối cùng khi tất cả các tập tin

đã được truyền , máy nguồn gửi một frame kết thúc giao tác (B) cho máy thu Kemit là một giao thức idle RQ Do đĩ, sau khi truyền mỗi I-frame (I) , máy phát

đợi cho đến khi nhận được frame báo nhận (Y)_kiểm tra tổng khối đúng_hoặc một

frame từ chối N_BCC sai Để dự phịng trường hợp các frame này bị hỏng , một

bộ định thời được khởi động mỗi khi truyền một frame mới Chỉ số tuần tự truyền của mỗi I-frame tăng lên từng đơn vị theo module-64 và chỉ số tuần tự thu trong mội ACK-frame (Y) và NAK-frame (N) trùng với chỉ số tuần tự trong I-frame ma nĩ báo nhận hay từ chối

Các đặc trưng mà chúng ta vừa thảo luận là các đặc trưng tối thiểu liên

quan đến kermit Chúng ta sẽ khảo sát thêm, chỉ tiết hơn về kermit trong mục II.4

Trang 5

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP header (a)

SOH | LEN | SEQ | ve DATA | BCC | CR |

(b) May tinh nguén Máy tính đích

user kermit kermit user KERMIT Na! CONNECT Nal cu _ KERMIT La] setu PU | ~4 CONNECT V(R)=0 a4 RECEIVE đ V(S)=0 SEND(filname) a! lo (0.8 nip ue | V(@)=I| “1'o\OYV | V(R)=1 (s99 J 4x0 Ì®_ DATA BLOCK[I] = RECEIVE HH1.F,pij.n, | “=? me] *| [I.Y]

DATA La HI2,D pạ, DATA BLOCK [2]

BLOCK[1]SENT Lat K'ZIMOV] -V(R)=3 IS.D,Daai Py RECEIVE DATA ~ BLOCK[2]SENT Hí/3, MT Laine VN HỊ3 '3.D.Datap Ka| DATA BLOCK [3] - + 4xCK[4.Y] | V(R) =4 RECEIVE

DATA FI4,D >DataJ>|

Na! DATA BLOCK [4] L44CKI1.YT| RECEIVE | V(R)=5 BLOCK[3]SENT DATA timeout TÍÍ4,D,Dara pl Duplicate

BLOCK|4]SENT 8d | ACKIEYT | detected

[—1I5,z Po hại END OF FILE La |JaACK{S.YT | END OF FILE V(R)=6 II [—I[6,B EXIT i a END OF Can |#€KI6Y] | TRANSMISSION cleared [~~~~~~m “4 EXIT

Hình V.4 Hoạt động của kermit (a) Dạng frame , (b) Tuần tự frame

V.2.2 Các giao thức bán song cơng

Hầu hết các giao thức thiên hướng kí tự đều hoạt động theo idle RQ., bán

song cơng Nổi tiếng nhất là một phiên bản được phát triển bởi IBM được gọi là điều khiển động bộ nhị phân , thường nĩi tit 1a sisync hay BSC(Binary Synchronous Control) Vino 1a nén tẳng của giao thức thiên hướng kí tự cửa ISO gọi là chế độ

cơ bản (basic mode ), nên chúng ta sẽ dùng BSC như là một ví dụ

Trang 6

D (a) L 4-wire(2-pair) lin P D D L F—É—Y.⁄⁄ <=> BP oy P P DTE chủ(master) D A = 4-wire modem L BP = điểm nhánh P DLP= giao thức liên `"——>— kết số liệ g6 sen Các DTE tớ (slave) Đơi dây xoắn (b) Dip Đầu L cuối pL [LDR] [LDR] [ior] dây DTE chu (master) DLP DLP DLP LD/R= Line driver/Receiver

Hình V.5 Các mạng thiên hướng kí tự ,(a) Đa điểm,(b)

Bus đa điểm

BSC thường được dùng trong các lược đồ điều khiển truyền đồng bộ Nĩ là

giao thức cĩ tạo cầu nối (connection-oriented) và được dùng chủ yếu trong các ứng

dụng đa điểm trong đĩ cĩ một trạm (máy tính ) chủ điểu khiển tất cả các thơng

điệp truyền đến và đi từ một nhĩm các trạm phụ thuộc (trạm tớ) Các trạm phụ

thuộc được kết nối đến trạm chủ bằng các mạng đa điểm nết tất cả các trạm đều

tọa lạc tại những địa điểm cách xa nhau và dùng các modem, hoặc được kết nối

đến trạm chủ thơng qua mạng bus đa điểm nếu tất cả các trạm đều ở cùng một đĩa

điểm và dùng các bộ thu/phát Hai cấu hình được trình bày trên hình V.5 V.2.2.1 Cac dang frame

Dé thực hiện các chức năng khác nhau liên quan đến quản lí liên kết , cần dùng thêm các frame điều khiển bên cạnh các frame mang thơng tin Ngồi ra,

Trang 7

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

header trong một frame thơng tin

STX(TC2) Start of text:được dùng với hai mục đích là kết thúc

phần header và đánh dấu đầu của phần text ETX(TC3) End of text:được dùng để kết thúc một chuỗi text

EOT(TC4) End of transmission: được dùng để chỉ định kết thúc hoạt động truyển cửa một hau nhiều khối văn

bản và xĩa cấu nối

ENQ(TCS) Enquiry:được dùng như là yêu cầu phúc đáp từ một trạm ở xa_phúc đáp cĩ thể bao gồm thuộc tính và/hoặc trạng thái của trạm

ACK(TC6) Acknowledge:báo nhận được truyền đi bởi máy thu khi phúc đáp cho một thơng điệp mà máy phát đã

gửi đến

DLE(TC7) Data link escape:được dùng để thay đổi ý nghĩa của

các kí tự điều khiển truyền trước

NAK(TC8) Negative acknowledge:thơng báo từ chối nhận , được gửi từ máy thu để phúc đáp cho một thơng điệp được gửi tới từ máy phát nhưng khơng đạt yêu cầu SYN(TC9) Synchronous idle:được dùng để cung cấp cho máy thu

một phương tiện nhằm đạt được hay duy trì đồng bộ kí

tự theo một lược đơ điều khiển truyễn đồng bộ

ETB(TC10) End of transmission block:được dùng để chỉ điểm cuối

của một khối dữ liệu khi một bảng tin được chia thành

một số khối

Với BSC , các chức năng này được thực hiện dùng các kí tự điểu khiển

truyền EBCDIC hay ASCII/IA5 đã chọn Chúng ta đã để cập đến vai trị của vài kí

tự điểu khiển trong chương IV

Với kiểu frame thơng tin khác nhau_trong BSC được gọi là các khối dữ liệu

(data block ) _ được trình bày trên hình V.6(a) BSC ding truyền đồng bộ thiên hướng kí tự và do đĩ tất cả các khối dữ liệu được truyền đều được dẫn đầu bời ít nhất là hai kí tự SYN để máy thu đạt được sự đồng bộ kí tự Các bản tin ngắn (ngắn hơn một chiều dài tối đa xác định ) được truyền trong một khối đơn trong khi các bản tin dài hơn được truyền trong nhiễu khối Phần header_khi xuất hiện

_cĩ mục đích tổng quát và thường định ra cách dịch phần dữ liệu như thế nào

Ngồi ra , đối với chế độ cơ bẩn cịn cĩ phần kiểm tra kiểu tổng đặt ngay sau ranh giới kết thúc khối (ETX hay ETB), nĩ là kiểm tra chẵn lẻ theo cột (xem chương II) Hoạt động kiểm tra này bắt đầu từ kí tự STX cho đến kítự định ranh giới kết

thúc khối Vì kiểm tra chẵn lẻ chỉ cĩ khẩ năng phát hiện lỗi , nên BSC thường dùng một mã CRC hay byte được tính theo CRC-16 thay cho BCC Cả hai lược đồ

đều giới hạn số kí tự trong mỗi khối dữ liệu truyền Giới hạn này được xác định bởi tham số BER của liên kết đang được dùng , kích thước khối tối đa được chọn đảm bảo hầu hết các khối đều được nhận mà khơng bị lỗi Các bản tin dài hơn được truyền thành một tuần tự gồm các khối ngắn hơn cĩ kích thước cố định , mỗi

Trang 8

khối được kết thúc bằng một một kí tự điều khiển ETB Khối dữ liệu sau cùng của tuần tự như vậy được kết thúc bằng một ki ty diéu khién ETX

Trang 9

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP (a) Identifi | Dia chi er tram T SYN ' SYN | SOH STX | Text | ETX | BCC Bản tin cĩ một khối " p - —

SYN SYN SOH Identifi | Dia chi

er tram STX | Text | ETB | BCC Khối đầu tiên của bản tin đa khối ae i

SYN ! SYN | SOH "enti STX | Text | ETB | BCC SYN | SYN | SOH "gent STX | Text | ETX | BCC

Identifier= chỉ số tuân tự của khối (b) r1 ïa chí ! SYN ! SYN | EOT Địa chỉ ' tram P/S | ENQ Tuần tự quét/chọn CTT | SYN \ SYN | ACK Đáp ứng chọn chấp nhận COT | SYN ' SYN | NAK Đáp ứng chọn từ chối rots

SYN ' SYN | ACK 0/1 Báo nhận cho các frame đánh số chẵn/lẽ HA ——— | SYN \ SYN | NAK 0/1 Từ chối cho các frame đánh số chẵn/lẽ TT | SYN | SYN | EOT

Trang 10

Các frame điều khiển khác nhau liên quan đến giao thức BSC được trình

bày trên hình V.6(b) Các kí tự điều khiển ACK và NAK cĩ hai chức năng: + Thơng bào tình trạng nhận :ACK hay NAK được máy thu gửi lại cho

máy phát trong khi đáp ứng một khối dữ liệu được truyền đến trước đĩ và do đĩ cĩ chứa một chỉ số tuần tự

+ Phúc đáp cho một thơng điệp điều khiển chọn : một ACK chỉ định rằng

được chọn cĩ thể nhận một khối đữ liệu trong khi NAK chỉ ra sự từ chối cho một trạm đã chọn

Kí tự điều khiển ENQ được dùng trong cả hai frame điểu khiển quét (poll)

và chon (select) Theo sau dia chi ctia tram phụ thuộc (slave) được quét hay được chọn tương ứng là kí tự điều khiển P (poll) hay S (select ), tiếp đến là kí tự ENQ

Sau cùng là kí tự điều khiển EOT cĩ hai chức năng :

+ Đặt dấu hiệu kết thúc một tuân tự trao đổi bản tin hồn chỉnh và xĩa liên kết luận lí giữa hai chủ thể tham gia truyền tin

+ Cung cấp một phương tiện để trả liên kết về trạng thái nhàn rỗi (reset) V.2.2.2 Sự trong suốt dữ liệu

Về cơ bản thì các tuần tự của kí tự định dạng frame khác nhau trình bày

trên hình V.6 được hiệu chỉnh thành DLE/STX,DLE/ETX, Cũng vậy , bất cứ khi nào máy phát phát hiện một mẫu nhị phân tương ứng với một kí tự DLE trong phần nội dung , nĩ chèn thêm một kí tự DLE nữa Máy thu sẽ thực hiện kiểm tra tương tự Bất cứ khi nào máy thu phát hiện hai kí tự DLE liên tiếp , nĩ sẽ loại bỏ kí tự DLE chèn thêm trước khi chuyển dữ liệu đến nơi cĩ chức năng xử lí tiếp Một

khác biệt nữa khi hoạt động trong chế độ trong suốt là kiểm sốt lỗi Thay vì kiểm tra chẵn lẻ ngang dọc 8 bit đơn giản cho một khối , chúng ta lại dùng mã đa thức phức tạp hơn , trong khi mỗi khối được kết thúc bởi một mã CRC-16 bit thay vì BCC 8 bit

V.2.2.3 Hoạt động của giao thức

Như chúng ta đã thảo luận trước đây , máy tính chủ chịu trách nhiệm lập lịch cho tất cả các hoạt động truyền trên mỗi liên kết số liệu chia sẽ Bản tin điều khiển quét được dùng để yêu cầu một máy tính phụ thuộc nào đĩ gửi bất kì số liệu đang đợi nào mà nĩ cĩ; bản tin điểu khiển chọn được dùng để hỏi máy phụ thuộc

cĩ sẵn sàng nhận số liệu hay khơng

Hình V.7(a) trình bày một tuần tự quét và chọn tiêu biểu Một tuần tự của các frame trao đổi trên một đường dây đa nhánh được mơ tả trong hình V.7(b) và V.7(c) Phan (b) trình bày cả tuần tự thành cơng và khơng thành cơng liên quan đến hoạt động chọn (select), trong khi phần (c) mơ tả hai tuần tự liên quan đến hoạt động quét (poll)

Để chọn một trạm phụ thuộc nào đĩ , trạm chủ gửi một bản tin điều khiển chọn ENQ, trong đĩ địa chỉ của trạm phụ thuộc được đặt trước kí tự ENQ Giả sử trạm được chọn sẵn sàng nhận thơng điệp , nĩ sẽ phúc đáp bằng một ACK Sau

đĩ trạm chủ gửi thơng tin dưới dạng một khối dữ liệu đơn hoặc tuần tự nhiều khối dữ liệu trong đĩ khối sau cùng được kết thúc bằng một kí tự ETX Ngay khi khối

số liệu được nhậnvà lưu , trạm phụ thuộc sẽ tính tốn lại tuần tự kiểm tra và giả sử

Trang 11

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

khơng cĩ lỗi nào xảy ra , nĩ sẽ đáp ứng bằng một ACK cho mỗi khối Cuối cùng , sau khi ban tin đã được truyền hồn tất , trạm chủ gửi một bản tin điều khiển EOT „ nĩ cĩ vai trị kết thúc hoạt động chuyển thơng điệp và xĩa cầu nối luận lí

Trang 12

(a) () Thơng điệp(2) (3) Tớ X (b) DLP chi Tuan ty chon Hoặc :tớ khơng sẵn sàng Hoặc : tớ sẵn sàng Chuyển số liệu Kết thúc truyền Chọn nhánh Chuyển số liệu Select (Y) sequence { F——EoT— „| ACK TT Khối số liệu 0— „| kk— —AEK@Ƒ————] [—Khối số liệu |— „| l¿ —NAK@———] [Khối số liệu 2— „| «œ———^€K@}»—— '| [Khối số cuối (N) lôđ^K0T | 1 =>

Trang 13

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI (c) DLP chu Tuan ty quét Hoặc :khơng cĩ gi để truyền _ Hoặc : cĩ số liệu cần truyền Poll (X) sequence ĐỒ ÁN TỐT NGHIỆP DLP tớ (X) ACK(0—— zị Khối số liệu TH xaxxn [———ACK(I)—— >ị| F———ACK(0)—— „ị Chuyển số liệu Khối số liệ cudi (N) | —ACK(0/1 }>—>| Kết thúc truyền { ———EoT— — „| | Thời gian

Hình V.7 Các tuân tự frame của BSC (c) Quét

Trong vài trường hợp , khi chọn một trạm khơng nhất thiết phải đợi một

báo nhận cho thơng điệp ENQ, trước khi gửi một bản tin Ví dụ , nếu một trạm đã được chọn trước đĩ và câu nối luận lí chưa bị xĩa Trong trường hợp như vậy máy

chủ gửi bản tin ngay sau thơng điệp điểu khiển chọn , khơng cần phải đợi một

ACK (hay NAK) Điều này được gọi là tuân tự chọn nhanh (fast select sequence

)

Trong pha quét , trước hết trạm chủ gửi một thơng điệp điều khiển quét trong đĩ địa chỉ của trạm được quét ở trước kí tự ENQ Sau đĩ, giả sử trạm được

Trang 14

quét cĩ một bản tin đang đợi truyền , nĩ đáp ứng bằng cách gửi bản tin này Khi nhận khối dữ liệu , trạmchủ tính tốn lại tuần tự kiển tra , giả sử khơng cĩ lỗi nĩ sẽ gửi thơng báo chấp nhận (ACK) Cuối cùng khi đã hồn tất truyền bản tin và được báo nhận , cầu nối luận lí bị xĩa bằng thơng điệp điều khiển EOT

Hình V.7 mơ tả BSC là một giao thức idle RQ bởi sau khi gửi một khối dữ liệu , máy phát phải đợi một ACK hay NAK trước khi gửi khối kế tiếp , và nếu nhận được NAK thì phải truyền lại khối bị hỏng Việc dùng thơng điệp điểu khiển NAK đảm bảo rằng một khối dữ liệu bị hỏng sẽ được truyền lại khi nhận thơng

điệp NAK thay vì phải đợi sau thời gian timeout Như chúng ta đã để cập đến

chương IV , nếu khối dữ liệu truyền bị hỏng hồn tồn , một cơ cấu timeout được tăng cường nhằm đảm bảo cho sự truyền lại khối bị hỏng này Dùng danh định

(indentifier) hay chỉ số tuần tự (sequence number) giúp máy thu cĩ thể phát hiện

dễ dàng sự trùng khối dữ liệu

Lưu ý rằng trong BSC chỉ số tuần tự gửi tăng lên từng đơn vị tem module một giá trị thống nhất trước, trong khi chỉ số tuần tự thu trong ACK hay NAK chỉ gia tăng theo module-2 Kết quả là chỉsố tuần tự thu 0 liên hệ đến các frame được đánh số chẵn trong khi 1 liên hệ đến các frame được đánh số lẻ Vì chỉ cĩ thể cĩ

một frame trùng nên điểu này cũng đủ cho phép máy thu phát hiện việc trùng này

V.2.2.4 Giao ti€p user

Điều quan trọng là phải phân biệt sự khác nhau giữa các dịch vụ được cung

cấp bởi lớp liên kết và hoạt động chỉ tiết của thực thể giao thức lớp liên kết Để minh họa điều này , mối quan hệ giữa các dịch vụ user và các khối thơng điệp

khác (dữ liệu và điều khiển ) liên quan đến giao thức BSC được trình bày trên hình

V.8 Thơng điệp điểu khiển chọn ban đầu được báo nhận và điểu này tương đương như một xác nhận của trạm ở xa rằng sẵn sàng tiếp nhận dữ liệu Tuy nhiên , đối

với tuần tự quét (poll) , khơng cĩ ACK gửi lại trong việc đáp ứng cho thơng điệp quét ban đâu và vì vậy hàm thực thể xác nhận phải đươc gọi bởi thực thể giao thức cục bộ sau khi thơng điệp quét đã được truyền Một thử tục tương tự cũng được thực hiện khi xĩa liên kết

Cũng giống như giao thức kermit , BSC thực hiện một chức năng phân đoạn và tái thiết lập Do đĩ , khi nhận một L_DATA.request (với tham số là bản tin),

thực thể giao thức truyễn phân đoạn bản tin thành một tuần tự các khối dữ liệu để truyền Tương tự , thực thể thu tái thiết lập các khối thành một bản tin hồn chỉnh trước khi chuyển nĩ đến lớp user cao hơn bằng hàm thực thể L_DATA.indication

Vì BSC là giao thức bán song cơng hiệu quả , nên BSC khơng thể khai thác

chế độ thơng tin song cơng hồn tồn ngay cả khi được hỗ trợ bởi liên kết vật lí Tuy nhiên , vì nhu cầu bộ đệm của nĩ là tối thiểu nên BSC vẫn cịn được dùng

rộng rãi trong các mạng mà kích thước bộ đệm là một tiêu chí cần xem xét Tuy

vậy , trong những năm gần đây , đã cĩ xu thế tiếp cận các giao thức thiên hướng

bít hiệu quả và linh hoạt hơn Đĩ là trường hợp của các mạng máy tính , nơi yêu cầu cao vệ hoạt động trong suốt

V.2.2.5 Hiệu suất của giao thức

Chúng ta thảo luận về hiệu suất liên kết đạt được đốivới giao thức idle RQ trong chương IV Tuy nhiên , ở đây chúng ta lại tiếp tục với để tài này bởi mục

Trang 15

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT

tiêu chủ yếu trong việc sử dụng BSC là dùng cho các ứng dụng trong đĩ cĩ một

trạm chủ gửi và nhận đữ liệu từ nhiều trạm phụ thuộc Khi đĩ cịn cĩ một tham số

đánh giá hiệu suất khá quan trọng nữa là thời gian trung bình để quét hoặc chọn

tất cả các trạm phụ thuộc trên liên kết (a) chủ TớX Phần mềm user bisyne bisyne Phan mềm user L CONNECT.request | _ êp5dress X) ¬— Select (X) Sequence F =~ ~-~-~~4 | L_CONNECT indication ca (Select) L_CONNECT.request | | _ -~* a _ACK | L_DATA request

(khối thơng điệp) FF==——- Lo

, [Khối số liệu Om a [f Khối số tieu quốii #Fs== -_| „| ILLDATA¿indication > (khéi théng diép) la _ACK€Ð—] L_DISCONNECT request ¬ |———EOT—zL _ LL_DISCONNECT confinmn >> >> 4] L_DISCONNECT indication (b) 1 CONNECT.reqnest LẠ|

[TYT~~r==‡— Pou ex) ¬-

rddiessx) | | y sequence» ~ -_| | 1_CONNECT indication(Poll L_CONNECT confirm! = _ -1“ (khối thơng điệp) -DÀ'TA.reupesi - sg Khéi số ie ro ( XS XI—ACK(0)— xơ, „Ì Khối sấ _-=-zT liệu 1 L DATA.indication |4-Ƒ~ ‹ (khối thơng điệp) `~F—ACK(q)—> L_DISCONNECT request “TT ———>+L _ -~ 1,) SRO ie aces L_ DISCONNECT confirm L_DISCONNECT indication

Hình V.8 Tương tác lớp liên kết/user (a) Chọn (b) quét

Trong thực tế, vì idke RQ cĩ hiệu suất liên kết thập hơn continous RQ ,

nên giao thức idle RQ được dùng chủ yếu trong các liên kết đa nhánh (multidrop)

hoạt động với tốc độ đến 64Kbps (giả sử ) Trong các liên kết như vậy , thời gian

cần truyền một bản tin sẽ là khoảng thời gian nào vượt trội trong tuận tư quét hay

chọn Ví dụ , nếu một bắn tin trung bình là 1000 bit và tốc độ liên kết là 10Kbps, thì thời gian cần truyền một bản tin là 0,1s Ngược lại , thơng điệp điều khiển liên quan đến tuần tự quét hay chọn là ngắn (giả sử 30 bit), vì vậy thời gian cần truyền các thơng điệp này cũng ngắn (0,003s đối với I0kbps) Ngay cả tính luơn

khoảng thời gian 0,001s để xử lí các thơng điệp này thì tổng thời gian cho mỗi tuần

tự quét hay chọn (0,004s)cũng rất nhỏ so với thời gian truyền bản tin

Trang 16

Khi khơng cĩ bản tin nao can truyén , thời gian tối thiểu cân để quét tất cả các trạm phụ thuộc gấp N lần thời gian cân để quét một trạm , trong đĩ N là số

trạm phụ thuộc tham gia vào liên kết Khi cĩ bản tin chuẩn bị truyền , thời gian trung bình quét tất cả các trạm phụ thuộc tăng lên và tùy vào tốc độ trung bình mà

bản tin được phát ra Thời gian quét lớn nhất xảy ra khi tốc độ trung bình quét bản tin đạt đến tốc độ bit của liên kết, vì quá tốc độ này liên kết trở nên quá tải và thời gian trễ tang dan

Tổng quát thời gian trung bình để quét mỗi trạm thứ cấp cĩ thể tính theo

cơng thức:

Tay = Tmịn/(1<M: T¡y)

Trong đĩ , T„¡n là thời gian tối thiểu để quét tất cả các trạm thứ cấp (phụ

thuộc ) , M; là tốc độ trung bình phát bản tin và T¡, là thời gian cần thiết để truyễển

một bản tin cĩ kích thước trung bình Nếu M; là thấp so với T;x thì Tạ; xấp xỉ Twin} tuy nhién khi M, tang thi Tay, sé tang theo

V.2.3 Các giao thức song cơng hồn tồn

Cĩ một vào giao thức thiên hướng kí tự hoạt động trong chế độ truyền tin

song cơng hồn tồn (full-duplex) Để minh họa xét giao thức liên kết số liệu

trong mạng ARPANET để điều khiển luồng frame thơng tin xuyên qua các liên

kết nối các node chuyển mạch trong một mạng các node chuyển mạch như vậy cũng được gọi là các bộ xử lí thơng điệp giao tiếp IMP (Interface Message Processor) Giao thức này hoạt động thơng qua các liên kết song cơng điểm-nối-

điểm kết nối hai node chuyển mạch với nhau

Giao thức này giúp truyền các frame thơng tin theo cả hai hướng một cách

đồng thời và dùng lược đổ điều khiển truyền continuous RQ cho cả hai hướng Giao thức hoạt động hiệu quả với cửa sổ truyền K=§ cho các liên kết mặt đất hoặc

K=10 cho các liên kết vệ tỉnh Để đảm bảo một luồng frame liên tục , cho phép 8 (hay 10 đối với vệ tinh) luơng thơng tin dừng-và-chờ (stop and wait) riêng biệt tại

bất cứ thời điểm nào trong tiến trình

Để đạt được điều này , một liên kết vật lí được phép hoạt động như là § (hay 16) liên kết luận lý riêng biệt , luỗng frame đi qua mỗi liên kết được điều khiển bởi cơ cấu giao thức dừng-và-chờ của nĩ Chỉ số tuần tự truyền trong phần header của mỗi frame là hợp của hai field : một sốtú©n tự một bit_0 hay 1_ là chỉ số tuân tự truyền bình thường liên hệ với giao thức idle RQ, và chỉ số kênh luận lí LCN (logical Channel Number) chi số kênh luận lí ma frame được gắn vào nĩ

Tương tự như hầu hết các lược đồ song cơng hồn tồn, với thiên hướng bit

và thiên hướng kí tự , thơng tin báo nhận liên hệ với luồng frame thơng tin (I-frame ) chạy theo một hướng được chứa trong phần header của frame thơng tin chạy theo hướng ngược lại Do đĩ chỉ dùng một loại frame và các field khác nhau trong phần header của nĩ liên hệ với chưc1 năng đạt biệt Dạng frame tổng quát và các field

trong phần header liên quan đến giao thức liên kết số liệu được trình bày trên hình

V.9, cùng với hoạt động tổng quát của giao thức này

Để phục vụ luồng frame song cơng hồn tồn , các liên kết vật lí trong cả

hai chiều xuơi và ngược đều hổ trợ §(hay 16) liên kết luận lí Do đĩ , trong mỗi kênh luận lí , giao thức liên kết dữ liệu tại mỗi phía của liên kết đêu duy trì các

Trang 17

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

biến tuần tự truyền và nhận riêng biệt Biến tuần tự truyền _0 hay 1_là một chỉ số tuân tự truyền sẽ được gán vào frame mới kế tiếp để truyền lên kênh đường ra trong khi là chỉ số tuần tự của frame thơng tin kế tiếp mong nhận được trên kênh truyền lại Ngồi ra , nhằm đảm bảo mỗi kênh đường ra hoạt động trong chế độ

dừng-và-chờ , mỗi bên cũng cĩ một bit báo nhận hay rãnh rỗi (busy/idle bit) liên

hệ đến mỗi kênh, nĩ là dấu hiệu báo kênh bận hay khơng nghĩa là cĩ một báo

nhận vẫn cịn đang phát trên kênh này hay khơng

Bên trong mạng ARPANET, mỗi frame xem như một thực thể riêng biệt ,

nghĩa là các frame của cùng một bản tin được truyền nhận một cách độc lập nhau Khi tiếp nhận một frame được gửi tới , giao thức liên kết số liệu chỉ cần quét bit busy/idle liên hệ với mỗi kênh luận lí để xác nhận một kênh cĩ rãnh hay khong , và nếu rãnh sẽ chèn chỉ số tuần tự truyền thích hợp_0 hay I_ và chỉ số kênh luận lí

vào phân header của frame này , khởi động bộ định thời (timer) cho frame và bắt

đầu hoạt động truyền Nếu kênh khơng rãnh , frame được xếp vào hàng đợi nhập chờ kênh rãnh B SR Liên kết vật lí RSB IMP IMP 7 LÊN Nhoi DLF (ky tr) bits > 1 3 8 LCN= Logical Channel Number S = Send Sequence Variable B = busy/idle bit N(S)= Send Sequence Number (bit) N@ = Receive sequence Hinh V.9 Chi tiết về giao thức liên kết dữ liệu number (bit)

IMP-to-IMP cia ARPANET

Giao thức này dùng CRC 24 bit để phát hiện lỗi Sữa lỗi dùng một byte

báo nhận trong phần header của frame 8 bit này là nối tiếp 8 bit của chỉ số tuân tự

thu liên hệ với luỗng frame trong 8 kênh luận lí theo hướng ngược lại Khi tiếp

nhận một frame , giao thức liên kết số liệu đọc byte báo nhận cho tất các kênh tích

cực , và dịch ra bit tương ứng tùy theo giao thức idle RQ Bằng cách này sẽ thu

được thơng tin báo nhận liên quan đến tất cả các kênh mỗi khi nhận được một frame mới Điều này cĩ hiệu quả tương tự như khi dùng một cửa sổ truyền K=8 (hay 16) cho liên kết Nĩ cũng mang ý nghĩa như sử dụng lược đồ báo nhận ngần dinh (imlicit acknowledgment) , chi c6 ACK

Trang 18

Tĩm lại , mặc dù nhiều giao thức thiên hướng kí tự vẫn cịn được sử dụng rộng rãi , nhưng với sự xuất hiện các vi mạch tích hợp rẽ tiễn đã tạo điều kiện hiện

thực nhiều giao thức thiên hướng bit hiệu quả hơn , cĩ nghĩa là tất cả các giao thức mới và nhiều giao thức hiện cĩ thuộc loại thiên hướng bit

V.2.4 Ví dụ về các giao thức thiên hướng kí tự thường gặp

V.2.4.1 Giao thức XMODEM

Năm 1977 một nhà thảo chương Ward Chrisensen đã đưa ra một giao thức truyền nhận tập tin gọi là XMODEM, đây là một giao thức đơn giản dùng thủ tục

1dle RQ (stop-and-wạt) cùng với kiểu gĩi dữ liệu cĩ độ dài cố định Giao thức

XMODEM được sử dụng rất rộng rãi và trở thành một trong những giao thức

truyền nhận tập tin chuẩn mà tất cả các chương trình truyền số liệu phải cĩ Gĩi dữ liệu XMODEM

Trong giao thức XMODEM tất cả các field ngọai trừ field thong tin , đều cĩ

độ dài là một byte như sau:

|SOH_ Chỉ số thứ tự | Bù 1 của số thứ tự | Thơng tin Kiểm tra

+ Chỉ số thứ tự của gĩi truyền đầu tiên là 1 và các số tiếp theo được tăng dần , module với 256 Ngồi ra các field để chứa giá trị bù I của số thứ tự gĩi

hiện hành trong field số thứ tự trước đĩ

+ Vùng thơng tin cĩ độ dài cố định là 128 bytes , thơng tin cĩ thể ở dạng text hay nhị phân

+ Vùng kiểm tra là một byte , dùng phương pháp kiểm tra kiểu tổng BSC và chỉ tính theo nội dung của vùng thơng tin

Sau này giao thức XMODEM-CRC sử dụng field kiểm tra cĩ độ dài 2 byte

và dùng phương pháp kiểm tra CRC với đa thức sinh CCITT là :X'' + X'? +X°41

Truyền tập tin bằng giao thức XMODEM

Hình V.10 là lưu đồ mơ tả quá trình truyén mdi tập tin của giao thức

XMODEM Quá trình này cĩ thể chia ra làm 3 giai đoạn : () Giai đoạn khởi động

Như mọi giao thức khác , để khởi động việc truyển phải cĩ sự hợp đồng

giữa máy phát và máy thu Máy phát chờ tín hiệu ĐNAK từ máy thu Khi cĩ một tín

hiệu NAK đầu tiên thì máy phát sẽ bắt đầu thực hiện việc truyền gĩi đâu tiên (1đ) Giai đoạn giữa

Máy phát chia tập tin thành từng khối 128 bytes để truyền đi và chờ tin hiệu báo nhận của máy thu đối với tứng gĩi sau khi truyển Nếu nhận được tín hiệu ACK máy phát sẽ phát gĩi kế tiếp Nếu nhận được tín hiệu NAK máy phát sẽ truyền lại gĩi trước đĩ Nếu nhận được tín hiệu CAN thì máy phát sẽ kết thúc truyền khơng điều kiện

(ii) — Giai đoạn kết thúc

Nếu giai đoạn giữa diễn ra bình thường thì máy phát sẽ truyền thơng điệp EOT (End Of Transmission) để báo cho máy thu biết khơng cịn truyền tập tin nào nữa Lúc này máy thu sẽ đáp lại bằng tín hiệu ACK để cho biết đã nhân được EOT

Trang 19

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

Sau đĩ là cơng việc kết thúc việc truyền tập tin như đĩng tập tin, giải phĩng vùng

nhớ chứa tập tin

Nếu giai đoạn giữa kết thúc khơng bình thường , do cĩ tín hiêu CAN từ máy thu chẳng hạn thì máy phát kết thúc truyền tập tin mà khơng sửi tín hiệu

EOT

Trang 20

Truyền NAK N Chờ nhận NAK Nhận và tạo gĩi dữ liệu yến K Truyền EOT Kiểm tra gĩi Truyền ACK Ngừng nhận Hinh V.10 & V.11 Lưu đổ truyền & nhận tập tin của giao thức XMODEM CKết thúc)

Nhận tập tin bằng giao thức XMODEM

Trong quá trình nhận tập tin , ngồi việc nhận các gĩi dữ liệu cịn phải kiểm tra các field chứa thơng tin dịch vụ truyền để đảm bảo gĩi vừa nhận được là đúng số thứ tự cân và khơng bị sai Do đĩ quá trình nhận sẽ phức tạp hơn quá trình truyền

.Lưu đồ nhận được mơ tả trong hình V.I1

Quá trình nhận tập tin của được xúc tiến qua 3 giai đoạn : (i) Giai đoạn khởi động

Sau khi thực hiện các cơng việc chuẩn bị như cấp phát vùnh nhớ để chứa tạm (đệm ) các gĩi nhận , mở các tập tin , đặt tên tập tin , chỉ đường dẫn .để sẵn sàng nhận các gĩi dữ liệu

Trang 21

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

(ii) Giai đoạn giữa

Máy thu sẽ chuyển vào một vịng lặp trong đĩ thực hiện các thao tác như

chờ một gĩi dữ liệu đến và truyền tín hiệu NAK nếu khơng cĩ gĩi dữ liệu đến

trong vịng 10 giây

Khi nhận một byte đến thì máy thu biết là cĩ một gĩi dữ liệu đến , và nĩ sẽ

thực hiện các thao tác sau :

+ Nếu byte nhận được khơng phải là SOH mà là EOT thì sẽ kết thúc giai

đoạn giữa

+ Nếu byte nhận được là CAN sẽ kết thúc nhân khơng điều kiện

+ Máy thu kiểm tra gĩi đến Nĩ phải biết chắc là vùng thứ 2 và thử trong

gĩi khơn sai lệch , bằng cách lấy bù 1 cửa giá trị ở một vùng nào đĩ (thứ 2 hoặc

thứ 3) rồi EXOR với giá trị của vùng kia Kết quả phải là 0, nếu khác 0 thì máy

thu sẽ truyền tín hiệu NAK về cho máy phát

+ Kế đến máy thu kiểm tra số thứ tự của gĩi đến cĩ phải là gĩi đang muốn nhận Nếu khơng phải thì cĩ nghĩa là cĩ một sự cố sai sĩt xảy ra Vì máy thu khơng thể biết sự cố này , nên khơng thể khắc phục nên truyền lại tín hiệu CAN để yêu cầu máy phát kết thúc việc truyển Chỉ cĩ trường hợp số thứ tự của gĩi đến trùng với số thứ tự của gĩi trước đĩ thì nĩ giả thiết là máy phát khơng nhận được ACK của gĩi này Lúc này máy thu loại bổ gĩi mới đến và truyền một tín hiệu ACK khác và quay lại chờ gĩi kế tiếp đến

+ Cuối cùng máy thu sẽ tính vùng theo phương pháp tổng kiểm tra hoặc CRC để so sánh với giá trị trong vùng kiểm tra của gĩi vừa nhận Nếu hai giá trị trùng nhau thì xem như khơng cĩ lỗi và máy thu sẽ truyền tín hiéu ACK ,

ngược lại sẽ truyền tín hiệu NAK (iii) — Giai đoạn kết thúc

Nếu quá trình nhận kết thúc bình thường thì máy phát sẽ truyền cho máy thu thơng

điệp EOT, máy thu sẽ đáp ứng lại bằng một ACK và tiến hành các cơng việc sau

cùng như đĩng các tập tin, giải phĩng vùng nhớ

Đối với giao thức XMODEM-CRC các quá trình truyền và nhận cũng tương tự XMODEM, chỉ khác ở giai đoạn khởi động , máy thu sẽ khơng truyền tín hiệu

NAK mà truyền kí tự 'C' và máy phát cũng chờ nhận kí tự 'C' để khởi động Cịn

sau đĩ vẫn dùng tín hiệu ACK và NAK để đồng bộ quá trình truyển nhận các gĩi

V.2.4.2 Giao thức YMODEM

Giao thức YMODEM là sự mở rộng của giao thức XMODEM, được đưa ra đầu tiên vào năm 1981 để chạy trên hệ điểu hành CP/M

YMODEM cĩ hai điểm cải tiến so với XMODEM là nĩ cho phép truyền

nhận các khối dữ liệu cĩ độ dài 1024 bytes (gấp 10 lần khối dữ liệu cảu

XMODEM) Nếu đường truyền khơng tốt , YMODEM tự động giảm độ dài khối

128 bytes để giảm bớt số byte phải truyén lai khi phat hiện sai Như vậy trong

trường hợp xấu nhất thì độ dài khối và chẩt lường truyền sẽ bằng giao thức

XMODEM Bên cạnh đĩ , YMODEM cịn cĩ một cải tiến nhằm giảm khả năng

hư hỏng khi kết thúc truyền tập tin Như đã biết XMODEM sẽ hủy bỏ việc truyển nhận một tập tin ngay sau nhận được mẫu bit củakí tự Ctrl-X (kí tự ASCH là CAN)

Trang 22

mẫu bit này rất dễ tạo ra bởi nhiễu trên đường truyền Trong khi YMODEM yêu cầu phải cĩ hai kí tự CAN liên tiếp nhau mới hủy bỏ việc truyền nhận tập tin

'YMODEM cịn cung cấp hai tính năng cĩ ý nghĩa cho người sử dụng , đĩ là việc sử dụng phương pháp phát hiện và kiểm tra sai CRC và truyền các thơng tin

liên quan đến tập tin truyển cho máy thu Các thơng tin này , gồm cĩ tên tập tin,

ngày , giờ và kích hoạt tập tin được truyền , các thơng tin này ở trong khối đâu tiên

khi bắt đầu việc truyền

Ưu điểm sau cùng của YMODEM so với XMODEM là tính năng truyền

nhĩm tập tin Cĩ thể dùng đường dẫn và kí tự đại diện để chọn một nhĩm các tập tin truyền cho các máy tính chạy hệ điều hành PC-DOS,MS-DOS ,CP/M,UNIX hoặc XENIX Cĩ thể dùng kĩ thuật này cho việc lưu trữ dự phịng các tập tin (backup) nếu máy tính đầu xa cĩ đủ dung lượng đĩa

Nhưng YMODEM cũng cĩ một số hạn chế so với XMODEM , YMODEM

chỉ truyền kí tự § bit YMODEM cũng dùg thử tục idle RQ truyền và chờ , sau mỗi

gĩi được truyền đi máy phát sẽ chờ tín hiệu báo nhận tốt (positive acknowledment) Vì thế cả YMODEM và XMODEM đều phải thêm tời gian đán kể do việc chờ tín hiệu chấp nhận của máy thu đối với tứng gĩi truyển Tuy nhiên , nhược điểm này khơng quan trọng khi truyền theo phương thức truyền nhận tập tin qua hệ thống thơng tin vệ tỉnh hoặc các mạng số liệu cơng cộng Nhược điểm này sẽ được khắc

phục ở giao thức kermit

V.2.4.3 Giao thức kermit

Giao thức kermit xuất phát từ đại học Columbia vào năm 1981 Giao thức kermit khơng chỉ cho phép thực hiện truyền và nhận tập tin giữa các máy tính nhỏ như giao thức XMODEM mà cịn cho phép truyền và nhận tập tin giữa các hệ thống máy tính lớn như DECSYSTEM-20 và IBM-370 Do đĩ giao thức kermit rất phức tạp , kermit cũng sử dụng thủ tục ¡idle RQ (dừng vàchờ ) nhu XMODEM , nhưng cĩ một số điểm khác biệt quan trọng so với XMODEM như sau :

+ Kermit cho phép truyển và nhận nhiều tập tin cùng lúc

+ Kermit yêu cầu đối với kênh truyền rất tối thiểu , như kênh chỉ cĩ thể truyền mọi kí tự ASCII, kí tự điều khiển SOH

+ Gĩi dữ liệu của kermit cĩ chiều dài thay đổi được

+ Các tín hiệu trả lời của máy thu phải là những gĩi (trong khi XMODEM

chỉ dùng các kí tự ) Kermit cũng cĩ thể dùng thử tục continuous RQ nhờ trong gĩi ACK và NAK cĩ vùng (field ) chứa chỉ số thứ tự truyển hay nhận của gĩi

+ Kermit cĩ các gĩi “đưa tin 'nhờ đĩ cĩ thể mở rộng các chức năng của giao thức mà khơng ảnh hưởng đến hoạt động của các phiên bản trước , và cĩ thể bỏ qua một số thơng số quan trọng

Gĩi kermit tổng quát

MARK |LEN |SEQ |TYPE |DATA |CHK1 | CHK2 | CHK3

Gĩi của kermit bao gồm 6 vùng (field) : ving thong tin (data ) cĩ độ dài thay đổi tùy theo kiểu gĩi , các vùng cịn lại gọi là vùng điều khiển (hoặc là vùng phục vụ ) Kermit qui định dữ liệu truyền đều là các kí tự mã ASCII in được (20H-7EH)

ngoại trừ vùng đánh dấu (MARK), như vậy đối các vùng chứa giá trị số như vùng

Trang 23

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

chỉ số thứ tự thì phải được chuyển đổi sang mã in được (printable character) trước

khi truyền bằng cách cộng thêm 20H Sua khi nhận sẽ được chuyển trở lại bằng

cách trừ bớt 20H Nhu vay , giá trị số của các vùng này khơng được lớn hơn

94(5EH), vì nếu nĩ bằng 5FH thì sau khi đổi sẽ trở thành 7FH là kí tự điều khiển

DEL chứ khơng phải là kí tự điều khiển in được , cịn nếu lớn hơn nữa thì sau khi đổi sẽ khơng cịn ở trong phạm vi của bảng mã ASCII

Điều này khơng thể áp dụng ở vùng thơng tin vi byte dữ liệu cần truyền cĩ thể cĩ giá trị bất kì Nếu cĩ các kí tự điểu khiển trong thơng tin, thì kermit sẽ chuyển đổi bằng cách :

+ Chèn thêm I kí tự ¡in được ở phía trước (thường dùng kí tự #, mã ASCH là 23H)

+ EXOR kí tự điều khiển với 40H

Ví dụ truyền 2 hàng chữ soạn bằng Wordstar sau : Mary a little chuỗi giá trị cần truyền là: 4D 6l 72 79 0A 0D M a T y LF CR 61 20 13 6C 69 74 74 6C 65 13 a SP DC3 I1 i t t 1 e DC3

(chương trình Woedstar dùng kí tự DC3 để đánh dấu gạch dưới little)

Kermit sẽ chuyển đổi các kí tự điều khiển trước khi truyền

LF: OAH -> #J 23H 4AH CR: ODH -> #M = :23H 4DH DC3 13h -> #S 23H 53H

Như vậy chuỗi giá trị truyền sẽ là :

Mary #J#MaSP#S little #S

Đối với các hệ thống sử dụng kí tự dài 8 bit, thì những kí tự cĩ ý nghĩa lớn

nhất (MSB bit) bằng 1 sẽ được kermit đổi sang mã ASCII in được bằng cách thêm vào trước một kí tự (&)

Y' nghĩa của các vùng trong gĩi được mơ tả như sau:

+ Vùng đánh dấu (MARK): để đánh dấu bắt đầu của gĩi là kí tự SOH mã 01H

+ Vùng độ dài (LEN) : số byte trong gĩi tính từ byte này (tức là độ

đài của gĩi trừ 2 ), giá trị tối đa là 94 như vậy độ dài tối đa của một gĩi là 96

bytes

+ Vùng số thứ tự (SEQ): số thứ tự của gĩi , module với 64 Gĩi truyền đâu tiên (gĩi S ) sẽ cĩ số thứ tự là 0, số thứ tự của gĩi kế tiếp sau gĩi cĩ số thứ tự 63 sẽ trở lại là 0

+ Vùng kiểu gĩi (TYPE) : để phân biệt các kiểu gĩi khác nhau

Mỗi kiểu gĩi sẽ cĩ nội dung và nhiệm vụ khác nhau

+ Vùng thơng tin (DATA) : nội dung của tập tin cần truyền được

chứa trong gĩi “D” cịn trong gĩi “F” chứa tên tập tin Trong một số kiểu gĩi khác , vùng này khơng chứa gì

Trang 24

+ Vùng kiểm tra (CHECK): cĩ thể chọn vùng một byte tổng kiểm tra hoặc hai

byte tong kiểm tra , hoặc 3 byte CRC Giá trị kiểm tra được tính từ vùng cĩ độ dài

(khơng tính vùng đánh dấu ) Vì các byte này cũng phải được đổi ra kí tự in được „ nhưng chúng lại cĩ giá trị bất kì khơng thể giới hạn ở giá trị nhỏ hơn 5EH nên trước khi đổi thì 2 bit 6 và 7 sẽ được trích ra cộng vào 6 bit thấp cịn lại Nhờ đĩ ở

đầu thu cĩ thể lấy lại được hai giá trị này , cịn ở đầu phát sau khi biến đổi ta sẽ cĩ

2 bit 6 và 7 đều là 0

Cĩ thể áp dụng cơng thức sau để biến đổi một byte kiển tra x trước khi chuyển

sang mã kí tự in được :

(x + (x AND COH)/40H) AND 3FH Các kiểu gĩi của kermit

Trong giao thức kermit một gĩi rỗng (empty packet) được định nghĩa là một gĩi mà trong vùng thơng tin khơng cĩ kí tự nào và gĩi trắng (blank packet) là một

gĩi khơng rỗng với vùng thơng tin chứa một hoặc nhiều kí tự khoảng trắng SP

Một số kiểu gĩi của kermit cĩ chứa thơng tin như gĩi *D' ngược lại một số

kiểu luơn luơn rỗng như gĩi ‘Z’ Con lại một số kiểu cĩ thể rỗng ở trong một khoảng thời gian nhất định như gĩi ACK Phần sau sẽ mơ tả chỉ tiết hơn các kiểu gĩi khác nhau của kermit

Gĩi “S”

Đây là một kiểu gĩi lí thú nhất Chức năng của nĩ là thơng báo cho máy

đối phương (máy nhận gĩi này) biết một số tham số truyền quan trọng Vùng số

thứ tự cửa gĩi này luơn là 0 và vùng thơng tin của nĩ sẽ gồm các thành phần sau :

| MA |TIM | NP |PAD |EO |QCT | QBI CHK | REP |CAPA | DÀNH XL |E AD ỊC L L N T T S RIÊNG + MAXL: Cho biết kích thước gĩi tối đa mà máy cĩ thể nhận Mặc định là none

+ TIME: Số giây tối đa mà máy đối phương phải chờ một gĩi trước khi kết thúc thời gian chờ (timeout) Dùng để phố I hợp các hệ thống tốc độ

chậm Mặc nhiên là none

+ NPAD: Số kí tự đĩng gĩi (pad) mà máy đối phương phải truyền trước mỗi gĩi Được dùng cho cáchệ thống bán song cơng khi chuyển từ phát sang thu hoặc ngược lại Mặc định là NUL_ Vùng này khơng cần nếu NPAD là 0

+ EOL : Cho biết kí tự mà máy cần dùng để kết thúc một gĩi

Máy chỉ nhận một gĩi khi cĩ kí tự này theo sau Mặc định là CR Cần lưu ý kí tự

này khơng phải thuộc về gĩi truyền mà chỉ được truyền kế tiếp sau gĩi này + QCTL : Ký tự mà máy phát dùng để chèn vào khi chuyển đổi các kí tự điều khiển ra mã ASCII in dude Mac dinh 1a #

Các thành phần cịn lại cĩ thể cĩ hoặc khơng

Trang 25

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

=l ->tổng kiểm tra bằng | byte =2 -> tổng kiểm tra bằng 2 byte =3 ->CRC

Mặc định là 1

+ REPT : Ký tự mà máy phát dùng để chèn vào khi nén các kí tự liên

tiếp giống nhau trong chuỗi dữ liệu truyền Cũng chỉ dùng kí tự trong

khoảng 21H-3FH hoặc 60H-7EH Nếu là SP thì cho biết là khơng thực hiện việc nén

+ CAPAS : Đây là một vùng mở rộng khơng giới hạn Cĩ thể cĩ

nhiểu byte kế tiếp nhau hoặc chỉ cĩ một byte Bit 0 của byte sẽ cho biết ở

sau nĩ cịn cĩ byte tiếp theo khơn ø

Bit 0= 0 -> khơng cĩ byte tiếp theo

Bit0= 1 -> cịn cĩ byte di sau

Như vậy trong một byte chỉ cịn 6 bit cĩ ý nghĩa Vào những năm 1986 thì bit 5 và 4 cịn dành riêng Bit 3 dùng để ấn định thuộc tỉnh của gĩi , bit

2 dùng để cài đặt việc sử dung continuous RQ thay cho idle RQ Bit 1 dé

cài đặt việc sử dụng gĩi cĩ kích thước lớn hơn 94 bytes

Gĩi “Y”

Cịn gọi là gĩi ACK Được truyền đi khi máy thu đã chấp nhận một gĩi

Gĩi này cũng gồm đây đủ các vùng SEQ, LEN và CHECK Vùng thơng tin

của gĩi này thường là rỗng , nhưng trong trường hợp trả lời cho gĩi °S' thì vùng thơng tin sẽ chứa các thơng số khởi tạo của máy thu với định dạng giống như vùng thơng tin của gĩi *S`

Gĩi “F”

Chứa tên của tập tin truyển Để trách trường hợp cĩ các kí tự đặt biệt

mà hệ thống ở nơi nhận cĩ thể hiểu lầm khi tên tập tin giới hạn chỉ là các kí số và các kí tự chữ hoa (30H-39H,41H-5AH) Mặc dù gĩi cĩ độ dài

khơng hạn chế nhưng vùng thơng tin của gĩi này chỉ chứa tên tập tin chứ

khơng cĩ đường dẫn

Trong gĩi *Y' mà máy thu dùng để thơng báo chập nhận cũng cĩ thể cĩ tên tập tin mà máy thu dùng để lưu trữ tập tin truyền

Gĩi “”N”

Khi máy thu khơng chấp nhận gĩi vừa thu được thì nĩ sẽ gửi cho máy phát gĩi này Gĩi này cũng cĩ đầy đủ các vùng SEQ , LEN và CHECK Vùng thơng tin của gĩi luơn rỗng

Gĩi ‘D’

Là gĩi chứa thơng tin đữ liệu của tập tin truyén va dif liệu trong vùng thơng tin tất nhiên cũng phải là mã ASCH in được

Gĩi “Z° và “B"

Gĩi *Z° cịn gọi là gĩi EOF được máy phát truyền di sau khi nĩ đã

truyền xong một tập tin

Gĩi *B' cịn gọi là gĩi EOT được máy phát truyền đi khi tất cả các tập

tin đã được truyền Trong cả hia trường hợp máy thu đều trả lời bằng gĩi

VY,

Trang 26

Gĩi ‘E’

Được dùng để máy phát hoặc máy thu truyền thơng báo khi phát hiện một sai sĩt, gĩi này khơng chỉ ra hoặc chú ý về lỗi sai

G6i ‘A’

Chỉ được dùng khi cĩ cài đặt trong vùng mở rộng (CAPAS) của gĩi ‘S’ Gĩi này được dùng để cho biết các thuộc tính của tập tin truyền khi kích

thước (theo kbyte), nội dung (text , nhị phân , hình ảnh , )ngày , giờ , đường dẫn , thơng tin về độ an tồn và khả năng truy xuất (password, mức bảo vệ

„ )tập tin được tạo ra trên máy tính nào hoặc trên hệ điều hành nào , kiểu mã hố (ASCII,EBCIC, )

Truyền và nhận tập tin bằng giao thức kermit

Kermit là một giao thức cho phép truyền và nhận tập tin giữa các máy tính với nhau , với tốc độ cao , truyền trong một khoảng cách xa và đặt biệt là cho phép truyền cả một nhĩm các tập tin (người sử dụng cĩ thể dùng những dấu hiệu đại

diện để yêu cầu truyền nhiều tập tin mà khơng phải dừng sau mỗi tập tin) Kermit cĩ thể truyền cả tập tin văn bản (texÐ) và nhị phân , nhưng mọi dữ liệu đều

được đổi ra dạng văn bản trước khi truyền Ngồi ra nĩ cĩ thể truyền cả những kí tự dữ liệu § bit như mã ASCII mở rộng , hoặc các kí tự đơ hoạ bằng cách chuyển

sang các kí tự 7 bit trước khi truyền

Với việc trao đổi các gĩi khởi tạo *S” giữa hai máy khi bắt đâu quá trình truyền nhận , kermit cho phép hai máy so sánh các gĩi này và chọn lựa những

thơng số mà cả hai máy đều cĩ thể thay đổi sao cho việc truyền tin được tối ưu Lưu đồ hình V.12 mơ tả một cách đơn giản quá trình truyền một hoặc nhiều

tập tin theo giao thức kermit

Khả năng truyền một nhĩm tập tin cùng lúc của kermit giúp tiết kiệm được thời gian truyển và cĩ thể khởi tạo cùng các tham số truyền cho nhiều tập tin Ngồi ra nĩ cịn giảm bớt một số gĩi truyền khơng cần thiế t

Trang 27

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP Truyền gĩi khởi động Nhận gĩi xác nhận khởi động từ may thu Truyền gĩi đầu của tập tin 1 Truyền số liệu Truyền gĩi EOT Hình V.12 Lưu đồ tĩm tắt quá trình truyền của kermit

V.3 Các giao thức thiên hướng bit

Tất cả các giao thức liên kết số liệu mới đều là các giao thức thiên hướng

bit Các giao thức thiên hướng bit dùng các mẫu bit đã được định nghĩa thay cho

các kí tự điều khiển truyền để đánh dấu mở đầu và kết thúc một frame Máy thu duyệt luồng bit theo từng bit một để tìm mẫu bit đầu vàcuối frame Ba phương

pháp báo hiệu bắt đầu và kết thức một frame được gọi là phân định ranh giới frame (frame delimiting) được trình bày trên hình II.13 , gồm cĩ:

+ Mẫu bit duy nhất (khơng trùng với mẫu nào ) bắt đầu và kết thúc một

frame , được gọi là cờ (01111110) , kết hợp với kĩ thuât( nhơi các bit 0

+ Một mẫu bit duy nhất đánh dấu đầu frame , được gọi là ranh giới đầu

frame (10101011), và một byte chi chiéu dài (đơn vị là byte) trong phan header của frame

+ Mẫu xác định ranh giới đầu và cuối frame duy nhất gồm các bit được

tạo ra do cưỡng bức mã hố

Phương pháp đâu tiên được dùng với giao thức điểu khiển liên kết số liệu

mức cao (HDLC) , hai phương pháp cịn lại dùng cho giao thức điều khiển liênkết

Trang 28

luận lí (LLC) Trong thực tế, hầu hết các giao thức thiên hướng bit đều là dẫn xuất từ giao thức HDLC

V.3.1 Giao thức điều khiển liên kết số liệu mức cao HDLC (High Level Data Link

Control)

Giao thức HDLC là một giao thức chuẩn hố quốc tế và đã được đỉnh nghĩa

bởi ISO để dùng cho cả liên kết điểm-nối-điểm và đa điểm Nĩ hổ trợ hoạt động

ở chế độ trong suốt , song cơng hồn tồn và ngày nay được dùng một cách rộng rãi trong các mạng đa điểm và trong các mạng máy tính Mặc dù từ viết tắt

HDLC khá phổ biến , nhưng cịn cĩ nhiều tên khác nhau như : SDLC(Synchronous Data Link Control ) của IBM, đây là tién than cia HDLC , va ADCCP (Advanced

Data Communications Control Procedure) là tên được dùng bởi tổ chức ANSI

(American National Standards Institute)

Bởi HDLC đã được định nghĩa như là một giao thức điều khiển liên kết số

liệu tổng quát , nên chúng ta cĩ thể dùng nĩ trong một số cấu hình mạng khác nhau , như trình bày trên hình V.13 Trong HDLC, các frame được gửi từ trạm sơ

cấp đến trạm thứ cấp được gọi như là các lệnh (command) và các frame được gửi từ thứ cấp đến sơ cấp được gọi là các đáp ứng (response) Hai cấu hình được

trình bày trong phần (a) và (b) chỉ cĩ một trạm sơ cấp được gọi là cấu hình khơng

cân bằng, trong khi đĩ phân (c) cĩ hai trạm sơ cấp được gọi là cấu hình cân bằng Trong cấn hình cân bằng , vì mỗi trạm đêu cĩ phần sơ cấp và cả thứ cấp , nên

chúng được gọi là các trạm kết hợp

Trang 29

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP (a) Lénh ¿ ——*® ¿ Sơ cấp ~ > Thứ cấp -~—— Đáp ứng b ®) lệnh „ —> Sơ cấp t Dap ting { Dap ting y v Thứ cấp F——- Thứ cấp (c) lệnh ê Đáp ứng 1 ining Sơ cấp + thứ cấp _ | Sơ cấp + thứ cấp 6 Đáp ứng ~— lệnh

Hình V.13 Cấu hình mạng dùng HDLC : (a) Diểm-nối-điểm với một sơ

cấp và một thứ cấp (b) Đa điểm với một sơ cấp và nhiều thứ cấp ,(c)

Diểm-nối-điểm với hai sơ cấp và hai thứ cấp HDLC cĩ 3 chế độ hoạt động :

1) Chế độ đáp ứng thơng thường NRM (Normal Response Mode) :

Chế độ này được dùng trong cấu hình khơng cân bằng Trong chế dộ naỳ , trạm thứ cấp chỉ cĩ thể truyền khi nhận được chỉ thị đặt biệt của trạm sơ cấp Liên kết này cĩ thể là điểm-nối-

điểm hay đa điểm Trường hợp đa điểm chỉ cho phép một trạm

sd cap

2) Chế độ đáp ứng bất đồng bộ ARM (Asynchronous Response Mode) : Chế độ này cũng được dùng trong cấu hình khơng cân bằng Nĩ cho phép một trạm thứ cấp xúc tiến một hoạt động truyền mà khơng cần sự cho phép từ trạm sơ cấp Chế độ này thường được dùng trong các cấu hình điểm-nối-điểm và các liên kết song cơng và cho phép thứ cấp truyền các frame một cách bất đồng bộ với sơ cấp

3) Chế độ cân bằng bất đơng bộ ABM (Asynchronous Balance Mode) : Chế độ này được dùng chủ yếu trên các liên kết song cơng điểm-nối-điểm cho ứng dụng truyền số liệu máy tính- đến-máy tính và cho các kết nối giữa máy tính và mạng số

liệu cơngcộng (PSTN) Trong chế độ này , mỗi trạm cĩ một

Trang 30

trạng thái như nhau và thực hiện cả hai chức năng sơ cấp và thứ

cấp Nĩ là chế độ được dùng trong giao thức nổi tiếng X.25

V.3.1.1 Các khuơn dạng frame

Start-of-frame Tà Frame Frame of

a delimiter imiter Frame header , Information field | check | frame See ae oe <— Shigng Flag |Address | Control Infomation FCS Flag bit * Hướng truyền h cổ, Điều khiển 1 2 3.4 5 6 6 7 8 Information = N(S)= chỉ số trân tự gửi N(R) = chỉ dố tuần tự thu PYF = birt quét/két Supervisory = et not ready = RnR Reject-REJ Select reject = SREJ an cS \ tị + ta § 4 8 6 7 8 Ummbeed= [11M [ee] MT Unnumbered commands

Set Asynchnous Response Mode(SARM) Set Asynchronous Response Mode

Extended (SARME) Set Normal Response Mode(SNRM)

Trang 31

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP Điều khiển Z ¬ 1 2 3 4 56 7 8 9 10111213141516 Information = 0 N(S) |P/F N(R) 123 45 6 7 8 9 10 11 12 13 14 1516 Supervisory = 1/0 S IP/F N(R) 123 45 67 8 9 10 11 12 13 14 1516 Unnumberred = I|I| M |PF M IP/F

Hinh V.14 Dang frame HDLC ,(c) Ý nghĩa của

các bit trong vùng điều khiển mở rộng

Trong HDLC cả số liệu và thơng tin điều khiển đều được tải trong cùng

một frame chuẩn Dạng frame này được trình bày tên hình V.14 cùng với các kiểu frame khác nhau được xác định trong vùng điều khiển của phần header Cĩ 3 nhĩm frame được dùng trong HDLC :

1) Các frame khơng đánh số :Các frame này được dùng cho các chức

năng như thiết lập liên kết và xố liên kết Tên được gọi là khơng đành số vì chúng khơng chứa bất kì thơng tin báo nhận nào , nên cũng khơng cĩ chỉ số tuần tự

2)_ Các frame thơng tin : Các frame này mang các thơng tin thực hay số liệu và thường được xem như là các I-frame Các I-frame cũng cĩ thể

được dùng để tải thơng tin báo nhận liên hệ đến luồng I-frame theo

hướng ngược lại khi liên kết đang hoạt động ở chế độ ABM hay ARM 3)_ Các frame quản lí : Các frame này được dùng để kiểm sốt lỗi và điều

khiển luồng , do đĩ chứa các số tuần tự truyền và nhận

Việc dùng các cờ như là dấu hiệu chỉ đầu và cuối frame , cùng với việc chèn và xố các bit 0 nhằm đạt được sự trong suốt dữ liệu

Tuần tự kiểm tra frame FCS (Frame Check Sequence) là một mã CRC 16

bit cho tồn bộ phần nội dung của frame được đĩng bởi hai cờ Đa thức sinh được dùng với HDLC thuonf2 1a CRC-CCITT

x4 XP 4 XO HI

Trang 32

FCS được tạo rabởi thủ tục được trình bày trong chương III và được tăng cường bời thủ tục khác nhằm làm cho sự kiểm tra tỉnh vi hơn Ví dụ như thêm 6

bit 1 vào đuơi của số bị chia trước khi chia (thay vì bit 0) và đảo ngược số dư

Điều này cĩ tác dụng là làm cho số dư được tính lại bởi máy thu khơng phải tất cả

đều là 0 mà là một mẫu bit đặt biệt_0001 1101 0000 1111

Nội dung của vùng địa chỉ phụ thuộc vào chế độ hoạt động Trong NRM,

ví dụ trên đường dây đa nhánh , mỗi trạm thứ cấp đều được gán một địa chỉ duy nhất Bất cứ khi nào trạm sơ cấp thơng tin với một trạm thứ cấp , thì vùng địa chỉ

này chứa địa chỉ của trạm thứ cấp Cĩ thể cĩ địa chỉ được xem như là địa chỉ nhĩm và được gán cho một nhĩm các trạm thứ cấp Tất cả các frame được truyền với địachỉ nhĩm kèm theo sẽ được tất cả các trạm thứ cấp trong nhĩm đĩ nhận

Tương tự , một địa chỉ broadcast (quảng bá ) cĩ thể được dùng để truyền cho tất cả các trạm thứ cấp trên liên kết

Khi một trạm thứ cấp gửi một một thơng điệp phúc đáp cho sơ cấp , vùng địa chỉ luơn chứa địa chỉ duy nhất của thứ cấp này Trong trường hợp các mạng lớn cĩ

nhiều trạm thứ cấp , vùng địa chỉ cĩ thể được mở rộng hơn § bit Bit cĩ ý nghĩa

nhỏ nhất trong mỗi vùng 8 bit được dùng để chỉ định phía sau cĩ một octet (byte) nào khác khơng Nếu bit này là 0 phía sau cĩ một octet khác , ngược lại thì đây là octet sau cùng (hay chỉ cĩ một octet) Lưu ý rằng trong ABM vùng địa chỉ khơng

được dùng theo cách này bởi chỉ cĩ các liên kết điểm-nối -điểm trực tiếp Thay vì

vậy , nĩ được dùng để định hướng cho các lệnh và các đáp ứng liên hệ với chứng Các ý nghĩa cửa các bit trong vùng điều khiển được trình bày trên hình V.14(b) Vùng S trong các frame quần lí và vùng M trong các frame khơnt đánh số được

dùng để định nghĩa kiểu frame đặ biệt Các chỉ số tuân tự truyền và nhận _N(S) và N(R)_ được dùng phối hợp với các thử tục kiểm sốt lỗi và điều khiển luồng

Bit P/F được gọi là bit quét/kết (poll/final) Một frame cửa bất kì loại nào được gọi là frame lệnh (command frame) nếu nĩ được gửi bởi một trạm sơ cấp và

là frame đáp ứng (response frame ) nếu nĩ được gửi bởi một trạm thứ cấp Bit P/F được gọi là bit quét khi được dùng trong một frame lệnh , nếu được set sé chi thị cho máy thu phải báo nhận cho frame này Máy thu báo nhận cho frame này bằng cách gửi lại một frame đáp ứng trong đĩ bit P/F được se , lúc này bit P/F được gọi

là bit kết

Việc dùng 3 bit cho mỗi N(S) và N(R) cĩ nghĩa là chỉ số tuần tự cĩ thể nằm trong dải tỉ72 0 đến 7 Điều này cũng cĩ nghĩa là kích thước tối đa của cửa sổ được chọn là 7 Mặc dù như vậy là đủ lớn cho nhiều ứng dụng , nhưng đối với những liên kết rất xa (ví dụ như liên kết vệ tinh) hay tốc độ bit rất cao , nếu muốn đạt

được hiệu suất liên kết cao thì phải mở rộng cửa sổ hơn nữa Dạng mở rộng dùng 7 bit (từ 0 đến 127) , do đĩ gia tăng kích thước cửa sổ lên 127

Vùng địa chỉ nhận dạng trạm thứ cấp đã gửi frame , vàlà vùng khơng cần

đến trong các liên kết điểm-nối-điểm Tuy nhiên, đối với liên kết đa điểm, thì vùng địa chỉ cĩ thể là 8 bit _ chế độ thường _hoặc là bội số của 8 bit _ chế độ mở

rộng Trong trường hợp sau, bit | ctia octet dia chỉ cĩ giá trị thấp nhất được set là 0 va bit Ï trong octet sau cùng sẽ được set là I Các bit cịn lại hình thành nên địa

Trang 33

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

chỉ Trong cả hai chế độ , địa chỉ cĩ tất cả các bit đều là 1 được dùng làm địa chỉ

broadcast

V.3.1.2 Cac kiéu frame

Cac frame khơng đánh số được dùng để quản lí liên kết Ví dụ , SNRM-

frame và SABM-frame , cả hai được dùng để thiết lập một liên kết luận lí giữa trạm sơ cấp và trạm thứ cấp để thơng báo cho trạm thứ cấp về chế độ hoạt động

đang được dùng Một liên kết luận lí được xố khi trạm sơ cấp gửi một DISC- frame UA-frame được dùng như một báo nhận cho các frame khác trong chủng loại này

Mặc dù, cĩ 4 loại frame quản lí , nhưng chỉ cĩ RR và RNR được dùng trong cả NRM và ABM Cả hai frame này được dùng để cho biết một trạm thứ

cấp cĩ sẵn sàng thu hay khơng đối với một hay nhiều frame được gửi từ sơ cấp , và

cho mục đích báo nhận REJ-frame và SREJ-frame chỉ được dùng trong ABM,

cho phép tuyển tin theo cả hai hướng đồng thời xuyên qua một liên kết điểm-nối- điểm Hai frame này được dùng để chỉ đến một trạm khác đã chỉ ra lỗi tuân tự ,

nghĩa là đã nhận một I-frame chứa một số tuần tự N(S) khơng đúng thứ tự SREJ- frame được dùng cùng với thủ tục truyền lại cĩ chọn lựa , ngược lại REJ-frame được dùng với thủ tục truyền lại một nhĩm

V.3.1.3 Hoạt động của giao thức

Phần này trình bày các đặt trưng của HDLC

Cĩ hai chức năng cơ bản là quản lí liên kết và chuyển số liệu (bao gồm kiểm sốt lỗi và điều khiển luơng )

+ quản lí liên kết

Trước khi truyền bất kì thơng tin số liệu nào giữa sơ cấp và một trạm thứ cấp trên một liên kết đa điểm hoặc giữa hai trạm được nối với nhau qua một liên kết điểm- nối-điểm , một cầu nối luận lí giữa hai chủ thể truyền tin phải được thiết lập

Điều này được hồn thành nhờ sự trao đổi hai frame khơng đánh số , được trình bày trên hình V.15

Trong một liên kết đa điểm (hình V.15(a) ) , trước tiên trạm sơ cấp tuyển

một SNRM-frame với bit P/F được set là I và địa chỉ của thứ cấp được đặt trong

vùng địa chỉ Thứ cấp đáp ứng bằng một UA-frame với bit kết được set là 1 cùng

với địa chỉ của nĩ trong vùng địa chỉ Thủ tục thiết lập cĩ tác dụng khởi động các

biến tuần tự trong mỗi trạm Các biến này được dùng trong các thủ tục điều khiển luơng và kiểm sốt lỗi Cuối cùng , sau khi tất cả số liệu đã được truyền, liên kết bị xố khi sơ cấp gửi một DISC-frame và thứ cấp đáp ứng một UA-frame

Trang 34

a 0 Sơ cấp (A) 'Thứ cấp (B) “ V(S):=0 F—SNRM(p pe >=I—> V(R):= 0 r= V(S):=0 V(R):=0 [„ UAĐBEE7 | (S) I Chuyén sé Sơ cấp cắt cầu Ị liệu nối |——PSC@p.r; Thứ cấp cắt cầu nối Lp Ae | (b) Sơ cấp⁄“hứcấpA Sơ cấp/thứ cấp B VGSJ=0 [—SABMŒP=I kÌ vgy;=0 L_——D | V(S):=0 V(R) =0 | | 2 | Chuyén sé liéu | I I | | \ DISC ` Sơ cấp cắt cầu nối Sơ cấp và thứ cấp cắt cầu nối =D—s! Thứ cấp cắt cầu nối Tình V.15 Thủ tục quản lí liên kết (a) Chế độ đáp ứng thơng

thường trên liên kết đa điểm ,(b) Chế độ cân bằng bất đồng bộ

trên liên kết điểm -nối-điểm

Thử tục thiết lập một liên kết điểm-nối-điểm giống như thủ tục thiết lập

liên kết được dùng trong liên kết đa điểm Tuy nhiên , trong ví dụ được trình bày trên hình V.15(b) thì ABM được chọn và do đĩ một SABM-frame được truyền

trước tiên Trong chế độ này , cả hai phía của liên kết đều cĩ thể khởi động truyền

các I-frame một cách độc lập , vì vậy mỗi trạm thường là một trạm kết hợp cảsơ

cấp và thứ cấp Cả hai trạm đều cĩ thể khởi động và xố liên kết trong chế độ này Trong hình V.15(b) , tram A khởi động thiết lập liên kết cịn trạm B khởi động

xố cầu nối luận lí này (sau khi đã truyển xong số liệu ) Chỉ cần một lần trao đổi các frame này đã thiết lập một liên kết theo cả hai hướng Như chúng ta cĩ thể thấy , vùng địa chỉ được dùng để định hướng cho frame lệnh (SABM/DISC) và các đáp ứng liên hệ với nĩ

Nếu máy thu từ chối lệnh thiết lập cầu nối trong cả hai chế độ , nĩsẽ phúc đáp một DM-frame (disconnected frame) khi nhận được frame xác lập chế độ(SNRM hoặc SABM) DM-frame chỉ ra rằng trạm đang đáp ứng cắt cầu nối luận lí

Trang 35

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

+ Chuyển số liệu

Trong NRM, tất cả các I-frame được truyền dưới sự điều khiển của trạm sơ cấp Các frame quét khơng đánh số UP-frame (Unnumbered Poll-frame ) với bit P được set là 1 , thường được trạm sơ cấp dùng để quét một trạm thứ cấp Nếu thứ cấp khơng cĩ số liệu truyền, nĩ sẽ gửi một RR-frame trong đĩ bit F được set Nếu cĩ số liệu đang đợi truyền , nĩ sẽ truyền ngay dướidạng các I-frame , trong

đĩ I-frame cuối cùng bit F được set là 1

Hai quá trình quan trọng trong việc chuuyển số liệu là điều khiển luơng và kiểm sốt lỗi Kiểm sốt lỗi dùng thủ tục continuous RQ theo chiến lược truyền lại cĩ chọn lựa hay truyền một nhĩm, trong khi đĩ điều khiển luồng dựa vào cơ cấu cửa sổ

Hình V.16(a) mơ tả thủ tục báo nhận và truyễn lại cơ bản ; trong các ví dụ này chỉ dùng các RR-frame và giả sử áp dụng chiến lược truyễển lại một nhĩm (go- back-N) Trong hình chỉ trình bày luồng frame theo một chiểu , vì vậy tất cả các thơng tin báo nhận phải được gửi thơng qua các frame quản lí báo nhận đặt biệt

Như chúng ta cĩ thể thấy , mỗi phía của liên kết đều duy trì một biến tuần tự truyền và biến tuần tự thu V(S) chỉ định số tuần tự kế tiếp N(S) , được trạm này phân phối cho một I-frame truyền , và V(R) là chỉ số tuần tự truyền của I-frame

mà trạm này đang mong đợi theo tuần tự

Mỗi frame quan li RR (báo nhận tốt ) chứa một số tuần tự thu N(R), nĩ thừa nhận tất cả các I-frame đã được truyền từ thời điểm đĩ trở về trước và bao gồm I-frame cĩ N(S) bằng [N(R) -1] Tương tự , hình V.16 (b) cho thấy mỗi frame quần lí RE] ( thơng báo từ chối ) chứa một N(R) chỉ ra I-frame vừa nhận khơng

đúng theo thứ tự và máy phát phải cĩ trách nhiệm khởi động truyền lại các I-

frame bắt đầu từ chỉ số N(S) bằng N(R)

Trang 36

(a) May thu (P} Máy thu (S)

Trang 37

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

(b) Máy thu (P) Máy thu (5)

Nội dung của danh V(Sy VR) (S) V(R) sách truyền lai 0 0 an 1(0.0/P= o 0 1 9 N(S) = V(R): rame Í được chấp nhận RRC N(R) = 1 :1(0) 11,0 atin z0 $$, Frame bi hong 0 1 Ị 2 —I2,0Đ=ị; 2 3.0 “N= VIR) 1 REI(1/F=1) Frame bi loai 0 1 Truyền lại từl(I) 0 ————(I.0p, ! 3 7——> N(S) = V(R) :frame dude 1(2.0/P=1) 0 2 chấp nhận N(R) = 2:1(1) — được báo nhận 0 NOS} = V(R) :frame được Lt N@= 3 :1(2) Rah chấp nhận được báo nhận 3 0 0 3 Hình V.16 Sử dụng các frame báo nhận (b) Thơng báo từ chối (REI)

Hình V.16(a) chỉ ra rằng bất kì một I-frame nào được nhận khơng đúng theo thứ tự đều bị xố Do đĩ , khi tiếp nhan frame I(2,0/p=1)_bit P dugc set vì

frame trước đĩ khơng được báo nhận_ frame này bị loại và máy thu khơng làm gì cả Khi khơng cĩ các báo nhận thì bộ định thời liên hệ với các frame I(1) và I(2)

đều hết hạn và cả hai I-frame đều được truyền lại Trong ví dụ này giả sử mỗi I- frame được nhận tốt và được báo nhận bằng RR-frame

Trong hình V.16(b) , cĩ sử dụng các frame thơng báo từ chối (RE]) Khi

máy thu phát hiện rằng frame I(2,0/p=l)_ đĩ là frame cuối cùng trong tuân tự với P = I_ là khơng đúng tuân tự , nĩ gửi một REJ-frame trong đĩ bit F được set Sau đĩ

máy phát phải phát lại các frame I(1,0) và I(2,0 ), trong đĩ bit P một lần nữa được set bằng I trong frame I(2,0) Máy thu thơng báo nhận tốt cho mỗi frame với bit F

được set bằng 1 trong RR-frame sau cùng Nếu dùng chiên lược truyền lại cĩ chọn lựa thì frame I(2,0/p=1) sẽ được chấp nhận và một SREJ-frame được gửi lại để

yêu cầu truyền lại frame I(1,0)

Tuân tự frame trong hình V.16 là ví dụ tiêu biểu về cơng việc chuyển thơng tin qua một liên kết đa điểm hoạt động theo chế độ NRM Tuy nhiên, đối với liên kết điểm-nối-điểm trong ABM, cĩ thể cho phép một luồng I-frame song cơng

Giống như trong NRM, thơng tin báo nhận liên hệ với luồng I-frame theo hướng

Trang 38

cĩ thể được tải trong các I-frame chạy theo hướng ngược lại Hình V.17 là một ví dụ

Khi nhận mỗi frame , cả N(S) và N(R) đều được đọc Trước hết N(S) được so sành với biến V(R) của máy thu Nếu bằng nhau thì frame vừa nhận là đúng tuần tự và được chấp nhận ; nếu chúng khơng bằng nhau, frame bị loại và một REJ-frame hay SREJ-frame được gửi trả lại N(R) được kiểm tra và được dùng để

báo nhận cho bất kì frame cịn tổn tài nào trong sanh sách truyền lại Sau cùng , khi khơng cịn I-frame nào đang đợi truyền , một RR-frame được dùng để báo

nhận cho các I-frame chưa được báo nhận cịn tổn tại trong mỗi danh sách truyền

lại

Điều khiển luồng là đặt biệt quan trọng khi truyền song cơng hồn tồn và

liên kết đanghoạt động trong chế độ ABM Đối với NRM, nếu sơ cấp bi quá tải

tạm thời , nĩ cĩ thể làm cơng việc đơn giản là ngưng quét (polling) , do đĩ tạo

điều kiện cho quá tải lắng dịu Tuy nhiên, khi cả hai phía của liên kết hoạt động một cách độc lập nhau , chúng ta cĩ thể dùng một cơ cấu khác Thủ tục điểu khiển luồng được dùng trong HDLC dựa vào cø cấu cửa sổ trượt

Trang 39

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI ĐỒ ÁN TỐT NGHIỆP

(b) Sơcấp/thứ cấp kết Sơ cấp/ thứ cấp kết hợp

Nội dung của danh V(R) \ vis) vis) \V(R) Nội dung của danh sách

sách truyền lại It ' 1 ! truyén lai ¬ Hh N(S)=V(R):fr ame được 2 1 chấp nhận 0 2 4 N(S)=V(R) :frame được chấp nhận 5 N(S)=V(R) :ame ý được chấp nhận 2 N(S)=V(R) 3 6 1 1 :frame được ———————V chất ậ 7 1 6 0 chấp nhận 3 Y % N(S)=V():frame |_ 5 3 4 6 Soy được chấp nhận 4 2 Y 2 3 1 4 |N(S)=vđ 5 â y w 3 :frame %2 0 2| được chấp Ø (S)=N(R):framer—> 7 nhận được chấp nhận 6 4 1 ° V a N(R)=5 :I3)14)|_ 6 2o nhẬ 5 3 0 5 Guge báo nhận 5 4 N(R)=1:1(0) được 3 ? báo nhận N(S)=V(R#frame được 3 4 chap nhan : N(R)=6 :1(5) được báo 5 ¿4 nhân | Y———N(S)=V(R)frame đượi N(S)=V(R):frame được ' 5 chấp nhận chấp nhận 7 ⁄ 3 ]| 4 | NR=21G) Sy - 2 3} được báo nhận 1 2 6 N(S)=V(R) :frame được chấp 1 N(R)=7 :I@)ân được báo: nhận 5 N(R)=5 :1(2,3,4) được N(R)=0 :1(7) được báo i} báo nhận RR(6) nhận Ï— N(R)=0 :1(7) được báo N(R)=6 :1(5) được nhận = báo nhận Sd LY gian Po

Trên hình V.16 và V.17 , các chỉ số tuần tự truyền và nhận được tăng theo module-8 , vì vậy kích thước cửa sổ truyển được dùng là K=7 Do đĩ , 7 là số lượng T-frame tối đa được phép đợi báo nhận trong danh sách truyền lại tại bất kì thời điểm nào Mỗi phía cửa liên kết duy trì một biến riêng biệt được gọi là biến đếm truyền lại (RetxCount) , nĩ được gán bằng 0 ngay khi thiết lập liên kết Biến này

được gia tăng một đơn vị mỗi khi truyền một I-frame , do đĩ cũng cĩ nghĩa là được

tăng mỗi khi cĩ một I-frame được đặt vào danh sách truyền lại Biến này được

Trang 40

giảm một đơn vị bất cứ khi nào nhận được một thơng báo nhận tốt , cũng cĩ nghĩa là giảm mỗi khi mỗi I-frame được xố khỏi danh sách truyền lại Sơ cấp ngưng truyền các I-frame khi biến truyền lại đạt đến K và khơng quay trở lại cho đến khi

nhận được một thơng báo nhận tốt thơng qua RR-frame hoặc thơng tin này được mang trong một I-frame chạy theo hướng ngược lại Chúng ta cĩ thể kết luận rằng sẽ ngưng truyền các I-frame khi:

V(S) = N(R)nhansauctng + K

Lưu ý rằng cơ cấu cửa số chỉ điều khiển luồng I-frame thoe một hướng và các frame quản lí cũng như các frame khơng đánh số khơng bị ảnh hưởng bởi cơ cấu này Do đĩ các frame này vẫn cĩ thể được truyền trong khi cửa sổ đã mở hết Hình V.1§ là một ví dụ , để rõ ràng chỉ trình bày ảnh hưởng lên luơng I-

frame theo một hướng Sơ cấo/ thứ cấp kết Sơ cấp/ thứ cấp Sơ cấp/ thứ cấp kết ®) Phen P K=3 kết hợp

Nội dung của danh ReteCount V(S) vik) vs) V(R) RetxCount Nội dung của danh sách

sách truyền lại truyền lại , 0 0 0 1 34 1 0 1 1 \ 0 \ ° " ° Ly, a 0 3 0 | 1 3 0 1 1 1 3 2 1 12 <———T nh Vu oT 1 3 3 Hinh V.18 Thi tục điều khiển luồng theo phương pháp cửa sổ truot

Việc dùng cơ cấu cửa sổ cĩ ý nghĩa là các chỉ số tuần tự trong tất cả các I-frame đến đều nằm trong các ranh giới nào đĩ Khi nhận mỗi I-frame , thứ cấp phải

kiểm tra xem cĩ đúng như vậy khơng , và nếu khơng đúng thì phải tiến hành thao

Ngày đăng: 03/08/2014, 18:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w