Lý thuyết MẠNG MÁY TÍNH
description
Transcript of Lý thuyết MẠNG MÁY TÍNH
www.themegallery.com
LOGO
Lý thuyết
MẠNG MÁY TÍNHLý thuyết
MẠNG MÁY TÍNH
GV: Phan Bá Trí
Email: [email protected]
Huế, 1/2012
Chương 3:TẦNG LIÊN KẾT DỮ LIỆU
Nội dung:
1.Vai trò và chức năng của tầng liên kết dữ liệu
2.Các phương pháp kiểm soát lỗi
3.Kiểm soát luồng
4.Các giao thức điều khiển liên kết dữ liệu
3.1 Vai trò và chức năng của tầng LKDL
3.1.1 Cơ sở nhận biết gói tin
a. Khung tin: Lớp liên kết dữ liệu (LKDL) dựa vào khả năng chuyển tải của lớp Vật lý. Các bit thông tin truyền đi hoặc nhận về đều được nhóm lại thành những đơn vị logic gọi là khung (Frame).
Tầng 2 tách dòng bit thành Frame và tính checksum cho mỗi Frame trước khi truyền, khi có lỗi (error) nó thông báo cho nơi gửi để truyền lại.
3.1 Vai trò và chức năng của tầng LKDL
3.1.1 Cơ sở nhận biết gói tin
b. Nhận biết gói tin:
- Để tách Frame người ta đưa ra các phương pháp cơ bản sau:
+ Đếm số ký tự: phương pháp này ít dùng vì từ đếm cũng bị lỗi khi truyền
+ Dùng ký tự bắt đầu và kết thúc: STX,ETX thường được dùng trong giao thức hướng ký tự.
+ Dùng cờ (flags) bắt đầu và kết thúc với bit (01111110) thường được dùng trong giao thức hướng bit.
3.1 Vai trò và chức năng của tầng LKDL
3.1.2 Kiểm soát lỗi- Dùng Timer, nghĩa là nếu quá thời gian quy định bên gửi không nhận được tín hiệu trả lời, xem như lỗi, phát lại gói tin hỏng.
- Đánh số Frame gửi đi, nếu không nhận đúng thứ tự khung là lỗi, yêu cầu phát lại
- Để kiểm tra thu đúng gói tin gởi đi thường khi phát tin có kèm theo trường kiểm soát lỗi (FCS) bằng cách sử dụng các phương pháp sau:
+ Phương pháp bit chẵn lẻ
+ Phương pháp mã đa thức
+ Phương pháp mã sửa sai dùng nguyên lý cân bằng parity để chỉ ra các bit lỗi
3.1 Vai trò và chức năng của tầng LKDL
3.1.3 Điều khiển luồng- Nếu số lượng dữ liệu truyền giữa 2 thiết bị phát và thu là nhỏ thì thiết bị phát có thể phát tức thời
- Nếu 2 thiết bị hoạt động tốc độ khác nhau, chúng ta phải điều khiển số liệu ở ngõ vào để ngăn chặn tình trạng tắc ngẽn trong mạng.
- Trong các mạng chuyển mạch gói (PSN: Package Switching Network) thường vẫn xảy ra trường hợp lượng tải đưa lên từ bên ngoài vào vượt khả năng phục vụ của mạng.
- Đôi lúc phải hạn chế bớt một phần truy nhập vào mạng để tránh trường hợp mạng bị quá tải như trên.
3.1 Vai trò và chức năng của tầng LKDL
3.1.4 Các giao thức liên kết dữ liệu
- Kiểm soát lỗi và điều khiển luồng là hai thành phần thiết yếu của giao thức điều khiển liên kết dữ liệu.
- Để đảm bảo thông tin được trao đổi thường xuyên thông qua một liên kết dữ liệu nối tiếp được tiếp nhận và biên dịch ra một cách chính xác, giao thức định nghĩa LKDL định nghĩa những chi tiết sau:
+ Khuôn dạng của mẫu số liệu trao đổi
+ Dạng và thứ tự các thông điệp trao đổi
3.2 Các phương pháp kiểm soát lỗi
3.2.1 Phương pháp kiểm tra bit chẵn lẽ
- Thường được gọi là phương pháp parity bit
- Máy phát sẽ thêm vào mỗi ký tự truyền 1 bit kiểm tra parity đã được tính toán trước khi truyền.
- Khi tiếp nhận thông tin, máy thu sẽ tính toán tương tự như máy phát và so sánh kết quả, nếu sai sẽ thông báo lỗi.
- Mạch được dùng để tính toán parity bit cho mỗi ký tự gồm tập các cổng XOR được nối với nhau như là một bộ cộng mudulo-2.
3.2 Các phương pháp kiểm soát lỗi
3.2.2 Phương pháp kiểm tra vòng
- Phương pháp này khai thác đặc trưng của các số nhị phân khi dùng phép toán modulo-2. Giả sử M(x) là một số m bit cần truyền, G(x) là đa thức sinh bậc r. Ta có các bước sau:
B1.Thêm r bit 0 vào cuối xâu bit cần truyền. Xâu ghép có m+r bit, tương ứng với đa thức xrM(x).
B2.Chia modulo-2 xâu bit tương ứng với xrM(x). cho xâu bit G(x).
B3.Lấy số bị chia trong bước 2 trừ cho số dư
Kết quả là xâu bit được truyền đi (xâu gốc ghép với checksum)
3.3 Kiểm soát luồng
3.3.1 Chức năng
- Thiết lập sự cân đối giữa việc hạn chế người sử dụng và giữ độ trễ truyền tin trung bình ở mức hợp lý.
- Đảm bảo sự công bằng giữa những người sử dụng khi hạn chế một phần thông tin truy nhập vào mạng
- Duy trì khả năng của mạng ở mức cần thiết và không để xảy ra tình huống khóa chết (deadlock) do tràn bộ nhớ đệm (buffer-overflow)
3.3 Kiểm soát luồng
3.3.2 Phân loại
Dựa trên các yêu cầu đối với cơ chế điều khiển luồng, chúng ta có thể phân thành 2 nhóm sau:
- Điều khiển luồng bằng cửa sổ
- Điều khiển luồng bằng phương pháp điều chỉnh tốc độ của các gói
3.3 Kiểm soát luồng
3.3.2 Phân loại
Các thông số:
- Thông số cửa sổ: W[gói]
- Số thứ tự của gói cuối cùng được gởi: P(S)
- Số thứ tự của gói mới nhận sau cùng: P(R)
Ví dụ: W=8, P(R)=2, số lượng gói đã có ACK=2, P(S)=6. Hãy cho biết số gói có thể truyền đi số gói đang đợi vào thời điểm đó
- X số gói còn có thể truyền đi: X=W-P(S)=8-6=2
- Số lượng gói phúc đáp: Y= P(S) - P(R)= 6-2 = 4
3.3 Kiểm soát luồng
3.3.3 Điều khiển luồng bằng cửa sổ ở lớp LKDL
a.Nguyên lýKỹ thuật cửa sổ trong lớp LKDL thường được gắn liền với phương thức tự động yêu cầu lặp ARQ. Trong phần này chúng ta mô tả các thủ tục kết hợp giữa nguyên lý ARQ với cửa sổ trượt để thực hiện chức năng điều khiển luồng cần thiết.
Đối với kỹ thuật cửa sổ, các khung gửi đi được đánh số thứ tự từ 0 đến 2n-1 tương ứng với trường có n bit. Cả bên phát và thu đều sử dụng cửa sổ trượt trong khi trao đổi thông tin, tuy nhiên phát có cửa sổ truyền (Seding Window) và bên thu có cửa sổ nhận (Reciving Window ).
3.3 Kiểm soát luồng
3.3.3 Điều khiển luồng bằng cửa sổ ở lớp LKDL
b.Cửa sổ trượt có kích thước 1 bit
Sử dụng chiến lược truyền lặp ARQ được kết hợp với cửa sổ để điều khiển số khung lưu thông trên đường truyền A và B.
Mô hình ARQ đơn giản nhất là ARQ dừng-và đợi, có nghĩa là sau khi bên phát đã truyền đi một khung dữ liệu, nó dừng lại và đợi phúc đáp của bên thu. Nhận được phúc đáp nó gửi tiếp khung tiếp theo.
Như vậy, đây cũng chính là mô hình cửa sổ trượt với kích thước cửa sổ bằng 1.
3.4 Giao thức điều khiển liên kết dữ liệu
3.4.1 Giao thức KERMIT
- Đây là lớp giao thức đơn giản
- Cho phép truyền số liệu một chiều từ máy tính này đến một máy tính khác.
- Thông qua liên kết point to point, được sử dụng rộng rãi để truyền file.
3.4 Giao thức điều khiển liên kết dữ liệu
3.4.1 Giao thức KERMIT
Khuôn dạng bản tin:
SOH: Đánh dấu bặt đầu một khung
LEN: Số ký tự/bytes trong khung
SEQ: Số thứ tự gửi của khung
TYPE: Kiểu khung được mã hóa dùng cho ký tự đơn
DATA: Nội dung khung
BCC: Ký tự kiểm tra khối
CR: Đánh dấu kết thúc khung
SOH LEN SEQ TYPE DATA BCC CR
3.4 Giao thức điều khiển liên kết dữ liệu
3.4.2 Giao thức BSC
BSC (Binary Synchronous Communication): đây là giao thức định hướng ký tự hoạt động ở chế độ bán song song (haft-duplex) và điều khiển truyền tin là bộ giao thức nổi tiếng nhất được IBM phát triển.
3.4 Giao thức điều khiển liên kết dữ liệu
3.4.2 Giao thức BSC
Tập ký tự điều khiển:Ký tự Chức năng
ENQ Yêu cầu trả lời từ một trạm xa
ACK Thông báo đã nhận thông tin
NAK Thông báo không nhận được thông tin
STX Kết thúc phần Header và bắt đầu phần dữ liệu
ETX Kết thúc phần dữ liệu
ETB Kết thúc đoạn tin
SOH Bắt đầu phần Header của bản tin
EOT Kết thúc quá trình truyền tin và giải phóng liên kết
DLE Thay đổi ý nghĩa của các ký tự điều khiển truyền tin khác
SYN Ký tự đồng bộ bản tin để duy trì đồng bộ giữa hai bên
3.4 Giao thức điều khiển liên kết dữ liệu
3.4.2 Giao thức BSC
Khuôn dạng bản tin:
Trong đó:
BCC: kiểm tra khối đơn là 8bit, kiểm tra parity theo chiều dọc cho các ký tự thuộc vùng Text, hoặc 16bit kiểm tra lỗi theo phương pháp CRC-16
Header: bao gồm địa chỉ nơi nhận, số gói tin, điều khiển, biên nhận ACK.
SYN SYN SOH Header STX DATA ETX/ETB BCC
3.4 Giao thức điều khiển liên kết dữ liệu
3.4.3 Giao thức HDLC
- HDLC (Hight Level Data Link Control): là giao thức định hướng bit được dùng phổ biến hiện nay. Tất cả các loại dữ liệu có thể được truyền dưới dạng bit nghĩa là phải được giải mã thành các bit sau khi truyền.
- Giao thức HDLC là chuẩn quốc tế được ISO đề nghị, dùng cho tất cả liên kết số liệu point to point và multipoint.