Đặc điểm packet switch 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 hì
Trang 11
Trang 2Quản lý lưu lượng
Quản lý lưu lượng giao thông
Đèn giao thông & tín hiệu điều
khiển luồng lưu lượng giao
thông
Mục đích: tối đa hóa luồng
giao thông với thời gian trễ
cho phép
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
Quản lý lưu lượng packet
Cơ cấu ghép và truy nhập để điều khiển dòng lưu lượng packet
Mục đích: để sử dụng một cách có hiệu quả tài nguyên mạng và đảm bảo QoS
Phân quyền ưu tiên
Các gói khôi phục lỗi recovery packets)
(fault- 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 (High bandwidth traffic) 2
Trang 3Phâ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
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)
Trang 5Đặc điểm packet switch
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
hình như một chuỗi của các hệ thống xếp
Trang 61 2 N – 1 N
Packet buffer
…
End-to-End QoS
tại các điểm ghép
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
Trang 7QoS 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
Trang 8Cá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
Trang 9FIFO Queueing
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
Packet buffer
Transmission
link
Arriving packets
Packet discard when full
9
Trang 10FIFO Queueing (2)
Đố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
Packet buffer
Transmission
link
Arriving packets
Packet discard when full
Trang 11Class 2 discard when threshold exceeded
(a)
(b)
FIFO Queueing with Discard Priority
Packets of low priority experience higher
packet loss
11
Trang 12HOL Priority Queueing
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
Luồng có ưu tiên cao phải chờ ngắn hơn
Transmission
link
Packet discard when full High-priority
packets
Low-priority
packets
Packet discard when full
When high-priority queue empty
12
Trang 13HOL Priority Queueing
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 tiên thấp bị bão hòa
Transmission
link
Packet discard when full High-priority
packets
Low-priority
packets
Packet discard when full
When high-priority queue empty
13
Trang 14Định trình theo hạn
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
Sorted packet buffer
unit
Trang 15 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
15
Trang 16 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
Trang 17at rate 1/2 Both packets complete service
buffer 1 served first at rate 1;
then buffer 2 served at rate 1.
Packet from buffer 2 being served
Trang 18Fluid 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
Trang 19Packet-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
Trang 20t
Packet-by-packet fair queueing:
buffer 2 served at rate 1
Trang 21Bit-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
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 size
21
Trang 22Buffer 1 Buffer 2
Trang 23 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
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)/w i
Trang 24Weighted 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
Trang 25Packet from buffer 1 served at rate 1
Packet from buffer 2
Trang 26Packetized GPS/WFQ
Compute packet completion time in ideal system
add tag to packet
sort packet in queue according to tag
serve according to HOL
Sorted packet buffer
unit
Trang 27WFQ and Packet QoS
networks
Thực hiện với tốc độ cao, tới 10 Gbps và có thể cao hơn
WFQ phải kết hợp với các cơ cấu khác để
cung cấp end-to-end QoS
27
Trang 28Buffer Management
Packet drop strategy: Which packet to drop when buffers full
Fairness: protect behaving sources from misbehaving
sources
Aggregation:
Per-flow buffers protect flows from misbehaving flows
Full aggregation provides no protection
Aggregation into classes provided intermediate protection
Drop priorities:
Drop packets from buffer according to priorities
Maximizes network utilization & application QoS
Examples: layered video, policing at network edge
Controlling sources at the edge
Trang 29Early or Overloaded Drop
Random early detection:
Loại bỏ packet nếu trung bình ngắn hạn của
hàng vượt quá ngưỡng
Xác suất loại bỏ packet tăng tuyến tính với đồ
dài hàng chờ
Đánh dấu các packet vi phạm
Tăng hiệu năng hợp tác của các nguồn TCP
Tăng xác suất mất gói của các nguồn hoạt
động không theo qui tắc (misbehaving)
29
Trang 30Random Early Detection (RED)
Giảm tốc độ phát packets của TCP theo tắc nghẽn của mạng
Early drop : loại bỏ packets trước khi buffer đầy
Random drop: làm cho một số nguồn giảm tốc độ trước một số nguồn khác, làm ch tốc độ tổng hợp giảm dần
Algorithm:
Duy trì trung bình của độ dài hàng Q avg
Nếu Qavg < minthreshold , thuật toán không kích hoạt
Nếu Qavg > maxthreshold , loại bỏ packet
Nếu maxthreshold > Qavg > minthreshold , loại bỏ packet theo xác suất
Các luồng truyền nhiều packets dễ chịu ảnh hưởng của mất packet hơn
Trang 31Average queue length
min th max th full
Packet Drop Profile in RED
31
Trang 338
6 3
2 1
Congestion
Tắc nghẽn xảy ra khi có đợt lưu lượng làm quá tải tài nguyên
mạng
Các giải pháp Điều khiển Tắc nghẽn:
• Giải pháp ngăn ngừa: Định trình & Đặt chỗ
• Giải pháp Phản ứng: Phát hiện & Điều tiết/Loại bỏ 33
Trang 34Hiệu quả lý tưởng của điều khiển luồng:
Tài nguyên được sử dụng hiệu quả tới mức dung lượng
cho phép
Trang 35Open-Loop Control
Phẩm chất mạng được đảm bảo cho tất cả các
luồng lưu lượng đã được chấp nhận vào mạng
Ngăn tắc nghẽn xảy ra bằng cách đảm bảo là luồng lưu lượng do nguồn tạo ra không gây suy giảm
phẩm chất mạng dưới QoS cho trước
Không sử dụng thông tin phản hồi để đối phó với tắc nghẽn
Các cơ cấu Chính
Trang 36Admission Control
Ban đầu được phát triển cho VC packet network, nhưng
cũng đã được đề xuất cho datagram network
Admission control là một chức năng mạng thực hiện tính
toán yêu cầu về tài nguyên (băng thông, buffer) của một
luồng mới
Xác định xem tài nguyên trên đường có cho phép hay không
Nguồn khởi tạo luồng mới cần xin giấy phép từ AC entity
ACE quyết định xem luồng được chấp nhận hay từ chối
Chấp nhận nếu QoS (max delay, loss probability ) được đảm bảo, nếu không từ chối
Để xác định cần biết yêu tham số lưu lượng (peak rate,
average rate, max burst size) và yêu cầu QoS của luồng xác định ở contract giữa nguồn và mạng
Trang 37Tốc bộ bit yêu cầu bởi một
nguồn thông tin VBR
Admission Control
AC entity tính toán bandwidth cho luồng
“Effective” bandwidth: b/w aver and max rate
37
Trang 38 Mạng giám sát và cưỡng chế các luồng lưu lượng liên tục sau khi được chấp nhận vào mạng theo
“hợp đồng” lưu lượng
Khi có một packet vi phạm hợp đồng, mạng có thể loại bỏ hoặc đánh dấu packet đó thành packet có ưu tiên thấp
Nếu xảy ra tắc nghẽn, các gói được đánh dấu sẽ bị loại bỏ trước
Leaky Bucket Algorithm là thuật toán phổ biến nhất sử dụng policing mechanism
Bucket có tốc độ “poll” xác định theo tốc độ trung bình đã thỏa thuận
Bucket có độ sâu nhất định để đáp ứng các biến động về tốc độ tới
Gói đến được gọi là “phù hợp” nếu nó không làm trào xô
Trang 39Leaky Bucket algorithm có thể sử dụng để khống chế tốc
độ tới của dòng packet
Nước chảy với tốc độ đều
1 packet per unit time Assume constant-length packet as in ATM
Đặt: X = là dung lượng bucket tại thời điểm packet phù hợp tới cuối cùng
Đặt: t a – thời gian tới của packet phù hợp cuối cùng = mức dò ở bucket
39
Trang 40Leaky Bucket (Cont ’d)
Trang 41Leaky Bucket (Cont ’d)
Bucket
41
Trang 42Leaky Bucket (Cont ’d)
Bucket
Empty
Trang 43Leaky Bucket (Cont ’d)
Bucket
Hole
43
Trang 44Leaky Bucket (Cont ’d)
Bucket
Water
Hole
Trang 45Leaky Bucket (Cont ’d)
45
Trang 46Leaky Bucket (Cont ’d)
Drip
Trang 47Leaky Bucket (Cont ’d)
47
Trang 48Leaky Bucket (Cont ’d)
Trang 49Leaky Bucket (Cont ’d)
49
Trang 50Leaky Bucket (Cont ’d)
Constant rate stream of drips, all nicely spaced, periodic
Trang 51Leaky Bucket (Cont ’d)
Constant rate stream of drips, all nicely spaced, periodic
Storage area
for drips
waiting to go
51
Trang 52Arrival of a packet at time t a
X’ = X - (t a - LCT)
X’ < 0?
X’ > L?
X = X’ + I LCT = t a
conforming packet
X’ = 0
Nonconforming packet
X = value of the leaky bucket counter X’ = auxiliary variable
LCT = last conformance time
Yes
No Yes
No
Tốc độ dò:
1 packet per unit time
L+I = Bucket Depth
I = chỉ số tăng mỗi lần tới,
(interarrival time danh định)
Leaky Bucket Algorithm
Interarrival time
Current bucket content
arriving packet
would cause
overflow
empty Non-empty
conforming packet
52
Trang 54MBS
T = 1 / peak rate
MBS = maximum burst size
I = nominal interarrival time = 1 / sustainable rate
Trang 55Tagged or dropped
MBS = maximum burst size
Leaky bucket 1 SCR and MBS
Leaky bucket 2 PCR and CDVT
Tagged or dropped
Dual leaky bucket to police PCR, SCR, and MBS:
Dual Leaky Bucket
55
Trang 56Network C Network A
Network B
Traffic shaping Policing Traffic shaping Policing
Traffic Shaping
Networks police the incoming traffic flow
lượng tuân theo các tham số của leaky bucket
Networks can shape their traffic prior to passing it to another network
Trang 57Incoming traffic Size N Shaped traffic
Packet
Server
Leaky Bucket Traffic Shaper
Buffer incoming packets
Play out periodically to conform to parameters
Surges in arrivals are buffered & smoothed out
Possible packet loss due to buffer overflow
Too restrictive, since conforming traffic does not
need to be completely smooth
57
Trang 58Incoming traffic Size N Shaped traffic
Size K
Tokens arrive periodically
Server
Packet
Token
Token Bucket Traffic Shaper
An incoming packet must
have sufficient tokens
before admission into the
network
58
Trang 59The token bucket constrains the traffic from a
source to be limited to b + r t bits in an interval of
Trang 60b R
Buffer occupancy
Assume fluid flow for information
Token bucket allows burst of b bytes 1 & then r bytes/second
Since R>r, buffer content @ 1 never greater than b byte
Thus delay @ mux < b/R
Trang 61Delay Bounds with WFQ / PGPS
traffic shaped to parameters b & r
schedulers give flow at least rate R>r
H hop path
m is maximum packet size for the given flow
M maximum packet size in the network
Rj transmission rate in jth hop
Maximum end-to-end delay that can be experienced
by a packet from flow i is:
m
H R
b D
1
) 1 (
61
Trang 62Scheduling for Guaranteed Service
delay across the network are to be provided
A call admission control procedure is required
to allocate resources & set schedulers
Traffic flows from sources must be
shaped/regulated so that they do not exceed their allocated resources