Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
2,66 MB
Nội dung
Chương5:Cơsởcủagiaothức Nhóm 10
MỤC LỤC
1. KIỂM SOÁT LỖI
1.1 Kiểm soát lỗi bằng tay:
- Khi nhập dữ liệu vào máy tính từ bàn phím, mỗi phím được ấn thì sẽ có một từ
mã được truyền vào máy theo từng bit nối tiếp thông qua một UART theo chế độ truyền
bất đồng bộ. Chương trình trong máy tính sẽ điều khiển quá trình nhập, đọc, lưu ký tự
và xuất ra màn hình.
- Nếu cần xóa một ký tự, ta chỉ cần gõ một ký tự điều khiển xóa thích hợp (ví dụ
phím backspace). Khi này chương trình sẽ xóa ký tự trước đó ra khỏi màn hình.
1.2 Kiểm tra dội lại: (Echo checking)
1
Chương 5:Cơsởcủagiaothức Nhóm 10
- Khi một thiết bị đầu cuối kết nối đến một máy tính ở xa thông qua PSTN và
modem. Những ký tự được nhập tại máy đầu cuối sẽ được gửi đến máy tính ở xa đọc,
lưu giữ và truyền lại đầu cuối để hiển thị lên màn hình.
1.3 ARQ (Automatic Repeat Request)
- Máy tính sẽ tự động kiểm tra để phát hiện lỗi truyền, sau đó gửi lại cho nguồn tin
một thông điệp ngắn để báo nhận thành công hoặc yêu cầu gửi lại một bản sao của
frame vừa đến (do lỗi).
- Có 2 loại ARQ cơ bản là idle RQ và continuous RQ.
+ Primary – P (phía sơ cấp): là phía phát các khung dữ liệu
+ Secondary – S (thứ cấp): thu nhận các khung dữ liệu từ P.
+ I – frame (Information frame): khung thông tin là các khung chứa dữ liệu mà
phía phát truyền cho phía thu. Mỗi khung có chứa số danh định của khung đó.
+ ACK – frame (Acknowledge frame): là những khung được S truyền đến P để
báo là đã nhận được dữ liệu tốt (không bị lỗi).
+ NAK – frame (Negative Acknowledge frame): là những khung được S truyền
đến P để báo là khung nhận được bị lỗi.
2
Chương 5:Cơsởcủagiaothức Nhóm 10
2. IDLE RQ
Đặc điểm của lược đồ idle RQ:
- Sử dụng trong kiểu truyền dữ liệu định hướng ký tự
- Hoạt động theo chế độ bán song công, vì sau khi p gửi I- frame ,nó phải đợi cho
đến khi nhận 1 thông báo từ phía S cho bieetsI- frame đó nhạn được thành công. Sau
đó, P gửi I- frame kế tiếp nếu khung trước đó nhận đúng hoặc truyền lại khung cũ nếu
I- frame không được nhận thành công.
Có 2 loại Idle RQ:
- Truyền lại ngầm định( không tường minh- implicit retansmission): S báo ACK-
frame nếu nhận được I- frame đúng và sẽ không báo ACK- frame nếu nhận sai. Do đó,
3
Chương 5:Cơsởcủagiaothức Nhóm 10
nếu P không nhận được ACK- Frame thì hiểu là I- frame đã bị lỗi và phải truyền lại.
thời gian chờ ACK- frame của P được xác định trước và không được lâu hơn thời gian
quá hạn( time expires)
- Truyền lại tường minh(yêu cầu rõ- Implicit retransmission): S báo ACK- frame
nếu nhận I- frame đúng và báo NAK nếu nhận I= frame bị lỗi.
Idle ngầm định:
Hoạt động của idle RQ: (a) truyền lại ngầm định
Trong hình trên
a/ truyền đúng
b/ I- frame bị lỗi
c/ Ack- frame bị lỗi
- P chỉ có một I – frame đang chờ ACK – frame. Khi P nhận được ACK- frame
của khung I(N), P sẽ tiếp tục truyền đi khung kế tiếp I(N+1).
- Khi S nhận được một I – frame bị lỗi, S sẽ bỏ qua và không gửi lại ACK – frame.
- Khi P bắt đầu truyền I – frame, nó sẽ khởi động bộ định thời, nếu quá khoảng
thời gian giới hạn thì P sẽ truyền lại I – frame đó.
- Nếu P không nhận được ACK – frame trong khoảng thời gian định trước thì P sẽ
truyền lại I – frame đó nhưng S sẽ loại bỏ bảng sao này do bị trùng lặp. điều này thực
hiện là do trong mỗi I – frame điều truyền theo số tuần tự của khung.
4
Chương 5:Cơsởcủagiaothức Nhóm 10
Idle tường minh
- S sẽ trả về ACK – frame nếu nhận I – frame đúng.
- Nếu P nhận được ACK- frame thì P sẽ dừng bộ định thời và khởi động lại đường
truyền I – frame khác
- Nếu S nhận được một I – frame bị lỗi thì I – frame đó sẽ bị loại và S sẽ trả lời
bằng một NAK-frame.
Nếu P không nhận được 1 ACK-frame(hoặc NAK-frame) trong khoảng thời gian
định trước thì P sẽ truyền lại I – frame đó nhưng S sẽ loại bỏ bảng ao này do bị trùng
lặp.
5
Chương 5:Cơsởcủagiaothức Nhóm 10
Hoạt động của idle RQ: (b) truyền lại tường minh
Trong hình trên: Idle RQ tường minh
a/ truyền đúng
b/ I – frame bị lỗi
ACK- frame bị lỗi
Nhận xét: với kiểu truyền tường minh thì tăng hiệu quả về thời gian hơn so với kỹ
thuật truyền không tường minh vì thời gian S truyền NAK- frame về P ngắn hơn nhiều
so với thời gian quá hạn trong kiểu truyền không tường minh.
Đặc điểm chung của Idle RQ là sau khi P gởi một I – frame, P phải chờ cho đến
khi nhận được ACK- frame tương ứng từ S. Do đó kiểu truyền này còn được gọi là
dừng và chờ ( stop and wait).
Trong cả 2 nguyên lý truyền trên đều có trường hợp S nhận được I – frame và bản
sao đều tốt và S phải loại bỏ bớt một. Như vậy, để S có thể phân biệt được hai I – frame
nhận được là khác nhau thì cần cócơ chế đánh số. chỉ số tuần trong mỗi I – frame được
6
Chương 5:Cơsởcủagiaothức Nhóm 10
gọi là chỉ số tuần tự gởi N(S) và chỉ số tuần tự trong mỗi ACK- frame hay NAK-frame
được gọi là chỉ số tuần tự nhận N(R). tương tự như cấu trúc khung truyền bất đồng bộ,
các ký tự điều khiển vẫn được sủ dụng la: SOH, STX, ETX. Mỗi I – frame phải chứa 1
chỉ số tuần tự tại SOH. Ký tự SOH được chèn vào đầu một khối hoàn chỉnh để báo hiệu
bắt đầu một I – frame mới. Tiếp theo là cấu trúc thong thường như truyền bất đồng bộ
với BCC dung kiểm tra tổng khối để phía thu biết là nhận được khung đúng hay bị lỗi.
Các khung ACK va NAK được dung cho mục đích báo nhận, theo sau là chỉ số
tuần tự thu. Các khung này dung phương pháp kiểm tra tổng khối BCC. Cả 3 loại
khung: I – frame, ACK- frame, NAK- frame đều được gọi là đơn vị dữ liệu giao thức
PDU( protocol data unit) củagiaothức Idle RQ.
2.1 Kiến trúc phân lớp
Lược đồ tuần tự frame được trình bày ở hình trên mô tả các đặc trưng chủ yếu của
hoạt động giaothức idle RQ. Tuy nhiên, trước khi đi vào các chi tiết lien quan đến giao
thức, chúng ta sẽ xem xét cụ thể hơn khái niệm phan lớp. khái niệm này có liên quan
đến sự tách riêng 1 ứng dụng phối hợp và các tác vụ truyền tin thành hai tác vụ con rõ
rang hơn, tác vụ con được gọi là lớp, cùng với một hình thứcgiao tiếp giữa chúng.
Để mô tả khái niệm, hãy xem xét một qua trình ứng dụng AP (application process)
chạy trên một máy tính truyền một tập tin đến một ứng dụng tương tự chạy trên một
máy tính thứ 2 qua một liên kết số liệu nối tiếp dung một giaothức điều khiển lỗi idle
RQ. Như đã mô tả, giaothức idle RQ sẽ cố gắng gửi các khối thông tin nối tiếp qua một
7
Chương 5:Cơsởcủagiaothức Nhóm 10
liên kết số liệu theo phương phapstin cậy. Cũng tùy và BEB trên liên kết, một kích
thướt khối tối đa sẽ được chỉ định để đảm bảo một tỉ lệ cao các I- frame không bị lỗi.
Lớp giaothức idle RQ trong máy tính nguồn vì thế phải cung cấp 1 dịch vụ xác
định cho lớp AP của người dung bên trên nó, dịch vụ này là truyền một chuỗi nối tiếp
các khối thông tin , mỗi khối có môt chiều dài tối đa xa định, đén quá trình ứng dụng
tương tự trên máy tính đích. Hai thực thể giaothức ngang hang idle RQ có liên quan
đến các vấn đề phát hiện lỗi được thảo luận trước đây: tạo ra và phản hồi các frame báo
nhận, timeout, phân phối các khối thông tin theo tuần tự giống như khi chúng được
truyền.
Ngược lại, hai quá trình ứng dụng ngang hàng chỉ liên quan đến thủ tục truyền tập
tin dùng dịch vụ được cung cấp bởi lớp truyền tin (idle RQ), như là tên tập tin, chiều
dài của nó, sự phân đoạn nội dung tập tin thành các khối nhỏ hơn trước khi truyền đến
lớp truyền tin, vá tái thiết chúng thành một tập tin hoàn chỉnh khi nhận. Do đó, trong
mỗi ứng dụng, tuần tự của các khối thông điệp là rất quan trọng,cú pháp và cấu trúc của
thông điệp phải được xác định. Điều này ngụ ý rằng một giaothức AP to AP phải có
tập PDU riêng của nó. Hai thực thể giaothức AP dung các dịch vụ của lớp truyền tin
bên dưới dể truyền các PDU của chúng. Dĩ nhiên, đối với các lớp truyền tin, tất cả các
PDU này chỉ đơn giản là các khối thông tin sẽ được truyền theo một cách.
Thông thường, dịch vụ được cung cấp bởi một lớp truyền tin được biểu diễn dưới
dạng một hàm thực thể dịch vụ với dữ liệu truyền đóng vai trò là tham số. vì dịch vụ
liên hệ với lớp liên kết và thực hiện truyền số liệu nên hàm dịch vụ của người dùng tại
giao tiếp truyền được ký hiệu là L_DATA.request và hàm dịch vụ tại giao tiếp nhận
được ký hiệu lafL_DATA.indication. điều này được trình bày ở hình (a) dưới.
Trong nhiều trường hợp, vì các user của một lớp liên quan đến dịch vụ được cung
cấp chứ không liên quan đến cách thực hiện dịch vụ, nên khi định nghĩa các dịch vụ
liên quan đến một lớp giaothức chúng ta thường trình bày tương tự hình (b). dạng trình
bày này được gọi là lược đồ tuần tự theo thời gian. Để tách biệt rõ rang giữa hai lớp,,
dung một hang đợi giữa chúng, như hình (c) ở dưới. đây là dạng cấu trúc dữ liệu đơn
giản thực hiện theo nguyên lý hang đợi FIFO. Các phần tử được đưa vào đuôi của hang
đợi và lấy ra từ đầu hang đợi.
8
Chương 5:Cơsởcủagiaothức Nhóm 10
Thông thường, các hàm dịch vụ liên hệ đến một lớp được chuyển qua giữa các lớp
bằng một cấu trúc dữ liệu gọi là khối điều khiển sự kiện_ECB. Tổng quát, nó là một
record hay cấu trúc chứa kiểu hàm tại filed đầu tiên và một chuỗi ký tự hay byte chứa
dữ liệu của user trong fiel thứ hai. bất cứ khi nào nguồn Ap hay lớp giaothức cao hơn
muốn truyền một khối thông điệp, trước hết nó lấy một ECB tự do, ghi đoạn dữ liệu của
user vào chuỗi ký tự hay byte, thiết lập filed chỉ loại hàm thành L_DATA.request và
chèn ECB vào đuôi của hang đợi nhập của lớp liên kết (LS_user) để chuẩn bị sẵn cho
thực thể giaothứcsơ cấp idle RQ đọc.
Khi phần mềm thực thể giaothức idle RQ kế tiếp thực thi, nó phát hiện ra sự hiện
diện của một ECB tại hang đợi nhập của lớp liên kết, nó đọc ECB từ dầu của hang đợi,
và xử lý để tạo ra một I-frame hoàn chỉnh gồm nội dung thông điệp, header và trailer
thích hợp. sau đó nó thực hiện truyền frame đến thực thể giaothức thứ cấp. giả sử
frame nhận được không bị lỗi, thực thể thứ cấp sẽ loại bỏ header và trailer, và chuyển
nội dung frame đến AP đích theo một ECB bằng cách dung hang đợi ngõ ra của lớp liên
kết kèm theo hàm dịch vụ được đổi thành L_DATA.indication. sau đó, tạo và phản hồi
một ACK- frame đến P.
Khi đến lượt AP đích chạy, nó phát hiện và đọc ECB từ hang đợi LS_provider và
xử lý nội dung của khối thông tin phụ thuộc vào giaothức AP to AP đã được định
nghĩa. Thông thường nếu đay là khối thông điệp đầu tiên chứa tên tập tin, nó sẽ liên
quan đến việc tạo ra một tập tin có tên theo tên này và mở sẵn cho các hoạt động ghi tập
tin ngay sau đó.
Ở phía truyền, giả sử nhận được ACK- frame không lỗi, P xóa bộ đệm giữ I-
frame vừa được báo nhận và kiểm tra hang đợi LS_user để tiếp nhận một ECB đang đợi
khác. Nếu có một ECB khác, thủ tục sẽ được lặp lại cho tới khi tất cả các tập tin được
truyền. thông thường AP nguồn gởi một khối thông điệp kết thúc truyền để thông báo
cho AP đích biết toàn bộ nội dung đã được truyền.
9
Chương 5:Cơsởcủagiaothức Nhóm 10
Kiến trúc phân lớp: (a) Các hàm dịch vụ,
(b) Lược đồ thứ tự theo thời gian, (c) Các giao tiếp dịch vụ
2.2 Đặc tả giao thức
Định nghĩa hoạt động của một giaothức trong khi cho phép tất cả các sự kiện và
các trường hợp kiểm soát lỗi có thể làm cho vấn đề trở nên vô cùng phức tạp. vì vậy, sẽ
mô tả giaothức bằng cách dung một trong các phương pháp rõ rang và hình thức hơn.
Ba phương pháp phổ biến nhất để đặc tả giaothức truyền tin là dung các sơ đồ chuyển
trạng thái, các bảng sự kiện trạng thái mở rộng, và chương trình cấu trúc mức cao.
10
[...]... luồng và kiểm soát lỗi củagiaothức continuous RQ - Xét luồng I-frame theo một hướng từ DTE nguồn tới DTE đích, ta có các giao tiếp lớp giaothức continuous RQ như hình sau: 29 Chương5:Cơsởcủagiaothức Nhóm 10 Các giao tiếp lớp giaothức continuous RQ Mặc dù các sơ đồ chuyển trạng thái đã cung cấp khá tốt về hoạt động cơ bản củagiaothức nhưng các khía cạnh trong hoạt động của chúng không thể được.. .Chương 5:Cơsởcủagiaothức Nhóm 10 Trong nhiều trường hợp, chúng ta định nghĩa một giaothức như là một tổ hợp các sơ đồ này đi đôi với lượt đồ tuần tự thời gian để mô tả các hàm dịch vụ user liên hệ với giaothức Bất chấp phương pháp đặc tả được dung, chúng ta đều mô phỏng một giaothức như một thiết bị máy móc tự động điều này có nghĩa là giao thức, hay chính xác hơn là thực thể giao thức, ... Để chắc chắn điều này xãy ra,các giao tiếp sự kiện đến khác nhau được tách ra khỏi thực thể giaothức nhờ các hàng đợi,như trình bày trên hình 5.4.Có một cặp hàng đợi thêm vào giữa thực thể giaothức và thủ tục truyền/nhận điều khiển mạch truyền/nhận đặc biệt đang được dùng.Tương tự,cũng có một cặp hàng đợi giữa thực thể 11 Chương5:Cơsởcủagiaothức Nhóm 10 giaothức và thủ tục định thời.Thông thường... (Sliding window) 25 Chương5:Cơsởcủagiaothức Nhóm 10 Với cơ chế Stop-and-Wait, bản chất của vấn đề là tại một thời điểm chỉ một frame được truyền, do đó trong trường hợp độ dài liên kết lớn hơn độ dài của frame thì kết quả thật sự không hiệu quả Với cơ chế cửasổ trượt thì hiệu suất sẽ được cải thiện bằng việc cho phép nhiều frame có thể truyền đồng thời Nguyên tắc hoạt động củacơ chế cửasổ trượt... các hành động sử lý liên quan đến sự kiện này 15 Chương5: Cơ sởcủa giao thức Nhóm 10 2.4 Hiệu suất sử dụng liên kết Trước khi xem xét các thủ tục kiểm soát lỗi liên hệ với hai loại giaothức RQ liên tục(continuous RQ protocol),chúng ta sẽ đánh giá hiệu quả sử dụng khả năng có sẵn của liên kết đối với giaothức idle RQ.Hiệu suất sử dụng U là tỉ sốcủa hai đại lượng thời gian,mỗi đại lượng được đo... lan truyền Tp của liên kết - Nếu Tp > Tix thì U cũng bị chi phối bởi củasổ truyền K - Hiệu suất sử dụng liên kết U với một cửasổ truyền K được tính như sau: U = 1 nếu K > 1+2a U = KTix/(Tix+2Tp) = K/(1+2Tp/Tix) = K/(1+2a) nếu K < (1+2a) - Tp = S/V 30 Chương5: Cơ sởcủa giao thức - Tix = Ni/R Nhóm 10 Ni : số bit thông tin - a = Tp/Tix Ví dụ: một frame 1000 bit được truyền dùng một giaothức continuous... thái củagiaothức đươi dạng một bảng Đối với mỗi trạng thái,mục chỉ định trong bảng (table entry) xác định một sự kiện đi,bất kỳ hành động đặc biệt nào,và trạng thái mới tương ứng với tất cả các sự kiện dênd có thể,cũng như các yếu tố xác lập liên quan và tập các hành động tùy chọn Rõ ràng, bảng sự kiện-trạng thái mở rộng là một phương pháp trình bày tốt hơn vì nó cho 14 Chương5: Cơ sởcủa giao thức. .. B đã báo tín hiệu nhận và A đã truyền F4,F5,F6 Và do đó A chỉ có thể mở cửasổcủa nó để cho phép truyền 4 frame bắt đầu với F7 28 Chương5: Cơ sởcủa giao thức Nhóm 10 Kỹ thuật đã mô tả trên cung cấp một dạng điều khiển lưu lượng thực sự, vì trạm thu chỉ phải điều tiết 7 frame (trừ frame mà nó báo nhận) Hầu hết các giaothức cũng cho phép một trạm cắt đứt lưu lượng các frame đến từ trạm khác bằng việc... phù hợp với giaothức idle RQ,thời gian xử lý một i-frame,T và thời gian đợi báo nhận ACK-Frame liên quan,T đều nhỏ so với các thời gian truyền T và T.Cũng vì ACK-Frame ngắn hơn nhiều so với một I-Frame nên T có thể bỏ qua so với T Do đó tổng thời gian tối thiểu trước khi I-Frame kế tiếp có thể được truyền xấp xỉ bằng T+2T Biểu thức U là U= Tix / (Tix + 2Tp) 16 Chương5:Cơsởcủagiaothức Nhóm 10... xóa I-frame của N+2 ra khỏi danh sách truyền lại và truyền lại N+1 trước khi tiếp tục truyền I-frame mới - Khi nhận được I-frame N+1 ,nội dung của các frame được xếp hàng trong danh sách liên kết được S phân phối đến lớp trên 19 Chương5: Cơ sởcủa giao thức Nhóm 10 Trường hợp ACK-frame bị hỏng Giả sử ACK-frame N bị hỏng: - Khi nhận được ACK-frame N+1,P phát hiện chưa nhận được ACK-frame của N do đó . một giao thức điều khiển lỗi idle
RQ. Như đã mô tả, giao thức idle RQ sẽ cố gắng gửi các khối thông tin nối tiếp qua một
7
Chương 5: Cơ sở của giao thức. mở rộng, và chương trình cấu trúc mức cao.
10
Chương 5: Cơ sở của giao thức Nhóm 10
Trong nhiều trường hợp, chúng ta định nghĩa một giao thức như là một