Tải bản đầy đủ (.ppt) (45 trang)

Bài giảng Mạng máy tính: Chương 5 - TS. Trần Quang Diệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 45 trang )

Chương 5.
Giao thức tầng liên kiết dữ liệu (data link)
Quang Dieu Tran, PhD
Faculty of Information Technology
University of Communication and Transport (Branch in
Ho Chi Minh City)
Email:
Website: sites.google.com/sites/tranlectures


Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP
5.5 - Specific link layer technologies

08/05/21

Chương 5. Tầng liên kết dữ liệu

2


Introduction & services

08/05/21

Chương 5. Tầng liên kết dữ liệu

3




Data Link
Data link: Liên kết dữ
liệu; tầng 2.
 PDU: frame.


 packet



“link”

 nhiều frame

Nhiệm vụ của tầng data
link là truyền các các
packet (datagram) từ nút
này tới nút khác.

08/05/21

Chương 5. Tầng liên kết dữ liệu

4


Data Link & frame


M

application
Ht M
transport
network
Hn Ht M
link
Hl HnHt M
physical


phys. link

network
link
physical

Hl Hn Ht M
frame

Link:
 router-router;



data link
protocol

host-host; router-host


frame: dữ liệu của tầng data link

08/05/21

Chương 5. Tầng liên kết dữ liệu

5


Các dịch vụ của tầng data link


Đóng frame và truy cập đường truyền (framing,
link access)
 đóng

gói tin vào các frame
 truy nhập đường truyền (đường truyền dùng chung cần
có quy tắc truy nhập)
 địa chỉ vật lý (physical addr) được sử dụng.


Truyền tin cậy (reliable delivery): rdt.
 đảm

bảo các gói tin của tầng mạng không bị lỗi.
 tuỳ thuộc chất lượng đường truyền.
08/05/21


Chương 5. Tầng liên kết dữ liệu

6


Các dịch vụ của tầng data link (cont)


Flow control (điều khiển lưu lượng!!!)
 đảm



bảo lưu lượng truyền hợp lý, nút nhận khơng bị q tải

Error detection
 lỗi

có thể phát sinh do nhiễu, tín hiệu yếu…
 nút nhận phát hiện lỗi, bỏ qua hoặc yêu cầu nút gửi gửi lại.


Error correction
 nút



nhận xác định bit bị lỗi và sửa lỗi.

Half-duplex and Full-duplex

 half-duplex:

các nút không thể truyền nhận đồng thời.
 full-duplex: các nút có thể truyền nhận đồng thời.
08/05/21

Chương 5. Tầng liên kết dữ liệu

7


Implementation



Link layer được thực thi tại network adapter (NIC – Network
Interface Card):
NIC = RAM + DSP chips + host bus interface + link
interface

M

application
Ht M
transport
network
Hn Ht M
link
Hl Hn Ht M
physical


data link
protocol
phys. link

network
link
physical

Hl Hn Ht M
frame

adapter card
08/05/21

Chương 5. Tầng liên kết dữ liệu

8


Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP
5.5 - Specific link layer technologies

08/05/21

Chương 5. Tầng liên kết dữ liệu


9


Error detection and correction



D = Data
EDC= Error Detection and Correction bits





Bits thêm vào với mục đích kiểm sốt lỗi.
Số lượng bit càng cao thì khả năng kiểm sốt lỗi càng tốt.

Error detection: không phải lúc nào cũng phát hiện được lỗi!

08/05/21

Chương 5. Tầng liên kết dữ liệu

10


Parity
Parity: cân bằng!!! (chẵn lẻ).
 Parity chẵn (even parity)



 tổng

số các bit 1 (bao gồm cả bit parity) là chẵn.
 vd: parity của 101010101 là 1 (tổng số bit 1 = 5+1).
parity bit = (số bit 1 của data là lẻ) ? 1 : 0


Parity lẻ (odd parity):
 tổng

số các bit 1 (bao gồm cả bit parity) là lẻ.
 vd: parity của 101010101 là 0 (tổng số bit 1 = 5).
parity bit = (số bit 1 của data là chẵn)? 1:0
08/05/21

Chương 5. Tầng liên kết dữ liệu

11


Parity checking
Single Bit Parity:
Detect single bit
errors

Two Dimensional Bit Parity:
Detect and correct single bit errors


0

08/05/21

Chương 5. Tầng liên kết dữ liệu

0

12


Parity checking (cont.)
Biết rằng đơn vị dữ liệu sau khi thêm bit kiểm tra
là 7. Hãy tính ma trận kiểm tra chẵn lẻ hai chiều
của chuỗi ký tự “SING”
 Giải: các ký tự trong chuỗi có mã 83-73-78-71


08/05/21

0

1

0

1

0


0

0

1

1

0

1

0

0

1

1

0

0

1

0

1


1

0

0

1

1

1

0

1

0

1

0

0

0

1

0


1

1

0

0

0

0

0

1

0

1

0

1

0

1

Chương 5. Tầng liên kết dữ liệu


13


Internet Checksum
Goal: Phát hiện “errors” (vd: đảo bit) trong quá trình
truyền/nhận các segment (lưu ý: chỉ dùng ở tầng transport)
Receiver:

Sender:






Coi segment là một dãy các
số nguyên 16 bit
checksum: tổng bù 1của các
số 16-bit có segment
Sender chèn giá trị tổng bù 1
trên vào trường checksum
trong UDP

08/05/21





Tính checksum của segment

nhận được
So sánh giá trị tính được với
giá trị tại trường checksum:
 NO – Có lỗi
 YES – Khơng có lỗi. nhưng
vẫn có thể có lỗi? ….

Chương 5. Tầng liên kết dữ liệu

14


CRC – Cyclic Redundancy Check




Data = d bits dữ liệu (D).
Sender chọn r+1 bit sinh (G - generator).
Chọn r CRC bits (R) sao cho:


DR chia hết cho G (modulo 2)








DR = D*2r XOR R. (= (D << r ) XOR R)

receiver: nhận D’R’; biết trước G; chia D’R’ cho G, nếu phép chia có dư  có
lỗi.
có thể phát hiện lỗi <= r bit.

CRC được sử dụng rộng rãi trong thực tế.

08/05/21

Chương 5. Tầng liên kết dữ liệu

15


Phép tính modulo 2


Phép tính modulo N:
 K/quả

modulo N = kết quả bình thường mod N.
 Vd: 5+9 (mod 4) = 14 mod 4 = 2.


Phép tính modulo 2 với số nhị phân:
 Thực

hiện với từng bit.
 1+1 (mod 2) = 0; 1+0 (mod 2) = 1… (không nhớ!!!)

 1-0 (mod 2) = 0 – 1 (mod 2) = 1
 Với hai số nhị phân b1 và b2 (cộng không nhớ):


08/05/21

b1 + b2 = b2 + b1 = b1 XOR b2
Chương 5. Tầng liên kết dữ liệu

16


CRC Example
Biết: D,G. Tìm R?
DR chia hết cho G (mod 2) nghĩa là:
D.2r XOR R = nG
=> D.2r = nG XOR R
Do vậy:Nếu chia D.2r cho G, phần
dư sẽ là R

D.2r
R = remainder[
G
08/05/21

]

Chương 5. Tầng liên kết dữ liệu

17



Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP
5.5 - Specific link layer technologies

08/05/21

Chương 5. Tầng liên kết dữ liệu

18


Multiple Access
Hai loại “links”:


point-to-point
 PPP (dial-up

access: kết nối Internet tại nhà qua modem)
 point-to-point link giữa Ethernet switch và host


broadcast (chia sẻ: shared wire or medium)
 Radio;


Bus LAN;
 802.11 wireless LAN

08/05/21

Chương 5. Tầng liên kết dữ liệu

19


MAP: Multiple Access Protocols
Các nút mạng dùng chung một đường truyền.
 Có lúc nhiều nút mạng cùng muốn truyền dữ liệu.


 xung

đột (collision).
 chỉ có một nút truyền thành cơng!!!


Multiple Access Protocol (MAP):
 các

quy tắc quy định việc sử dụng đường truyền chung
giữa các nút mạng.



Human MAP examples:

 Class:

đôi khi SV mất trật tự  xung đột (collision).
 Cocktail party: multiple languages
08/05/21

Chương 5. Tầng liên kết dữ liệu

20


Ideal Mulitple Access Protocol
Đường truyền có tốc độ (rate) = R
 Khi một nút muốn truyền, tốc độ là R.
 Khi M nút muốn truyền, tốc độ TB là R/M.
 Điều khiển truy nhập phân tán:
 không

cần một nút đặc biệt để điều khiển (các nút tự
điều khiển).
 không cần các tín hiệu đồng bộ


Đơn giản.

08/05/21

Chương 5. Tầng liên kết dữ liệu

21



MAP: taxonomy (phân loại)


Channel partitioning (phân mảnh kênh truyền)
 kênh

truyền được chia thành các “miếng” nhỏ (theo thời gian, tần
số, code).
 mỗi “miếng” sẽ được một nút dùng riêng  không xung đột
(collision).


Random access (truy nhập ngẫu nhiên)
 nút

nào muốn truyền, ngẫu nhiên truy cập kênh truyền  có khả
năng xung đột; xử lý xung đột?



Taking turns (truy nhập lần lượt)
 các

nút phối hợp chặt chẽ trong việc sử dụng đường truyền 
không xung đột.

 Goal: efficient, fair, simple, decentralized
08/05/21


Chương 5. Tầng liên kết dữ liệu

22


Channel Partitioning MAP: TDMA
TDMA: time division multiple access
 Các nút được lần lượt truy cập đường truyền trong
khoảng thời gian xác định (time slot).
 Không phải nút nào cũng muốn truyền: unused slot
(idle slot).
 Vd:

08/05/21

6 slots, 3 idle do nút 2,5,6 khơng có nhu cầu.

Chương 5. Tầng liên kết dữ liệu

23


Channel Partitioning MAP: TDMA
FDMA: frequency division multiple access
 Phổ của kênh truyền được chia thành nhiều dải tần.
 Mỗi dải tần dành riêng cho một nút.
 Như vậy, nút không có nhu cầu truyền thì dải tần
dành cho nó bị lãng phí (unused, idle).


08/05/21

2,5,6 idle

frequency bands

 Vd:

time

Chương 5. Tầng liên kết dữ liệu

24


Channel Partitioning MAP: CDMA
CDMA (Code Division Multiple Access)
Mỗi nút được xác định bởi mã duy nhất (code).
 Tất cả các nút sử dụng chung tần số nhưng lại có
mã riêng (CQ - chipping sequence) để mã hoá và
giải mã dữ liệu.
 encoded signal = (data) X (CQ)
 decoding: tích trong của encoded signal và CQ.
 Sử dụng chủ yếu trong mạng wireless (cellular,
satellite…).


08/05/21

Chương 5. Tầng liên kết dữ liệu


25


×