「ip addr」コマンドは、そのインターフェースに関連付けられたアドレスがない場合でも「UP」を表示します


16

ネットワークインターフェイスがアップすることの意味を理解したいのですが。ip addror ifconfigコマンドは、関連付けられている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
イーサネットフレームは、単にIPパケットを含むだけではありません。
ケーシー14

回答:


17

これLOWER_UPは、イーサネットリンク(または他のリンク層プロトコル)の状態です。これはとして定義されていますDriver signals L1 up。これは基本的にケーブルが取り付けられており、ケーブルのもう一方の端に別のデバイスが見えることを意味します。

これUPは、有効になっていることを意味します。これは、ip link set <device> upof ifconfig <device> upコマンドを使用してユーザー(またはスクリプト)によって制御できます。

イーサネットを使用するIPXなどの他のプロトコルがありますが、それらはインターネットプロトコルスタックの一部ではないため、IPアドレスはありません。したがって、リンクUPがIPアドレスを持つことは完全に許容されます。


DHCPは、実際にはIP層を必要とするUDPブロードキャストの上に構築されます(実際、ルーティングが可能です)。IPの歴史使用される代替の別の例は、(IPX / SPX上のNetBIOSに移植される前に、その後、TCP / IP上のNetBIOSとして)のNetBIOSた
pqnet

[root @ IDCDVAM887〜]#ip addr show eno33557248 3:eno33557248:<BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link / ether 00:50:56:9e:68:86 brd ff:ff :ff:ff:ff:ff inet 10.54.2.7/32 scope global eno33557248:1 valid_lft forever preferred_lft forever上記の形式には、いくつかのIPを持つ仮想インターフェイス「eno33557248:1」があります。なぜ個別に表示されないのですか?元のインターフェースのみをUPとして表示するだけで十分ですか?
スリカントガネサン14

@pqnet-OPの質問の「IPなし、通信なし」の部分が正しくないことを説明しようとしました。たぶんそれは最良の例ではなかったでしょう!混乱を招くだけなので、削除します。
garethTheRed 14

その部分は今、私はあなたの両方に感謝します.. !!!
スリカントガネサン14

それがアップしているかどうかを見つける方法として、多くの混乱を引き起こして複数の仮想インタフェースまたは別名を設定したインターフェイスのためのRHEL7でip addrコマンドアウト
スリカンスガネサン

7

UPステータスは、管理インターフェースが有効になっているかどうかインターフェイスの状態、すなわち。あなたは、例えばを使用して、任意のインターフェイスを有効にすることができます

ip l s eth0 up

ケーブルが差し込まれ、リンクが確立された場合、インターフェイスもの動作状態になりRUNNINGます。

多くのカードは、管理状態がでない場合、発信キャリアの生成を禁止し、そうでないUPインターフェイスもそうでない場合があるため、UPRUNNING

ip l s eth0 down

私は私のローカルインタフェースの両方を失うことを期待するUPRUNNING、リモート側の対応するインターフェイスももはやないだろう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などもあり、これらはすべて同じ物理層を共有できます。リンクが確立されるとすぐに、これらの上位レベルのプロトコルのいずれかが独自のアクティベーションシーケンスを使用して、動作状態になります。


>>起動していないインターフェイスは、<<でも実行できません。これは、ステータスが「UP」ではない場合でも、インターフェイスが実行中であると表示されるsolaris x86マシンには適用できない可能性があると思います。例1.新しい仮想インターフェイスを配管します。root @ IDCDVAM890:〜#ifconfig net0:2 plumb 2.インターフェイスのステータスを確認します。実行中ですが、IPが割り当てられていません。root @ IDCDVAM890:〜#ifconfig net0:2 net0:2:flags = 1000842 <BROADCAST、RUNNING、MULTICAST、IPv4> mtu 1500 index 2 inet 0.0.0.0 netmask 0
Srikanth Ganesan

@SrikanthGanesan、インターフェイスをUPまたはRUNNING状態にするためにIPアドレスは必要ありません。実際、DHCPが機能するにはインターフェイスがUPおよびRUNNINGである必要があります。Solarisは親から仮想インターフェースのRUNNING状態を継承しているようですが、別のUP状態を保持しているようです。これはいくぶん不規則です。外部ビューで、出荷するSNMPエージェントがこれを修正するかどうかを確認するのは興味深いかもしれません。
サイモン・リヒター

3

インターフェイスは、アドレスがなくても「アップ」できます。「アップ」ステータスとは、データリンクレイヤー(レイヤー2とも呼ばれます)のことです。「アップ」とは、イーサネットパケットを送受信できることを意味します。IPはその上に構築されたものです。

インターフェイスがアップしているがIPを持たない(および割り当てられない)構成の例は、インターフェイスがブリッジスレーブである場合です。


0

魔法のように指定すると -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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.