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

Tầng liên kết dữ liệu chapter 05a

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 (675.33 KB, 15 trang )

Chương 5. Tầng liên kết dữ liệu

1-6/2006

Chương 5.
Giao thức tầng liên kiết dữ liệu (data link)
Đặng Xuân Hà
Computer Networking 2006
( />Dept. of CS, HAU1.

Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP
5.5 - Specific link layer technologies

1-6/2006

Chương 5. Tầng liên kết dữ liệu

2

Introduction & services

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>


3

1


Chương 5. Tầng liên kết dữ liệu

1-6/2006

Data Link
“link”

Data link: Liên kết dữ
liệu; tầng 2.
„ PDU: frame.
„

¾ packet

„

Æ nhiều frame

Tầng network sẽ gửi các
packet (datagram)
xuống tầng data link.

4

Chương 5. Tầng liên kết dữ liệu


1-6/2006

Data Link & frame

M
Ht M
Hn Ht M
Hl Hn Ht M

application
transport
network
link
physical

data link
protocol
phys. link

„

Link:

„

frame: dữ liệu của tầng data link

¾


network
link
physical

Hl Hn Ht M
frame

router-router; host-host; router-host

1-6/2006

Chương 5. Tầng liên kết dữ liệu

5

Các dịch vụ của tầng data link
„

Đóng frame và truy cập đường truyền (framing,
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.
¾ đảm


bảo các gói tin của tầng mạng không bị lỗi.
¾ tuỳ thuộc chất lượng đường truyền.
1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

6

2


Chương 5. Tầng liên kết dữ liệu

1-6/2006

Các dịch vụ của tầng data link (cont)
„

Flow control (điều khiển lưu lượng!!!)

„

Error detection

¾

¾

¾

đảm bảo lưu lượng truyền hợp lý, nút nhận không bị quá tải
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

„

Half-duplex and Full-duplex

¾

¾
¾

nút nhận xác định bit bị lỗi và sửa lỗi.
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.
7

Chương 5. Tầng liên kết dữ liệu

1-6/2006

Implementation
Link layer được thực thi tại network adapter (NIC –

Network Interface Card):
„ NIC = RAM + DSP chips + host bus interface +
link interface
„

M
Ht M
Hn Ht M
Hl Hn Ht M

application
transport
network
link
physical

data link
protocol
phys. link

network
link
physical

Hl Hn Ht M
frame

adapter card
1-6/2006


Chương 5. Tầng liên kết dữ liệu

8

Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP
5.5 - Specific link layer technologies

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

9

3


Chương 5. Tầng liên kết dữ liệu

1-6/2006

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!

10

Chương 5. Tầng liên kết dữ liệu

1-6/2006

Parity
Parity: cân bằng!!! (chẵn lẻ).
„ Parity chẵn (even parity)
„

¾ tổng
¾ vd:

„

số các bit 1 (bao gồm cả bit parity) là chẵn.
parity của 101010101 là 1 (tổng số bit 1 = 5+1).


Parity lẻ (odd parity):
¾ tổng
¾ vd:

số các bit 1 (bao gồm cả bit parity) là lẻ.
parity của 101010101 là 0 (tổng số bit 1 = 5).

1-6/2006

11

Chương 5. Tầng liên kết dữ liệu

Parity checking
Single Bit Parity:
Detect single bit errors

Two Dimensional Bit Parity:
Detect and correct single bit errors

0

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

0


12

4


Chương 5. Tầng liên kết dữ liệu

1-6/2006

Internet Checksum
Goal: detect “errors” (e.g., flipped bits) in transmitted
segment (note: used at transport layer only)
Receiver:

Sender:
„
„

„

treat segment contents as
sequence of 16-bit integers
checksum: addition (1’s
complement sum) of segment
contents
sender puts checksum value
into UDP checksum field

„

„

compute checksum of received
segment
check if computed checksum
equals checksum field value:
¾ NO - error detected
¾ YES - no error detected. But
maybe errors nonetheless?
More later ….

Chương 5. Tầng liên kết dữ liệu

1-6/2006

13

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 chia hết cho G (modulo 2)

¾


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.

„

¾

„

DR = D*2r XOR R. (= (D << r ) XOR R)

CRC được sử dụng rộng rãi trong thực tế.

Chương 5. Tầng liên kết dữ liệu

1-6/2006

14

Phép tính modulo 2
„

Phép tính modulo N:
¾ K/quả
¾ Vd:

„


modulo N = kết quả bình thường mod N.
5+9 (mod 4) = 14 mod 4 = 2.

Phép tính modulo 2 với số nhị phân:
¾ Thực

hiện với từng bit.
(mod 2) = 0; 1+0 (mod 2) = 1… (không nhớ!!!)
¾ 1-0 (mod 2) = 0 – 1 (mod 2) = 1
¾ Với hai số nhị phân b1 và b2:
¾ 1+1

„

1-6/2006

b1 + b2 = b2 + b1 = b1 XOR b2

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

15

5


Chương 5. Tầng liên kết dữ liệu

1-6/2006


CRC Example
Biết: D,G. Tìm R?
DR chia hết cho G (mod 2) nghĩa là:
D.2r XOR R = nG
=> D.2r = nG XOR R
Do vậy:Nếu chia D.2r cho G, phần
dư sẽ là R

R = remainder[

D.2r
G

]

Chương 5. Tầng liên kết dữ liệu

1-6/2006

16

Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - Link-layer addressing & ARP
5.5 - Specific link layer technologies

Chương 5. Tầng liên kết dữ liệu


1-6/2006

17

Multiple Access
Hai loại “links”:
„

point-to-point
¾
¾

„

PPP (dial-up access: kết nối Internet tại nhà qua modem)
point-to-point link giữa Ethernet switch và host

broadcast (chia sẻ: shared wire or medium)
¾
¾

1-6/2006

Radio; Bus LAN;
802.11 wireless LAN

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>


18

6


Chương 5. Tầng liên kết dữ liệu

1-6/2006

MAP: Multiple Access Protocols
Các nút mạng dùng chung một đường truyền.
„ Có lúc nhiều nút mạng cùng muốn truyền dữ liệu.
„

¾ xung
¾ chỉ

„

đột (collision).
có một nút truyền thành công!!!

Multiple Access Protocol (MAP):
¾ các

quy tắc quy định việc sử dụng đường truyền chung
giữa các nút mạng.

„


Human MAP examples:
¾ Class:

đôi khi SV mất trật tự Æ xung đột (collision).
party: multiple languages

¾ Cocktail

Chương 5. Tầng liên kết dữ liệu

1-6/2006

19

MAP lý tưởng, phải đảm bảo:
Đường truyền có tốc độ (rate) = R
„ Khi một nút muốn truyền, tốc độ là R.
„ Khi M nút muốn truyền, tốc độ TB là R/M.
„ Đ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ộ
„

Đơn giản.

1-6/2006


Chương 5. Tầng liên kết dữ liệu

20

MAP: taxonomy (phân loại)
„

Channel partitioning (phân mảnh kênh truyền)
¾
¾

„

Random access (truy nhập ngẫu nhiên)
¾

„

kênh truyền được chia thành các “miếng” nhỏ (theo thời gian, tần
số, code).
mỗi “miếng” sẽ được một nút dùng riêng Æ không xung đột
(collision).
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
1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

21

7


Chương 5. Tầng liên kết dữ liệu

1-6/2006

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).
„ Không phải nút nào cũng muốn truyền: unused slot
(idle slot).
¾ Vd:

6 slots, 3 idle do nút 2,5,6 không có nhu cầu.

22


Chương 5. Tầng liên kết dữ liệu

1-6/2006

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.
„ Mỗi dải tần dành riêng cho một nút.
„ 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).

1-6/2006

2,5,6 idle

time

frequency bands

¾ Vd:

Chương 5. Tầng liên kết dữ liệu

23

Channel Partitioning MAP: CDMA
CDMA (Code Division Multiple Access)
Mỗi nút được xác định bởi mã duy nhất (code).
„ 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.
„ encoded signal = (data) X (CQ)
„ decoding: tích trong của encoded signal và CQ.
„ Sử dụng chủ yếu trong mạng wireless (cellular,
satellite…).
„

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

24

8


Chương 5. Tầng liên kết dữ liệu

1-6/2006

CDMA example: encode/decode

Chương 5. Tầng liên kết dữ liệu

1-6/2006

25


CDMA example: two-sender interference
sender 1

sender 2

Chương 5. Tầng liên kết dữ liệu

1-6/2006

26

Random Access Protocols
„

Khi nút muốn truyền:
¾ 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ả.
„

Nếu nhiều nút cùng truyền Æ xung đột.
¾ cần

có cơ chế phát hiện xung đột (collision detection).
phục khi có xung đột (recovery): chờ một lúc rồi
truyền lại…

¾ khôi


„

Một số giao thức:
¾ slotted

ALOHA, ALOHA.
CSMA/CD.

¾ CSMA,
1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

27

9


Chương 5. Tầng liên kết dữ liệu

1-6/2006

Slotted ALOHA
Chia thành các khoảng thời gian (time slot) = thời
gian cần để truyền một frame.
„ 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.

„

At best: channel
use for useful
transmissions 37%
of time!

VD

Success (S), Collision (C), Empty (E) slots
Chương 5. Tầng liên kết dữ liệu

1-6/2006

28

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.
„ Nếu kênh truyền bận, tuỳ cơ ứng biến:
„

¾ 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.

Chương 5. Tầng liên kết dữ liệu

1-6/2006

29

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ừ
B tới D.

Lãng phí!, cần cơ chế
phát hiện xung đột.

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

30

10


Chương 5. Tầng liên kết dữ liệu

1-6/2006

CSMA/CD (Collision Detection)
„

CSMA/CD:
¾ nghe

trước khi truyền.
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í.
¾ dò


„

Phát hiện xung đột:
¾ wired

LAN: đo hiệu điện thế.
???

¾ wireless:

Chương 5. Tầng liên kết dữ liệu

1-6/2006

31

CSMA/CD: example

Chương 5. Tầng liên kết dữ liệu

1-6/2006

32

“Taking Turns” MAP
„

Channel partitioning MAP:
¾ hiệu


quả khi nhiều nút cùng sử dụng
lại, gây lãng phí khi chỉ có vài nút cần truyền tin.

¾ ngược

„

Random Access MAP:
¾ 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.
¾ nhiều nút cùng sử dụng: xung đột.
„

Taking turns:
¾ Tìm

1-6/2006

kiếm giải pháp tốt cho cả hai tình huống.
Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

33

11



Chương 5. Tầng liên kết dữ liệu

1-6/2006

“Taking Turns” MAP: Polling & Token passing
Polling
„ Có một nút điều khiển (master)
có nhiệm vụ:
¾

¾

„
„

lần lượt “thông báo” cho các nút
khác biết đến lượt truyền và được
phép truyền tối đa một số lượng
frame nào đó.
khi một nút kết thúc truyền,
master thông báo cho nút khác.

Token passing
„ Thẻ bài (token) là một thông
báo đặc biệt mà nút nào nắm
giữ nó sẽ được phép sử dụng
đường truyền.
„ Thẻ bài được luân chuyển giữa
các nút.
„ Vấn đề:


Không xung đột.
Vấn đề:
¾
¾

¾

mất thời gian thông báo: tốc độ
trung bình < R.
khi master gặp sự cố thì cả mạng
ngừng hoạt động!

¾

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 vài thủ tục để khôi phục.

Chương 5. Tầng liên kết dữ liệu

1-6/2006

34

LAN
„


MAP được sử dụng rộng rãi:
¾
¾

„

satellite, wireless…
LAN (Local Area Network).

LAN:
¾
¾

Mạng nội bộ, có phạm vi hẹp (toà nhà, trường ĐH…)
Vd: LAN kết nối Internet
„

„

chia sẻ đường truyền.

Các loại LAN:
¾
¾
¾

1-6/2006

Ethernet: phổ biến, sử dụng Random Access MAP.
FDDI (Fiber Distributed Data Interface): Token-passing.


Chương 5. Tầng liên kết dữ liệu

35

Ch5. Giao thức tầng liên kết dữ liệu
5.1 - Introduction and services
5.2 - Error detection and correction
5.3 - Multiple access protocols & LAN
5.4 - LinkLink-layer addressing & ARP
5.5 - Specific link layer technologies

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

36

12


Chương 5. Tầng liên kết dữ liệu

1-6/2006

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

Chương 5. Tầng liên kết dữ liệu

1-6/2006

LAN Addresses and ARP
Mỗi adapter có một địa chỉ vật lý duy nhất, tương tự như số CMTND.

1A-2F-BB-76-09-AD

71-65-F7-2B-08-53

LAN
(wired or
wireless)


Broadcast address =
FF-FF-FF-FF-FF-FF

= adapter
58-23-D7-FA-20-B0

0C-C4-11-6F-E3-98

1-6/2006

Chương 5. Tầng liên kết dữ liệu

38

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.
„ Khi di chuyển từ mạng này sang mạng khác: địa
chỉ IP thay đổi nhưng địa chỉ vật lý không thay đổi.
„ So sánh:
„

¾ địa
¾ địa

„

chỉ vật lý: số CMTND.
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.

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

39

13


Chương 5. Tầng liên kết dữ liệu

1-6/2006

When packet sent from A to B
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.
frame source,
dest address


A

223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9

B

223.1.1.3

packet source,
dest address
A’s IP
addr

B’s MAC A’s MAC
addr
addr

B’s IP
addr

223.1.3.27

223.1.3.1

223.1.2.2


E

223.1.3.2

IP payload

datagram
frame
Chương 5. Tầng liên kết dữ liệu

1-6/2006

40

ARP: Address Resolution Protocol
???: Làm thế nào để
biết địa chỉ vật lý của B khi
biết IP của B?

„

„
237.196.7.78
1A-2F-BB-76-09-AD
237.196.7.23

237.196.7.14

237.196.7.88
1-6/2006


Cấu tạo bản ghi:
< IP address; MAC address; TTL>
¾

LAN
71-65-F7-2B-08-53

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

58-23-D7-FA-20-B0

TTL (Time To Live):
thời gian tồn tại của bản
ghi tới khi bị xoá.

0C-C4-11-6F-E3-98

Chương 5. Tầng liên kết dữ liệu

41

Trường hợp chưa biết MAC addr của nút
„

Nếu A muốn biết MAC addr của B (không có trong

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ó
trùng với IP của mình không, nếu trùng thì trả lời (nút
B).

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

42

14


Chương 5. Tầng liên kết dữ liệu

1-6/2006

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

„
„
„
„
„
„
„

43

Chương 5. Tầng liên kết dữ liệu

1-6/2006

„

B

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 Ato-B IP datagram
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

1-6/2006

Chương 5. Tầng liên kết dữ liệu

<dxha at hau1.edu.vn>

B
44

15



×