Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Masaru Oki
PDF, PPTX
1,299 views
LagopusでPPPoEを使えるか考えてみた件
Using PPPoE with Lagopue vswitch (In Japanese)
Software
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 12
2
/ 12
3
/ 12
4
/ 12
5
/ 12
6
/ 12
7
/ 12
8
/ 12
9
/ 12
10
/ 12
11
/ 12
12
/ 12
More Related Content
PDF
Lagopus どれだけ速いのか
by
Masaru Oki
PDF
Open flow tunnel extension on lagopus vswitch
by
Masaru Oki
PDF
Ryu+Lagopusで OpenFlowの動きを見てみよう
by
Masaru Oki
PDF
Lagopus performance
by
Masaru Oki
PDF
Open stack+lagopus できるかな
by
Masaru Oki
PDF
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
by
Masaru Oki
PDF
Lagopus Switch Usecases
by
Sakiko Kawai
PDF
Lagopus, raw socket build
by
Masaru Oki
Lagopus どれだけ速いのか
by
Masaru Oki
Open flow tunnel extension on lagopus vswitch
by
Masaru Oki
Ryu+Lagopusで OpenFlowの動きを見てみよう
by
Masaru Oki
Lagopus performance
by
Masaru Oki
Open stack+lagopus できるかな
by
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
by
Masaru Oki
Lagopus Switch Usecases
by
Sakiko Kawai
Lagopus, raw socket build
by
Masaru Oki
What's hot
PDF
SDNソフトウェアスイッチlagopus for FreeBSD
by
Masaru Oki
PDF
Xeon dとlagopusと、pktgen dpdk
by
Masaru Oki
PDF
Lagopus as open flow hybrid switch
by
Masaru Oki
PDF
Lagopus as open flow hybrid switch 実践編
by
Masaru Oki
PDF
Lagopusとvagrant
by
Masaru Oki
PDF
Lagopus 0.2.2
by
Masaru Oki
ODP
tcpdumpとtcpreplayとtcprewriteと他。
by
(^-^) togakushi
PDF
CpawCTF 勉強会 Network
by
Takaaki Hoyo
PDF
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
by
Panda Yamaki
PDF
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
by
Panda Yamaki
PDF
High Performance Networking with DPDK & Multi/Many Core
by
slankdev
PDF
HTTP/2, QUIC入門
by
shigeki_ohtsu
PDF
Lagopus 0.2
by
Masaru Oki
PPTX
Wiresharkの解析プラグインを作る ssmjp 201409
by
稔 小林
PDF
Hokkaido.cap#7 ケーススタディ(セキュリティ解析:前編)
by
Panda Yamaki
PDF
Hokkaido.cap#3 ケーススタディ(基礎編)
by
Panda Yamaki
PDF
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
by
Panda Yamaki
PDF
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
by
Panda Yamaki
PDF
Rust-DPDK
by
Masaru Oki
PPTX
nftables: the Next Generation Firewall in Linux
by
Tomofumi Hayashi
SDNソフトウェアスイッチlagopus for FreeBSD
by
Masaru Oki
Xeon dとlagopusと、pktgen dpdk
by
Masaru Oki
Lagopus as open flow hybrid switch
by
Masaru Oki
Lagopus as open flow hybrid switch 実践編
by
Masaru Oki
Lagopusとvagrant
by
Masaru Oki
Lagopus 0.2.2
by
Masaru Oki
tcpdumpとtcpreplayとtcprewriteと他。
by
(^-^) togakushi
CpawCTF 勉強会 Network
by
Takaaki Hoyo
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
by
Panda Yamaki
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
by
Panda Yamaki
High Performance Networking with DPDK & Multi/Many Core
by
slankdev
HTTP/2, QUIC入門
by
shigeki_ohtsu
Lagopus 0.2
by
Masaru Oki
Wiresharkの解析プラグインを作る ssmjp 201409
by
稔 小林
Hokkaido.cap#7 ケーススタディ(セキュリティ解析:前編)
by
Panda Yamaki
Hokkaido.cap#3 ケーススタディ(基礎編)
by
Panda Yamaki
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
by
Panda Yamaki
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
by
Panda Yamaki
Rust-DPDK
by
Masaru Oki
nftables: the Next Generation Firewall in Linux
by
Tomofumi Hayashi
Viewers also liked
PDF
新生Lagopus2017(仮称)
by
Masaru Oki
PDF
Lagopus 0.2.7
by
Masaru Oki
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
by
Masaru Oki
PDF
Onieで遊んでみようとした話
by
Masaru Oki
PDF
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
by
Akira Yokokawa
PDF
Lagopusで試すFW
by
Tomoya Hibi
PDF
GPD WINが来た!
by
Masaru Oki
PDF
Lagopus match improvements
by
Masaru Oki
PDF
Netty & Apache Camel
by
ssogabe
PDF
Lagos running on small factor machine
by
Lagopus SDN/OpenFlow switch
PDF
最近のTremaを触ってみてちょっとはまったこととか
by
M Hagiwara
PDF
Linux Namespace
by
Masami Ichikawa
PDF
Network Test Automation 2015-04-23 #npstudy
by
Hiroshi Ota
PDF
FreeBSD jail+vnetと戯れた話
by
Masaru Oki
PPTX
ハードなOpen flowswitcの話
by
Masayuki Miyake
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
by
Tomoya Hibi
PDF
中国にOpenflowを入れてきた話
by
cloretsblack
PDF
Lagopus & NFV with Vhost (Tremaday#9)
by
Tomoya Hibi
PPTX
ネットワークプログラマビリティ勉強会
by
Tomoya Hibi
PDF
Using Xeon D 10GBase-T
by
Masaru Oki
新生Lagopus2017(仮称)
by
Masaru Oki
Lagopus 0.2.7
by
Masaru Oki
今よりも少し(?)昔、 Windowsを作ろうとした話
by
Masaru Oki
Onieで遊んでみようとした話
by
Masaru Oki
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
by
Akira Yokokawa
Lagopusで試すFW
by
Tomoya Hibi
GPD WINが来た!
by
Masaru Oki
Lagopus match improvements
by
Masaru Oki
Netty & Apache Camel
by
ssogabe
Lagos running on small factor machine
by
Lagopus SDN/OpenFlow switch
最近のTremaを触ってみてちょっとはまったこととか
by
M Hagiwara
Linux Namespace
by
Masami Ichikawa
Network Test Automation 2015-04-23 #npstudy
by
Hiroshi Ota
FreeBSD jail+vnetと戯れた話
by
Masaru Oki
ハードなOpen flowswitcの話
by
Masayuki Miyake
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
by
Tomoya Hibi
中国にOpenflowを入れてきた話
by
cloretsblack
Lagopus & NFV with Vhost (Tremaday#9)
by
Tomoya Hibi
ネットワークプログラマビリティ勉強会
by
Tomoya Hibi
Using Xeon D 10GBase-T
by
Masaru Oki
More from Masaru Oki
PDF
NetBSD移植の昔話
by
Masaru Oki
PDF
Rust-DPDK
by
Masaru Oki
PDF
Lagopus 0.2.4
by
Masaru Oki
PDF
Net bsd advent calendar 2015 bpf
by
Masaru Oki
PDF
Using rump on NetBSD 7.0
by
Masaru Oki
PDF
Rumpを使ってみる
by
Masaru Oki
PDF
Running lagopus on Xeon D
by
Masaru Oki
PDF
DPDK QoS
by
Masaru Oki
PDF
Xeon d
by
Masaru Oki
NetBSD移植の昔話
by
Masaru Oki
Rust-DPDK
by
Masaru Oki
Lagopus 0.2.4
by
Masaru Oki
Net bsd advent calendar 2015 bpf
by
Masaru Oki
Using rump on NetBSD 7.0
by
Masaru Oki
Rumpを使ってみる
by
Masaru Oki
Running lagopus on Xeon D
by
Masaru Oki
DPDK QoS
by
Masaru Oki
Xeon d
by
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
1.
LagopusでPPPoEを 使えるか考えてみた件 Jun 27, 2016 Masaru
OKI @masaru0714
2.
Lagopus? ● オープンソースのOpenFlowソフトウェアスイッチ。 ● OpenFlow
1.3仕様に準拠。 ● パケットヘッダのdecap, encap機能が拡張されている。 ● 対応するヘッダは限定されている。0.2.7での対応は下記。 ● eth, ipv4, udp, gre, vxlan, mpls ● ソースコードを少し書き足せば、他のヘッダにも対応できる。
3.
PPPoE? ● フレッツ接続でおなじみのプロトコル。 ● Ethernet上でPPP(Point-to-Point
Protocol)通信する。 ● PPPにより下記のような機能・情報が接続相手より提供される。 ○ IDおよびパスワードによる認証 ○ IPアドレス付与 ○ ネームサーバーアドレス ○ default route (gateway IPアドレス)
4.
LagopusでPPPoE? パケットヘッダのdecap, encapでPPPoEヘッダを扱えれば、 LagopusでPPPoEを終端させることができるのでは!? 実現イメージ Lagopus PCフレッツ PPPoE フレッツから付与 されたIPアドレス ローカルネットワーク 例えば 192.168.0.1/24 例えば 192.168.0.2/24
5.
PPPoEパケットフォーマットと処理対象 MAC DA MAC
SA 0x8863 PPPoE MAC DA MAC SA 0x8864 PPP LCP MAC DA MAC SA 0x8864 PPP IPCP MAC DA MAC SA 0x8864 PPP IPv4 Payload OpenFlowコントローラに処理してもらう。 Lagopusでの処理対象
6.
Lagopusでやらせたいパケットの変更(送信時) ● PPPヘッダをencap(あるいはpush)させ、eth_typeを0x8864(PPPoE)に変更 ● MAC
DAをフレッツ網の対向に変更、MAC SAを自分のMACに変更 ○ default routeへのルーティング ● IPv4 srcをPPPで取得した自IPアドレスに変更、TCP/UDP srcも変更 ○ NAT MAC DA MAC SA 0x0800 PPP IPv4 Payload MAC DA MAC SA 0x8864 IPv4 Payload
7.
Lagopusでやらせたいパケットの変更(受信時) ● PPPヘッダをdecap(あるいはpop)させ、eth_typeを0x0800(IP)に変更 ● IPv4
dsrをPCのIPアドレスに変更、TCP/UDP dstも変更 ○ NAT ● MAC DAをPCのものに、MAC SAは自分のものに変更 ○ routing ○ 自前でやってもいい。 IPを書き換えた後OFPP_NORMALでroutingできるはず。 MAC DA MAC SA 0x8864 PPP IPv4 Payload MAC DA MAC SA 0x0800 IPv4 Payload
8.
コントローラのプログラミング量が意外と(?)多い ● Packet-In, Packet-Out ○
PPPoEセッション管理(PADI, PADO, PADR, PADS, PADT) ○ PPPセッション管理(LCP, IPCP) ● flow_mod - アドレス・ポートマッピング(NAT) ○ 末端のPCのソースポートはセッションごとにばらばらのため、 reactive型の処理にせざるを得ない。 ○ Lagopusが改めてフレッツに送信する際に書き換えるソースポートの値の管理も必要。 ○ TCPの通信が終了したら速やかにフローエントリを削除する必要がある。 ● クライアントPCへのIPアドレス、default route、DNS情報提供(DHCP) ○ ひとまずあとまわしにして、いまは考えない。 ○ 別マシンでdhcpdなど動かして、Lagopusに向けてパケットを送るよう情報を渡すことにする。
9.
Lagopusに投入するフローエントリ ● イメージです。 ● proactiveなもの ○
in_port=flets,eth_type=0x8863→コントローラへPacket-In ○ in_port=flets,eth_type=0x8864,ppp_proto=lcp→コントローラへPacket-In ○ in_port=flets,eth_type=0x8864,ppp_proto=ipcp→コントローラへPacket-In ○ in_port=PC,eth_type=IPv4,ip_proto=tcp→コントローラへPacket-In ● reactiveなもの(proactiveなものよりpriority highにする) ○ in_port=PC,eth_type=IPv4,ip_proto=tcp,tcp_src=??? →tcp_src,ipv4_srcを書き換えpppヘッダをつけてMAC DA,MAC SAも書き換えてoutput:flets ○ in_port=flets,eth_type=0x8864,ppp_proto=ip,ip_proto=tcp,tcp_dst=??? →pppヘッダを削ってtcp_dst,ipv4_dstを書き換えMAC DA,MAC SAも書き換えてoutput:PC
10.
ここまでやってできあがるものはなに? どうやら、そこらで売ってるブロードバンドルータの中身相当の開発になる、ようだ。 まだ組み上げていないけれど。 足りてないことも多い気がするけれど。(UIとか接続状況確認とか) プロトコル処理はPythonでがんばってもらうとして、なんとかなりそうな気がしている。 これが動いたら、自宅のフレッツの終端をLagopusにするんだ……。
11.
応用 できあがってもいないのに応用まで考えてみる。 処理を汎用で組むので、PPPoEの受け側(AC)を作成することもできるだろう。 なんらか間に挟まって単にフィルタリングさせることもきっとできる。
12.
まとめ ● LagopusはOpenFlowソフトウェアスイッチで改造も容易 ● PPPoEの処理はコントローラと二人三脚で実現できそう ●
実現できればいろいろな応用も考えられる 実装がんばります!
Download