
ネットワークインターフェイスアップが何を意味するのか知りたいです。ip addr
orifconfig
コマンドは、接続されたIPがなくてもインターフェイスが動作中であることを示すためです。
たとえば、RHEL7の場合:
[root@IDCDVAM887 ~]# ifconfig ens256
ens256: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:50:56:9e:19:5b txqueuelen 1000 (Ethernet)
RX packets 229406 bytes 59265584 (56.5 MiB)
RX errors 0 dropped 229454 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(または)
[root@IDCDVAM887 ~]# ip addr show ens256
5: ens256: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:50:56:9e:19:5b brd ff:ff:ff:ff:ff:ff
インターフェイスにIPがまったくないときにUPを表示する実際の目的は何ですか? IPがなければ通信できないと思いますか?それでは、何のために使用されますか?
答え1
はいLOWER_UP
ステータスイーサネットリンク(または他のリンク層プロトコル)。と定義され、Driver signals L1 up
これは基本的にケーブルが取り付けられ、ケーブルの反対側に他のデバイスが見えることを意味します。
UP
有効になっていることを示します。これはip link set <device> up
、ofコマンドを使用してユーザー(またはスクリプト)が制御できますifconfig <device> up
。
次のような他のプロトコルがあります。IPXイーサネットが使用されますが、インターネットプロトコルスタックの一部ではないため、IPアドレスはありません。したがって、UP
リンクがIPアドレスを持っていてもIPアドレスを持っていないことは完全に許可されています。
答え2
状態UP
は管理インターフェイスの状態、つまりインターフェイスがアクティブかどうか。たとえば、次を使用してすべてのインターフェイスを有効にできます。
ip l s eth0 up
ケーブルが接続され、リンクが確立されると、インターフェイスも次のようになります。働く状態RUNNING
。
多くのカードは、管理状態でなければ発信キャリア生成を無効にし、インターフェイスもUP
そうすることUP
ができないので、RUNNING
次のように設定します。
ip l s eth0 down
私のローカルインターフェイスが同時に失われ、リモート側の対応するインターフェイスももう存在しないことを望みますUP
(RUNNING
しかし、RUNNING
まだUP
私の側を再度有効にするとリンクが得られます)。
しかし、これは単なるイーサネットリンクです。リンクにはさまざまなプロトコルがバインドされ、そのうちの1つはIPv4です。デフォルトでは、IPv4はこのプロトコルファミリをサポートするすべてのインターフェイスにバインドされています。
プロトコルをバインドした後、インターフェイスに割り当てられているすべてのアドレスにパケットを送受信できます。アドレスが割り当てられていない場合、これは、単に発信パケットに使用可能な有効なアドレスがないか(したがってパケットの送信に失敗した場合)、着信パケットのアドレスをシステムでローカルに認識されるユニキャストアドレスとして指定できることを意味します(したがって、受信のみ可能)。ブロードキャスト/マルチキャストパケット)。
これはリンクのみを設定するため、リンク層とは何の関係もありません。
一部のプログラム(DHCPクライアントなど)には、ランダムにフォーマットされたパケットを送信し(仮想ソースアドレスを入力するかどうか)、ローカル0.0.0.0
コンピュータに向かうかどうかに関係なく、到着するパケットを受信する特別な権限があります。これは自動IPアドレスの設定時に使用されます。ここで、DHCP要求は送信元アドレスを使用して送信され、0.0.0.0
サーバーからの応答はブロードキャストアドレスに送信されます255.255.255.255
。
したがって、インターフェイスにバインドされたアドレスがない場合でも、IPパケットを交換する有効なユースケースがあります。
IPv4に加えて、IPv6、IPX、AppleTalkなどがあり、すべて同じ物理層を共有できます。リンクが確立されると、より高いレベルのプロトコルは、自己起動シーケンスを使用して動作状態に入ることができる。
答え3
アドレスやケーブルがなくてもインターフェイスが「表示」されることがあります。 「動作」ステータスは、オペレーティングシステムでデバイスをアクティブにしたかどうかを示します。
RUNNINGまたはLOWER_UPは、データリンク層(レイヤ2とも呼ばれます)を表します。これは、イーサネットパケットを送受信できることを意味します。 IPはその上に構築されたものです。
インターフェイスが動作しているがIPがない(およびIPを割り当ててはいけない)設定の例は、インターフェイスがブリッジスレーブであることです。
答え4
魔法は、またはオプション-4
を指定すると、-oneline
実際に想像通りに「実行」インターフェースが表示されるということです。
読みやすくオプションを使用しましたが、-brief
結論は重要ではありません。
オプションの結果を見ると、up
まだDOWN
デバイスが表示されます。
ubuntu@ubuntu:~$ ip -brief address show up
lo UNKNOWN 127.0.0.1/8 ::1/128
eno1 DOWN
enp130s0f0 UP 100.79.223.150/26 fe80::a9e:1ff:fed9:2864/64
オプションの結果を見ると、-4
すべてアドレスがあり、DOWN
デバイスはありません。
ubuntu@ubuntu:~$ ip -4 -brief address show
lo UNKNOWN 127.0.0.1/8
enp130s0f0 UP 100.79.223.150/26
-online
すべてアドレスがあり、DOWN
デバイスはありませんが、アドレスをIPv4とIPv6に分割したオプションの結果を表示します。
ubuntu@ubuntu:~$ ip -oneline address show
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
1: lo inet6 ::1/128 scope host \ valid_lft forever preferred_lft forever
4: enp130s0f0 inet 100.79.223.150/26 brd 100.79.223.191 scope global enp130s0f0\ valid_lft forever preferred_lft forever
4: enp130s0f0 inet6 fe80::a9e:1ff:fed9:2864/64 scope link \ valid_lft forever preferred_lft forever