Chương 5: Tầng liên kết dữ liệu Mục tiêu: Hiểu rõ các nguyên tắc đằng sau các dịch vụ tầng liên kết dữ liệu: phát hiện và sửa lỗi chia sẻ một kênh truyền quảng bá: đa truy cập đánh địa chỉ tầng liên kết truyền tải dữ liệu tin cậy, kiểm soát lưu lượng Hiện thực của công nghệ phổ biến ở tầng liên kết dữ liệu Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 1 Chương 5: Tầng liên kết dữ liệu © 2011 3
Trang 1Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính
ThS NGUYỄN CAO ĐẠT E-mail:dat@cse.hcmut.edu.vn
Bài giảng Mạng máy tính
Trang 2Bài giảng 11: Tầng liên kết dữ liệu
Tham khảo:
Chương 5: “Computer Networking – A top-down approach”
Trang 3Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
Hiện thực của công nghệ phổ biến ở tầng liên kết
dữ liệu
Trang 4Tầng liên kết dữ liệu
5.1 Giới thiệu và dịch vụ
Trang 5Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
5
Giới thiệu
Vài thuật ngữ:
MT và BĐT là các node
các kênh liên lạc mà kết nối các
node liền kề dọc theo đường liên
lạc đó gọi là các liên kết
liên kết có dây
liên kết không dây
LANs
gói tin tầng-2 là một khung ,
đóng gói gói tin tầng-3
tầng liên kết-dữ liệu có trách nhiệm
truyền tải gói tin từ một node sang node
liền kề trên một liên kết
Trang 6Ngữ cảnh
nhiều giao thức khác nhau
qua các liên kết khác nhau:
vd, Ethernet trên liên kết
đầu, tiếp sóng khung trên liên kết trung gian, 802.11 liên kết cuối
cấp những dịch vụ khác
nhau
vd: có thể hoặc không cung
cấp truyền tải dữ liệu tin cậy qua liên kết
vd tương đồng: vận tải
chuyến đi từ Sa Pa tới Tháp Mười
ngựa: từ bản tới Sa Pa
ô tô: SaPa tới Hà Nội
tàu: Hà Nội tới HCM
ô tô: HCM tới Đồng Tháp
ghe: Đồng Tháp tới T Mười
định tuyến
Trang 7Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
7
Dịch vụ tầng liên kết dữ liệu
chia khung, truy cập liên kết:
đóng gói gói tin vào các khung, thêm mào đầu, đuôi
truy cập kênh truyền nếu môi trường chia sẻ
địa chỉ “MAC” dùng trong mào đầu của khung để xác định nguồn,
đích
• khác với địa chỉ IP!
truyền tải tin cậy giữa các node cận kề
chúng ta đã biết về vấn đề này ở tầng truyền tải!
hiếm khi dùng trên một liên kết ít xảy ra lỗi (sợi quang, vài loại cáp xoắn)
các liên kết không dây: tần số lỗi cao
• Hỏi: tại sao cần có tính tin cậy ở cả tầng-liên kết và đầu đầu cuối?
Trang 8cuối-Dịch vụ tầng liên kết dữ liệu(tt)
kiểm soát lưu lượng:
đi từng bước giữa các node gửi và nhận kề nhau
phát hiện lỗi :
lỗi gây ra bởi sự suy giảm của tín hiệu, nhiễu
bên nhận phát hiện ra sự tồn tại của lỗi:
• thông báo bên gửi để gửi lại hoặc là bỏ khung
sửa lỗi:
bên nhận xác định và sửa các lỗi bit mà không yêu cầu sự gửi lại
cơ chế một-chiều và hai-chiều (half-, full-duplex)
với một-chiều các node tại hai đầu không thể truyền tải cùng một
lúc
Trang 9Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
9
Tầng liên kết dữ liệu được hiện thực ở đâu?
interface card NIC)
card Ethernet, card PCMCI, card 802.11
thống
phần mềm và firmware
bộ điều khiển
sự tr tải vật lý
cpu bộ nhớ
buýt máy (vd, PCI)
card mạng
lược đồ máy tính
ứng dụng tr.tải mạng liên kết
liên kết vật lý
Trang 10Giao tiếp giữa card mạng
gói tin
khung
Trang 11Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
11
Tầng liên kết dữ liệu
5.2 Sự phát hiện và sửa lỗi
Trang 12Cơ chế phát hiện lỗi
EDC= các bit dùng cho phát hiện và sửa lỗi (phần thừa)
D = Dữ liệu được bảo vệ bằng cách kiểm tra lỗi, có thể bao gồm các
trường mào đầu
• Cơ chế phát hiện lỗi không đáng tin cậy 100%!
• giao thức có thể bỏ sót vài lỗi, nhưng rất hiếm khi
• trường EDC càng lớn thì khả năng phát hiện và sửa lỗi càng cao
Trang 13Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
13
Kiểm tra tính chẵn lẻ
Một bit chẵn lẻ:
Phát hiện các lỗi 1 bit
bit chẵn lẻ hai chiều:
Phát hiện và sửa các lỗi 1 bit
Trang 14Tổng kiểm tra Internet
Ng gửi:
xem một khúc dữ liệu (segment)
như là một chuỗi các số nguyên
16-bit
tổng k/tra: tổng bù 1 (1’s
complement sum) của khúc dữ
liệu
ng/gửi đặt giá trị tổng k/tra vào
trường “tổng k/tra” của mào đầu
KHÔNG – có lỗi
CÓ – không phát hiện ra lỗi
Nhưng vẫn có khả năng có lỗi?
Mục đích: phát hiện “các lỗi” (vd: đảo bit) trong gói tin
Trang 15Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
15
Tính tổng kiểm tra: CRC (Cyclic Redundancy Check)
xem các bit dữ liệu, D, như là số nhị phân
chọn r+1 bit mẫu (máy phát), G
mục đích: chọn r bit CRC , R, sao cho
<D,R> chính xác chia hết cho G (mô-đun 2)
ng/nhận biết G, chia <D,R> cho G nếu số dư khác 0: có lỗi!
có thể phát hiện tất cả các lỗi chùm ngắn hơn r+1 bit
được sử dụng rộng rãi trong thực tế (Ethernet, 802.11 WiFi, ATM)
Trang 17Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
17
Tầng liên kết dữ liệu
5.3 Các giao thức đa truy cập
Trang 18Các giao thức và liên kết đa truy cập
Hai loại “liên kết”:
PPP dùng cho truy cập quay số
liên kết PPP giữa bộ chuyển mạch Ethernet và máy
quảng bá (đường dây/môi trường truyền chia sẻ)
Ethernet cổ điển
đường tải lên HFC
LAN không dây 802.11
đường đây chia sẻ(vd: tần số radio chia sẻ tần số radio chia sẻ mọi người tại một buổi tiệc đứng
Trang 19Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
19
Các giao thức Đa Truy Cập
nhiễu
đụng độ nếu node nhận được hơn 1 tín hiệu tại môt thời điểm
giao thức đa truy cập
sẻ kênh, như là, xác định khi nào node có thể truyền tải
không có kênh riêng dành cho sự điều phối
Trang 20Giao thức Đa Truy Cập Lý Tưởng
Kênh quảng bá với tốc độ R bps
1 khi một node muốn truyền, nó có thể truyền với vận tốc R
2 khi M node muốn truyền, mỗi node có thể truyền với vận
tốc trung bình là R/M
3 phân tán một cách hoàn toàn:
không có node riêng dành cho việc điều phối truyền tải
không có sự đồng bộ hóa đồng hồ, ô thời gian
4 đơn giản !!!
Trang 21Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
21
Các giao thức MAC: phân loại
Ba lớp lớn:
Phân chia kênh
chia kênh thành những “miếng” nhỏ hơn (ô thời gian, tần số, mã)
phân phối các miếng cho các node có nhu cầu sử dụng riêng biệt
Truy cập ngẫu nhiên
không chia kênh, cho phép xảy ra đụng độ
“khôi phục lại” từ đụng độ
“Theo lượt”
các node truyền theo lượt, nhưng node nào có nhiều dữ liệu hơn có thể có lượt dài hơn
Trang 22G/Thức MAC phân chia kênh: TDMA
TDMA: đa truy cập phân chia thời gian (time division multiple access)
t/g gửi 1 gói) trong mỗi vòng
khung 6-ô
Trang 23Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
23
G/Thức MAC phân chia kênh: FDMA
FDMA: đa truy cập phân chia tần số (frequency division multiple access)
Trang 24Giao thức Truy cập Ngẫu nhiên
gửi ở vận tốc cao nhất của kênh R
không có sự điều phối ưu tiên nào giữa các node
giao thức MAC truy cập ngẫu nhiên chỉ rõ:
cách phát hiện đụng độ
cách phục hồi lại từ đụng độ (vd, thông qua truyền lại trễ)
ALOHA chia ô
ALOHA
CSMA, CSMA/CD, CSMA/CA
Trang 25Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
25
Đa truy cập kiểm tra đường truyền - CSMA
(Carrier Sense Multiple Access)
Nếu thấy kênh rỗi: gửi toàn vẹn khung
khác!
Trang 26Đụng độ trong CSMA
đụng độ vẫn có thể xảy ra
độ trễ lan truyền nghĩa là hai
node có thể không nghe được
sự truyền tải của nhau
vai trò của khoảng cách và độ trễ
lan truyền trong việc xác định xác
suất đụng độ
Trang 27Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
27
CSMA/CD
CSMA/CD: kiểm tra đường truyền, trì hoãn như trong CSMA
phát hiện đụng độ trong khoảng t/g ngắn
các truyền tải đụng độ sẽ bị bỏ qua, giảm sự hoang phí kênh
tương đối dễ trong LAN đi dây: đo cường độ của tín hiệu, so sánh
tín hiệu gửi đi và nhận được
khó trong LAN không dây: cường độ tín hiệu nhận được bị bị áp
đảo bởi cường độ truyền tải cục bộ
Trang 28G/thức MAC “Theo lượt”
g/thức MAC phân chia kênh:
chia sẻ kênh hiệu quả và công bằng khi tải cao
không hiệu quả khi tải thấp: trễ khi truy cập kênh, được sử dụng
1/N băng thông nếu thâm chí chỉ có 1 node làm việc!
g/thức MAC truy cập ngẫu nhiên
hiệu quả khi tải thấp: một node có thể sử dụng hoàn toàn băng
Trang 29Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
29
G/thức MAC “Theo lượt”
Chỉ định:
node thành viên truyền
tải theo lượt
Trang 30G/thức MAC “Theo lượt”
Truyền thẻ:
thẻ điều khiển được
truyền từ node này sang node khác theo thứ tự
Trang 31Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
31
Tổng kết về các g/t MAC
phân chia kênh, theo t/gian, tần số hoặc mã
Phân chia Thời Gian, Phân chia Tần Số
truy cập ngẫu nhiên (động),
ALOHA, S-ALOHA, CSMA, CSMA/CD
kiểm tra đường truyền: dễ trong dây dẫn, khó trong m/trường
không dây
CSMA/CD được dùng trong Ethernet
CSMA/CA được dùng trong 802.11
theo lượt
sự chỉ định từ node chủ trì, sự truyền thẻ
Bluetooth, FDDI, IBM Token Ring
Trang 32Tầng liên kết dữ liệu
5.4 Đánh địa chỉ tầng-Liên kết
Trang 33Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
33
Địa chỉ MAC và ARP
địa chỉ tầng-mạng
dùng để gửi gói tin tới mạng IP đích
vai trò: chuyển khung từ giao diện này tới giao diện kết nối-vật lý
khác (trong cùng mạng)
địa chỉ MAC 48 bit (cho hầu hết LANs)
• được gán cứng vào NIC ROM, đôi khi có thể thay đổi được bằng phần mềm
Trang 34Địa chỉ LAN và ARP
Mỗi card mạng LAN có một địa chỉ LAN độc nhất
Địa chỉ quảng bá = FF-FF-FF-FF-FF-FF
Trang 35Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
35
Địa chỉ LAN (tt)
MAC (để đảm bảo tính độc nhất)
(a) địa chỉ MAC: số CMND
(b) địa chỉ IP: địa chỉ thư tín
có thể di chuyển card mạng từ một LAN sang LAN khác
địa chỉ phụ thuộc vào mạng con IP mà nốt gắn vào
Trang 36ARP: Giao thức phân giải địa chỉ (Address
thời gian sống TTL (Time
To Live): thời gian tồn tại của một ánh xạ trong bảng ARP, sau t/g này ánh xạ sẽ
bị xóa đi (thường là 20 phút)
Câu hỏi: làm sao để xác định
địa chỉ MAC của B nếu biết
Trang 37Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
37
Giao thức ARP: cùng LAN (mạng)
A muốn gửi gói tin cho B, và địa
chỉ MAC của B không nằm trong
bảng ARP của A
A quảng bá gói truy vấn ARP,
chưa địa chỉ IP của B
địa chỉ MAC đích
= FF-FF-FF-FF-FF-FF
tất cả các máy trên LAN đều
nhận truy vấn ARP
B nhận được gói truy vấn ARP,
phản hồi cho A với địa chỉ MAC
IP- trạng thái mềm: t/tin sẽ bị xóa khỏi bảng ARP nếu không được làm mới
các nốt tạo ra bảng ARP của chúng mà không có sự can thiệp từ phía quản trị viên của mạng
Trang 38Đánh địa chỉ: định tuyến tới LAN khác
giả sử A biết đ/c IP của B
R
1A-23-F9-CD-06-9B
222.222.222.220 111.111.111.110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D 111.111.111.112
111.111.111.111
A 74-29-9C-E8-FF-55
222.222.222.221 88-B2-2F-54-1A-0F
B
222.222.222.222
49-BD-D2-C7-56-2A
Trang 39Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
39
A tạo ra gói IP với nguồn A, đích B
A sử dụng ARP để lấy địa chỉ MAC của R với IP là
111.111.111.110
A tạo khung tầng-liên kết với địa chỉ đích là đ/c MAC của R,
khung chứa gói tin IP A-tới-B
NIC A gửi khung
NIC R nhận khung
R gỡ bỏ gói IP từ khung Ethernet, thấy nó gửi cho B
R sử dụng ARP để lấy địa chỉ MAC của B
R tạo ra khung chứa gói tin IP A-tới-B ,gửi cho B
R
1A-23-F9-CD-06-9B
222.222.222.220 111.111.111.110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D 111.111.111.112
111.111.111.111
A
74-29-9C-E8-FF-55
222.222.222.221 88-B2-2F-54-1A-0F
B
222.222.222.222
49-BD-D2-C7-56-2A
Trang 40Tầng liên kết dữ liệu
5.5 Ethernet
Trang 41Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
41
Ethernet
công nghệ “thống trị” của LAN đi dây:
bản phác thảo Ethernet của Metcalfe
Trang 42Sơ đồ hình Sao
tất cả nốt trong cùng miền đụng độ (có thể đụng độ với với nhau)
bộ chuyển mạch hoạt động tại trung tâm
mỗi “nan hoa” chạy một giao thức Ethernet riêng lẻ (nốt không va
chạm với nhau)
bộ chuyển mạch
buýt: cáp đồng trục hình sao
Trang 43Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
43
Cấu trúc khung Ethernet
Nic gửi đóng gói gói IP (hoặc là gói tin của giao thức
Phần khởi đầu:
mẫu 10101011
gửi với người nhận
Trang 44Cấu trúc khung Ethernet (tt)
Địa chỉ: 6 bytes
nếu NIC nhận được khung với đúng địa chỉ MAC của nó hoặc là địa chỉ phát tán rộng (vd gói tin ARP), nó sẽ đẩy dữ liệu trong khung lên giao thức tầng mạng
ngoài ra, NIC bỏ khung
Loại: xác định giao thức tầng cao hơn (hầu hết là IP nhưng thỉnh thoảng có những g/t khác, vd, Novell IPX, AppleTalk)
Trang 45Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
45
Ethernet: không tin cậy,không kết nối
không kết nối: không có bắt tay giữa các NIC gửi và nhận
không tin cậy: NIC nhận không gửi ACK hoặc là NACK cho NIC gửi
luồng gói tin truyền tới tầng mạng có thể có chỗ gián đoạn (các gói tin bị mất)
các chỗ gián đoạn có thể được lấp đầy nếu ứ/d dùng TCP
ngoài ra, ứ/d sẽ thấy các chỗ gián đoạn này
Trang 46Giải thuật CSMA/CD Ethernet
1 NIC nhận được gói tin từ
tầng mạng, tạo ra khung
2 Nếu NIC thấy kênh truyền
rỗi, bắt đầu truyền khung
Nếu NIC thấy kênh bận,
đợi đến khi kênh rỗi, sau
đó truyền
3 Nếu NIC gửi toàn bộ khung
đi mà không phát hiện ra
sự truyền tải nào khác, NIC
hoàn thành việc gửi khung!
4 Nếu NIC phát hiện sự truyền tải khác trong khi đang truyền: hủy bỏ và gửi tín hiệu nghẽn
5 Sau khi hủy bỏ việc gửi,
Trang 47Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
MẠNG MÁY TÍNH CĂN BẢN Bài giảng 1 - Chương 5: Tầng liên kết dữ liệu
truyền lại cho phù hợp với tải hiện tại
tải nặng: thời gian chờ ngẫu nhiên sẽ dài hơn
đụng độ đầu tiên: chọn K từ {0,1}; độ trễ là K· 512 t/g bít
đụng độ lần 2: chọn K từ {0,1,2,3}…
sau va chạm lần 10, chọn K từ {0,1,2,3,4,…,1023}
Xem/tương tác với vi mã
Java trên Web AWL:
rất khuyến khích !