読者です 読者をやめる 読者になる 読者になる

LGTM

Looks Good To Me

networking

inet-henge にいくつか機能を足した

inet-henge というネットワーク図生成ライブラリーに リンク太さを変えられる リンク両端に加え,中央にラベルを置ける 地味な機能を足した. github.com inet-henge とは? JSON データを元にネットワーク図を生成してくれる js ライブラリー.オートレイア…

Large BGP Community がやってくる前に,Community マッチをおさらいしよう

2017 / 02月,BGP Large Communities Attribute (RFC8092) がRFC 化された. これは新たに 4Bytes:4Bytes:4Bytes のBGP Community を使えるようにするもので,既存の BGP Community (RFC1997) - 2Bytes:2Bytes Extended BGP Community (RFC4360) - 4Bytes:2B…

ステルスWiFi AP を駆逐した

macos がステルスWiFi AP に接続したときに脅してくるこれ,しばらく意味が分からなくて放置していた. たぶんこういうことかな,というのを教えてもらって「なるほど,良くないかもしれん」と思い駆逐した. @codeout SSIDをstealth設定にしているAPにつな…

BGP Community を透過する事業者がどれくらいいるか調べた

11月末にInternet Week 2016 というイベントで,「BGP Community の基本設計」について発表してきた.内容については 発表スライド をご覧いただければ良いかな と思うが,壇上から挙手アンケートを取ってみてびっくりした. 「顧客から受信したBGP Communit…

xlogin でコマンド自動投入したあと,手動制御にもどす

xlogin -s に渡すexpect スクリプトを書けばよい. 設定投入は自動でやって,温かみのある commit を打ちたい場合などにつかう.( そんなのcommit まで自動でやれよ,という話ではある) jlogin の例 log_user 1 # 既存のrun_commands を参考に proc run { pr…

MRAI とBGP Withdrawn とパケットロス

BGP には,無駄な経路計算を減らすためのMRAI Minimum Route Avertisement Interval) というしくみがあります.BGP Update を送信する前に一定時間待ち,経路変化をバッファリングできる機能です.バッファ中にさらに経路変化があった場合,BGP Update を二…

MRAI の代表的なふるまい

BGP には古くからMRAI (Minimum Route Advertisement Interval) という機能がある. イマイチ理解していなかったが,動作を確認しておく必要があり いくつかの実装を調査した. ざっくり言うと vSRX IOS-XRv Quagga 新しいprefix の追加時 MRAI 待つ MRAI 待…

unicast route の変更により,flowspec validation は走るか

flowspec は forwarding に関するルールをルーター間で伝え合うプロトコルで,「他者から受け取ったルールを適用する前にvalidation しなさい」と仕様で決まっている. では,validation するのはいつだろう? flowspec route を受け取ったとき flowspec rou…

高速にnetflow を吐く

最近 netflow コレクターをさわる機会が多く「コレクターをベンチマークしたい」と思っている. 「netflow v5 なら何 flow/s まで受けられる」「v9 ならこのくらい」など,性能限界を知っておきたい. 2016/02/20 追記: NetFlow-Generator 戦略 いくつか考え…

junoser internals

junoser というRuby gem をメンテしている. これはJUNOS Config のPEG パーサーで,標準入力やファイルを JUNOS Config として構文解析できる.解析後,文法チェックやスタイルの変換もできる. たとえば, 構文チェック.display | set 形式とデフォルトの…

netconf / restconf 時代にもxlogin 使いまくってる話

NetOpsCoding Advent Calendar 2015 18日目のエントリーです. ハードウェア製品を使ったネットワーキングの話. さまざまなコンポーネントについて YANG Model の標準化が進み,NETCONF 使える気運が高まっています.さらにRESTCONF も待っていて,ハードウ…

条件を満たすとチャット通知するリマインダーをつくる

NetOpsCoding Advent Calendar 2015 3日目のエントリーです. 最近はネットワーク運用をラクにすることに興味があります. たとえば RESTCONF のようなI-D が標準され,進化すれば ネットワークへの自動デプロイが実現できると思いますが,それはネットワー…

rancid の.cloginrc をvault 管理にする

rancid というツールがある.ネットワーク運用するにあたって,もはや手放せなくなっている.rancid のなにが便利かについては別エントリで書こうと思うが,本来の目的よりも付随する xlogin スクリプト (clogin, jlogin, ...) を気に入って使っている. xlo…

Hubot にlongest match 機能をつける

ネットワーク運用をしていると,ホストアドレスから経路をルックアップしたいことが結構ある. たとえばDDoS を受けたとき.いろいろな対処が考えられるが,網内のルーターでパケットフィルターする際に「src address → src prefix の変換をしてからガバッと…

JUNOS でCI する話

ネットワーク運用がどんどん便利になって「手軽にメトリック監視できる」「ネットワークリソース管理がほら簡単」みたいな話はけっこう聞く.ところが,本丸であるネットワーク本体への変更については「慎重に人手で」という運用をしているところが多いと思…

フルルート入れるのにgobgp を使ってみる

「どの程度お手軽にフルルートを注入できるか?」の続編です. 2015/08/12 追記 : gobgp の不具合,修正されました codeout.hatenablog.com 今回 gobgp のコミッターさんから「mrt 実装しましたー,もしお時間あったら試してみてください!」と連絡もらった…

Bot にお願いして 手順書を書いてもらう

ネットワーク運用のなかに「手順書を書く」という業務がある.事業者によっては 書く レビュー 直す レビュー 直す ... みたいな比較的コスト高い作業になる. ネットワークは事前にテストしづらく「壊れるとヤバい」という側面から,日本では手作業による温…

BGP Flowspec のバリデーション

BGP ルーターには,Flowspec という機能があります.2009年にRFC5575 として標準化されたもので,ざっくり言えば「遠くのルーターでパケットフィルターを発動させる」機能. 最近 注目されているこのFlowspec のうち,とくにバリデーションについて調べまし…

VirtualBox 上の IOS-XRv コンソールに接続する

Cisco IOS-XRv は ハイパーバイザーが開くTTY にコンソールを接続してくれないので,自分で設定する必要がある. たとえばVMWare Fusion はコンソールをPTY に繋ぐ機能があるので簡単だが,VirtualBox は面倒. コンソールをドメインソケットとして出す 下の…

ネットワークエンジニアリングはアジャイルじゃない

リーン・スタートアップと言ってもいい.Web 界隈ではあたりまえの開発手法を ネットワークの開発に使うのはむずかしい. 自分はインターネットが得意で (ネットワークとしてのインターネットね!) たかだかIP と上下レイヤーくらいしか分からないんだけど,…

Time Attack: bgpsimple vs exabgp 2nd Heat

After @exabgp thankfully gave me an advice on my previous post, I carried out performance tests of bgpsimple and exabgp again. @codeout Great blog entry: http://t.co/FHKPp9DXN6 . It would be great if you could check how much faster our API…

Time Attack: bgpsimple vs exabgp

お手軽フルルート環境に興味が出て,どの程度お手軽にできるのか試しました. Bird Quagga BGPFeeder bgp4r bgpsimple eggpg gobgp pybgp announcer exabgp (参考: Other OSS BGP implementations · Exa-Networks/exabgp Wiki · GitHub) をざっと見て MRT か…

JANOG35 に行ってきた (Day3)

JANOG35 に行ってきた (Day2) に引き続き,JANOG35 レポート. ほぼ毎回行ってるイベントで,インターネットに関するネットワーク寄りの知見を得られる.参加者はネットワークエンジニア中心. 気になったセッションをいくつか紹介しようと思う. JANOG35会…

JANOG35 に行ってきた (Day2)

先日,JANOG35 というネットワーク系イベントに行ってきた.Day1 は参加してない. ほぼ毎回行ってるイベントで,インターネットに関するネットワーク寄りの知見を得られる.参加者はネットワークエンジニア中心. 気になったセッションをいくつか紹介しよう…

やってみよう NETCONF

知ったかぶりしない NETCONF に続く, NETCONF エントリーです. 今回はNETCONF の実装をいくつか試す. A Ruby gem for NETCONF Netopeer 前のエントリーでは「NETCONF 便利そうだけど, データモデル*1 が共通じゃないので使うのつらそう. 特にいろんな種類の…

知ったかぶりしない NETCONF

最近ネットワーク関連のカンファレンスなどで 再び注目され始めたNETCONF について調べてみた. NETCONF はネットワークデバイスの設定や状態を取得/更新するための管理用プロトコルで, 特にネットワーク全体を統合管理できるという特徴を持つ. RFC で標準化…

通信内容からiPhone アプリの振る舞いを推測する

先日iPhone で撮った動画をメールで送ろうとして,送信エラーで送れなかった.ところがMessages.app だとちゃんと送れる. 「くそーなんだこれ.Messages なにやってんのかまったく分からん!」と思って,このアプリの振る舞いを調べてみた. 写真アプリの仕…