class: title, smokescreen, shelf, no-footer # <small>ネットワークインターフェイス層(イーサネット)<br>- ダイジェスト -</small> <div class=footnote> <small><small> NI層 通常版は、こちら: <A HREF="/slides/network/tcpip/ni_ethernet/">[イーサネット]</A>, <A HREF="/slides/network/tcpip/ni_devices/"> [物理構成]</A> and <A HREF="https://www.youtube.com/playlist?list=PLS2cEmI21XYKUWdzZyvjE3mO0YuNIu0lQ"> [動画再生リスト] </A> </small></small> </div> --- class: img-right,compact # 全体像(再掲) ![width640px](/images/network/end-to-end.png) <small> - 右図: ホストとホストの通信 - ホスト = コンピュータ - END TO END (端〜端)通信 - 用語: 階層(Layer), 〜層 - 用語: プロトコル(取り決め,約束事) - TCP,IP,Ethernetなど - 用語: サーバ,クライアント - 右図: サーバ(左)とクライアント(右) - サーバ (写真の業務用PC) - サービスを提供する側 - WWWサーバ,メールサーバ - クライアント (右端のPC) - サービスを受ける側(お客様) - ブラウザやメールソフト - 人間が操作しているPC </small> --- class: img-right,compact # ネットワークインターフェイス層 <div class=footnote> <small><small> (脚注1) イーサネットはOSIの1層と2層に中途半端にまたがっています(イーサネットはOSIのはるか前に考案された規格です) <br> (脚注2) 最近では無線LANもありますが、長くなるので、無線LANのほうは自分で勉強してください:-) </small></small> </div> ![width640px](/images/network/end-to-end.png) <small> - 4階層の一番下の階層を「NI層」と呼びます <br> NI=ネットワークインターフェイス - 代表的な規格がイーサネットです </small> --- class: title, smokescreen, shelf, no-footer # <small>Part 1: イーサネット<br></small> <div class=footnote> <small><small> </small></small> </div> --- class: col-2,compact # ネットワークインターフェイス層はバケツリレー - ネットワークインターフェイス(以下NI)層は、 となりあうネットワーク機器間のやりとりを規定しています - IP(より上)は世界のどことでもEND-TO-END通信が目的(再掲) - ようするに**バケツリレー**です(図上側) - 右図の一番下では上の層と異なり隣同士の矢印が書いてあります。 これは**隣り合う機器のやりとり**を意味しています - NI層を代表するプロトコルが**イーサネット(Ethernet)**です ![height180px](/slides/network/tcpip/ni_ethernet/images/bucket_relay_fire.png) ![height180px](/slides/network/tcpip/ni_ethernet/images/bucket_relay_nimotsu.png) ![height320px](/images/network/end-to-end.png) --- class: col-2,compact # イーサネット <div class=footnote> <small><small> (脚注1) 図は覚えなくて大丈夫です。 図は両方ともイーサネットフレーム全体を表しています。 図(右)ではイーサネットのヘッダとトレイラを拡大し具体的に書いてあります。 どちらの図でも<B>左側が先頭</B>(headerが来る側)です <br> (脚注2) 仮想環境では管理システムがMACアドレスを生成・割当します (また本来は一意のはずですが書き換えるツールとかも...;-) <br> (脚注3) イーサネットは物理的な動作も規定しているのでOSIモデルではレイヤー1と2にまたがります </small></small> </div> <small> - NI層のデータ塊はパケットではなく**フレーム**と呼びます - ヘッダ(header) ... 先頭部分 - トレイラ(trailor) ... 最後尾 - 下図(左)はフレーム全体、 下図(右)は同じくフレーム全体ですがイーサネットヘッダ詳細版 ![](/images/network/ethernet-packet.png) <wbr> - イーサネットつまりネットワークインターフェイスの識別子が**MACアドレス** - **MACアドレス** - **48ビット**の「イーサネットの識別子」 - 工場出荷設定で一意 - **48ビット**を**8ビットごとに:区切り16進数**表記 <br> 例: 12:34:56:78:90:AB ![](/slides/network/tcpip/ni_ethernet/images/ethernet-frame.png) </small> --- class: img-right,compact # ブロードキャストをふりかえりますが... <div class=footnote> <small><small> (脚注) 左上のPCからイーサネットフレームを送信すると、 全PCが受け取っている様子を書いているつもりです。 ヤギさんが封筒(フレーム)を運んでいます。 ヤギさんが各PCに<B>同時に届けている</B>様子までは書いてないんですけど、 手紙の絵で察してほしい:-) </small></small> </div> ![width480px](/slides/network/tcpip/ni_ethernet/images/bus.png) <small> - **同一セグメントにあるホスト(群)へパケットを一斉に送信したい**場合に使うIPアドレス - ネットワーク機器ではMACアドレスが**FF:FF:FF:FF:FF:FF**宛のイーサネットフレームを**必ず受信しなければならない**という決まりなので、 これを利用します。 イーサネットフレームを特別な宛先(FF:FF:FF:FF:FF:FF)へ送信すれば、 全ホストがそのフレームを受信するわけです - IP層でIPパケットをブロードキャストアドレスへ送信すると、 NI層では、 そのIPパケットを包んだイーサネットフレームを作り、 FF:FF:FF:FF:FF:FF宛に送信します。 これが**ブロードキャストの動作原理**です </small> --- class: col-2,compact # ブロードキャストが動作する理由 <div class=footnote> <small><small> (脚注) alohanet = 「アロハ〜」で分かるとおり、ハワイの(研究用)無線ネットワーク。 N. Abelsonが「ハワイでサーフィンしたいなぁ、ハワイの大学に転職するか〜」と、 ハワイに行って無線ベースで作りあげたネットワークのこと。 当時(ARPA初期)のIMP(ルータの先祖)はコンピュータ直結型の違う原理で動いています。 では一つのネットワークに複数のコンピュータをつなぐとどうなるの? を実際にやってみた -> かなり困るぞ...どう解決する?という話です。 R.M.MetcalfeはAlohanetを見てイーサネットを開発しました </small></small> </div> <small> - なぜブロードキャストが出来るのかというと、 もともと接続している全ホストに通信が見える想定だから。ここに注目 - もともと一つの同軸ケーブル(図左下の黄色いケーブル)に全ホストが接続しているので、 全デバイスに電気信号が見えています - イーサネットのアイデアには無線ネットワークのalohanetが影響を与えているそうなので、 通信が全員に見えるという想定に納得ですよね </small> ![height240px](/slides/network/tcpip/ni_ethernet/images/bus.png) <br> ![height120px](/slides/network/tcpip/ni_ethernet/images/PD_yellow_cable_Leaky1.jpg) ![height120px](/slides/network/tcpip/ni_ethernet/images/radio_amateur_musen_woman.png) ![height120px](/slides/network/tcpip/ni_ethernet/images/machine_transceiver.png) --- class: img-right,compact # <small>CSMA/CD(Carrier Sense Multiple Access with Collision Detection)</small> <div class=footnote> <small><small> (脚注1) <B>/</B>は発音しないか with (with を w/ と略しますね) (脚注2) ちなみに無線LANは<B>CSMA/CA</B>という方式です。 </small></small> </div> ![height400px](/slides/network/tcpip/ni_ethernet/images/bus.png) <small> - 普通の(ユニキャストな)通信では、送信するホスト1台を決め、そのホストだけが送信します (ブロードキャストは例外です) - 複数のホストが同時に送信したら電気信号が重なりあい読み取れません;-)。 すでに物理な話をしていますが、レイヤー1は、そういうものです - **送信するホスト(一台)を決める**には**CSMA/CD**というプロトコルで**調停**します - CS = 他に通信しているホストがいないことを確認、信号の感知 - MA = 複数のホストが共有している回線(=media)を使い通信(=access) - CD = 衝突(Collision)の検知(Detection) </small> --- class: col-2,compact # 応用: ARP (Address Resolution Protocol) <div class=footnote> <small><small> (脚注) 毎回ARPするのは無駄なので得られたIPは一定期間記憶します(arp cache)。 初心者は障害対応で機器を入れ替え時にcacheを忘れがち。 <b> 知識ではなく、 どういう理屈で動いているかが頭に入っていけないといけない典型例 </b> </small></small> </div> <small> - NI層ではARPで通信相手(のMACアドレス)を探します (こうやって隣の機器を自動探索しています)。 **「ブロードキャストで全ホストに尋ねれば該当ホストから答えがもらえる」** ことを利用 - ARPパケット(おねがいIP〜のホストの方こたえて)をブロードキャストすれば、 該当するIPアドレスのホストが返事を返します。 返事のイーサネットフレームの送信元MACアドレスが探していた情報 (**該当ホストのMACアドレス**)です - ブロードキャストでARPを送信 - 送信先FF:FF:FF:FF:FF:FF - 送信元12:34:56:78:90:AB <br>(自分のMACアドレス) <wbr> - 返事のイーサネットフレームは - 送信先12:34:56:78:90:AB - 送信元xx:yy:zz:ww:pp:qq <br> (**該当ホストのMACアドレス**=知りたい情報) - これで隣の誰(xx:yy:...)のMACアドレスが分かったので、 xx:yy:..宛にフレームを送信できます </small> ![height240px](/slides/network/tcpip/ni_ethernet/images/bus.png) --- class: col-2,compact # 応用: DHCP<small>(Dynamic Host Configuration Protocol)</small> <div class=footnote> <small><small> (脚注1) PC教室のPCが起動するときが典型例 (脚注2) もちろんスマートフォンのIP設定もDHCP </small></small> </div> <small> - 自動でOSのネットワーク設定をします - DHCPのおかげでOSの設定を手動で操作しなくてもすみます。 PC教室や家庭、無線LANなどあらゆるところで動作しています - PC等の起動時にOSの設定情報をサーバに問い合わせます - **起動時のPCは自分のIPアドレスすら分かりません**。 もちろん問い合わせるべきサーバのIPアドレスやMACアドレスも知りません - そこでブロードキャストを使います - ブロードキャストでDHCPリクエストを送信 - 送信先FF:FF:FF:FF:FF:FF - 送信元12:34:56:78:90:AB <br>(自分のMACアドレス) <wbr> - DHCPサーバが返事をくれます - 送信先12:34:56:78:90:AB - 送信元xx:yy:zz:ww:pp:qq <br> (**サーバのMACアドレス**) - DHCPサーバからの返事(パケット)にネットワーク設定情報が含まれているので、 それをPCに設定します (今回は、この返事に含まれるネットワーク設定が知りたい情報) </small> ![height240px](/slides/network/tcpip/ni_ethernet/images/bus.png) --- class: img-right,compact # 転送効率の向上、スター型への変更 <div class=footnote> <small><small> (脚注1) スター型はハブ-スポーク型(自転車の車輪)とも言う (脚注2) 図のHUB部分に使うネットワーク機材の名称と役割も調べてみよう(基本情報に出ます!): ハブ、リピーター、ブリッジ、ラーニングブリッジ、スイッチングハブ(=スイッチ)は、 何が違いますか? </small></small> </div> ![](/slides/network/tcpip/ni_ethernet/images/bus-to-star.png) <small> - **バス型**(図左)では、ホストが増えるほど衝突が増えていきます (CSMA/CDの理屈を思い出せ!) - 商用インターネット時代に入ると、イーサネットの規格も10BASE-Tが主流になり、 それ以降は**スター型の接続**になります(図右) - どの型でも、ブロードキャストの動作原理は同じですが、 スター型の中心に置く機材(図のHUB、現代では**スイッチングハブ(スイッチ)**) が通信の様子を学習して、**無関係なホストへ通信を見せない**ようにしています。 つまり**衝突を回避**しているため、 **転送効率が向上**しています --- class: title, smokescreen, shelf, no-footer # <small>Part 2: 物理構成<br></small> <div class=footnote> <small><small> 後半の設計編で必要な知識を少し先出しで紹介 </small></small> </div> --- class: img-right,compact # 実際の物理構成(概略) <div class=footnote> <small><small> (脚注) 光ファイバの詳細は他の授業に譲ります。 singleとmultiは反射の仕方など動作自体が異なります。 実務的にはファイバの曲げやすさが違うので(折らないように)注意が必要です </small></small> </div> ![](/slides/network/tcpip/inet_intro/images/term-intranet-vlan.png) - [ネットワーク構成](/slides/network/tcpip/inet_network/)の回に、 右の図を「学内の**論理構成**図」として使いました - 実際の**物理構成**はどうなっているの?という解説を少しだけします - 用語 - ネットワーク機器(既出) - 機器同士の配線に使うもの - イーサネット - 光ファイバ (single-mode,長距離) - 光ファイバ (multi-mode,短距離) --- class: img-right,compact # ネットワーク機器の構成(復習) ![](/slides/network/tcpip/inet_routing/images/routing-overview.png) - [ルーティング](/slides/network/tcpip/inet_routing/)の回のスイッチ群 - cs (core) - ds (distribution) - as (access) - 次頁では、実際の cs, ds, as 間の配線の使い分け方を説明 --- class: compact # 実際の光ファイバ配線構成図 <div class=footnote> <small><small> (脚注) 春学期後半の設計編の <A HREF=https://lectures.fml.org/slides/network/design/campus/> 「設計ガイド」 </A>より </small></small> </div> ![](/slides/network/design/campus/images/network-media.png) --- class: img-right,compact # 物理構成(イメージ)図 <div class=footnote> <small><small> (脚注1) 春学期後半の設計編の <A HREF=https://lectures.fml.org/slides/network/design/campus/> 「設計ガイド」 </A>より抜粋 (脚注2) 「クラウドの上で何か作って売る職業」と「インフラを作って売る職業」 どちらが<B>安定して儲かる</B>の?って、 それはAmazonの売上を見れば一目瞭然だよね? </small></small> </div> ![height400px](/slides/network/design/campus/images/P_20210610_162302_PN.jpg) - 物理的にPCとスイッチと光ファイバーとケーブルと...いろいろ並べて写真と動画をとりました (次頁の動画も堪能してね) - 構築するだけで5人で2時間くらい使いました (本来は、このあと設定もあるので全部やったら半日仕事) - いやぁ物理作業って大変ですね;) - ブラウザの上でクリックするだけのクラウドは楽ですね? - でも、**クラウドを構築して売っている側の人たち**がいるから使えることを忘れずに --- class: compact # 物理構成の解説動画(再生リスト) <div class=footnote> <small><small> 再生できない方は <A HREF=https://www.youtube.com/playlist?list=PLS2cEmI21XYJlP3N-J4bOqJHRTdJPX08w> こちら </A> からどうぞ </small></small> </div> <center> <iframe width="480" height="270" src="https://www.youtube.com/embed/Pi3RXT3RuQc?list=PLS2cEmI21XYJlP3N-J4bOqJHRTdJPX08w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="480" height="270" src="https://www.youtube.com/embed/-J-dGm7w6Zs?list=PLS2cEmI21XYJlP3N-J4bOqJHRTdJPX08w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> </center> <small> (左)E208のBフレッツを例に「ルータ〜L3スイッチ〜ファイアウォール」の説明 (右)学内全体のイメージ <br> ちなみに再生リストの3番め以降は、光ファイバなどの解説動画(他作)です。 <br> 8番目にあるGoogleの気球ネットワークは良いアイデア! 人工衛星より低遅延・低価格なので普段から使いたい。 災害時などの緊急展開にも役立ちます。 でもイマイチ流行してないみたい... </small>