技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

ネットワーク

ONUを入れ替える時

先日、自宅の ONU を入れ替える機会があったのだが、その後、インターネットに接続できなくなるという現象が発生したので、今後のため、ここに書いておく。 ちなみに、自宅のインターネット構成は、ONU に無線ルーターを接続して、その無線ルーターに各種 PC…

マルチホーム環境での通信

ネスペ平成28年の午後2の問題より。 複数の ISP 環境において web サーバを NAT 機能付きの LB 経由で公開している場合、クライアントからの通信について、行きと帰りで同じ ISP を経由するように応答しないと、クライアントが応答を受け取れない。 これ…

VXLAN

VXLAN とは、L3 ネットワーク上に L2 ネットワークを構築するオーバーレイネットワーク技術である。 L2 ネットワークにおけるブロードキャストをシミュレートするためにマルチキャストを使用する。例えば、arp 要求はマルチキャスト (宛先は送信元と同じマル…

スイッチによるMACアドレスの学習

平成27年のネスペの午後2問2を解いていて学習した内容を書く。 スイッチがMACアドレスとポートの対応を学習するのは、スイッチに接続された機器からのフレームの送信元MACアドレスによるものである。通常、宛先MACアドレスからは学習しない。MACアドレス…

NAT444

NAT444 とは、global address, shared address, private address の 3 種類の IPv4 アドレスを用いたネットワーク構成のこと。 shared address はちょっと聞きなれないが、これは ISP のネットワーク内で使用され、グローバルアドレスの節約に貢献する。これ…

GARP

ネスペの問題を解いていると良く出てくる GARP (Gratuitous ARP) について簡単にまとめる。 GARP は自分の IP アドレスに対する MAC アドレスの解決のために使われる。その目的は、自分と同じネットワークにいる機器の ARP キャッシュの更新や重複 IP アドレ…

限定的ブロードキャスト

ネスペの問題を解いていて、ブロードキャストには2種類あるということを知った。 192.168.0.255 のように良く見かけるブロードキャストは Directed ブロードキャストと言われるもので、それ以外に Limited (限定的) ブロードキャストというものがある。 Lim…

スイッチスタック

H25年のネスペの午後2の問1を解いていて思ったことをここに書いていく。 ネスペの午後問題で、スイッチスタックを絡めたリンクアグリゲーションや STP などの設問を解く際、スタックスイッチを1台のスイッチとして考えないと、解けない問題がある。 例え…

シンクライアントにおける画面転送

ネスペの勉強をしていて、シンクライアントで (RDPのような) 画面転送方式を採用することのメリットについてメモしておく。 画面転送で使用する帯域は、せいぜい 0.2 Mbps 程度とのこと。つまり、WAN やインターネット側での帯域消費を少なくすることができ…

DNSサーバの種類

ネスペでよく出てくるネタなので、ここに纏めておく。 DNSサーバには、コンテンツサーバとキャッシュサーバの2種類がある。キャッシュサーバはフルリゾルバとも言われる。 コンテンツサーバは自分の管轄のドメインの情報を外部に返すもので、キャッシュサー…

DNSサーバの通信はTCP?UDP?

結論から言うと、両方。 名前解決の問い合わせには通常 UDP を使用する。なお、DNS 応答パケットのサイズが512 バイトを超えると、TCP で通信が行われる (TCPフォールバック)。 DNS サーバ間のゾーン転送には TCP が使用される。

プロキシを使った通信時のDNS名前解決

ネスペの令和元年の午後2の問2を解いていて、自分が分かっていないところがあったので、ここにメモしておく。 例えば、 PC ----- プロキシ ----- webサーバ という構成があって、PC が web サーバにアクセスする時、誰が web サーバの DNS 名前解決を行う…

VLANインタフェースとか

VLANインタフェースやVLAN間ルーティングについては、ネスペの平成29年の午後1の問1を解いてみるといろいろ分かる。これは良問だと思う。 参考として、ここに問題文に登場するネットワーク構成図を載せておく。 ネスペ平成29年午後1の問1の図2 この…

対向の機器のインタフェースの状態

平成30年のネスペの問題を解いていて、自分に足りない観点があったので、ここにメモしておく。 ネットワーク機器のインタフェースの状態は、例えば、SNMPマネージャなどが ifOperStatus や ifAdminStatus 等から取得できるが、それ以外にも、対象の機器に…

NAT

ネスペの平成30年の午後2の問題を解いていたところ、NAT について自分が理解できていないところがあったので、ここに簡単にまとめる。 具体的には、NAT 先ネットワークの通信先の、こちら側 (NAT前) でのネットワークにおける IP をどこに振るのかという…

TCPの再送が実施されないケース

平成30年のネスペの午後2の問題を解いていて知った内容。 TCPで送信中、受信端末の瞬断したりして、TCPコネクションが開放されてしまうと、TCPの再送は実施されなくなる。 このケースにおいてもデータを再送したい場合は、アプリ側で独自に再送処理を行う…

サーバ認証とクライアント認証

サーバ認証はクライアント側がサーバの正当性を確認して、クライアント認証はサーバ側がクライアントの正当性を確認するもの。 TLSでは、サーバ認証は必須だが、クライアント認証はオプションである。

認証と認可

ネットワークスペシャリストの勉強をしていて、認証と認可について学んだので、ここに書いていく。 認証と認可は似ているが意味がちょっと違う。 認証は、アクセスしている人が本人かどうかを判定するためもの。一方で、認可は、その人が何の権限を持ってい…

SSLサーバ証明書を生成する時の alias について

先日、Java の keytool コマンドを使用して、SSLサーバ証明書を生成しようと思ったら、コマンドの引数に指定する「-alias」オプションに何を指定して良いのか分からなくてちょっと調べたので、防備としてここにメモしておく。 「-alias」オプションには、生…

X-Frame-Options レスポンスヘッダについて

httpの X-Frame-Options レスポンスヘッダについて簡単に纏める。 webサーバがクライアント(ブラウザ)に応答を返す際、そのレスポンスヘッダに「X-Frame-Options」を入れることで、ブラウザ側での iframe(フレーム) の制御をコントロールすることができる。 …

nslookupコマンドは hosts ファイルを参照しない。

先日、hosts ファイルを書き換えたものの、それが nslookup コマンドの結果に反映されなかったので「あれ?」と思って調べたら、このコマンドは hosts ファイルを参照しないらしい。 https://tech.nikkeibp.co.jp/it/article/COLUMN/20070312/264620/ https:…

ネットワーク機器のループバックアドレス

「ループバックアドレス」というと、自分自身を指す 127.0.0.1 (localhost) を思い浮かべる人が多いと思う。 ループバックアドレス(127.0.0.1)とは - IT用語辞典 e-Words しかし、ルータ等のネットワーク機器が持つ「ループバックアドレス」はこれとは異な…

httpリクエストのHostヘッダ

ApacheやNginxなどのwebサーバには、クライアント(ブラウザ)からのIP直アクセスを検知してアクセス拒否する設定がある、という話を聞いて、 「ブラウザでホスト名を打ち込んでアクセスしたとしても、(DNSで名前解決されて)最終的にIPアドレスによる通信にな…

JavaのInetAddressクラスのメソッドで名前解決(逆引き)する時は正引きも行われている。

JavaのInetAddressクラスのgetHostName()やgetCanonicalHostName()で、IPアドレスからホスト名への名前解決(逆引き)を実行すると、裏で正引き(ホスト名⇒IPアドレス)も行われるようだ。詳細は以下の通り。InetAddressクラスのソースを確認すると、getHostName…

コミュニティ ストリング インデックスについて

Cisco の機器に対して SNMP で MIB 情報を取得する際の、「コミュニティ ストリング インデックス」について勉強した。 SNMP コミュニティ ストリング インデックス - Cisco 簡単に纏めると、例えば、機器が vlan 100 を持っているとして、機器から SNMP で …

Javaの名前解決のキャッシュ

Javaの名前解決では、以下のようにキャッシュを使っているので、OS(hosts)やDNSで名前解決を変更しても、すぐに反映されるわけではない。 networkaddress.cache.ttl java.securityで指定して、ネーム・サービスからの名前の検索に成功した場合のキャッシング…

icmpパケットのIDとシーケンス番号

icmpパケットには、ID(Identifier) と シーケンス番号(Sequence Number) が含まれている。これらがどのように使用されるのかイマイチ分かっていなかったので、ちょっと調べてみた。いつも通り、大正義 rfc を見に行く。すると、 https://tools.ietf.org/html…

SSL/TLS 署名アルゴリズム

先日、SSL/TLS の署名アルゴリズム(ハッシュアルゴリズム)について話が挙がった時、「あれ?署名アルゴリズムって SSL/TLS通信のどこで使用されるんだっけ・・?」となってしまったので、また忘れないようにここに簡単に纏めておく。 署名アルゴリズムは、SH…

pingで「宛先ホストに到達できません。」が出る場合

存在しない IP アドレスに対して ping コマンドを実行すると、「宛先ホストに到達できません。」と出ることがある。これは、icmp パケットを送信する前段階の arp 要求に対する応答が pingコマンドを実行したマシンまで返ってきていないことを意味している。…

bonding インターフェースに対するtcpdump

Linuxには、複数の物理インターフェースを論理的に一つと見なす、bondingという技術がある。 この bonding インターフェースに対して tcpdump コマンドでパケットキャプチャを取得する場合、bonding インターフェースを構成する物理インターフェース(ethX)を…