Chương 5: Tầng liên kết dữ liệu Chuong... · Địa chỉ vật lý đặt trong phần...
Transcript of Chương 5: Tầng liên kết dữ liệu Chuong... · Địa chỉ vật lý đặt trong phần...
1
Chương 5: Tầng liên kết dữ liệu
2
Tổng quan
l Tầng liên kết dữ liệu
l Dịch vụ: l Đóng gói, địa chỉ hóa l Phát hiện và sửa lỗi l Kiểm soát luồng l Kiểm soát truy nhập đường
truyền
l Công nghệ mạng LAN l Ethernet l Wireless LAN
l Công nghệ mạng WAN l Frame relay l ATM l ….
3
Giới thiệu về Tầng liên kết dữ liệu
4
Nút mạng và liên kết l Nút mạng:
l PCs, Laptop, Routers, Server…
l Liên kết: l Kênh truyền thông giữa
các nút kế tiếp l Hữu tuyến: Ethernet LAN,
ADSL, fiber optic… l Không dây: Wi-fi, Wi-Max,
vệ tinh,… l 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
“link”
5
Tầng liên kết dữ liệu và kiến trúc phân tầng
LLC (Logical Link Control)
MAC (Media Access Control)
Application
Transport
Network
Data-link
Physical
802.2 LLC
802.3
Ethernet
802.4
Token Bus
802.5
Token Ring
802.11
Wi-Fi
802.16
Wi-Max
…..
IEEE 802.x series
Media independent sub-layer
Media dependent sub-layer
6
Tổng quan về các chức năng
Framing
Addressing
Flow control
Error control
Media Access Control
Datalink layer
7
Các chức năng (1)
l Đóng gói - Framing: l Bên gửi: đặt gói tin tầng mạng vào khung tin,
thêm phần đầu, phần đuôi l Bên nhận: Bỏ phần đầu, phần đuôi và lấy gói tin
truyền lên tầng mạng l Địa chỉ hóa - Addressing:
l Địa chỉ vật lý đặt trong phần đầu gói tin để định danh nút nguồn, nút đích
8
Các chức năng (2)
l Điều khiển truy nhập đường truyền l 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 l Kiểm soát luồng:
l Kiểm soát tốc độ truyền của bên gửi sao cho bên nhận hoạt động tốt, không bị quá tải
l Kiểm soát lỗi: l Phát hiện và sửa các lỗi bít l e.g. parity check, checksum, CRC check
9
Kiểm soát lỗi
Phát hiện lỗi Phát hiện và sửa lỗi
10
Nguyên lý phát hiện lỗi
EDC= Error Detection Code (redundancy) Mã phát hiện lỗi
Data
Data EDC
Data
Data’ EDC’
All bit in Data’ OK?
Y
N
Error
Link with bit errors
11
Mã chẵn lẻ l Mã đơn
l Phát hiện lỗi bít đơn
l Mã hai chiều l Phát hiện và sửa lỗi bít đơn
l Khái niệm về checksum của Internet?
101011 111100 011101 001010
101011 101100 011101 001010
12
CRC: Cyclic Redundancy Check Mã vòng
l Dữ liệu được xem như một số nhị phân: D l Chọn một chuỗi r+1 bit, G (chuỗi sinh – Generator) l 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) l <D, R> chia hết cho G
D
D R
D
D’ R’
<D’, R’> mod G = 0 ?
Y N
Link with bit errors
<D, R> mod G = 0
13
CRC: Cách tìm R
l <D, R> có thể viết dưới dạng l D.2r XOR R
l <D, R> chia hết cho G l D.2r XOR R = n.G l D.2r = n.G XOR R
l Có nghĩa là R là số dư khi chia D.2r
cho G (phép chia modulo 2)
R= D.2r mod G
l Ví dụ 10101001000 1001 1001 1011110 1110 1001 1110 1001 1111 1001 1100 1001 1010 1001 110
R=110, chuỗi bít gửi đi là 10101001110
D
G
R D R
14
CRC biểu diễn dưới dạng đa thức l 1011 : x3 +x +1 l Ví dụ một số mã CRC được sử dụng trong thực tế:
l CRC-8 = x8 + x2 + x + 1 l CRC-12 = x12+x11+x3+x2+x
l CRC-16-CCITT = x16 + x12 + x5 + 1
l CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
l G càng dài, mã CRC phát hiện lỗi càng hiệu quả l CRC được sử dụng rộng rãi trong thực tế
l Wi-fi, ATM, Ethernet… l Phép toán XOR được cài đặt bởi phần cứng l Phát hiện chuỗi bít bị lỗi có độ dài nhỏ hơn r+1 bit
15
Các kỹ thuật kiểm soát lỗi l Đảm bảo truyền tin tin cậy
trên môi trường truyền tin không tin cậy
l Điều kiện l Các khung dữ liệu luôn
luôn được truyền chính xác l Độ trễ truyền tin không đáng kể
l Các loại lỗi l Mất khung dữ liệu l Khung dữ liệu bị lỗi l Thông báo lỗi bị mất
l Các kỹ thuật sử dụng: l Phát hiện lỗi (đã học) l Báo nhận l Truyền lại với timeout l Truyền lại với báo không nhận
l Kỹ thuật tự động truyền lại (ARQ automatic repeat request). Có 3 phiên bản chuẩn hóa l Dừng và chờ (Stop and
Wait)ARQ l Quay lại N(Go Back N) ARQ l Loại bỏ chọn lọc (Selective
Reject) ARQ l Tương tự cơ chế kiểm soát
luồng dữ liệu
16
Kiểm soát truy nhập đường truyền
17
Các dạng liên kết l Điểm-nối-điểm
l ADSL l Telephone modem l Leased Line….
l Quảng bá l 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) l Wireless LAN l HFC: l …
l 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
18
Phân loại các giao thức đa truy nhập
l Chia kênh: l 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) l Chia từng phần nhỏ đó cho các nút mạng
l Truy nhập ngẫu nhiên: l Kênh không được chia, cho phép đồng thời truy nhập, chấp
nhận là có xung đột l Cần có cơ chế để phát hiện và tránh xung đột l e.g. Pure Aloha, Slotted Aloha, CSMA/CD, CSMA/CA…
l Lần lượt: l Theo hình thức quay vòng l Token Ring, Token Bus….
19
Các phương pháp chia kênh
l FDMA: frequency division multiple access l TDMA: time division multiple access l CDMA: code division multiple access
20
TDMA và FDMA FDMA
frequency
time TDMA:
frequency
time
4 máy Ví dụ:
Pure Aloha l Aloha được Sử dụng trong mạng di động 1G, 2.5G, 3G sử dụng công nghệ GSM
l Pure Aloha: l Nếu có dữ liệu cần truyền, truyền l Nếu đang truyền mà nhận được dữ liệu
của trạm khác à có xung đột. Tất cả các trạm cần truyền lại. l Vẫn có thể xung đột khi truyền lại
l Không kiểm tra đường truyền trước khi truyền
l Các gói mầu ghi bị xung đột (có overlap về thời gian)
21
Slotted Aloha
l Thời gian được chia thành các khe rời rạc
l Các trạm chỉ bắt đầu truyền ở đầu các khe thời gian
l Xác suất xung đột giảm.
l Gói mầu ghi bị xung đột
22
23
CDMA l Nhiều nguồn phát có thể chia sẻ một giải tần chung
trên một kênh truyền vật lý duy nhất l Các tín hiệu của các nguồn khác nhau được mã hóa
bằng các mã ngẫu nhiên khác nhau l Sau đó được trộn lẫn và phát đi trên cùng một giải tần
chung l Và chỉ được phục hồi duy nhất ở cuối kênh với mã
ngẫu nhiên tương ứng. l Áp dụng lý thuyết trải phổ (spread spectrum), CDMA đưa ra hàng loạt các ưu điểm mà nhiều công nghệ khác chưa thể đạt được. http://en.wikipedia.org/wiki/Spread_spectrum
24
Truy nhập ngẫu nhiên: CSMA
l Carrier Sense Multiple Access (Đa truy nhập sử dụng sóng mang)
l Thế nào là CSMA: trong một cuộc họp l CSMA:
l “Listen before talk” l Nếu kênh bận, chờ l Nếu kênh rỗi, truyền
blah blah blah
25
CSMA
l CSMA: Các máy nghe trước muốn truyền: l Nếu kênh rỗi, truyền toàn bộ dữ liệu l Nếu kênh bận, chờ
l Tại sao lại có xung đột?
Độ trễ lan truyền
26
Xung đột trong CSMA l Giả sử kênh truyền có 4
nút l 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)
l Ví dụ:
CSMA/CA l Dùng trong mạng WIFI 802.11 l Nếu 2 hay nhiều trạm cùng phát hiện đường
truyền bận và cùng chờ thì có khả năng chúng sẽ cùng truyền lại một lúc. l à xung đột,
l Giải pháp CSMA/CA. l Mỗi trạm chờ một khoảng thời gian được tính ngẫu
nhiên à giảm xác xuất đụng độ.
27
CSMA/CD l Dùng trong mạng Ethernet l CSMA có phát hiện xung đột: Listen while talk. l Nếu đường truyền rỗi, truyền l Nếu bận, chờ rồi truyền với xác suất p l Nghe đường truyền trong khi truyền, nếu có
xung đột chỉ phát 1 tín hiệu báo xung đột ngắn và dừng ngay l Không tiếp tục truyền như CSMA
l Thử truyền lại sau một khoảng thời gian ngẫu nhiên. 28
29
CSMA/CD: Tóm tắt l Máy trạm nghe trước khi muốn truyền
l Bận: Chờ, tiếp tục nghe l Rỗi: Bắt đầu truyền, vừa truyền vừa “nghe ngóng” xem có
xung đột hay không l Nghe trong thời gian bao lâu?
l Nếu phát hiện thấy xung đột: Hủy bỏ quá trình truyền và quay lại trạng thái chờ, nghe
l Một số biến thể của CSMA l CSMA kiên nhẫn (persistance) l CSMA không kiên nhẫn l CSMA với xác suất p nào đó
30
So sánh chia kênh và truy nhập ngẫu nhiên l Chia kênh
l Hiệu quả, công bằng cho đường truyền với lưu lượng lớn l 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ỏ l Truy nhập ngẫu nhiên
l Khi tải nhỏ: Hiệu quả vì mỗi nút có thể sử dụng toàn bộ kênh truyền
l Tải lớn: Xung đột tăng lên
l Phương pháp quay vòng: Có thể dung hòa ưu điểm của hai phương pháp trên
31
Token Ring – Mạng vòng dùng thẻ bài l Một “thẻ bài” luân
chuyển lần lượt qua từng nút mạng
l Nút nào giữ thẻ bài sẽ được gửi dữ liệu
l Gửi xong phải chuyển thẻ bài đi
l Một số vấn đề l Tốn thời gian chuyền
thẻ l Trễ l Mất thẻ bài….
T
data
(nothing to send)
T
32
Tổng kết các phương pháp kiểm soát đa truy nhập
l Chia kênh l Truy nhập ngẫu nhiên l Quay vòng l Phân tích ưu, nhược điểm
33
Kiểm soát luồng dữ liệu
34
Kiểm soát luồng dữ liệu l Đảm bảo trạm nguồn không làm quá tải trạm đích l Trạm đích
l lưu trữ các khung dữ liệu trong bộ nhớ đệm l Thực hiện một số thao tác trước khi chuyển dữ liệu lên tầng trên l Bộ nhớ đệm có thể bị đầy, dẫn tới mất khung dữ liệu
l Không đặt vấn đề lỗi truyền tin l Các khung dữ liệu luôn luôn được truyền chính xác l Độ trễ truyền tin không đáng kể
l Giải pháp l Cơ chế dừng và chờ l Cơ chế cửa sổ trượt
35
Cơ chế dừng và chờ l Nguyên tắc
l Nguồn gửi một khung dữ liệu l Đích nhận khung dữ liệu, xử lí, sau đó thông báo sẵn
sàng nhận các khung dữ liệu tiếp theo bằng một thông báo báo nhận (acknowledgement)
l Nguồn chờ đến khi nhận được báo nhận mới truyền tiếp khung dữ liệu tiếp theo
Cơ chế dừng và chờ
36
Conception et architectures des réseaux 16
Protocole 2
Emetteur Tant que vrai répéter
p ← coucheReseau.donnerPaquet() t ← construireTrame(p) couchePhysique.prendreTrame(t) couchePhysique.attendreAquittement()
Fin tant que Récepteur Tant que vrai répéter
t ← couchePhysique.donnerTrame() p ← extrairePaquet(t) coucheReseau.prendrePaquet(p) couchePhysique.envoyerAcquittement()
Fin tant que
Emetteur Récepteur
Trâme
Trâme
Paquets
Ack
Trâme
Trâme
Paquets
frame
frame
frame
Packet Packet transmitter recepter
37
38
Cơ chế dừng và chờ l Ưu điểm
l Đơn giản, đặc biệt thích hợp với các khung dữ liệu lớn l Nhược điểm
l Với các khung dữ liệu nhỏ, thời gian sử dụng đường truyền bị lãng phí
l Không thể sử dụng các khung dữ liệu lớn một cách phổ biến l Bộ nhớ đệm có hạn l Khung dữ liệu dài khả năng lỗi lớn l Trong môi trường truyền tin chia sẻ, không cho phép trạm nào
chiếm dụng lâu đường truyền
39
Cơ chế cửa sổ trượt: nguyên tắc
l Gửi nhiều khung dữ liệu để giảm thời gian chờ. l Các khung đã gửi đi chưa báo nhận được lưu trữ
tạm thời trong bộ nhớ đệm. l Số khung được truyền đi phụ thuộc vào bộ nhớ đệm.
l Khi nhận được báo nhận l giải phóng khung dữ liệu đã truyền thành công khỏi bộ
nhớ đệm l Truyền tiếp các khung bằng với số khung đã truyền thành
công
40
Cơ chế cửa sổ trượt: Nguyên tắc l Xét hai trạm A, B kết nối bằng một đường truyền song
công l A có bộ nhớ đệm n khung dữ liệu l Như vậy A có thể gửi cùng một lúc n khung dữ liệu mà không
cần báo nhận l Báo nhận
l Để ‘nhớ’ các khung dữ liệu đã báo nhận, cần đánh số các khung dữ liệu
l B báo nhận một khung bằng cách báo số khung dữ liệu mà B đang chờ nhận, ngầm định đã nhận tất cả các khung trước đó
l Một báo nhận có thể dùng cho nhiều khung dữ liệu
41
Cơ chế cửa sổ trượt
42
Cơ chế cửa sổ trượt
43
Cơ chế cửa sổ trượt l Các khung dữ liệu đang được gửi đi được đánh số.
Số thứ tự phải lớn hơn hoặc bằng kích thước cửa sổ
l Các khung dữ liệu được báo nhận bằng thông báo có đánh số
l Được báo gộp. Nếu 1,2,3,4 được nhận thành công, chỉ gửi báo nhận 4
l Khi đã nhận được thông báo nhận được khung k, có nghĩa là tất cả các khung k-1, k-2.. đã nhận được
44
Cơ chế cửa sổ trượt l Nguồn quản lý
l Các khung đã gửi đi thành công l Các khung đã gửi đi chưa báo nhận l Các khung có thể gửi đi ngay l Các khung chưa thể gửi đi ngay
l Đích quản lý l Các khung đã nhận được l Các khung đang chờ nhận
45
Piggy backing
l A và B cùng truyền tin l Khi B cần báo nhận và cần truyền số liệu. B gửi kèm
báo nhận trong khung dữ liệu: Piggybacking l Nếu không, B gửi một khung báo nhận riêng l Sau khi gửi báo nhận, nếu B truyền khung dữ liệu, B
vẫn đặt số báo nhận trong khung dữ liệu l Cơ chế cửa sổ trượt hiệu quả hơn nhiều so với
dừng và chờ! l Quản lý phức tạp hơn
Bài tập l Cho một liên kết có tốc độ R=100Mbps l Cần truyền 1 dữ liệu có kích thước tổng tại tầng liên kết
dữ liệu là L=100KB l Giả sử kích thước gói liên kết dữ liệu là: 1KB l RTT giữa 2 nút của liên kết là 3ms l Hỏi thời gian truyền khi áp dụng phương pháp kiểm soát
luồng Stop-and-wait. l Thời gian truyền với phương pháp cửa sổ trượt với kích
thước cửa sổ =8 l Thời gian truyền nhanh nhất với phương pháp cửa sổ
trượt đạt được khi kích thước cửa sổ bằng bao nhiêu? 46