0019-05-26

Good question

欧米人がGood question!という時、大半は自分が答えに窮する時だと思うのは私だけでしょうか。



先日、5歳になる子供から思わずGood question!といいたくなる質問をされた



「数字はどこまで数えれるの?」



うっ!
これは難しい質問だ。

まず、数字は無限であることを証明しなければならない。

それには数字が有限であることを偽として無限であることを真とする説明をしなければならない。

5歳児の頭で理解できるような説明は私には無理である。
しかし自分が小さい時にそんなことを疑問にも抱かなかったなぁ。



「遠くのものはどうして小さくみえるの?」

げっ!
これも難しい。
物理的特性の話になり、とても子供では理解を得られるものではありません。


しかし、何にせよこのように

何事にも疑問を持つ


これが全ての物事の成長の基本ですかね。


0019-05-02

enable password

Ciscoでは脆弱性があって使用しないように注意されているものですね。 もう脆弱性が指摘されてから10年以上が経つもので周知のことです。

実際、解読するperlのプログラムなどがインターネット上で公開されており、 そのプログラムで以下のように簡単に解読できてしまいます。

[sunny@tec perl]$ perl ios.pl
enable password 7 060506324F41 <-- 入力
enable password cisco <-- 出力

世の中にはいろんな愉快犯がいますので日常生活で何が起きても不思議ではありません。
いろんなところに落とし穴がありますので注意が必要ですね。

なお、このプログラム自体、再掲できませんので興味がある方は探して見てください。
ちなみに当然ですが悪意を持って使用することはしないようくれぐれも注意して下さい。。

0019-04-15

Q&A with Cisco's CCIE lab exam developer

面白い記事を見つけた。

CCIEのラボ試験を開発している人間とのQ and Aである。

http://www.networkworld.com/newsletters/edu/2006/0522ed1.html?page=1


例えば以下のようなQAがある。気晴らしで読んでみるとなかなか面白いですよ。


Q CCIE LabのBetaはだれが評価しているのか?

A 実際の試験に採用するまで、内部のCCIE candidateやprocotorなどにlabをテストしてもらう


Q 試験を1回でパスするには?

A アドバイスとしては完全に問題を知ること、効率の良いトラブルシューティングを練習すること、テスト時はパニックにならないこと

0019-04-07

XFP

XFP:
10Gbit/s small Form-factor Pluggableの略でXはギリシャ文字の10を意味する

なぜギリシャ文字を取り入れるのか意味不明ですが、"へぇそうなんだ"と妙に関心してしまう自分にも疑問です。。

XFPは10Gbit/s光トランシーバMSAの一種で、外形寸法、インタフェース、電気的仕様などが標準化されており、最も小型で様々なプロトコルに対応した規格のため、次世代10Gbit/s光トランシーバの中で本命視されています。波長としては以下の3つがあります。
  • 850nm
  • 1310nm
  • 1550nm


MSA:
Multi Source Agreementの略。
製品のパッケージサイズ、ピン配置、スペックなどを複数のベンダー間で共通化することで、製品の安定した供給体制確立を目的とした業界標準。 波長なども勿論定義されています。

SFPやXFP、XENPAKなどのMSAがあります。

XFP MSA: XFPMSA.org
XENPAK MSA: XENPAK.org

0019-04-04

ブラックベリー

今、出張でカリフォルニアに来ています。

こちらの人はモバイル端末にブラックベリーを使っていますね。
日本の外資企業でも持たされるケースが多いようですが、どれだけ高機能なのでしょうか?
電話をかけることは勿論、サーバとの連携でスケジューラなどのツールが効果的に使えるようです。

日本企業は情報漏洩防止に躍起になって、セキュリティ強固を推進していますが、セキュリティ=持ち出さない、という方程式に基づいた施策しか考えない為、業務のモバイル性は右肩下がりで、日々不便になっていきます。

セキュリティと利便性は天秤ですので、両方をバランスよく検討して欲しいものです。

0019-04-03

Cisco AutoBandwidth Allocator

CiscoのMPLS機能でAutoBandwidth Allocatorというものがあります。

Xインターバルで平均レートをYインターバルん間行い、Yインターバル間で最も高い平均レートが次のYインターバルの間のLSPのBandbwidthとして設定されます。

動作はみていないのですが、LSP Bandwidthは増加も減少もできます。

0019-03-30

MACアドレスの変更

現在、出張でサンノゼに来ているのですが、私と一緒に来た人のPCがどうやらホテルで使えなくなったらしく、昨日いろいろと切り分けをしていました。

DHCPでIPアドレスを取得してくるのですが、私のPCが取得してくるアドレスとレンジが大きく異なり、なおかつうまくrenewもできないという状況。

どうもPublic IP(Globa IP)が固定的にDHCPで割り当てられている感じ・・

Windows XPでしたのでregisterを削除してTCP/IPの再インストールなどを試みましたが、結果は同じ。

どうやらDHCPでアドレスを取得する再にMACアドレスをみているようでしたので、PCのMACアドレスを変更してみた。

結果OK


1つ勉強になったのはPCのMACアドレスって変更できるんだということ。(アダプタの機能)

0019-03-10

IEEE802.3ae 10ギガビットイーサネット

最近10ギガビットイーサネットを使用することもあります。
10ギガビットイーサネットはLAN PHY(ファイと呼ぶ)とWAN PHYに分かれていて、WAN PHYはSONET/SDHとの接続性が考慮されています。

特徴的なのはその速度も勿論ですが、従来のEthernetで採用されてきたCSMA/CD方式による半二重通信はサポートされず、全二重通信だけをサポートしているところでしょうか。

つまりオートネゴシエーションはしない、ということですね。
10ギガビットイーサネットをサポートしている測定器などもよくみるとオートネゴシエーションの部分は空欄になっていたり、そもそも記述がなかったりします。

0019-03-09

CCIE status updated

二日前程、CiscoからWritten exam合格おめでとう、というメールとCCIE re-certificateしました、という2通のメールが届いた。なるほど、こういう通知があるわけですね。


実際、私のstatusも更新されていました。


0019-03-04

CCIE 10-year logo

CCIEロゴは皆さんご存知だと思いますね。

しかしCCIE 10-year logoというのは見たことがあるでしょうか?
CCIEになって10年維持し続ければ、そのロゴの使用許可がおります。

ちなみに私は勿論そのロゴへアクセスできません。どんなロゴかも気になりますが、CCIEという仕組みができて既に10年以上は経過したということですね。

10年前、CiscoのIOSは10.x, 11.xの時代だったのではないでしょうか。

0019-02-25

The status of CCIE recertificastion

今回はじめてのCCIE再認定試験だったわけですが、きちんとCCIEのExpire期限が延長されているかが気になるところです。

そこでStatusを確認しましたがWrittenをパスしたというtrackは残っていましたが、期限として表示されているのはまだ今年2007年のままでした。

以下のページによるとステータスの更新には10日ぐらいかかるようです。

http://www.cisco.com/web/learning/le3/ccie/recert/index.html




また10日後にチェックしてみます。

0019-02-24

CCIE Written 350-001

昨日受けてきました。

いつもは御茶ノ水や大手町で受けていましたが、今回は家からのアクセスを考えて新宿にしました。
どこのテストセンターも同じようなブースのつくりでしたので、どこで受けても違和感はなかったです。

さて、試験ですが350-001は150分、全問英語という点は変わりません。
試験をはじめると最初にこれは120分の試験、という表示が出てきますが、日本で受験する場合は150分のようです。

以前と変わらず問題を見直すために戻ることもできます。 またこれまた以前と変わらず誤字などは結構見受けられ、表示されるCLI OUTPUTの図なども小さすぎてようわからんというのもありました。
もう少しなんとかならないものですかね。

変わったところと言えば、複数選択する問題で、select 2 answersなんていう表現がなく、いくつチェックすればいいのかわからないというところです。
ただ、例えば2つ正解がある問題で、3つ選ぼうとすると、too many xxとかいうエラーが出ますので、選択しすぎるということはなさそうです。

私が受験した以前からBlue PrintにはWirelessが加わり、ISISやDialがなくなっています。

WirelessはBlue printのキーワードを調べて少し読んでみたのですが、実際に設定したことがないものを理解するのは結構退屈で、問題として質問されると、いかに理解していないかが分かります。

今回はそんな印象でした。

あとアクセスリストなんかは、与えられているメモパッドで0001111なんてビットを書きながら考えていたのですが、以前ラボの勉強していた時より鈍化しています。。やはり常にルータに触るということも大切かもしれません。

結果はなんとかパスできたのですが、新しい技術などは積極的に習得していかないといけないと痛感した試験でした。


ただ実際に仕事に直接結びつかない技術を覚えるのは、趣味の世界になりそうであまり気が進まないですね。例えばEIGRPv6とか。。CCIEというのはそんなものなんですけどね。

0019-02-22

FTP

さて、CCIE Written(再認定)に向けて復習しているところです。

FTPをみてみましょう。

何気なく使用しているFTPですが、クライアント、サーバ、そして使用するセッションとポート番号、またPassiveというモードがありそれぞれの動作を理解する必要があります。

■FTP FTPでは、制御用とデータ転送用で異なるTCPセッションを使用する。
■制御用のTCPセッション制御用のTCPセッションは、FTPサーバ側のポート番号が21で、FTPクライアント側から接続される。これは通常、FTPクライアントを立ち上げている間、ずっと接続され続けている。
■データ転送用のTCPセッションデータ転送用TCPセッションは、通常FTPサーバ側のポート番号が20で、FTPサーバ側から接続される。データ転送用のTCPセッションは、制御用のTCPセッションで流されるコマンドによってその都度生成され、データを転送し、終了すると切断される。データ転送用TCPセッションは一回のFTP通信の間に何度も接続と切断を繰り返す動作となる。
■複数の接続を制御 FTPサーバはFTPクライアントの接続先のポートを知る必要があるが、それは制御用TCPセッションで流されるPORTコマンドによってFTPサーバに通知される。
■passiveモードFTPにはpassiveというモードがある。 PASVモードでは、データ通信用セッションは制御用セッションと同様に FTPクライアント側から張る。そのために、PASVコマンドを使用する。

0019-02-16

SNMP

SNMPのメッセージについてバージョンの違いをみてみます。

GET REQUEST: 管理情報の一部を取得するときに使用
GETNEXT REQUEST: 連続する管理情報を取得するときに使用
GET RESPONSE: 管理情報の応答
SET REQUEST: 管理するサブシステムに対して変更を加えるときに使用する
TRAP (トラップ): 管理するサブシステムに関する警告や非同期イベントの通知に使用する

それ以降のバージョンで、次のPDU が追加されています。

GETBULK REQUEST: 高速に複数の管理情報を取得するときに使用
INFORM: NMSなどのマネージャからマネージャへの通信するときに使用


MIBについてみてみます。MIB-IIでは太字部分のGroupが追加されています。それぞれのGroup内のobjectも追加がありますが、今回はざっくりGroupだけを比較してみました。

MIB(RFC1156)

5.1 The System Group
5.2 The Interfaces Group
5.3 The Address Translation Group
5.4 The IP Group
5.5 The ICMP Group
5.6 The TCP Group
5.7 The UDP Group
5.8 The EGP Group

MIB-II(RFC1213)

3.4 The System Group
3.5 The Interfaces Group
3.6 The Address Translation Group
3.7 The IP Group
3.8 The ICMP Group
3.9 The TCP Group
3.10 The UDP Group
3.11 The EGP Group
3.12 The Transmission Group
3.13 The SNMP Group

IPv6 MLD

MLD は、ネットワーク セグメント上でマルチキャストをサポートする IPv6 ルーターとマルチキャスト グループのメンバの間で、メンバシップの状態情報を交換するために使用されます。

ホストがマルチキャスト グループのメンバであるかどうかはメンバである個別のホストによって報告され、メンバシップの状態はマルチキャスト ルーターによって定期的にポーリングされます。MLDは、RFC 2710 「Multicast Listener Discovery (MLD) for IPv6」に定義されています。

IPv4ではIGMPが使われていましたが、IPv6ではそれに代わりMLDが使用されます。MLDスヌーピング機能もあります。


MLDメッセージ タイプは以下のとおりです。

マルチキャスト リスナ クエリ
マルチキャスト ルーターがグループ メンバに対してネットワーク セグメントをポーリングするために送信します。クエリは、一般 (すべてのグループにグループ メンバシップを要求する場合)、または固有 (特定のグループにグループ メンバシップを要求する場合) になります。

マルチキャスト リスナ レポート
ホストがマルチキャスト グループに参加したときにはホストが送信し、MLD マルチキャスト リスナ クエリへの応答にはルーターが送信します。

マルチキャスト リスナの終了
ネットワーク セグメント上でホスト グループの最後のメンバであると思われるホストがそのグループを離れる場合に送信します。

IPv6

さて、IPv6はCCIEでも扱われる範囲です。

OSPFv6やRIPng(ngはnext generationの略らしいです)などIPv6対応のルーティングについても理解しなければなりません。

といっても体系的に学習できていないため、いくつか機能を見ていきたいと思います。

IPv6 のアドレス構造
IPv4 と IPv6 の最も大きな違いは、そのネットワークアドレスの長さにあるのはご存知だと思います。IPv4 が 32bit で表記されていたのに対し、IPv6 は 128bit で表記します。

IPv6 のアドレスは、前半部と後半部に分けられて管理されます。 前半の 64bit は、ネットワーク・プレフィックスと呼ばれ、後半の 64bit は、インタフェースIDと呼ばれます。

インタフェースIDは、一意性を得るためにMACアドレスから生成されるEUI64フォーマットが使用されることが多いですが、必ずこの形式を使わなければならないということではありません。(特に、サーバーでは手動で静的に設定されることが多いらしいです)。それぞれのアドレスの一意性は最終的にはDuplicate Address Detection(DAD)という仕組みで保証されます。

IPv6のマルチキャストアドレス

以下のように定義されています。FF(1111 1111)で始まると覚えればいいですね。


FF02::1
同じリンク上のすべてのノードに到達するためのすべてのノードのアドレス。

FF02::2
同じリンク上のすべてのルーターに到達するためのすべてのルーターのアドレス。

FF02::4
同じリンク上のすべての DVMRP マルチキャスト ルーターに到達するために使うすべての DVMRP (Distance Vector Multicast Routing Protocol) ルーターのアドレス。

FF02::5
同じリンク上のすべての OSPF ルーターに到達するために使うすべての OSPF (Open Shortest Path First) ルーターのアドレス。

FF02::6
同じリンク上のすべての OSPF 指定ルーターに到達するために使うすべての OSPF 指定ルーターのアドレス。

FF02::1:FF
リンク層アドレスにリンク ローカル ノードの IPv6 アドレスを解決するためのアドレス解決処理に使う要請ノードのアドレス(Solicited-Node Multicast Address)。要請ノードのアドレスの最後の 24 ビット () は、IPv6 ユニキャスト アドレスの最後の 24 ビットです。


0019-02-12

CCIE Written Exam Blueprint v3.0

今年CCIEの更新の年です。

再認定にはCCIEのいずれかの筆記試験を受験して合格する必要があるのですが、Routing & Switchingは今年早々にアップデートするようです。

CCIE Written Exam Blueprint v3.0

今までは350-001という試験番号でしたが351-001に変わります。

問題はというとIPv6, MPLSが加わるようですね。
IPv6はラボでも出題されていますのでそれほど驚きはないのですが、MPLSは仕事で他のベンダー機器を動かしていますが、Ciscoでは少ししか経験がありません。

ということで個人的には変わる前に受けておくというのが得策(なんせ35000円の試験ですので)だと思いますので、早々に試験準備に取り掛かりたいと思います。

0019-02-11

Cisco 7200 シュミレータ (Communicating with Real Networks)

さて、あとはPCのNIC、つまりEthernetポートをバーチャルなルータのポートにブリッジさせることができれば、シュミレータと実際のルータとの接続が可能になります。

勿論リモートからのtelnetやsshも可能になるわけで、用途がぐっと広がります。

でどうやるかというと、Dynagenをインストール後に作成されるdocsディレクトリのtutorialをみればわかります。

C:\Program Files\Dynamips\docs


..
まぁそれだけではつまらないので一応動かしてみます。

DynagenをインストールするとデスクトップにNetwork Device Listというショートカットが作成されるはずです。こいつを実行します。

Cisco 7200 Simulation Platform (version 0.2.5-x86)
Copyright (c) 2005,2006 Christophe Fillot.

Network device list:

rpcap://\Device\NPF_GenericDialupAdapter : Network adapter 'Adapter for gener
ic dialup and VPN capture' on local host
rpcap://\Device\NPF_{BA8C4C20-C661-46DD-B7A9-FC0428CFF866} : Network adapter
'Intel(R) PRO/100 VE Network Connection' on local host



Use as follows:
F0/0 = NIO_gen_eth:\Device\NPF_{...}


続行するには何かキーを押してください . . .


Windowsの場合はF0/0 = NIO_gen_eth:\Device\NPF_{...}をルータのF0/0とブリッジに使うわけです。...の部分には表示されているBA8C4C20-C661-46DD-B7A9-FC0428CFF866を使います。
Net Fileはこんな感じ。

# tmp1 lab
# R1 can communicate with Real Network via f0/0

[localhost]

[[7200]]
image = \Program Files\Dynamips\images\C7200-JS.BIN
# image = /opt/7200-images/c7200-js-mz.124-5a.bin
npe = npe-400
ram = 160

[[ROUTER R1]]
F0/0 = NIO_gen_eth:\Device\NPF_{BA8C4C20-C661-46DD-B7A9-FC0428CFF866}



こいつを使って起動すればR1のf0/0がPCのNICにブリッジされます。


さて、いくつか備忘録的にメモを残してきましたが、使い方によっては非常に便利なツールです。
C7200はATMを含めいくつかのモジュールを搭載できますので、あらかじめNet Fileを書いておけば自分の検証してみたいトポロジが一発で起動します。

またFRSWも準備されていますのでCCIEラボの検証にある程度使えると思いますよ。

とても魅力的ですね。

0019-02-10

Cisco 7200 シュミレータ (4台を動かす)

マシンのCPUが100%になります。っが動かないことはないです。

Net Fileはこんな感じ。

# tmp lab

[localhost]

[[7200]]
image = \Program Files\Dynamips\images\C7200-JS.BIN
# On Linux / Unix use forward slashes:
# image = /opt/7200-images/c7200-js-mz.124-5a.bin
npe = npe-400
ram = 160

[[ROUTER R1]]
s1/0 = R2 s1/0
F0/0 = R3 F0/0

[[router R2]]
F0/0 = R4 F0/0
[[router R3]]
[[router R4]]



トポロジはこんな感じです。

R4[f0/0] ---- [f0/0]R2[s1/0] ---- [s1/0]R1[f0/0] ---- [f0/0]R3


実行すると

Reading configuration file...

Warning: Starting R4 with no idle-pc value
Warning: Starting R1 with no idle-pc value
Warning: Starting R2 with no idle-pc value
Warning: Starting R3 with no idle-pc value

Network successfully started

Dynagen management console for Dynamips

=> list
Name Type State Server Console
R1 7200 running localhost:7200 2000
R2 7200 running localhost:7200 2001
R3 7200 running localhost:7200 2002
R4 7200 running localhost:7200 2003
=>


起動しましたね。

Cisco 7200 シュミレータ (IOSを使って起動してみる)

子供が二人もいるとなかなか自分の時間がありません。

っということで、寝静まった今のうちに続きを。

Cisco 7200のimageファイルを手に入れます。こればっかりはネットに落ちていません(たぶん)。

また現時点でのバージョンではCisco 2691/3600/3700 にも対応していますので、7200のIOSが準備できない人はこちらのIOSが準備できれば使えます。

入手したimageはDynagenをインストールした際に作成されるimagesディレクトリに入れておきます。

C:\Program Files\Dynamips\images

この時、imageファイルはunzipしておくと後々ルータ起動が早くなります。私はCygwinでunzipしましたが、Windows上でLhaplusなどの圧縮/解凍ソフトでもできます。

例えば

c7200-js-mz.124-5a.binというイメージファイルをunzipするとC7200-JS.BINというファイルが作成されます。

この先はこのunzipしたimageを使うことにします。

さて、ルータを起動するにはDynagen Network Fileを使います。なんだそれ?と思いますが、ようはこのファイルがコンフィグファイルになります(とはいてもルータのコンフィグではなく、ルータの構成情報を記載するものです)。以下にサンプルファイルがありますのでそれを加工して使用します。

C:\Program Files\Dynamips\sample_labs

私は以下の内容のファイルをテキストで作成し、.netという拡張子で保存しました。

# tmp lab
[localhost]
[[7200]]
image = \Program Files\Dynamips\images\C7200-JS.BIN

# On Linux / Unix use forward slashes:

# image = /opt/7200-images/c7200-js-mz.124-5a.bin

npe = npe-400

ram = 160

[[ROUTER R1]]

s1/0 = R2 s1/0

  [[router R2]]

# No need to specify an adapter here, it is taken care
of

# by the interface specification under Router R1

いよいよ起動します。

  • Dynamips Serverを実行します。
    Cisco 7200 Simulation Platform (version 0.2.5-x86)
    Copyright (c) 2005,2006
    Christophe Fillot.
    Hypervisor TCP control server started.

    上記が表示されたら次のステップです。

  • 先ほど作成したDynagen Network Fileをクリックして読み込ます。

    Reading configuration file...
    Warning: Starting R1 with no idle-pc
    value
    Warning: Starting R2 with no idle-pc value

    Network successfully
    started

    Dynagen management console for Dynamips

    =>


    Warningが出ていますが一応成功しています。気にしないですすめます。

  • listコマンドでルータをリストアップ

    => ?
    Documented commands (type help):
    ========================================
    clear filter idlepc push resume shell stop ver
    exit help import py save show suspend
    export hist list reload send start telnet

    =>
    =>
    list
    Name Type State Server Console
    R1 7200 running localhost:7200 2000
    R2 7200 running localhost:7200 2001
    =>

    R1とR2が起動しています。
  • telnetしてみる

    telnetは普通のターミナルソフトから上記で表示されているポート番号(R1:2000, R2:2001)を指定してあげればOK。宛先ホストはlocahostです。
  • R1とR2をつないでみる

    R1#show cdp neighbors detail
    -------------------------
    Device ID: R2
    Entry address(es):
    IP address: 10.10.10.2
    Platform: Cisco 7206VXR,
    Capabilities: Router
    Interface: Serial1/0, Port ID (outgoing port):
    Serial1/0
    Holdtime : 174 sec

    Version :
    Cisco IOS Software,
    7200
    Software (C7200-JS-M), Version 12.4(5a), RELEASE SOFTWARE (fc3)
    Technical
    Support: http://www.cisco.com/techsupport
    Copyright (c)
    1986-2006 by Cisco
    Systems, Inc.
    Compiled Sat 14-Jan-06 00:25 by
    alnguyen

    advertisement
    version: 2

    R1#ping 10.10.10.2

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to
    10.10.10.2, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent
    (5/5), round-trip min/avg/max =
    96/112/120 ms
    R1#


アドレスを設定してno shut下だけですがcdpでも対向がみえますしPingも成功します。
1年前とは違い、2台のルータを起動しても結構サクサク動きます。
こいつは脅威ですね。これからが楽しみなソフトです。

今日はここまで。