Perintah 'ip addr' menunjukkan 'UP' meskipun tidak ada alamat yang terkait dengan antarmuka itu

16

Saya ingin memahami apa yang dimaksud dengan antarmuka jaringan? Karena ip addratau ifconfigperintah menunjukkan antarmuka sebagai up bahkan ketika tidak ada IP yang terkait dengannya.

misalnya di 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

(atau)

[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

Apa gunanya nyata menampilkan UP ketika antarmuka tidak memiliki IP sama sekali? Saya percaya ketika tidak ada IP, tidak mungkin ada komunikasi tentang itu? Lalu apa gunanya itu?

Srikanth Ganesan
sumber
1
Frame Ethernet dapat melakukan lebih dari sekedar berisi paket IP.
casey

Jawaban:

17

Ini LOWER_UPadalah keadaan tautan Ethernet (atau protokol lapisan tautan lainnya). Ini didefinisikan sebagai Driver signals L1 up, yang pada dasarnya berarti kabel dipasang dan dapat melihat perangkat lain di ujung kabel.

The UPberarti bahwa telah diaktifkan. Ini dapat dikontrol oleh Anda (atau skrip) menggunakan perintah ip link set <device> upof ifconfig <device> up.

Ada protokol lain, seperti IPX yang menggunakan Ethernet, tetapi tidak akan memiliki alamat IP karena mereka bukan bagian dari tumpukan Protokol Internet. Jadi sangat dapat diterima untuk tautan tersebut UPtetapi tidak memiliki alamat IP.

garethTheRed
sumber
DHCP sebenarnya dibangun di atas siaran UDP, yang membutuhkan lapisan IP (pada kenyataannya, itu dapat dialihkan). Contoh lain dari alternatif historis yang digunakan untuk IP adalah NetBIOS (sebelum porting ke NetBIOS melalui IPX / SPX dan kemudian sebagai NetBIOS melalui TCP / IP)
pqnet
[root @ IDCDVAM887 ~] # ip addr show eno33557248 3: eno33557248: <BROADCAST, MULTICAST, UP, LOWER_UP> keadaan 1500 qdisc pfifo_fast state UP qlen 1000 tautan / eter 00: 50: 56: 9e: 68: 86 brd ff: ff: ff : ff: ff: ff: ff inet 10.54.2.7/32 lingkup global eno33557248: 1 valid_lft forever prefer_lft forever Dalam format di atas ada antarmuka virtual 'eno33557248: 1' dengan beberapa IP. Mengapa belum ditampilkan UP secara terpisah? Apakah cukup dengan hanya menampilkan antarmuka asli sebagai UP?
Srikanth Ganesan
@ pqnet - Saya mencoba untuk menjelaskan bahwa bagian "no IP, no communication" dari pertanyaan OP itu tidak benar. Mungkin itu bukan contoh terbaik saat itu! Saya akan menghapusnya karena hanya akan menyebabkan kebingungan.
garethTheRed
Bagian itu sekarang aku mengerti terima kasih berdua .. !!!
Srikanth Ganesan
ip addr perintah keluar di RHEL7 untuk antarmuka yang telah mengkonfigurasi beberapa antarmuka virtual atau alias menyebabkan banyak kebingungan bagaimana menemukan apakah itu naik atau tidak
Srikanth Ganesan
7

The UPStatus adalah administrasi negara dari interface, yaitu apakah antarmuka telah diaktifkan. Anda dapat mengaktifkan semua antarmuka menggunakan mis

ip l s eth0 up

Jika kabel terpasang dan link didirikan, antarmuka juga akan mendapatkan operasional negara RUNNING.

Banyak kartu akan menghambat pembuatan operator keluar jika kondisi administratif tidak UP, dan antarmuka yang tidak UPdapat RUNNINGjuga, jadi jika saya mengatur

ip l s eth0 down

Saya berharap antarmuka lokal saya kehilangan keduanya UPdan RUNNING, dan antarmuka yang sesuai di sisi jarak jauh juga tidak akan lagi RUNNING(tapi tetap saja UP, jadi jika saya mengaktifkan sisi saya lagi, saya akan mendapatkan tautan).

Itu hanya tautan Ethernet. Di atas tautan, berbagai protokol dapat diikat, salah satunya adalah IPv4. Secara default, IPv4 terikat ke semua antarmuka yang mendukung keluarga protokol.

Ketika protokol terikat, saya dapat mengirim dan menerima paket dengan alamat apa pun yang ditetapkan ke antarmuka. Jika tidak ada alamat yang ditetapkan, ini hanya berarti bahwa tidak ada alamat yang valid yang dapat digunakan untuk paket keluar (sehingga pengiriman paket gagal), atau alamat unicast paket masuk dapat dialamatkan ke sistem yang akan dikenali sebagai lokal (jadi hanya paket broadcast / multicast yang dapat diterima).

Ini tidak menyangkut lapisan tautan sedikitpun, karena hanya akan membuat tautan.

Program-program tertentu, seperti klien DHCP, memiliki izin khusus untuk mengirim paket yang diformat secara sewenang-wenang, mengisi alamat sumber fantasi atau 0.0.0.0, dan menerima paket kedatangan terlepas dari apakah mereka diperuntukkan bagi mesin lokal. Ini digunakan selama konfigurasi alamat IP otomatis, di mana permintaan DHCP dikirim menggunakan alamat sumber 0.0.0.0, dan balasan dari server ditujukan ke alamat broadcast 255.255.255.255.

Dengan demikian, ada kasus penggunaan yang valid di mana paket IP dipertukarkan bahkan tanpa alamat terikat ke antarmuka.

Selain IPv4, ada juga IPv6, IPX, AppleTalk, dll., Yang semuanya dapat berbagi lapisan fisik yang sama. Segera setelah tautan dibuat, salah satu dari protokol tingkat yang lebih tinggi ini dapat menggunakan urutan aktivasi sendiri untuk masuk ke keadaan operasional.

Simon Richter
sumber
>> antarmuka yang bukan UP tidak dapat MENJALANKAN baik <<. Saya pikir ini mungkin tidak berlaku untuk mesin solaris x86 di mana antarmuka menunjukkan berjalan bahkan ketika statusnya tidak 'UP'. Misalnya 1. Plumb antarmuka virtual baru. root @ IDCDVAM890: ~ # ifconfig net0: 2 plumb 2. Periksa status antarmuka. MENJALANKAN tetapi tidak ada IP yang ditugaskan. 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, Anda tidak memerlukan alamat IP untuk memiliki antarmuka dalam keadaan UP atau RUNNING, sebenarnya antarmuka harus UP dan RUNNING agar DHCP berfungsi. Tampaknya Solaris mewarisi status MENJALANKAN antarmuka virtual dari induknya, tetapi mempertahankan status UP terpisah. Itu agak tidak teratur, mungkin menarik untuk melihat apakah agen SNMP yang mereka kirim membetulkan ini dalam tampilan eksternal.
Simon Richter
3

sebuah antarmuka bisa "naik" bahkan tanpa alamat apa pun. Status "naik" mengacu pada lapisan tautan data (juga dikenal sebagai lapisan 2), yaitu "naik" berarti Anda dapat mengirim dan menerima paket ethernet. IP adalah sesuatu yang dibangun di atasnya.

Contoh konfigurasi di mana antarmuka dinyalakan tetapi tidak memiliki IP (dan tidak boleh ditetapkan satu) adalah ketika antarmuka adalah budak jembatan.

pqnet
sumber
0

ajaibnya, jika Anda menentukan -4opsi atau -oneline, maka itu akan benar-benar menampilkan antarmuka "berjalan" seperti yang Anda bayangkan.

Untuk membuatnya lebih mudah dibaca, saya menggunakan -briefopsi tetapi tidak masalah kesimpulannya.

lihat hasil upopsi, itu masih menunjukkan DOWNperangkat.

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

lihat hasil -4opsi, semuanya dengan alamat, tanpa DOWNperangkat.

ubuntu@ubuntu:~$ ip -4 -brief address show
lo               UNKNOWN        127.0.0.1/8
enp130s0f0       UP             100.79.223.150/26

lihat hasil -onlineopsi, semuanya dengan alamat, tanpa DOWNperangkat, tetapi pisahkan alamat menjadi IPv4 dan 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
osexp2003
sumber