Giao thức tầng liên kết dữ liệu 5.1 5.1 -- Introduction and services Introduction and services 5.2 - Error detection and correction5.3 - Multiple access protocols & LAN5.4 - Link-layer a
Trang 1Chương 5.
Giao thức tầng liên kiết dữ liệu (data link)
Mạng Máy Tính
Nguyễn Duy Khoa Mạng Máy Tính và Truyền Thông Trường ĐH Công Nghệ Thông Tin
Ch5 Giao thức tầng liên kết dữ liệu
5.1 5.1 Introduction and services Introduction and services
5.2 - Error detection and correction5.3 - Multiple access protocols & LAN5.4 - Link-layer addressing & ARP5.5 - Specific link layer technologies
Trang 2duyn@uit.edu.vn 9/30/2011
Introduction & services
packet nhiều frame
link là truyền các các packet (datagram) từ nút này tới nút khác
“link”
Trang 3duyn@uit.edu.vn 9/30/2011
Data Link & frame
Link:
router-router; host-host; router-host
frame: dữ liệu của tầng data link
application transport network link physical
network link physical
M M M M
5 of 44
Các dịch vụ của tầng data link
link access)
đóng gói tin vào các frame
truy nhập đường truyền (đường truyền dùng chung cần
có quy tắc truy nhập)
địa chỉ vật lý (physical addr) được sử dụng.
Truyền tin cậy (reliable delivery): rdt
Trang 4duyn@uit.edu.vn 9/30/2011
Các dịch vụ của tầng data link (cont)
Flow control (điều khiển lưu lượng!!!)
đảm bảo lưu lượng truyền hợp lý, nút nhận không bị quá tải
Error detection
lỗi có thể phát sinh do nhiễu, tín hiệu yếu…
nút nhận phát hiện lỗi, bỏ qua hoặc yêu cầu nút gửi gửi lại.
Error correction
nút nhận xác định bit bị lỗi và sửa lỗi.
Half-duplex and Full-duplex
half-duplex: các nút không thể truyền nhận đồng thời.
full-duplex: các nút có thể truyền nhận đồng thời.
network link physical
M M M M
Trang 5duyn@uit.edu.vn 9/30/2011
Ch5 Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 5.2 Error detection and correction Error detection and correction
5.3 - Multiple access protocols & LAN5.4 - Link-layer addressing & ARP5.5 - Specific link layer technologies
9 of 44
Error detection and correction
D = Data
EDC= Error Detection and Correction bits
Bits thêm vào với mục đích kiểm soát lỗi.
Số lượng bit càng cao thì khả năng kiểm soát lỗi càng tốt.
Error detection: không phải lúc nào cũng phát hiện được lỗi!
Trang 6duyn@uit.edu.vn 9/30/2011
Parity
Parity: cân bằng!!! (chẵn lẻ)
Parity chẵn (even parity)
tổng số các bit 1 (bao gồm cả bit parity) là chẵn.
vd: parity của 101010101 là 1 (tổng số bit 1 = 5+1).
Parity lẻ (odd parity):
tổng số các bit 1 (bao gồm cả bit parity) là lẻ.
vd: parity của 101010101 là 0 (tổng số bit 1 = 5).
11 of 44
Parity checking
Single Bit Parity:
Detect single bit errors
Two Dimensional Bit Parity:
Detect and correct single bit errors
Trang 7duyn@uit.edu.vn 9/30/2011
sender puts checksum value into UDP checksum field
YES - no error detected But
maybe errors nonetheless?
More later ….
Goal: detect “errors” (e.g., flipped bits) in transmitted
segment (note: used at transport layer only)
13 of 44
CRC – Cyclic Redundancy Check
Data = d bits dữ liệu (D).
Sender chọn r+1 bit sinh (G - generator).
Chọn r CRC bits (R) sao cho:
DR = D*2 r XOR R (= (D << r ) XOR R)
receiver: nhận D’R’; biết trước G; chia D’R’ cho G, nếu phép chia có dư có lỗi.
có thể phát hiện lỗi <= r bit.
CRC được sử dụng rộng rãi trong thực tế.
Trang 8duyn@uit.edu.vn 9/30/2011
Phép tính modulo 2
K/quả modulo N = kết quả bình thường mod N.
Vd: 5+9 (mod 4) = 14 mod 4 = 2.
Thực hiện với từng bit.
1+1 (mod 2) = 0; 1+0 (mod 2) = 1… (không nhớ!!!)
Trang 9duyn@uit.edu.vn 9/30/2011
Ch5 Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services5.2 - Error detection and correction
5.3 5.3 Multiple access protocols & LAN Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP5.5 - Specific link layer technologies
17 of 44
Multiple Access
Hai loại “links”:
point-to-point
PPP (dial-up access: kết nối Internet tại nhà qu modem)
point-to-point link giữa Ethernet switch và host
broadcast (chia sẻ: shared wire or medium)
Trang 10duyn@uit.edu.vn 9/30/2011
MAP: Multiple Access Protocols
xung đột (collision).
chỉ có một nút truyền thành công!!!
các quy tắc quy định việc sử dụng đường truyền chung giữa các nút mạng.
Class: đôi khi SV mất trật tự xung đột (collision).
Cocktail party: multiple languages
19 of 44
Ideal Mulitple Access Protocol
Đường truyền có tốc độ (rate) = R
Khi một nút muốn truyền, tốc độ là R
Điều khiển truy nhập phân tán:
không cần một nút đặc biệt để điều khiển (các nút tự điều khiển).
không cần các tín hiệu đồng bộ
Trang 11duyn@uit.edu.vn 9/30/2011
MAP: taxonomy (phân loại)
Channel partitioning (phân mảnh kênh truyền)
kênh truyền được chia thành các “miếng” nhỏ (theo thời gian, tần
số, code).
(collision).
Random access (truy nhập ngẫu nhiên)
nút nào muốn truyền, ngẫu nhiên truy cập kênh truyền có khả năng xung đột; xử lý xung đột?
Taking turns (truy nhập lần lượt)
các nút phối hợp chặt chẽ trong việc sử dụng đường truyền không xung đột.
Goal: efficient, fair, simple, decentralized
21 of 44
Channel Partitioning MAP: TDMA
TDMA: time division multiple access
Các nút được lần lượt truy cập đường truyền trong khoảng thời gian xác định (time slot)
(idle slot)
Vd: 6 slots, 3 idle do nút 2,5,6 không có nhu cầu.
Trang 12duyn@uit.edu.vn 9/30/2011
Channel Partitioning MAP: TDMA
FDMA: frequency division multiple access
Phổ của kênh truyền được chia thành nhiều dải tần
Như vậy, nút không có nhu cầu truyền thì dải tần dành cho nó bị lãng phí (unused, idle)
Channel Partitioning MAP: CDMA
CDMA (Code Division Multiple Access)
Tất cả các nút sử dụng chung tần số nhưng lại có
mã riêng (CQ - chipping sequence) để mã hoá và giải mã dữ liệu
Sử dụng chủ yếu trong mạng wireless (cellular, satellite…)
Trang 13duyn@uit.edu.vn 9/30/2011
CDMA example: encode/decode
25 of 44
CDMA example: two-sender interference
sender 1
sender 2
Trang 14duyn@uit.edu.vn 9/30/2011
Random Access Protocols
truy nhập đường truyền và truyền với tốc độ R
không có chế độ ưu tiên cho nút nào cả.
cần có cơ chế phát hiện xung đột (collision detection).
khôi phục khi có xung đột (recovery): chờ một lúc rồi truyền lại…
Nút luôn bắt đầu truyền từ thời điểm bắt đầu slot
Nếu xung đột, sẽ truyền lại frame tại thời điểm bắt đầu slot tiếp theo với xác suất p chọn trước
VD
At best:channel use for useful transmissions 37%
of time!
Trang 15duyn@uit.edu.vn 9/30/2011
CSMA (Carrier Sense Multiple Access)
Carrier Sense:
lắng nghe trước khi truyền.
Nếu kênh truyền rỗi thì truyền toàn bộ frame
thử lại ngay lập tức với xác suất p cho tới khi kênh truyền rỗi.
thử lại sau một khoảng thời gian ngẫu nhiên.
29 of 44
CSMA collisions
space:
khoảng cách giữa các nút.
time: thời gian.
Xung đột vẫn có thể xảy
ra nếu trong khoảng thời gian t1-t0 tín hiệu chưa lan truyền được từ
Trang 16duyn@uit.edu.vn 9/30/2011
CSMA/CD (Collision Detection)
nghe trước khi truyền.
dò xung đột trong một khoảng thời gian ngắn (đủ lớn).
nếu phát hiện xung đột thì dừng truyền để tránh lãng phí.
Trang 17duyn@uit.edu.vn 9/30/2011
“Taking Turns” MAP
hiệu quả khi nhiều nút cùng sử dụng
ngược lại, gây lãng phí khi chỉ có vài nút cần truyền tin.
hiệu quả khi ít nút sử dụng: một nút có thể toàn quyền
sử dụng đường truyền với tốc độ cao nhất.
khi một nút kết thúc truyền, master thông báo cho nút khác.
Thẻ bài được luân chuyển giữa các nút.
Vấn đề:
Một nút gặp sự cố ảnh hưởng tới toàn mạng.
nút nào đó sao nhãng việc chuyển thẻ bài cho nút khác cần một
Trang 18duyn@uit.edu.vn 9/30/2011
Vd: LAN kết nối Internet
chia sẻ đường truyền.
Các loại LAN:
FDDI (Fiber Distributed Data Interface): Token-passing.
35 of 44
Ch5 Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services5.2 - Error detection and correction5.3 - Multiple access protocols & LAN
5.4 5.4 Link Link layer addressing & ARP layer addressing & ARP
5.5 - Specific link layer technologies
Trang 19duyn@uit.edu.vn 9/30/2011
Link layer address
32-bit IP address:
network-layer address
IP được đóng trong các gói tin (nguồn, đích).
LAN (or MAC or physical) address:
48 bit (6 bytes) MAC address (đối với hầu hết LANs)
được ghi trong adapter ROM
*MAC: Media Access Control (Link layer = MAC + LLC (Logical Link Control)
37 of 44
LAN Addresses and ARP
Mỗi adapter có một địa chỉ vật lý duy nhất, tương tự như số CMTND.
Broadcast address = FF-FF-FF-FF-FF-FF
= adapter 1A-2F-BB-76-09-AD
71-65-F7-2B-08-53
LAN (wired or wireless)
Trang 20duyn@uit.edu.vn 9/30/2011
MAC address (cont)
Địa chỉ vật lý được phân bổ bởi IEEE
Nhà sản xuất phải đăng ký dải địa chỉ với IEEE
chỉ IP thay đổi nhưng địa chỉ vật lý không thay đổi
So sánh:
địa chỉ vật lý: số CMTND.
địa chỉ IP: địa chỉ hòm thư.
Các frame muốn gửi tới đích thì cần chứa địa chỉ vật lý của nút đích
223.1.3.2 223.1.3.1
223.1.3.27
A
B
E
A gửi packet tới B, A sẽ:
Tra cứu địa chỉ mạng của B, phát hiện ra B cùng mạng với A
link layer gửi packet tới B thông qua frame.
B’s MAC addr
A’s MAC addr
A’s IP addr
B’s IP addr IP payloaddatagram
frame source, dest address packet source,dest address
Trang 21duyn@uit.edu.vn 9/30/2011
ARP: Address Resolution Protocol
Mỗi nút mạng (Host, Router) đều có ARP
table
ARP Table: cho phép từ
IP tra cứu ra MAC addr Cấu tạo bản ghi:
< IP address; MAC address; TTL>
thời gian tồn tại của bản ghi tới khi bị xoá.
???: Làm thế nào để biết địa chỉ vật lý của B khi biết IP của B?
Trường hợp chưa biết MAC addr của nút
ARP table)
A đã biết IP của B (ipb).
A gửi ARP query packet tới tất cả các nút (broadcast), trong đó có chứa IP của B (ipb) hỏi xem nút nào có địa chỉ IP là ipb.
Tất cả các nút đều nhận được và kiểm tra xem ipb có
Trang 22duyn@uit.edu.vn 9/30/2011
Trường hợp hai nút ở hai mạng khác nhau
A (111.111.111.111) muốn gửi tin tới B (222.222.222.222)
A không biết MAC addr của B, nếu gửi ARP pkt hỏi LAN1 không có nút nào trả lời.
A
R
B
43 of 44
A creates IP packet with source A, destination B
A uses ARP to get R’s physical layer address for 111.111.111.110
A creates frame with R's physical address as dest, frame contains to-B IP datagram
A- A’s data link layer sends frame
R’s data link layer receives frame
R removes IP datagram from frame, sees its destined to B
R uses ARP to get B’s physical layer address
R creates frame containing A-to-B IP datagram sends to B
A
R
B