SlideShare a Scribd company logo
1 of 13
Download to read offline
Hydrogen → Helium での
Linux kernel の違い
浅間 正和 @ 有限会社 銀座堂
VyOS の話しません
はじめに
• こんな内容
• net の中で起きた VyOS に影響がありそうな変更を紹介
• net の中でも TCP fast open 等 VyOS の機能にはそんなに影
響がなさそうなものは今回は除外
• 動機
• Helium で Linux kernel のバージョンが 3.13 にあがるらしい
• ちなみに Hydrogen は 3.3 だった
• net 周りでどんな違いがあるのか調べてみたい
• 注意
• この発表はあくまで Linux kernel の違いであってここで紹介する
機能が VyOS でサポートされるという意味ではないです
• でも CLI さえ作れば簡単に組み込むことはできると思います
• 欲しい機能があったらこの後の @hiroysato さんの発表を参考に
自分で組み込んでみよう!
3
L2TPv3 over IPv6 のサポート
• 概要
• Linux kernel 3.4 以前では L2TPv3 のトランスポートに IPv4 し
か利用できなかったが IPv6 でもできるようになった
• Unmanaged L2TPv3 として設定する場合は以下のように
iproute2 コマンドを実行
!
!
!
!
!
!
• 変更されたバージョン
• Linux kernel 3.5
# modprobe l2tp_ip6
# modprobe l2tp_eth
# ip l2tp add tunnel remote 2001:db8:123::123 
local 2001:db8:234::234 
tunnel_id 123 peer_tunnel_id 123 encap ip
# ip l2tp add session name l2tpeth0 tunnel_id 123 

session_id 123 peer_session_id 123
4
IPv4 ルーティング・キャッシュ機能廃止
• 概要
• IPv4 のルーティングではいちど探索したルーティング・テーブル
のエントリーをキャッシュしておくことで同一フローのパケットの
探索処理を高速化する仕組みがあった
• お行儀の良いパケットしか受け取らないのであれば問題はないが
DoS 攻撃を受けると悲しいことになるということで削除された
• 変更されたバージョン
• Linux kernel 3.6
5
IPv4 ルーティング・キャッシュ機能廃止
1flow 256flow 65,536flow 16,777,216flow 2,147,483,648flow
Internet Week 2010 S7 Vyatta ∼仮想世界をになうルーター∼
『Vyatta 徹底評価!』の資料より引用
https://www.nic.ad.jp/ja/materials/iw/2010/proceedings/s7/iw2010-s7-03.pdf
6
IPv4 ルーティング・キャッシュ機能廃止
Internet Week 2010 S7 Vyatta ∼仮想世界をになうルーター∼
『Vyatta 徹底評価!』の資料より引用
https://www.nic.ad.jp/ja/materials/iw/2010/proceedings/s7/iw2010-s7-03.pdf
7
VXLAN 機能の追加
• 概要
• 乱立する NVO3(Network Virtualization Over L3)技術のうち
現在 IETF で標準化が進められている VXLAN が実装された
• iproute2 コマンドで以下のように実行することで利用できる
!
!
!
• 上記のコマンドを実行すると vxlan0 という名前の仮想イーサネッ
ト・インターフェースが作成される
• eth0 上の 239.1.1.123 というマルチキャスト・グループに参加し
ブロードキャストやマルチキャスト等のフレームはカプセル化後に
このマルチキャスト・アドレス宛に送信される
• 変更されたバージョン
• Linux kernel 3.7
# ip link add vxlan0 type vxlan 
id 123 group 239.1.1.123 dev eth0
8
IPv6 で ECMP のサポート
• 概要
• IPv4 ですでにサポートされていた Equal Cost Multi-Path(ECMP
:同一の宛先プレフィクスで異なるネクスト・ホップのルーティン
グ・テーブル・エントリーを複数登録してトラヒックを分散させる
ための技術)が IPv6 でもサポートされた
• 以下の情報のハッシュ値からネクスト・ホップを選択する
• 送信元アドレスと宛先アドレス
• 送信元ポートと宛先ポート(UDP/TCP/SCTP の場合)
• ICMP タイプと ICMP コード(ICMP の場合)
• フロー・ラベル値
• 変更されたバージョン
• Linux kernel 3.8
9
802.1ad(Q-in-Q)のサポート
• 概要
• VLAN タグを入れ子にできる IEEE 802.1ad の機能が実装された
!
!
!
!
!
!
!
!
!
!
• 変更されたバージョン
• Linux kernel 3.10
# ip link add link eth0 eth0.123 
type vlan proto 802.1ad id 123
# ip link add link eth0.123 eth0.123.234
type vlan proto 802.1q id 234
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
link/ether 52:54:00:bf:b6:10 brd ff:ff:ff:ff:ff:ff
3: eth0.123@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DO
link/ether 52:54:00:bf:b6:10 brd ff:ff:ff:ff:ff:ff
4: eth0.123.234@eth0.123: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdis
link/ether 52:54:00:bf:b6:10 brd ff:ff:ff:ff:ff:ff
10
VTI over IPv6 のサポート
• 概要
• IPv4 でしか利用できなかった VTI が IPv6 でも利用できるように
なった
• VTI のはなしは以下の URL を参照…
• http://www.slideshare.net/m-asama/vti-18507230
• 変更されたバージョン
• Linux kernel 3.13
11
{ip¦ip6¦arp¦eb}tables → nftables
• 概要
• 2009 年に初めてリリースされいままでメインラインに取り込まれ
ずメンテナンスされていた nftables が Linux kernel 3.13 でメイ
ンラインにマージされた(旧来の {ip¦ip6¦arp¦eb}tables もいまま
で通り利用可能だが混在は不可)
• プロトコル毎にコマンドが別れており且つカーネル内でもコードの
重複が多かった {ip¦ip6¦arp¦eb}tables を nftables というひとつ
のコマンドで制御できるようにし且つエンジンも共通化したらしい
• ペイロード内のデータをオフセットとサイズを指定して比較し
たり…といった低レベルの機能を実装した VM が用意されてい
て nfstables はその VM の命令セットにコンパイルして
NETLINK でカーネルに流し込む…みたいなことをしてるらしい
• 変更されたバージョン
• Linux kernel 3.13
12
参考文献
• Linux Kernel Newbies
• http://kernelnewbies.org/Linux_3.4
• …
• http://kernelnewbies.org/Linux_3.13

More Related Content

What's hot

Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Daisuke Nakajima
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in LinuxTomofumi Hayashi
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pitokudahiroshi
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkMasaru Oki
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介Takashi Sogabe
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性Takuya ASADA
 
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~npsg
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Tomoya Hibi
 
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例SAKURA Internet Inc.
 

What's hot (20)

Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
 
ASAMAP 開発秘話
ASAMAP 開発秘話ASAMAP 開発秘話
ASAMAP 開発秘話
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linux
 
DPDK QoS
DPDK QoSDPDK QoS
DPDK QoS
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
Lagos running on small factor machine
Lagos running on small factor machineLagos running on small factor machine
Lagos running on small factor machine
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性
 
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
 

Viewers also liked

VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話upaa
 
ictsc4 サーバを支える技術
ictsc4 サーバを支える技術ictsc4 サーバを支える技術
ictsc4 サーバを支える技術whywaita
 
さくらのVPSと4G LTEをIPv6でつないでみた
さくらのVPSと4G LTEをIPv6でつないでみたさくらのVPSと4G LTEをIPv6でつないでみた
さくらのVPSと4G LTEをIPv6でつないでみたNaoto MATSUMOTO
 
クラウドを活用するためのヒント
クラウドを活用するためのヒントクラウドを活用するためのヒント
クラウドを活用するためのヒントNaoto MATSUMOTO
 
VYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクションVYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクションNaoto MATSUMOTO
 
トラコン問題解説
トラコン問題解説トラコン問題解説
トラコン問題解説michiaki ito
 
仮想ルータ Brocade vRouter のいろは
仮想ルータ Brocade vRouter のいろは 仮想ルータ Brocade vRouter のいろは
仮想ルータ Brocade vRouter のいろは Naoto MATSUMOTO
 
Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Akira Kaneda
 
Measurement of Maximum new NAT-sessions per second / How to send packets
Measurement of Maximum new NAT-sessionsper second / How to send packetsMeasurement of Maximum new NAT-sessionsper second / How to send packets
Measurement of Maximum new NAT-sessions per second / How to send packets@ otsuka752
 
MAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 TechnologyMAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 TechnologyAkira Nakagawa
 
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kazuhito Ohkawa
 
Unbreakable VPN using Vyatta/VyOS - HOW TO -
Unbreakable VPN using Vyatta/VyOS - HOW TO -Unbreakable VPN using Vyatta/VyOS - HOW TO -
Unbreakable VPN using Vyatta/VyOS - HOW TO -Naoto MATSUMOTO
 
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~Yoshitake Takata
 
VYATTA USERS MEETING Spring 2014 VyOS
VYATTA USERS MEETING Spring 2014 VyOSVYATTA USERS MEETING Spring 2014 VyOS
VYATTA USERS MEETING Spring 2014 VyOS雄也 日下部
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
色々なOSSで競技プログラミング
色々なOSSで競技プログラミング色々なOSSで競技プログラミング
色々なOSSで競技プログラミングnhirokinet
 

Viewers also liked (18)

VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話
 
ictsc4 サーバを支える技術
ictsc4 サーバを支える技術ictsc4 サーバを支える技術
ictsc4 サーバを支える技術
 
さくらのVPSと4G LTEをIPv6でつないでみた
さくらのVPSと4G LTEをIPv6でつないでみたさくらのVPSと4G LTEをIPv6でつないでみた
さくらのVPSと4G LTEをIPv6でつないでみた
 
クラウドを活用するためのヒント
クラウドを活用するためのヒントクラウドを活用するためのヒント
クラウドを活用するためのヒント
 
VYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクションVYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクション
 
トラコン問題解説
トラコン問題解説トラコン問題解説
トラコン問題解説
 
仮想ルータ Brocade vRouter のいろは
仮想ルータ Brocade vRouter のいろは 仮想ルータ Brocade vRouter のいろは
仮想ルータ Brocade vRouter のいろは
 
Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)
 
Measurement of Maximum new NAT-sessions per second / How to send packets
Measurement of Maximum new NAT-sessionsper second / How to send packetsMeasurement of Maximum new NAT-sessionsper second / How to send packets
Measurement of Maximum new NAT-sessions per second / How to send packets
 
MAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 TechnologyMAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 Technology
 
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
 
Unbreakable VPN using Vyatta/VyOS - HOW TO -
Unbreakable VPN using Vyatta/VyOS - HOW TO -Unbreakable VPN using Vyatta/VyOS - HOW TO -
Unbreakable VPN using Vyatta/VyOS - HOW TO -
 
NETCONFとYANGの話
NETCONFとYANGの話NETCONFとYANGの話
NETCONFとYANGの話
 
20140719_ihanet11
20140719_ihanet1120140719_ihanet11
20140719_ihanet11
 
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
 
VYATTA USERS MEETING Spring 2014 VyOS
VYATTA USERS MEETING Spring 2014 VyOSVYATTA USERS MEETING Spring 2014 VyOS
VYATTA USERS MEETING Spring 2014 VyOS
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
色々なOSSで競技プログラミング
色々なOSSで競技プログラミング色々なOSSで競技プログラミング
色々なOSSで競技プログラミング
 

Similar to Hydrogen → Helium での Linux kernel の違い

ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視npsg
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワークYuji Oshima
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討Masahito Zembutsu
 
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiKeisuke Ishibashi
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging順也 山口
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入Juniper Networks (日本)
 
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backboneShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backboneInterop Tokyo ShowNet NOC Team
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101Naoto Gohko
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道Jun Kato
 
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編Amazon Web Services Japan
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch UsecasesSakiko Kawai
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜gree_tech
 
2016-ShowNetステージ-EVPN相互接続検証レポート
2016-ShowNetステージ-EVPN相互接続検証レポート2016-ShowNetステージ-EVPN相互接続検証レポート
2016-ShowNetステージ-EVPN相互接続検証レポートInterop Tokyo ShowNet NOC Team
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装Takuya ASADA
 

Similar to Hydrogen → Helium での Linux kernel の違い (20)

ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
Bsd suki
Bsd sukiBsd suki
Bsd suki
 
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
 
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backboneShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101
 
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
IPv6 Update
IPv6 UpdateIPv6 Update
IPv6 Update
 
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
[AWS Summit 2012] クラウドデザインパターン#4 CDP VPC移行編
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
 
2016-ShowNetステージ-EVPN相互接続検証レポート
2016-ShowNetステージ-EVPN相互接続検証レポート2016-ShowNetステージ-EVPN相互接続検証レポート
2016-ShowNetステージ-EVPN相互接続検証レポート
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 

Hydrogen → Helium での Linux kernel の違い

  • 1. Hydrogen → Helium での Linux kernel の違い 浅間 正和 @ 有限会社 銀座堂
  • 3. はじめに • こんな内容 • net の中で起きた VyOS に影響がありそうな変更を紹介 • net の中でも TCP fast open 等 VyOS の機能にはそんなに影 響がなさそうなものは今回は除外 • 動機 • Helium で Linux kernel のバージョンが 3.13 にあがるらしい • ちなみに Hydrogen は 3.3 だった • net 周りでどんな違いがあるのか調べてみたい • 注意 • この発表はあくまで Linux kernel の違いであってここで紹介する 機能が VyOS でサポートされるという意味ではないです • でも CLI さえ作れば簡単に組み込むことはできると思います • 欲しい機能があったらこの後の @hiroysato さんの発表を参考に 自分で組み込んでみよう! 3
  • 4. L2TPv3 over IPv6 のサポート • 概要 • Linux kernel 3.4 以前では L2TPv3 のトランスポートに IPv4 し か利用できなかったが IPv6 でもできるようになった • Unmanaged L2TPv3 として設定する場合は以下のように iproute2 コマンドを実行 ! ! ! ! ! ! • 変更されたバージョン • Linux kernel 3.5 # modprobe l2tp_ip6 # modprobe l2tp_eth # ip l2tp add tunnel remote 2001:db8:123::123 local 2001:db8:234::234 tunnel_id 123 peer_tunnel_id 123 encap ip # ip l2tp add session name l2tpeth0 tunnel_id 123 
 session_id 123 peer_session_id 123 4
  • 5. IPv4 ルーティング・キャッシュ機能廃止 • 概要 • IPv4 のルーティングではいちど探索したルーティング・テーブル のエントリーをキャッシュしておくことで同一フローのパケットの 探索処理を高速化する仕組みがあった • お行儀の良いパケットしか受け取らないのであれば問題はないが DoS 攻撃を受けると悲しいことになるということで削除された • 変更されたバージョン • Linux kernel 3.6 5
  • 6. IPv4 ルーティング・キャッシュ機能廃止 1flow 256flow 65,536flow 16,777,216flow 2,147,483,648flow Internet Week 2010 S7 Vyatta ∼仮想世界をになうルーター∼ 『Vyatta 徹底評価!』の資料より引用 https://www.nic.ad.jp/ja/materials/iw/2010/proceedings/s7/iw2010-s7-03.pdf 6
  • 7. IPv4 ルーティング・キャッシュ機能廃止 Internet Week 2010 S7 Vyatta ∼仮想世界をになうルーター∼ 『Vyatta 徹底評価!』の資料より引用 https://www.nic.ad.jp/ja/materials/iw/2010/proceedings/s7/iw2010-s7-03.pdf 7
  • 8. VXLAN 機能の追加 • 概要 • 乱立する NVO3(Network Virtualization Over L3)技術のうち 現在 IETF で標準化が進められている VXLAN が実装された • iproute2 コマンドで以下のように実行することで利用できる ! ! ! • 上記のコマンドを実行すると vxlan0 という名前の仮想イーサネッ ト・インターフェースが作成される • eth0 上の 239.1.1.123 というマルチキャスト・グループに参加し ブロードキャストやマルチキャスト等のフレームはカプセル化後に このマルチキャスト・アドレス宛に送信される • 変更されたバージョン • Linux kernel 3.7 # ip link add vxlan0 type vxlan id 123 group 239.1.1.123 dev eth0 8
  • 9. IPv6 で ECMP のサポート • 概要 • IPv4 ですでにサポートされていた Equal Cost Multi-Path(ECMP :同一の宛先プレフィクスで異なるネクスト・ホップのルーティン グ・テーブル・エントリーを複数登録してトラヒックを分散させる ための技術)が IPv6 でもサポートされた • 以下の情報のハッシュ値からネクスト・ホップを選択する • 送信元アドレスと宛先アドレス • 送信元ポートと宛先ポート(UDP/TCP/SCTP の場合) • ICMP タイプと ICMP コード(ICMP の場合) • フロー・ラベル値 • 変更されたバージョン • Linux kernel 3.8 9
  • 10. 802.1ad(Q-in-Q)のサポート • 概要 • VLAN タグを入れ子にできる IEEE 802.1ad の機能が実装された ! ! ! ! ! ! ! ! ! ! • 変更されたバージョン • Linux kernel 3.10 # ip link add link eth0 eth0.123 type vlan proto 802.1ad id 123 # ip link add link eth0.123 eth0.123.234 type vlan proto 802.1q id 234 # ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast link/ether 52:54:00:bf:b6:10 brd ff:ff:ff:ff:ff:ff 3: eth0.123@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DO link/ether 52:54:00:bf:b6:10 brd ff:ff:ff:ff:ff:ff 4: eth0.123.234@eth0.123: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdis link/ether 52:54:00:bf:b6:10 brd ff:ff:ff:ff:ff:ff 10
  • 11. VTI over IPv6 のサポート • 概要 • IPv4 でしか利用できなかった VTI が IPv6 でも利用できるように なった • VTI のはなしは以下の URL を参照… • http://www.slideshare.net/m-asama/vti-18507230 • 変更されたバージョン • Linux kernel 3.13 11
  • 12. {ip¦ip6¦arp¦eb}tables → nftables • 概要 • 2009 年に初めてリリースされいままでメインラインに取り込まれ ずメンテナンスされていた nftables が Linux kernel 3.13 でメイ ンラインにマージされた(旧来の {ip¦ip6¦arp¦eb}tables もいまま で通り利用可能だが混在は不可) • プロトコル毎にコマンドが別れており且つカーネル内でもコードの 重複が多かった {ip¦ip6¦arp¦eb}tables を nftables というひとつ のコマンドで制御できるようにし且つエンジンも共通化したらしい • ペイロード内のデータをオフセットとサイズを指定して比較し たり…といった低レベルの機能を実装した VM が用意されてい て nfstables はその VM の命令セットにコンパイルして NETLINK でカーネルに流し込む…みたいなことをしてるらしい • 変更されたバージョン • Linux kernel 3.13 12
  • 13. 参考文献 • Linux Kernel Newbies • http://kernelnewbies.org/Linux_3.4 • … • http://kernelnewbies.org/Linux_3.13