name: index class: compact # コンピュータネットワーク 第04回 目次/おしながき <div class=footnote> <small><small> </small></small> </div> <small> 1. ネットワークのEL第4回 1. 解説: インターネット層のハイライト 1. 解説: IPアドレスを調べる(CLI) 1. 演習(一緒にやるです) - ワークシートをポータルから落としてください - いちおうレポートボックスに出してください(出席代わり) 1. 出席パスワードも入れる 1. 質問コーナー </small> --- class: compact # 解説: インターネット層のハイライト <div class=footnote> <small><small> </small></small> </div> <small> - (グローバル)IPアドレス( = (たいていは)住所を意味する識別子)を手がかりに(長距離でも)配送 - グローバルIP, (Public IP <- AWS用語), プライベートIP (<- 後半の設計で必須) - 大域的な転送(たとえば2万キロ先へ送る)も出来ます - IPヘッダにはIPアドレスが書いてあるが、 ポート番号は書いてない(それはTCPとかUDPヘッダ) - 基本となるネットワーク構成を覚える!(後半の設計で必須!重要!) - まずは、学外、DMZ、学内の典型図だ! 図とセットで、WAN LAN DMZ FW ルータという用語も覚える(設計で使うぞ) - VLANも必須。役割ごとにVLANとIPアドレスの割り当てという設計をします(後半) - IPアドレスの計算問題、クラス(旧表現でも頻出!) - (確かに、だいぶかったるい;-)ところですが、)設計と構築で必須の情報/技術です。 もちろん基本情報でも確実に出題されるやつ - TIPS: IPアドレスの計算は、 2のN乗(例: 2^6 = 64, 2^7 = 128)を覚えておけば、そのうち暗算できると思います。 あとは慣れ。 C言語と一緒で0から数え始めるので境界がひとつズレることに注意 <br> 例: 10.0.0.0/28は(32-28=4、2の4乗->)16個のIPのネットワークなので、 最大IPは10.0.0.15 </small> --- class: compact # 演習の準備: ipコマンドについて少し <div class=footnote> <small><small> </small></small> </div> <small> - Linuxではネットワーク管理のための`ip`コマンドというものがあります - 書式は階層構造のあるコマンドで、 コマンドの引数その1が対象(原文はOBJECT)で、 address(IPアドレス)やroute(次回やるルーティング)などを指定します。 引数その2がコマンドで、 各対象(OBJECT)ごとのコマンド体系が定義されています (詳細は操作時にヘルプかマニュアルを確認する)。 ``` [書式] ip [オプション] 対象 コマンド 引数 [実行例] $ ip address $ ip route ``` - ちなみに `ip address`は今回つかいます。 `ip route`は次回に使う予定です - `ip address`はPC上に存在する全てのネットワークインターフェイスが表示されます - 最初に表示されるlo (もしくは lo0)はループバックアドレスと呼ばれるIPアドレスです。 どのPCにも存在し、IPは常に127.0.0.1です - 2つ目からがネットワークインターフェイスです。 10も20も表示されることもあり(PCの使い方次第) --- class: compact # 実行例: ip addres コマンド <div class=footnote> <small><small> (脚注) この例では59.106.191.18がPCのIPアドレス。 ちなみに、インターフェイス名の別例は eth0@if6 (Chromebook 上の Debian 11) </small></small> </div> <small> - `ens3`の部分はネットワークインターフェイスの名称です。 PCごとに異なりえます(以下の例は Debian 10) <small> ``` $ ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:0e:00:12:44 brd ff:ff:ff:ff:ff:ff inet 59.106.191.18/23 brd 59.106.191.255 scope global ens3 valid_lft forever preferred_lft forever inet6 fe80::5054:eff:fe00:1244/64 scope link valid_lft forever preferred_lft forever ... 以下、略 ... ``` </small></small> --- class: compact # ip addressの表示を少々 <div class=footnote> <small><small> (脚注) netほげほげは他にもあります。 たとえばnetatalkはAppletalkという昔(のApple, MacOSX以前のMacintosh)のネットワーク </small></small> </div> <small> - とりあえず inet の右側のIPアドレスが、いま一番知りたい大事な情報です。 - よく(というかC言語では?) internet を inet、internet を in と略します。 ちなみに brd = broadcast の略 - inet = internet protocol version 4 (IPv4)、 inet6 = internet protocol version 6 (IPv6) - C言語のヘッダファイルにnetinetというのがあるとおりです <br> 例:`netinet/in.h`というヘッダファイルの実体は`/usr/include/netinet/in.h` ``` #include <netinet/in.h> ``` - `inet 59.106.191.18/23 brd 59.106.191.255 scope global ens3` がインターフェイス`ens3`のIPv4情報 - `link/ether`は文字どおりイーサネットを意味しています。 その右にある:区切りの文字がMACアドレスです(詳細は第6回を参照) - インターフェイス`ens3`のイーサネット情報が `link/ether 52:54:0e:00:12:44 brd ff:ff:ff:ff:ff:ff`行です。 `52:54:0e:00:12:44`がMACアドレス、 `ff:ff:ff:ff:ff:ff`がブロードキャスト(に使うMACアドレス) </small> --- class: compact,img-right # 演習: 各自のAWS EC2のIPアドレスを書いてみる <div class=footnote> <small><small> 右図はportalに画像とPDFがあるので、 各自でwordやpptに取り込んでワークシートを作って提出してください。 模範解答は来週EL後:) </small></small> </div> ![](../images/worksheet-net-04.png) <small> 1. 各自のEC2を起動してください 1. Public IPを調べ、ワークシートに書きこもう (図中の、どの数字に相当するでしょうか?) 1. ip addressコマンドでEC2のIPアドレスを調べ、ワークシートに書きこもう (図中の、どの数字に相当するでしょうか?) 1. それぞれのIPについて、global IPなのかprivate IPなのか?も書いてください 1. [チャレンジ課題(任意)] <br> VPCのネットワークアドレスは何? </small>