Chuong 3_Tang lien ket du lieu

Download Report

Transcript Chuong 3_Tang lien ket du lieu

Lý thuyết
MẠNG MÁY TÍNH
GV: Phan Bá Trí
Email: [email protected]
LOGO
www.themegallery.com
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
LEN
SEQ
TYPE
DATA
BCC
CR
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
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:
SYN
SYN
SOH
Header
STX
DATA
ETX/ETB
BCC
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 CRC16
Header: bao gồm địa chỉ nơi nhận, số gói tin,
điều khiển, biên nhận ACK.
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.