Tải bản đầy đủ (.pdf) (38 trang)

Tổng quan về data link layer

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 (515.21 KB, 38 trang )

Chapter 4
Data Link Layer
Computer Networking:
A Top Down Approach
Featuring the Internet
,
2
nd
edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2002.
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re in powerpoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only ask the
following:
 If you use these slides (e.g., in a class) in substantially unaltered form,
that you mention their source (after all, we’d like people to use our book!)
 If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and
note our copyright of this material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2002
J.F Kurose and K.W. Ross, All Rights Reserved
1
Chương 4: Tầng liên kếtdữ liệu
Mụctiêu:
 Nắm được các nguyên lý đằng sau các dịch vụ của
tầng liên kếtdữ liệu (LKDL) :


 định khung và đồng bộ hóa
 dò lỗivàsửalỗi
 cách thứcchiasẻ mộtkênhtruyềnquảng bá: đatruycập
 đánh địachỉởtầng LKDL
 truyềndữ liệutin cậy, kiểmsoátluồng
 Tìm hiểumộtsố công nghệ/kỹ thuậtphổ biến ở tầng
LKDL
2
Giớithiệu
Mộtsố thuậtngữ:
 hosts và routers đượcgọilàcác
nút (nodes)
(bridges và switches cũng vậy)
 Các kênh truyềnthôngkếtnốicác
nút gầnkề dọctheođường dẫn
truyềnthôngđượcgọilàcácliên
kết(links)
 các liên kếthữutuyến
 các liên kếtvôtuyến
 các mạng cụcbộ
 đơnvị dữ liệugiaothức ở tầng 2 là
frame, đóng gói/bao bọcgamdữ
liệu
3
“link”
Tầng liên kếtdữ liệu có trách nhiệmtruyềngamdữ liệutừ
mộtnútđếnnútgầnkề qua mộtliênkếttruyềnthông
4
Tầng LKDL: ngữ cảnh
Tương tự như sự vậnchuyển

 Mộtchuyến đitừ Princeton
đến Lausanne
 limo: Princeton đếnJFK
 plane: JFK đến Geneva
 train: Geneva đến Lausanne

khách du lịch = datagram
 đoạnvậnchuyển= liên kết
truyềnthông
 phương thứcvậnchuyển=
giao thứctầng lkdl
 đạilýdulịch = giảithuật
định tuyến
 Gam dữ liệu đượcchuyên
chở bởi các giao thứckhác
nhau ở tầng LKDL qua các
liên kếttruyền thông khác
nhau:
 Vd: Ethernet ở liên kết đầu
tiên, frame relay ở các liên
kết trung gian, 802.11 ở liên
kếtcuốicùng(xemhìnhở
slide trước)

Mỗigiaothức ở tầng LKDL
cung cấpcácdịch vụ khác
nhau
 Vd: có thể cung cấpdịch vụ
chuyểndữ liệutin cậyhoặc
không qua liên kết truyền

thông.
Các dịch vụ củatầng LKDL
 Định khung, truy cập đường truyền:
 đóng gói gam dữ liệu vào khung, thêm thông tin điềukhiểnvà
kiểmsoátlỗi(header, trailer)
 truy cậpkênhtruyềnnếuphương tiệntruyềnlàchiasẻ
 địachỉ vậtlýđược dùng trong khung để định danh nguồnvàđích
•khácvới địachỉ IP!
 Chuyểndữ liệutin cậygiữacácnútliềnkề
 hiếmkhiđượcthựchiện ở các liên kếtcótỷ lệ lỗibit thấp(cáp
quang, mộtsố loạicápđôi dây xoắn)
 đượccungcấp ở các đường truyềnvôtuyếnvìtỷ lệ lỗicao
5
Các dịch vụ củatầng LKDL (tiếptheo)
6

Ki

msoátlu

ng:
 điềuchỉnh tốc độ giữacácnútgửivànhận(gầnkề)

Phát hi

nl

i
:
 lỗibị sinh ra bởisự suy giảmtínhiệu, nhiễu

 nơinhậndòtìmsự xuấthiệncủalỗi:
•báohiệuchonơigửi để truyềnlạihoặcbỏ frame lỗi đó

S

al

i:
 nơinhậnxácđịnh và sửacácbit lỗi mà không phảiviện đến
việctruyềnlại

Bán song công và song công
 với bán song công, các nút tạihaiđầucủaliênkếtcóthể
truyềndữ liệunhưng không cùng thời điểm
KếtnốiHost –Mạch giao tiếpmạng
 NIC hay card mạng là thiếtbị tầng 2, mỗiNIC có
mộtmãduynhấtgọilàđịachỉ MAC.
 Khi lựachọnmộtcard mạng cầncânnhắccácyếutố:
 Kiếntrúcmạng mà NIC đóhỗ trợ
 Hệ điềuhành
 Loạiphương tiệntruyền
 Tốc độ truyềndữ liệu
 Loạibus sẵncó
7
Truyềnthônggiữacácbộ thích ứng mạng
frame
datagram
rcving
node
link layer protocol

sending
node
frame
adapter
adapter
 tầng lkdl đượcthựcthi
trên bộ thích ứng mạng
 Ethernet card, PCMCIA
card, 802.11 card

bên gởi:
 đóng gói gam dữ liệuvào
khung
 thêm thông tin điềukhiển
và kiểmsoátlỗi

bên nhận
 tìm các lỗivàthôngtin điều
khiển
 trích gam dữ liệuvàchuyểnlên
cho nút nhận

NICs là thiếtbị bán tự trị
 thựchiệncácchứcnăng của
tầng vậtlývàLKDL
8
Định khung và đồng bộ hóa
 Vấn đề: dồndòngbit vàocáckhung
 Phảixácđịnh các bit đầutiênvàcuốicùngcủakhung
 Định khung và đồng bộ hóa có quan hệ chặtchẽ vớinhau

 Thường đượcthựcthibởicard mạng
 Bộ thích ứng mạng lấy/đặtcáckhungratừ/vào bộ
nhớ host/switch
9
Các phương pháp định khung
10
 Dựatrênđồng hồ
 Mộtmẫubit đặcbiệtxuấthiện địnk kỳđể báo hiệubắt đầu
mộtkhung

Hướng ký tự/byte
 Đếmsố ký tự/byte
•Vấn đề: khi trường chứasố ký tự/byte củakhungbị sai lệch do lỗi
truyềnthìbênnhậnmất đồng bộ.
 Dùng các ký tự bắt đầuvàkếtthúc
• STX (start of text) và ETX (end of text)
•Vấn đề: khi dữ liệucóchứanhững ký tự bắt đầuhay kếtthúc?
•Nhồikýtự
–Nhồithêmvàotrướccáckýtựđặcbiệtmộtkýtự “thoát” DLE
–Nếudữ liệuchứakýtự “thoát” thì sao?
Các phương pháp định khung (tiếptheo)
 Phương pháp hướng bit
 Mỗiframe bắt đầuvàkếtthúcvớimộtchuỗibit
đặcbiệt
• Flag hay preamble 01111110
 Nhồibit
•Bêngởi: khi nào có 5 bits 1 liên tiếpnhautrongphầndữ
liệuthìnhồithêmmộtbit 0
•Bênnhận: khi 5 bits 1 liên tiếp đếnthì
–nếu bit tiếptheolà0 thìbỏđibit đó

–nếu các bit tiếptheolà10: dấuhiệukết thúc frame
–nếu các bit tiếptheolà11: lỗi
11
Xử lý lỗi
 Dữ liệucóthể bị sai lệch trong quá trình truyền
 giá trị bit thay đổi
 Đưa thêm vào khung thông tin để kiểmsoátlỗi
 đặtvàobởibêngởi
 đượckiểmtrabởibênnhận
 Dò lỗiso vớisửalỗi
 Cả hai đềucần thông tin “thừa”
 Dò: lỗicóxuấthiện hay không
 Sửa: sửalỗinếuxuấthiệnlỗi
 Chỉ là sự đảmbảomangtínhthống kê
12
Sự phát hiệnlỗi
EDC= các bít “dư thừa” để dò và sửalỗi
D = dữ liệu đượcbảovệ bằng phương pháp kiểm tra lỗi, có thể bao gồm
các trường điềukhiển
•Pháthiệnlỗikhôngtin cậy 100%!
•cáccơ chế dùng để kiểmsoátlỗicóthể bị sót mộtsố lỗi(hiếm);
•trường EDC càng lớnthìcóthể dò và sửalỗitốthơn
.
13
Kiểmtratínhchẵnlẻ (Parity Checking)
Two Dimensional Bit Parity:
Detect
and correct
single bit errors
Single Bit Parity:

Detect single bit errors
0
0
14
Các kỹ thuậtpháthiệnlỗikhác
 Kiểmtratổng (Checksum)
 Xét dữ liệunhư là dãy các số nguyên (integers)
 Tính và gửisố kiểmtratổng
 Xử lý đượcnhiềubit lỗi
 Không thể xử lý đượctấtcả các lỗi
 Kiểmdư vòng (Cyclic Redundancy Check)
 Dùng các hàm toán học để xét dữ liệu
 Tính toán phứctạphơnrấtnhiều
 Có thể xử lý đượcnhiềulỗihơn
15
Internet checksum (RFC 1071)
Mụctiêu:phát hiện“cáclỗi” (vd: các bit bị lật) trong các
segment đượctruyền(lưuý: chỉ được dùng ở tầng vậnchuyển)
16
Bên gửi:
 xem nộidung cácsegment
như là dãy các số nguyên 16
bit
 checksum: thêm vào tổng
phầnbù1 củanộidung
segment
 Bên gửi đưagiátrị
checksum và trường UDP
checksum
Bên nhận:

 tính checksum củasegment
vừanhận được
 kiểmtraxemchecksum vừa
đượctínhcótrùngvớigiátrị
trong trường checksum hay
không:
 NO – lỗi đượcpháthiện
 YES – không có lỗibị phát
hiện. Tuy nhiên, vẫncóthể
tồntạilỗi
?!
Kiểmdư vòng – Cyclic Redundancy Check
 xem các bit dữ liệu, D, như là các số nhị phân
 chọn đathứcsinh, G , mẫu r+1 bit
 mụctiêu: chọn r CRC bits, R, sao cho
 <D,R> có thể đượcchiahết hoàn toàn bởiG (theomodulo 2)
 bên nhậnbiết G, chia <D,R> bởiG. Nếuphầndư khác 0: lỗibị phát hiện!
 có thể phát hiệntấtcả các lỗiíthơnr+1 bits
 đượcsử dụng rộng rãi trong thựctế (Ethernet, HDLC)
17
Ví dụ về CRC
Ta muốn:
D
.
2
r
XOR R = nG
t
ươ
ng đ

ươ
ng v

i:
D
.
2
r
= nG XOR R
T
ươ
ng đ
ươ
ng v

i:
nếutachiaD
.
2
r
cho
G, ta có phầndư R
R
= phầndư [ ]
D
.
2
r
G
Gởi đi: 101110011

 Ethernet và các mạng token ring sử dụng CRC-32
 x
32
+ x
26
+ x
23
+ x
22
+ x
16
+ x
12
+ x
11
+ x
10
+ x
8
+ x
5
+ x
4
+ x
2
+ x + 1
18
Tóm tắtvề sự phát hiệnlỗi
 Để phát hiệnlỗicóthể xảy ra trong quá trình truyền:
 Bên gởithêmvàogóitin mộtsố thông tin

 Bên nhậndựa vào các thông tin trên để kiểmtra
 Các kỹ thuậtdòtìmlỗiphổ biến:
 Kiểm tra tính chẵnlẻ (Parity bit checking)
 Kiểmtratổng (Checksum)
 Kiểmdư vòng (Cyclic Redundancy Check)
 Chỉ đảmbảopháthiện đượclỗi ở mứcthống kê
nào đómàthôi!
19
Giao thứcvàliênkết đatruycập
Hai loại “liên kết” :
 điểm–điểm
 liên kếttruycập điểm-điểm qua quay số
 liên kết điểmgiữa Ethernet switch và host

quảng bá (dây dẫnhay phương tiệntruyền đượcchiasẻ)
 Ethernet truyềnthống
 upstream HFC
 802.11 wireless LAN
20
Giao thức đatruycập
 kênh truyềnquảng bá đơn đượcchiasẻ
 khi có hai hay nhiềutrạmtruyền đồng thờithìxảyra
xung đột
 chỉ một nút truyền thành công tạimộtthời điểm
Giao th

c đatruyc

p
 giảithuật phân tán giúp các nút chia sẻ kênh truyềnvd:

xác định khi nào mộtnútcóthể truyền
 truyềnthôngvề việc điềukhiểnchiasẻ kênh truyềncó
thể dùng mộtkênhriêng
 những gì các giao thức đatruycậphướng tới(slide tiếp
theo) :
21
Giao thức đatruycậplýtưởng
Kênh truyềnquảng bá tốc độ R bps
1.Khi chỉ mộtnútmuốntruyền, nó có thể truyềnvới
tốc độ R.
2. Khi có M nút muốntruyền, mỗi nút có thể truyềnvới
tốc độ trung bình là R/M
3. Giao thứcphải là hoàn toàn phân tán:
 không mộtnútđặcbiệtnàosắpxếpviệc truyềntin
 không cần đếnsự đồng bộ hóa đồng hồ, khe (thờigian)
4. Đơngiản
22
Mộtsự phân loạiviệckiểmsoáttruycậpphương
tiệntruyền
Có 3 loạichính:
 Phân chia kênh truyền
 chia kênh truyềnthànhnhững “mảnh” nhỏ (theo khe thời
gian, tầnsố, mã)
 cấpphátcácmảnh đó cho các nút và chúng được“độc
quyền” sử dụng trong khoảng đượcchia

Truy cậpngẫunhiên
 không chia kênh truyền, chấpnhậnxungđột
 vấn đề chính là “phụchồi” việc truyềnkhicóxungđột


“Luân phiên”
 điềuphốichặtchẽ việctruycậpphương tiện truyền để
tránh xung đột
23
Các giao thứctruycậpngẫunhiên
 khi mộtnútcógóitin để gởi
 truyềnvớitốc độ tối đacủakênh(R).
 không có sự phốihợptừ trướcgiữacácnút

khi có hai hay nhiều nút truyền đồng thời-> “xungđột”
 Giao thức MAC truy cậpngẫunhiênđịnh rõ:
 làm thế nào để dò ra xung đột
 làm thế nào để phụchồikhicóxungđộtxảyra

Mộtsố giao thức MAC truy cậpngẫunhiêntiêubiểu:
 ALOHA
 slotted ALOHA
 CSMA, CSMA/CD, CSMA/CA
24
CSMA – Đatruycậpcảmnhận sóng mang
CSMA: “nghe trướckhinói”
 Nếukênhtruyềnrỗi: truyềntoànbộ frame
 Nếukênhtruyềnbận, trì hoãn việctruyền
 Tương tự như con người: không ngắtlờingườikhác!
25

×