Microfinance for Sustainable Development

P
a
c
k
e
t
S
c
o
p
e
:
 
M
o
n
i
t
o
r
i
n
g
 
t
h
e
 
P
a
c
k
e
t
L
i
f
e
c
y
c
l
e
 
W
i
t
h
i
n
 
a
 
S
w
i
t
c
h
Ross Teixeira 
(Princeton)
Rob Harrison (United States Military Academy)
Arpit Gupta (UC Santa Barbara)
Jennifer Rexford (Princeton)
O
u
t
l
i
n
e
1.
Peeking Inside the Switch
2.
Packet Lifecycle Query Language
3.
Efficient Query Compilation
4.
PacketScope Prototype
2
O
u
t
l
i
n
e
1.
Peeking Inside the Switch
2.
Packet Lifecycle Query Language
3.
Efficient Query Compilation
4.
PacketScope Prototype
3
What Happens Inside a (Programmable) Switch?
Packets are modified in the switch
Multiple pipelines
Access Control List (ACL) drops
Queues cause delays and loss
4
Prior Systems Don’t Peek Inside
Switch monitoring is important
Want to adapt 
dataflow
 monitoring systems
map, filter, reduce operators on incoming tuples
Prior systems only capture arriving packets[1,3]
Or only provide queuing delay info[2]
5
[1] Sonata (SIGCOMM ‘18), [2] Marple (SIGCOMM ‘17), [3] Gigascope (SIGMOD ‘03) 
Introducing PacketScope
Monitoring the packet lifecycle
Packet modifications
ACL drops
Queuing delays/loss
6
O
u
t
l
i
n
e
1.
Peeking Inside the Switch
2.
Packet Lifecycle Query Language
3.
Efficient Query Compilation
4.
PacketScope Prototype
7
The Life of a Packet
port_in,
headers_in,
time_in
port_intent,
headers_mid
queuing _in/_out
(length, time)
port_out,
headers_out
 
(Could be modified/
dropped!)
8
 
(Could be delayed!)
 
(Could be modified/
dropped!)
 
Ingress() tuples
 
Egress() tuples
Example Query
Count un-dropped SSH packets that traverse a NAT
9
Loss happens outside ingress/egress processing
We can’t process individual packets
But over time, we can track aggregate counts by keeping
state
.
lost
(
groupby_fields
, 
epoch_ms
) operator
count packets grouped by 
groupby_fields 
every 
epoch_ms
How To Track Queuing Loss?
X
10
O
u
t
l
i
n
e
1.
Peeking Inside the Switch
2.
Packet Lifecycle Query Language
3.
Efficient Query Compilation
4.
PacketScope Prototype
11
Compilation: “
Tag Little
, Compute
Early”
E.g. Queries across ports?
 
.filter
(ipv4.srcIP_in != ipv4.srcIP_out)
 
A: Tag packet with metadata
Packet:
ipv4.srcIP = X
Metadata:
ipv4.srcIP_in = X
Packet:
ipv4.srcIP = 
Y
12
Packet:
ipv4.srcIP = ??
 
Execute
Compilation:“Tag Little, 
Compute Early
Where to place computation?
 
.filter
(ipv4.srcIP_in != ipv4.srcIP_
mid
)…
A: As early as possible!
Packet
ipv4.srcIP = X
13
Metadata:
ipv4.srcIP_in
Metadata:
Metadata:
?
 
Compilation:“Tag Little, 
Compute Early
Where to place computation?
 
.filter
(ipv4.srcIP_in != ipv4.srcIP_
mid
)…
 
A: As early as possible!
Metadata can be reused for future processing.
Packet:
ipv4.srcIP = 
Y
14
 
Execute
Metadata:
ipv4.srcIP_in
Metadata:
 
 
How To Compile Lost Operator?
X
15
 
 
 
.
lost
(
[ipv4.srcIP]
, 
10ms
)
 
Compile as a 
join
 of two queries:
Count by 
ipv4.srcIP
 on ingress
Count by 
ipv4
.
srcIP
 on egress
Report difference every 
10ms of 
packet arrival times
 
Gory details in paper
State
State
O
u
t
l
i
n
e
1.
Peeking Inside the Switch
2.
Packet Lifecycle Query Language
3.
Efficient Query Compilation
4.
PacketScope Prototype
16
P
a
c
k
e
t
S
c
o
p
e
 
P
r
o
t
o
t
y
p
e
We built a prototype[1] in Python and P4 with:
Support for packet modifications, queuing delays
Tag little, compute early compilation
We also built a queuing loss query prototype
Uses the BMv2 software model
More details and future work in paper
17
[1] As an extension to Sonata (SIGCOMM ‘18)
C
o
n
c
l
u
s
i
o
n
PacketScope is a network telemetry system
Using a dataflow programming model (map, filter, reduce)
That supports queries on the full packet lifecycle:
Packet modifications
ACL drops
Queuing delays/loss
And compiles efficiently to programmable switches
18
18
Slide Note

Rob Harrison, NOW at US Military Academy

Arpit Gupta, NOW at UC Santa Barbara

Jen Rexford at Princeton

Embed
Share

Microfinance plays a crucial role in uplifting low-income individuals, particularly women, by providing financial services and opportunities for economic growth. This system empowers vulnerable populations in rural and urban areas, aiming to improve their living standards through access to credit, savings, insurance, and funds. With a focus on women-centric sustainable development, microfinance projects have the potential to bring positive social change by influencing household income, education, and overall family well-being.

  • Microfinance
  • Sustainable Development
  • Women Empowerment
  • Financial Inclusion
  • Economic Growth

Uploaded on Mar 01, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. PacketScope PacketScope: Monitoring the Packet : Monitoring the Packet Lifecycle Within a Switch Lifecycle Within a Switch Ross Teixeira (Princeton) Rob Harrison (United States Military Academy) Arpit Gupta (UC Santa Barbara) Jennifer Rexford (Princeton)

  2. Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 2

  3. Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 3

  4. Packets are modified in the switch Multiple pipelines Access Control List (ACL) drops Queues cause delays and loss Queues Ingress Egress 4

  5. Switch monitoring is important Want to adapt dataflow monitoring systems map, filter, reduce operators on incoming tuples Prior systems only capture arriving packets[1,3] Or only provide queuing delay info[2] Queues Ingress Switch Pipeline Egress 5 [1] Sonata (SIGCOMM 18), [2] Marple (SIGCOMM 17), [3] Gigascope (SIGMOD 03)

  6. Monitoring the packet lifecycle Packet modifications ACL drops Queuing delays/loss Switch Fabric + Queues Ingress Egress Queues 6

  7. Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 7

  8. Switch Fabric + Queues Ingress Egress Queues port_in, headers_in, time_in port_intent, headers_mid port_out, headers_out queuing _in/_out (length, time) (Could be modified/ dropped!) (Could be modified/ dropped!) (Could be delayed!) Ingress() tuples Egress() tuples 8

  9. Count un-dropped SSH packets that traverse a NAT undropped_SSH_NAT = egress() .filter(tcp.srcPort_in == 22) .filter(ipv4.srcIP_in != ipv4.srcIP_out) .filter(port_out != -1) 1 2 3 4 9

  10. Queues X Ingress Loss happens outside ingress/egress processing We can t process individual packets But over time, we can track aggregate counts by keeping state .lost(groupby_fields, epoch_ms) operator count packets grouped by groupby_fields every epoch_ms 10

  11. Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 11

  12. Execute Switch Fabric + Queues Ingress Egress Queues Metadata: ipv4.srcIP_in = X E.g. Queries across ports? .filter(ipv4.srcIP_in != ipv4.srcIP_out) A: Tag packet with metadata 12

  13. Switch Fabric + Queues Ingress Egress Queues Metadata: ipv4.srcIP_in ? Metadata: Metadata: Where to place computation? .filter(ipv4.srcIP_in != ipv4.srcIP_mid) A: As early as possible! 13

  14. Execute Switch Fabric + Queues Ingress Egress Queues Metadata: ipv4.srcIP_in Metadata: Where to place computation? .filter(ipv4.srcIP_in != ipv4.srcIP_mid) A: As early as possible! Metadata can be reused for future processing. 14

  15. Queues X Ingress Egress .lost([ipv4.srcIP], 10ms) Compile as a join of two queries: Count by ipv4.srcIP on ingress Count by ipv4.srcIP on egress Report difference every 10ms of packet arrival times Gory details in paper 15

  16. Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 16

  17. PacketScope PacketScope Prototype Prototype We built a prototype[1] in Python and P4 with: Support for packet modifications, queuing delays Tag little, compute early compilation We also built a queuing loss query prototype Uses the BMv2 software model More details and future work in paper [1] As an extension to Sonata (SIGCOMM 18) 17

  18. Conclusion Conclusion PacketScope is a network telemetry system Using a dataflow programming model (map, filter, reduce) That supports queries on the full packet lifecycle: Packet modifications ACL drops Queuing delays/loss And compiles efficiently to programmable switches Switch Fabric + Queues Ingress Egress Queues

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#