Chương 8: Tầng liên kết dữ liệu
Giảng viên: Ngô Hồng Sơn
Khoa CNTT- ðHBK Hà Nội Bộ môn Truyền thông và Mạng máy tính
1
Tổng quan
(cid:1) Công nghệ mạng LAN (Local
(cid:1) Dịch vụ:
Area Network) (cid:1) Ethernet (cid:1) Wireless LAN
(cid:1) Công nghệ mạng WAN (Wide
(cid:1) ðóng gói, ñịa chỉ hóa (cid:1) Phát hiện và sửa lỗi (cid:1) Kiểm soát luồng (cid:1) Kiểm soát truy nhập ñường
truyền
2
Area Network) (cid:1) Frame relay (cid:1) ATM (cid:1) ….
(cid:1) Tuần trước: Tầng ứng dụng (cid:1) Mô hình: client-server vs. P2P (cid:1) Case study: HTTP, Mail, FTP… (cid:1) Tuần này: Tầng liên kết dữ liệu
Giới thiệu về Tầng liên kết dữ liệu
3
Nút mạng và liên kết
“link”
(cid:1) Nút mạng:
(cid:1) PCs, Laptop, Routers,
Server…
(cid:1) Liên kết:
(cid:1) Kênh truyền thông giữa
các nút kế tiếp
(cid:1) Hữu tuyến: Ethernet LAN,
ADSL, fiber optic…
(cid:1) Không dây: Wi-fi, Wi-Max,
vệ tinh,…
(cid:1) Tầng liên kết dữ liệu:
Truyền dữ liệu giữa các thành phần kế tiếp
4
Tầng liên kết dữ liệu và kiến trúc phân tầng
Application
Media independent sub-layer
Transport
Network
LLC
(Logical Link Control)
Data-link
MAC
Physical
(Media Access Control)
Media dependent sub-layer
802.2 LLC
802.3 802.4 802.5 802.11 ….. 802.16
5
Ethernet Token Bus Token Ring Wi-Fi Wi-Max
IEEE 802.x series
Tổng quan về các chức năng
Flow control
Framing
Media Access Control
Error control
Addressing
Datalink layer
6
Các chức năng (1)
(cid:1) ðóng gói - Framing:
thêm phần ñầu, phần ñuôi
(cid:1) ðơn vị dữ liệu: Frame (khung tin) (cid:1) Bên gửi: ñặt gói tin tầng mạng vào khung tin,
truyền lên tầng mạng (cid:1) ðịa chỉ hóa - Addressing:
(cid:1) Bên nhận: Bỏ phần ñầu, phần ñuôi và lấy gói tin
danh nút nguồn, nút ñích
7
(cid:1) ðịa chỉ vật lý ñặt trong phần ñầu gói tin ñể ñịnh
Các chức năng (2)
(cid:1) ðiều khiển truy nhập ñường truyền
(cid:1) Kiểm soát luồng:
(cid:1) Nếu là mạng ña truy nhập, cần có các giao thức truy nhập ñường truyền cho nhiều máy trạm
nhận hoạt ñộng tốt, không bị quá tải
(cid:1) Kiểm soát lỗi:
(cid:1) Kiểm soát tốc ñộ truyền của bên gửi sao cho bên
8
(cid:1) Phát hiện và sửa các lỗi bít (cid:1) e.g. parity check, checksum, CRC check
Kiểm soát lỗi
Phát hiện lỗi Phát hiện và sửa lỗi
9
Nguyên lý phát hiện lỗi
EDC= Error Detection Code (redundancy)
Mã phát hiện lỗi
Data Data
Y
Error
All bit in Data’ OK?
N
Data’ EDC’ Data EDC
10
Link with bit errors
Mã chẵn lẻ
(cid:1) Phát hiện lỗi bít ñơn
(cid:1) Mã ñơn
(cid:1) Phát hiện và sửa lỗi bít ñơn
(cid:1) Mã hai chiều
101011 111100 011101 001010
101011 101100 011101 001010
Internet?
11
(cid:1) Khái niệm về checksum của
Internet checksum (nhắc lại)
(cid:1) Mã kiểm tra lỗi ñộ dài 16 bit (cid:1) Tại bên gửi
(cid:1) ðặt 16 bit của checksum = 0 (cid:1) Tổng theo các số 16 bits (cid:1) ðảo bit tất cả (cid:1) Tại bên nhận
12
(cid:1) Tổng tất cả theo các số 16 bit (cid:1) Phải thu ñược toàn các bit 1 (cid:1) Nếu không, gói tin bị lỗi
CRC: Cyclic Redundancy Check Mã vòng
(cid:1) Dữ liệu ñược xem như một số nhị phân: D (cid:1) Chọn một chuỗi r+1 bit, G (chuỗi sinh – Generator) (cid:1) Tìm một chuỗi R ñộ dài r bit, sao cho chuỗi ghép của D và R
là một số nhị phân chia hết cho G (chia modulo 2)
(cid:1)
D D
Y
N
13
D’ R’ D R
Link with bit errors
CRC: Cách tìm R
(cid:1)
(cid:1) D.2r XOR R
G
(cid:1) Ví dụ 10101001000 1001 1001 1011110
(cid:1)
1110 1001
(cid:1) Có nghĩa là R là số dư khi chia D.2r
1110 1001
cho G (phép chia modulo 2)
1111 1001
R= D.2r mod G
1100 1001
1010 1001
D
110
R=110, chuỗi bít gửi ñi là 10101001110
14
D R
R
CRC biểu diễn dưới dạng ña thức
(cid:1) 1011 : x3 +x +1 (cid:1) Ví dụ một số mã CRC ñược sử dụng trong thực tế:
(cid:1) CRC-8 = x8 + x2 + x + 1 (cid:1) CRC-12 = x12+x11+x3+x2+x (cid:1) CRC-16-CCITT = x16 + x12 + x5 + 1 (cid:1) CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5
+ x4 + x2 + x + 1
(cid:1) G càng dài, mã CRC phát hiện lỗi càng hiệu quả (cid:1) CRC ñược sử dụng rộng rãi trong thực tế
(cid:1) Wi-fi, ATM, Ethernet… (cid:1) Phép toán XOR ñược cài ñặt bởi phần cứng (cid:1) Phát hiện chuỗi bít bị lỗi có ñộ dài nhỏ hơn r+1 bit
15
Kiểm soát truy nhập ñường truyền
16
Các dạng liên kết
(cid:1) ADSL (cid:1) Telephone modem (cid:1) Leased Line….
(cid:1) ðiểm-nối-ñiểm
(cid:1) Mạng LAN truyền thống với hình trạng bus hay mạng hình
sao dùng hub (công nghệ lỗi thời)
(cid:1) Wireless LAN, radio network, mobile network (cid:1) HFC: (cid:1) …
(cid:1) Quảng bá
17
(cid:1) Các mạng quảng bá cần giao thức ñiều khiển truy nhập ñể tránh xung ñột -> Giao thức ña truy nhập
Phân loại các giao thức ña truy nhập
(cid:1) Chia tài nguyên của ñường truyền thành nhiều phần nhỏ
(Thời gian - TDMA, Tần số - FDMA, Mã - CDMA)
(cid:1) Chia từng phần nhỏ ñó cho các nút mạng
(cid:1) Chia kênh:
(cid:1) Kênh không ñược chia, cho phép ñồng thời truy nhập, chấp
nhận là có xung ñột (collision)
(cid:1) Cần có cơ chế ñể phát hiện và tránh xung ñột (cid:1) e.g. Pure Aloha, Slotted Aloha, CSMA/CD, CSMA/CA…
(cid:1) Truy nhập ngẫu nhiên:
(cid:1) Theo hình thức quay vòng (cid:1) Token Ring, Token Bus….
18
(cid:1) Lần lượt:
Các phương pháp chia kênh
(cid:1) FDMA: frequency division multiple access (cid:1) TDMA: time division multiple access (cid:1) CDMA: code division multiple access
19
Ví dụ:
TDMA và FDMA
4 kênh
FDMA
frequency
time
TDMA:
frequency
20
time
TDMA: Ví dụ
(cid:1) Mạng LAN có 6 máy, 1,3,4 hoạt ñộng. 2, 5, 6
nghỉ
3
4
6-slot frame 3 4
1
1
21
FDMA: Ví dụ
time
s d n a b y c n e u q e r f
22
FDM cable
Các phương pháp truy cập ngẫu nhiên
23
Aloha
Central Node
(cid:1) Packet-Switched Radio Network (cid:1) Các nút truyền trên một tần số (f0) (cid:1) Nút trung tâm nhận và truyền lại một
tần số khác (f1)
f0
f1
Nếu có hai nút cùng truyền: Xung ñột
(cid:1) Nếu có xung ñột, nút vừa truyền sẽ
nhận ñược một gói tin bị lỗi, nó sẽ ñợi một thời gian ngẫu nhiên trước khi truyền lại
24
Host 1 Host 2 Host 3
Slotted ALOHA
25
(cid:1) Thời gian ñược chia làm các khe (slot) bằng nhau (cid:1) Dữ liệu có cùng kích thước (1 slot) (cid:1) Các nút phải ñồng bộ hóa thời gian
Pure ALOHA
26
Hi(cid:1)u qu(cid:2) kém h(cid:3)n Slotted ALOHA!
CSMA/CD
(cid:1) Carrier Sense Multiple Access with Collision
Detection (ða truy nhập, có phát hiện xung ñột)
blah blah
b l a h
(cid:1) Thế nào là CSMA/CD: trong một cuộc họp
b l a h
(cid:1) Multiple Access: (cid:1) Collision: (cid:1) CSMA: “Listen before talk” (cid:1) CD
(cid:1) “Listen while talking”
27
CSMA/CD
(cid:1) CSMA: Các máy nghe trước muốn truyền:
(cid:1) Tại sao lại có xung ñột?
(cid:1) Nếu kênh rỗi, truyền toàn bộ dữ liệu (cid:1) Nếu kênh bận, chờ (rút lui và quay lại)
ðộ trễ lan truyền
28
Xung ñột trong CSMA
(cid:1) Giả sử kênh truyền có 4
nút
(cid:1) Tín hiệu ñiện từ lan truyền từ nút này ñến nút kia mất một thời gian nhất ñịnh (trễ lan truyền)
(cid:1) Ví dụ:
29
CSMA/CD: Tóm tắt
(cid:1) Máy trạm nghe trước khi muốn truyền (cid:1) Bận: Rút lui, sau ñó quay lại tiếp tục nghe (cid:1) Rỗi: Bắt ñầu truyền, vừa truyền vừa “nghe ngóng”
xem có xung ñột hay không (cid:1) Nghe trong thời gian bao lâu?
truyền và quay lại trạng thái rút lui (cid:1) Sau khi rút lui, khi nào thì quay lại
(cid:1) Nếu phát hiện thấy xung ñột: Hủy bỏ quá trình
30
(cid:1) Exponential back-off
So sánh chia kênh và truy nhập ngẫu nhiên
(cid:1) Hiệu quả, công bằng cho ñường truyền với lưu lượng lớn (cid:1) Lãng phí nếu chúng ta cấp kênh con cho một nút chỉ cần
lưu lượng nhỏ
(cid:1) Chia kênh
(cid:1) Khi tải nhỏ: Hiệu quả vì mỗi nút có thể sử dụng toàn bộ
kênh truyền
(cid:1) Tải lớn: Xung ñột tăng lên
(cid:1) Truy nhập ngẫu nhiên
của hai phương pháp trên
31
(cid:1) Phương pháp quay vòng: Có thể dung hòa ưu ñiểm
Token Ring – Mạng vòng dùng thẻ bài
(cid:1) Một “thẻ bài” luân
chuyển lần lượt qua từng nút mạng (cid:1) Nút nào giữ thẻ bài sẽ ñược gửi dữ liệu
T
(nothing to send)
chuyển thẻ bài ñi
(cid:1) Gửi xong phải T
(cid:1) Tốn thời gian chuyền
(cid:1) Một số vấn ñề
thẻ (cid:1) Trễ (cid:1) Mất thẻ bài….
32
data
Tổng kết các phương pháp kiểm soát ña truy nhập
(cid:1) Chia kênh (cid:1) Truy nhập ngẫu nhiên (cid:1) Quay vòng (cid:1) Phân tích ưu, nhược ñiểm
33
Thảo luận
cần gửi tăng lên thì: (cid:1) Xung ñột tăng lên? (cid:1) Thông lượng tăng lên?
(cid:1) Trong phương pháp CSMA/CD, khi lượng dữ liệu
lượng dữ liệu cần gửi tăng lên?
(cid:1) Trong phương pháp TDMA, xung ñột sẽ tăng lên khi
Token Ring là kém hơn so với CSMA/CD
(cid:1) Khi lượng dữ liệu cần gửi là rất nhiều, phương pháp
34
(cid:1) Câu hỏi: Giải thích một cách ñịnh lượng hiệu quả của các phương pháp truy cập ñường truyền (Bài tập lớn)
LAN: Local Area Network
35
LAN topology
WLAN
hub, switch
36
Bus
Star Ring
Mạng Lan Ethernet
(cid:1) Ethernet: 10BaseT, 10Base2… (cid:1) Fast Ethernet: 100BaseT (cid:1) Giga Ethernet
(cid:1) IEEE 802.3 (cid:1) Tốc ñộ ña dạng: 10 Mbps – 10 Gbps…
37
Metcalfe’s Ethernet sketch
Mạng hình sao
(cid:1) Mạng dạng bus từng phổ biến trước ñây
(cid:1) Các nút mạng cùng chia sẻ một ñường trục
(cid:1) Ngày nay: Chủ yếu là mạng hình sao
(cid:1) Một bộ chuyển mạch trung tâm với nhiều cổng Ethernet (cid:1) Bộ chuyển mạch có thể tạo liên kết ñộc lập cho 2 nút mạng
bất kỳ
(cid:1) Không xung ñột (cid:1) Không giao thức ña truy nhập .
switch
38
bus: coaxial cable star
Cấu trúc ñơn vị dữ liệu của Ethernet
PAD
(cid:1) 6 bytes
(cid:1) Preamble: Bắt ñầu một khung tin (cid:1) Address: ðịa chỉ vật lý của trạm nguồn, trạm ñích
AppleTalk, …)
(cid:1) Type: Giao thức tầng trên (IP, Novell IPX,
(nếu cần thiết)
(cid:1) PAD: Phần thêm vào cho khung tin ñủ ñộ dài
39
(cid:1) CRC: Mã kiểm soát lỗi
Chuẩn mạng cục bộ 802.3 Ethernet Standards
(cid:1) Link & Physical Layers (cid:1) MAC: CSMA/CD (cid:1) Có nhiều chuẩn Ethernet khác nhau
(cid:1) Cùng giao thức MAC và cấu trúc Frame (cid:1) Tốc ñộ khác nhau: 2 Mbps, 10 Mbps, 100 Mbps, 1Gbps, 10G bps (cid:1) Phương tiện truyền khác nhau: Cáp quang, cáp ñồng trục, cáp
xoắn ñôi.
MAC protocol and frame format
100BASE-T2
100BASE-FX
100BASE-TX
100BASE-BX
100BASE-SX
100BASE-T4
application transport network link physical
40
fiber physical layer
copper (twister pair) physical layer
Ethernet cổ ñiển
Bộ lặp 500m
10Mb/s
<
l
1500
m
Cáp ñồng trục
8
=
=
=
m
PROP
/ cl
5.2/
10
6
>
>
s m
2
12
max TRANSP
TRANSP
s
1500 ⇒ )
=
·
PROP ( m 12
10
120
s
Packetsize
/ sMb
bits
Thực tế, Min packet size = 512 bits. • Thêm thời gian phát hiện xung ñột. • Cho phép “repeaters” ñủ thời gian khuếch ñại tín hiệu.
41
· ‡ \
Chuẩn Ethernet 10Mb/s
Ethernet MAC Protocol
10Base-5
10Base-2
10Base-T
10Base-F
42
10Base-5: Cáp ñồng trục béo, max = 500m. 10Base-2: Cáp ñồng trục gầy, max ~ 200m (180m). 10Base-T: Dùng cáp xoắn ñôi (twisted-pair) CAT 3 10Base-F: Dùng cáp sợi quang.
10Base-T
Hub
(cid:1) Sử dụng hub trung tâm, cáp TP CAT 3 (4 cặp
dây xoắn).
(cid:1) Dễ lắp ñặt và quản trị (cid:1) Làm Ethernet trở nên phổ biến hơn
43
100m
“Fast Ethernet” 100Mb/s
Ethernet MAC Protocol
100Base-T4
100Base-TX
100Base-FX
Mạng hình sao, ðộ dài cáp 100m.
100m
Hub, switch
44
100Base-T4: Cáp TP CAT 3 . 100Base-TX: Cáp TP CAT 5. 100Base-FX: Cáp sợi quang.
“Gigabit Ethernet” 1Gbps
Ethernet MAC Protocol
1000Base-TX
1000Base-FX
45
1000Base-TX: 4 cặp dây xoắn, CAT 6. 1000Base-FX: Cáp sợi quang.
ðịa chỉ MAC và ARP
(cid:1) ðịa chỉ IP : (cid:1) 32-bit (cid:1) Dùng trong tầng mạng IP
(cid:1) ðịa chỉ MAC :
46
(cid:1) Dùng trong tầng liên kết dữ liệu (cid:1) 48 bit
47
ARP và ñịa chỉ MAC Mỗi card mạng có một ñịa chỉ MAC
1A-2F-BB-76-09-AD
Broadcast address = FF-FF-FF-FF-FF-FF
= adapter
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
48
LAN (wired or wireless)
ARP: Address Resolution Protocol
Vấn ñề: Xác ñịnh ñịa chỉ MAC từ ñịa chỉ IP
(cid:1) Mỗi nút mạng (host, router) có một bảng ARP
137.196.7.78
1A-2F-BB-76-09-AD
137.196.7.23
137.196.7.14
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
(cid:1) ARP table: Ánh xạ ñịa chỉ IP/MAC của một số nút trong mạng < IP address; MAC address; TTL> (cid:1) TTL (Time To Live): khoảng 20 min.)
0C-C4-11-6F-E3-98
137.196.7.88
49
LAN
Giao thức ARP : Hoạt ñộng trên cùng một mạng
(cid:1) A lưu lại ñ/c MAC của B và gửi tin ñến B
(cid:1) A muốn gửi dữ liệu tới B mà không biết ñ/c MAC của B
“plug-and-play” (cid:1) Nếu muốn ARP mở
(cid:1) ARP là một giao thức
quảng bá?
rộng phạm vi hoạt ñộng sang một mạng khác? (cid:1) ARP Proxy
50
(cid:1) A quảng bá một gói tin ARP, trong ñó chỉ ra ñ/c IP của B (cid:1) Quảng bá ntn? (cid:1) Phạm vi gói tin ñược
(cid:1) B nhận ñược ñ/c này sẽ trả lời A ñ/c MAC của mình (cid:1) Làm sao biết A gửi?
Ví dụ: chuyển gói tin giữa hai máy
Giả sử A biết ñ/c IP của B
88-B2-2F-54-1A-0F
74-29-9C-E8-FF-55 A
E6-E9-00-17-BB-4B
222.222.222.221
1A-23-F9-CD-06-9B
111.111.111.111
222.222.222.220
111.111.111.110
222.222.222.222 B
111.111.111.112
R
49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D
51
(cid:1) A tạo một gói tin IP, ñịa chỉ nguồn A, ñịa chỉ ñích B (cid:1) A dùng ARP ñể lấy ñ/c MAC của router: 111.111.111.110 (cid:1) A tạo một frame, ñ/c ñích là router, ñặt gói tin vào (cid:1) A chuyển frame tới R (cid:1) R nhận frame (cid:1) R ñọc ñịa chỉ IP của B từ trong khung tin (cid:1) R dùng ARP ñể tìm ñ/c MAC của B (cid:1) R tạo một frame, ñặt gói tin vào và chuyển ñến B
88-B2-2F-54-1A-0F
74-29-9C-E8-FF-55
A
E6-E9-00-17-BB-4B
222.222.222.221
1A-23-F9-CD-06-9B
111.111.111.111
222.222.222.222
222.222.222.220
111.111.111.110
B
111.111.111.112
R
49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D
52
Tuần tới
(cid:1) More about LAN: (cid:1) Bridge and Switch (cid:1) WLAN
(cid:1) Physical layer issues
53
Acknowledgment
(cid:1) Bài giảng có sử dụng các tư liệu và hình vẽ
từ: (cid:1) Tài liệu của trường ñại học Keio và Ritsumekan (cid:1) Tài liệu “Computer Network, a top down approach” của J.F Kurose và K.W. Ross
54