V. Tài liệu tham khảo
4.2. Cỏc mụi trƣờng ứng dụng
(d)
DTE
Bus chung
DLP = Data link protocol
DLP
RING
Hỡnh 4.2 (d) cỏc mụi trƣờng ứng dụng truyền giao thức liờn kết dữ liệu
các LAN
Hai kiến trỳc đƣợc trỡnh bày trờn hỡnh 4.2(c) đều liờn hệ đến cỏc ứng dụng cú liờn quan đến cỏc mạng chuyển mạch diện rộng (WAN).Trong vớ dụ đầu tiờn, giao thức liờn kết chỉ cú ý nghĩa cục bộ và chỉ hoạt động giữa DTE và DCE, nhƣ trong trƣờng hợp một mạng chuyển mạch gúi X.25. Tập giao thức X.25 đƣợc dựng trong cỏc mạng nhƣ vậy chỉ ỏp dụng cho liờn kết cục bộ giữa DTE và DCE.Giao thức liờn kết số liệu dựng với X.25 cũng dẫn xuất từ HDLC, đƣợc gọi là LAP-B (Link Access Procedure _Balanced).
Kiến trỳc thứ hai đƣợc dựng với cỏc mạng số liệu chuyển mạch mạch (circuit-switched data networks) vớ dụ nhƣ IDSN. Khi một mạch đó đƣợc thiết lập thụng qua mạng, nú cung cấp một liờn kết diểm-nối-điểm đƣợc xem nhƣ mạch ảo _cho cung đoạn chuyển dữ liệu.Giao thức này cú thể tạo cầu nối hay khụng tạo cầu nối, đƣợc gọi tƣơng ứng là chuyển frame (frame switching) và tiếp frame (frame relay) .Ngoài ra, thủ tục thiết lập cuộc gọi liờn hệ với IDSN đƣợc thực hiện nhờ dựng liờn kết riờng gọi là kờnh bỏo hiệu hay kờnh D.Thủ tục này dựng một giao thức liờn kết là một dẫn xuất của HDLC đƣợc gọi là LAPD (Link Access Procedure D-channel).
Sau cựng, hai cấu hỡnh đƣợc trỡnh bày trờn hỡnh 4.2(d) liờn quan đến ứng dụng trờn mạng cục bộ (LAN) .Một đặc trƣng của cỏc mạng này là dựng cỏc liờn kết cú tỉ lệ lỗi bit thấp, cự li ngắn và hoạt động với tốc độ bit cao (xấp xỉ 10Mps). Kết quả là lỗi hiếm khi xảy ra và thời gian chuyển frame giữa đầu cuối với đầu cuối diễn ra rất nhanh. Cỏc mạng nhƣ vậy thƣờng hoạt động theo chế độ khụng tạo cầu nối, trong chế độ này tất cả cỏc hoạt động truyền lại và cỏc chức năng điều khiển luồng đƣợc giao cho một lớp giao thức cao hơn trong hai hệ thống đầu cuối. Giao thức liờn kết đƣợc dựng với cỏc LAN là một lớp con của HDLC đƣợc gọi là LLC (Logical Link Control).
Túm lại, cú một số dải cỏc giao thức liờn kết số liệu, mỗi giao thức đƣợc thiết kế để dựng cho
một mụi trƣờng ứng dụng đặc biệt.
4.3.CÁC GIAO THỨC THIấN HƢỚNG Kí TỰ.
Cỏc giao thức thiờn hƣớng ký tự đƣợc dựng trong cỏc ứng dụng điểm-nối-điểm và cả đa điểm. Đặc trƣng của 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 liờn quan đến quản lý dữ liờn kết, đỏnh dấu đầu và cuối frame, kiểm soỏt lỗi và “trong
suốt” dữ 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 dữ liệu và
Trong khi đề cập đến cỏc giao thức hƣớng ký tự, 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 vào trong cấu hỡnh đa điểm, chỳng ta phải cần đến một phƣơng phỏp điều khiển truy nhậ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.
4.3.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 chuyển số liệu theo một hƣớng 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.Nú đƣợc dựng với cấu hỡnh trong hỡnh 4.2(a).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 tới một mỏy tớnh kia thụng qua một liờn kết điểm-nối-điểm. Liờn kết cú thể là một kờnh đƣợc thiết lập thụng qua mạng điện thoại cụng cộng (chuyển mạch analog) sử dụng cỏc modem hay một cặp dõy xoắn đụi với cỏc bộ điều khiển thu/phỏt thớch hợp. Thƣờng dựng truyền đồng bộ .
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ột mỏ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ảu 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 đó đƣợ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 4.3.
Nếu đang dựng modem thỡ một modem phải đƣợc đặt ở chế độ gọi và modem kia phải đặ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 RECEIVE và 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 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 thoỏ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 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 4.4(a).
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 .Trƣớc hết, một byte xỏc định chiều dài (length character) đƣợc dựng để chỉ chiều dài của mỗi frame thay vỡ dựng một ký tự điều khiể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 cuối cảu mỗi frame.Việc dựng ký tự chỉ chiều dài cú 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ƣ đó đƣợc chỉ định trong phần header) khi tập tin đang đựoc 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 của tập tin.
Nội dung của tập tin dạng text đƣợc truyền theo tuần tự cỏc khối 80 ký tự, mỗi khối đƣợc kết thỳc bởi cặp ký tự CR/LF (carriage return /line type).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 dạng nào nằm
trong phần nội dung _text hay nhị phõn_đều đựoc mó hoỏ 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à đặ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 _# của ASCII_ kốm
theo một ký tự ASCII cú thể in đƣợc nằm trong 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 1 trong bảng mó 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 # phia 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 .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 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 thụng bỏo 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 thu gửi một frame kết thỳc giao tỏc (B ) cho mỏy thu.
Kermit là một giao thức idle RQ Do đú, sau khi truyền mỗi I- frame (I), mỏy thu 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 trong mỗi I-frame tăng lờn từng đơn vị theo modulo-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 mà 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 trƣng tối thiểu liờn quan đến kermit
4.3.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ự 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 tắt là bisync hay BSC (Binary Synchronous Control). Vỡ nú là 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ƣ một vớ dụ .
Nhƣ bao hàm trong tờn gọi của nú, 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ếu tất cả cỏc trạm đều toạ 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 4.3.
(a) D L P DTE chủ (master) 4– wire(2- pair)line = 4-wiremodem BP D L P D L P D L P (b) D L P BP = Branching point
DLP = Data link protocol
LD/R LD LD các DTE tớ ( slave) LD đầu cuối dây DTE chủ (master)
LD/R = line driver /Receiver
/R DLP /R DLP Các DTE tớ ( slave ) /R DLP 4.3.2.1.Cỏc dạng frame Hỡnh 4.3 Cỏc mạng thiờn hƣớng ký tự (a) đa điểm (b) bus đa điểm
Để 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. Ngoài ra đối với truyền đồng bộ thiờn hƣớng ký tự, mỏy thu cần phải đạt cho đƣợc sự đồng bộ ký tự và đồng bộ frame.
Cỏc 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 4.4.(a).
(a)
SYN SYN SOH identifer Đ/C trạm STX Text ETX BCC
bảntincómộtkhối
SYN SYN SOH identifer Đ/C trạm STX Text ETX BCC
Khối đầu tiên của bản tin đa khối
SYN SYN SOH identifer STX Text ETX BCC Khối kế tiếp
SYN SYN SOH identifer STX Text ETX BCC Khối sau cựng
Ideniifier : chỉ số tuần tự của khối
Hỡnh 4.4 (a) Cỏc dạng frame của BSC (a) dữ liệu (b) SYN SYN EOT Đ/C trạm P/S ENQ
Tuần tự quột/chọn
SYN SYN ACK
đỏp ứng chọn chấp nhận
SYN SYN NAK
đỏp ứng chọn từ chối
SYN SYN ACK 0/ 1
bỏo nhận cho cỏc frame đỏnh số chẵn lẻ
SYN SYN NA K 0/1
từ chối cho cỏc frame đỏnh số chẵn lẻ
SYN SYN EOT
kết thỳc truyền khụng cũn thụng điệp để gửi
Hỡnh 4.4(b) Cỏc dạng frame của BSC (b) quản lý
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 4.4 (c). 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 ANK đƣợc mỏy thu gửi lại cho mỏy phỏt trong khi
Phỳc đỏp cho một thụng điệp điều khiển chọn: một ACK chỉ định rằng trạm đƣợc chọn cú thể nhận một khối dữ liệu trong khi NK chỉ ra sự từ chối 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à chọn (select).Theo sau địa chỉ trạm 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 hoàn chỉnh và xoỏ 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).
4.3.2.2. Hoạtđộng của giao thức .
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 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 dựng để hỏi mỏy phụ thuộc cú sẵn sàng nhận số liệu hay khụng. (a) (1) poll X thông điệp (2) Tớ X Chủ (4)
(3) Select Y thông điệp
Tớ Y
(b) DLP chủ Tuần tự chọn DLP tớ Hoặc : tớ không sẵn sàng Hoặc tớ sẵn sàng Truyền số liệu Kết thúc truyền Chọn nhanh Chuyển số liệu Bình th−ờng Chọn nhanh
Hỡnh 4.5. (a) (b) cỏc tuần tự Frame của BSC (a) lƣợc đồ quột chọn (b) chọn
(c)
DLP chủ
Tuần tự quét
Hoặc : không có gì để truyền Hoặc có số liệu cần truyền
Chuyển số liệu
Kết thúc truyền
Thời gian
DLP tớ (X)
Hỡnh 4.5. (c) cỏc tuần tự Frame của BSC (c ) quột
Hỡnh 4.5 (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ả trờn hỡnh 4.5 (b) và 4.5 (c). Phần (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ả tuần tự liờn quan đến hoạt động quột (poll)
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 logic chƣa bị xoỏ. 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 quột trong đú địa chỉ của trạm đƣợc quột
ở trƣớc ký tự ENQ. Sau đú, giả sử trạm đƣợc 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ạm chủ tớnh toỏn lại tuần tự kiểm 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 đó hoàn tất truyền bản tin và
đƣợc bỏo nhận, cầu nối luận lý bị xoỏ bởi điều khiển EOT.
Hỡnh 4.5 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 hoặc 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