Akka
• Actorモデルを実装したScalaのフレームワーク
• 分散型で並⾏性を持ち、耐障害性を備えている("let it crash")
• ⾮同期でノンブロッキングかつ⾼性能なメッセージ駆動の
アプリケーションが開発できる
Slide 23
Slide 23 text
Akka Streams
w IUUQTEPDBLLBJPEPDTBLLBTDBMBTUSFBNTUSFBNDVTUPNJ[FIUNM
Slide 24
Slide 24 text
Akka Streams
w IUUQTEPDBLLBJPEPDTBLLBTDBMBTUSFBNTUSFBNDVTUPNJ[FIUNM
• 下流からpullされたらpushする、の連鎖でデータが受け渡される
• 上流が下流にデータを送りつづけて下流が溢れるという事態が発⽣しない
• => これが背圧制御 (back-pressure)
• back-pressureの他にもdrop new, drop tail, drop buffer, failなどの戦略が選択できる
Slide 25
Slide 25 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Slide 26
Slide 26 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Slide 27
Slide 27 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Slide 28
Slide 28 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Authorized!
Slide 29
Slide 29 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Authorized!
Packet Out
Slide 30
Slide 30 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Authorized!
Packet Out
Flow Cached
Slide 31
Slide 31 text
Case: 認可済みユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Authorized!
Packet Out
Flow Cached
Slide 32
Slide 32 text
Case: 認可済みユーザ (second packet)
Captive Portal Server
The Internet
User
OpenFlow Switch
Flow Cached
Slide 33
Slide 33 text
Case: 認可済みユーザ (second packet)
Captive Portal Server
The Internet
User
OpenFlow Switch
Flow Cached
Slide 34
Slide 34 text
Case: 認可済みユーザ (second packet)
Captive Portal Server
The Internet
User
OpenFlow Switch
Flow Cached
Slide 35
Slide 35 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Slide 36
Slide 36 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
DNS packet
OpenFlow Switch
Slide 37
Slide 37 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
Packet In
OpenFlow Switch
Slide 38
Slide 38 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
Packet In
Unauthorized!
OpenFlow Switch
Slide 39
Slide 39 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
Packet In
Unauthorized!
DNSύέοτͷ͖ઌΛ
ِͷDNSαʔόʹॻ͖͑Δ
OpenFlow Switch
Slide 40
Slide 40 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
Packet In
Unauthorized!
Packet Out
OpenFlow Switch
DNSύέοτͷ͖ઌΛ
ِͷDNSαʔόʹॻ͖͑Δ
Slide 41
Slide 41 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
Packet In
Unauthorized!
Packet Out
ِDNS Server
OpenFlow Switch
DNSύέοτͷ͖ઌΛ
ِͷDNSαʔόʹॻ͖͑Δ
Slide 42
Slide 42 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Unauthorized!
Packet Out
Fake DNS Server
ِDNS response
DNSύέοτͷ͖ઌΛ
ِͷDNSαʔόʹॻ͖͑Δ
Slide 43
Slide 43 text
Case: 未認可ユーザ
Captive Portal Server
The Internet
User
OpenFlow Switch
Packet In
Unauthorized!
Packet Out
Fake DNS Server
Captive PortalʹϦμΠϨΫτ
DNSύέοτͷ͖ઌΛ
ِͷDNSαʔόʹॻ͖͑Δ
ِDNS response