Chapter 7
Packet-Switching
Networks
Traffic Management
Packet Level
Flow Level
Flow-Aggregate Level
1
Quản lý lưu lượng
Quản lý lưu lượng giao thông Quản lý lưu lượng packet
Đèn giao thông & tín hiệu điều Cơ cấu ghép và truy nhập để
điều khiển dòng lưu lượng
khiển luồng lưu lượng giao
packet
thông
Mục đích: để sử dụng một cách
Mục đích: tối đa hóa luồng
có hiệu quả tài nguyên mạng và
giao thông với thời gian trễ
đảm bảo QoS
cho phép
Phân quyền ưu tiên
Phân quyền ưu tiên
Xe cảnh sát, cứu thương,
KSQS,…
Luồng riêng cho xe bus
Xe tải không vào thành phố
ban ngày
Các gói khôi phục lỗi (faultrecovery packets)
Lưu lượng thời gian thực
(real-time traffic)
Lưu lượng doanh nghiệp
(Enterprise (high-revenue)
traffic)
Lưu lượng băng thông cao
2
(High bandwidth traffic)
Phân loại quản lý lưu lượng
Dựa trên cấu trúc của lưu lượng và thời gian có thể chia quản
lý lưu lượng thành 3 mức
Packet Level
Flow Level
Liên quan đến thủ tục xếp hàng (queueing) & định trình
(scheduling) các gói tại các điểm ghép
Xác định phẩm chất cho các packets trong một khoảng thời gian
ngắn (microseconds)
Quản lý các dòng lưu lượng và phân bổ tài nguyên để đảm bảo
việc phân phối QoS (từ msec đến sec)
Phối hợp các luồng lưu lượng theo tài nguyên sẵn có; điều khiển
luồng
Flow-Aggregate Level
Định tuyến các luồng lưu lượng tổng hợp qua mạng để tận dụng
hiệu quả tài nguyên và đáp ứng các cấp độ dịch vụ
“Traffic Engineering”, (minutes to days)
3
Chapter 7
Packet-Switching
Networks
Traffic Management
Packet Level
Flow Level
Flow-Aggregate Level
4
Đặc điểm packet switch
Packet buffer
…
1
Packet
2
N–1
N
switch như một node
Packet tới demultiplexed, switched, và
remultiplexed thành luồng ra
Packet swicth có buffer để tránh mất gói khi có
các gói tới đồng thời
Đường
đi của packets qua mạng được mô
hình như một chuỗi của các hệ thống xếp
hàng
5
End-to-End QoS
Packet buffer
…
1
2
N–1
N
Packet
đi qua mạng gặp phải trễ và thất thoát
tại các điểm ghép
Phẩm chất E2E là tích lũy của phẩm chất tại
từng chặng
Tổng trễ giữa E2E là tổng của trễ tại mỗi hệ thống
Trễ trung bình E2E là tổng của trễ trung bình
thành phần
Giảm trễ tại mỗi hệ thống cho phép đảm bảo trễ
E2E dưới một biên trên nhất định
6
QoS parameters
Trễ
Jitter:
biến động về trễ gói
Độ chênh lệch giữa min delay và max delay
Packet
loss: xảy ra khi packet tới nhưng
không có buffer
Mạng hỗ trợ đa dịch vụ với các yêu cầu khác
nhau về QoS
Đảm bảo bằng cách thực hiện các chiến lược:
Queueing sheduling: điều khiển tốc độ bit truyền
dẫn cung cấp cho các dòng thông tin khác nhau
Queueing management: quản lý xếp hàng của các
packet tại hệ thống chờ
7
Các chiến lược xếp hàng
FIFO
và Priority Queues
Fair Queueing: Xếp hàng công bằng
Weighted fair queueing: xếp hàng công bằng
có trọng số
Random Early Detection: Phát hiện sớm
ngẫu nhiên
8
FIFO Queueing
Arriving
packets
Packet buffer
Packet discard
when full
Transmission
link
Giải pháp định trình xếp hàng đơn giản nhất
Truyền theo trình tự tới: First-In, First-Out
Tất cả các luồng packet chia sẻ chung buffer
Qui tắc buffering: loại bỏ các packet tới nếu buffer đầy
(Alternative: loại bỏ ngẫu nhiên; loại bỏ packet cũ)
Delay và loss phụ thuộc vào interarrival time & packet length
Interarrival time hoặc packet length biến động nhanh sẽ làm
cho các gói xếp hàng dài tại các packet phẩm chất bị suy
giảm
9
FIFO Queueing (2)
Arriving
packets
Packet buffer
Packet discard
when full
Transmission
link
Đối xử với các gói như nhau
Không thể cung cấp QoS khác nhau cho các luồng
packet khác nhau
Sửa đổi FIFO queueing management để cung cấp
các đặc tính mất gói khác nhau cho các loại lưu
lượng khác nhau
FIFO Queueing with Discard Priority
Head of line (HOL) priority queueing
“Due date” scheduling
10
FIFO Queueing with Discard Priority
(a)
Packet buffer
Arriving
packets
Packet discard
when full
(b)
Transmission
link
Packet buffer
Arriving
packets
Transmission
link
Class 1
discard
when full
Packets of low priority
experience higher
packet loss
Class 2 discard
when threshold
exceeded
11
HOL Priority Queueing
Packet discard
when full
High-priority
packets
Low-priority
packets
Packet discard
when full
Transmission
link
When
high-priority
queue empty
Mỗi priority class có một buffer riêng
Khi đường truyền rỗi, packet đầu hàng (HOL) của hàng có ưu
tiên cao nhất (không rỗng) được chọn
Kích thước buffer của các class có thể lựa chọn theo yêu cầu
khác nhau về xác suất lỗi
12
Luồng có ưu tiên cao phải chờ ngắn hơn
HOL Priority Queueing
Packet discard
when full
High-priority
packets
Low-priority
packets
Packet discard
when full
Transmission
link
When
high-priority
queue empty
Nhược điểm:
Không cho phép đảm bảo một mức độ truy nhập đường
truyền nhất định cho các class ưu tiên thấp
Không phân biệt được các luồng cùng cấp ưu tiên
Đột biến tăng ở hàng ưu tiên cao có thể làm cho hàng ưu 13
tiên thấp bị bão hòa
Định trình theo hạn
Arriving
packets
Sorted packet buffer
Tagging
unit
Packet discard
when full
Transmission
link
Xắp xếp packet vào buffer theo theo “priority tag”
Priority tag
Priority class + arrival time
Due date (hạn)
Packets yêu cầu trễ nhỏ có due date sớm
Packets không có yêu cầu về trễ có due date lâu hoặc
bằng vô cùng
14
Fair Queueing
Packet flow 1
Approximated bit-level
round robin service
Packet flow n
C bits/second
…
…
Packet flow 2
Transmission
link
Cung cấp truy nhập công bằng tới băng thông truyền dẫn
Mỗi luồng có một buffer riêng: đặt được xác suất mất gói khác
nhau
Băng thông C bits/sec được phân bố đều cho các hàng đợi
không trống
transmission rate = C / n(t), where n(t)=# non-empty queues
15
Fair Queueing
Packet flow 1
Approximated bit-level
round robin service
Packet flow n
C bits/second
…
…
Packet flow 2
Transmission
link
Luồng packet trong buffer có thể coi như luồng chất lỏng chảy
liên tục mô hình như hệ thống dòng chảy chất lỏng
Thực tế không thể thực hiện được chia đều dung lượng
Giải pháp phục vụ mỗi hàng tuần tự 1bit/lần (round-robin)
Tuy nhiên, có khó khăn về xử lý đóng khung lại ở đầu ra
Giải pháp ở ATM: phục vụ 1 packet/lần
16
Buffer 1
at t=0
Fluid-flow system:
both packets served
at rate 1/2
1
Buffer 2
at t=0
t
0
1
Packet from
buffer 2 waiting
2
Packet-by-packet system:
buffer 1 served first at rate 1;
then buffer 2 served at rate 1.
1
Packet from
buffer 1 being 0
served
Both packets
complete service
at t = 2
Packet from buffer 2
being served
1
2
t
17
Fluid flow vs Packet flow
Sử
dụng mô hình dòng chất lỏng không dễ
dàng trong trường hợp các gói có độ dài
khác nhau
Giả thiết các buffer được phục vụ 1
packet/lần
Kích thước packet ở luồng 1 gấp đôi luồng 2
Sau thời gian dài luồng 2 sẽ chiếm hai lần băng
thông so với luồng 1
Giải
pháp: truyền các packet sao cho thời
gian kết thúc giống trường hợp dòng chất
lỏng
18
Packet-by-Packet Fair Queue
Khi
packet tới buffer, tính toán thời gian kết
thúc theo hệ thống dòng chất lỏng
Gán thời gian kết thúc cho packet (finish tag)
Khi kết thúc truyền một packet, chọn packet
có finish tag nhỏ nhất trong các buffer để
truyền
Tính toán finish tag như thế nào?
19
2
Buffer 1
at t=0
Fluid-flow system:
both packets served
at rate 1/2
1
Buffer 2
at t=0
Packet from buffer 2
served at rate 1
0
Packet from
buffer 2
waiting
Packet from
buffer 1
served at
rate 1
2
t
3
Packet-by-packet
fair queueing:
buffer 2 served at rate 1
1
0
1
2
3
t
20
Bit-by-Bit Fair Queueing
Giả thiết n luồng, n hàng
1 round = 1 cycle phục vụ tất cả n queues
Mỗi hàng chờ được lấy 1 bit/cycle 1 round = # active queues
Round number = số cycle phục vụ đã kết thúc
rounds
Current Round #
Nếu packet đến hàng chờ rỗi:
Finishing time = round number + packet size [bits]
Nếu packet đến hàng chờ bận:
Finishing time = finishing time of last packet in queue + packet size21
Number of rounds = Number of bit transmission opportunities
Rounds
…
Buffer 1
Buffer 2
Buffer n
Packet completes
transmission
k rounds later
Packet of length
k bits begins
transmission
at this time
Differential Service:
Nếu một luồng lưu lượng nhận băng thông gấp đôi băng thông
của luồng thông thường, thì thời gian kết thúc bằng 1/2
22
Computing the Finishing Time
F(i,k,t) = thời gian kết thúc của packet thứ k đến luồng i vào thời
điểm t
P(i,k,t) = kích thước của packet thứ k đến luồng i vào thời điểm t
R(t) = số thứ tự round tại t
Generalize so R(t) continuous, not discrete
rounds
R(t) tăng theo tốc độ tỉ lệ nghịch với n(t)
Fair Queueing:
F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)
Weighted Fair Queueing:
F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)/wi
23
Weighted Fair Queueing
Trường
hợp các người dùng có yêu cầu khác
nhau
Mỗi người dùng có một buffer với một trọng
số (weight) xác định mức độ chia sẻ băng
thông
Nếu buffer 1 có weight 1, buffer 2 có weight 3
Khi cả hai buffer không trống
Buffer 1 nhận 1/(1+3) =1/4 băng thông
Buffer 2 nhận 3/(1+3)= 3/4 băng thông
24
Buffer 1
at t=0
Fluid-flow system:
packet from buffer 1
served at rate 1/4;
Buffer 2
at t=0
1
Packet from buffer 2
served at rate 3/4
Packet from buffer 1
served at rate 1
t
0
1
Packet from
buffer 1 waiting
2
Packet-by-packet weighted fair queueing:
buffer 2 served first at rate 1;
then buffer 1 served at rate 1
1
Packet from buffer 1 served at rate 1
Packet from
buffer 2
0
served at rate 1
t
1
2
25