Professional Documents
Culture Documents
3 - A Tang Lien Ket Du Lieu
3 - A Tang Lien Ket Du Lieu
3
Nút mạng và liên kết
“link”
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
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
Datalink layer
6
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
10
Nguyên lý phát hiện lỗi
EDC= Error Detection Code (redundancy)
Mã phát hiện lỗi
Data Data
Y
All bit in Error
Data’
OK? N
11
Mã chẵn lẻ
l Mã đơn
l Phát hiện lỗi bít đơn
D D
Y
N
<D’, R’> mod G =
0?
<D, R> mod G = 0
D R D’ R’
13
Link with bit errors
CRC: Cách tìm R
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 l Các kỹ thuật sử dụng:
trên môi trường truyền tin l Phát hiện lỗi (đã học)
không tin cậy l Báo nhận
l Truyền lại với timeout
l Điều kiện l Truyền lại với báo không nhận
l Các khung dữ liệu luôn l Kỹ thuật tự động truyền lại
luôn được truyền chính xác (ARQ automatic repeat
l Độ trễ truyền tin không request). Có 3 phiên bản
đáng kể chuẩn hóa
l Dừng và chờ (Stop and
l Các loại lỗi Wait)ARQ
l Mất khung dữ liệu l Quay lại N(Go Back N) ARQ
l Loại bỏ chọn lọc (Selective
l Khung dữ liệu bị lỗi Reject) ARQ
l Thông báo lỗi bị mất 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
20
Ví dụ:
TDMA và FDMA 4 máy
FDMA
frequency
time
TDMA:
frequency
time 21
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
22
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)
23
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
24
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” blah
blah
l Nếu kênh bận, chờ blah
25
CSMA
27
CSMA/CA (Collision
Avoidance)
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 độ.
28
CSMA/CD (Collision detection)
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. 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 Quay vòng
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 gửi không làm quá tải trạm nhận
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
36
ole 2
Cơ chế dừng và chờ
transmitter
Emetteur receiver
Récepteur
répéter
eReseau.donnerPaquet() Packet
Paquets Paquets
Packet
uireTrame(p)
sique.prendreTrame(t)
sique.attendreAquittement() frame
Trâme
Ack
répéter
ePhysique.donnerTrame()
ePaquet(t) Trâme
frame
eau.prendrePaquet(p)
sique.envoyerAcquittement()
frame
Trâme
Trâme
37
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 B có bộ nhớ đệm n khung dữ liệu
l Như vậy B có thể nhận 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
Trong cửa sổ là các khung sẽ phát Trong cửa sổ là các khung chờ nhận
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
46
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 một khung 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ổ =7
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?
47
e2 Thời gian phát với cơ chế
dừng và chờ
transmitter
Emetteur receiver
Récepteur
ter
seau.donnerPaquet() Packet
Paquets Packet
Paquets
Trame(p)
ue.prendreTrame(t) T transmit
ue.attendreAquittement() frame
Trâme
RTT Ack
ter
ysique.donnerTrame()
quet(t) frame
Trâme
.prendrePaquet(p)
ue.envoyerAcquittement()
Trâme
frame
Trâme
48
l Số frame = L/L(frame)
50
Thời gian truyền với cửa sổ 7
l T truyền nhanh nhất = (T phát 7 gói + chờ )
*số lần.
l 1 lần Chờ = (T phát 1 gói + RTT) – T phát 7
gói
l Số lần chờ = số gói /7
51
Thời gian truyền nhanh nhất
với cửa sổ trượt
l Truyền nhanh nhất
đạt được khi nguồn
W gói
ACK
phát xong gói cuối
của cửa sổ thì đã
nhận được ACK của
gói đầu tiên.
l Kích thước cửa sổ W