[Network] ip address 명령어에 대해서 알아보기

ip address 명령어와 해당 내용에 대해서 간략하게 알아보자


환경 및 선수조건


ip 명령어

ip 명령어란?

  • ip : 라우팅, 장치(NIC, Bridge …) 그리고 터널링과 같이 네트워크에 관련된 부분들을 수정하고 조회할 떄 사용하는 명령어입니다.
  • ip(in english) : show or manipulate routing, devices, policy routing and tunnels
  • 사용법
ip [ OPTIONS ] OBJECT { COMMAND | help }
  • OBJETCT : link, address, route, rule, tunnel와 같은 대상들을 조회 및 수정할 수 있습니다.


ip address란?

  • 위의 ip명령어에서 OBJETCTaddress인 명령어로 NIC들에 대해 IP주소를 조회할 수 있으며 나아가 추가 혹은 삭제도 가능한 명령어입니다.


ip address 예시

  • 아래는 제가 생성한 VM에서 ip address의 출력결과 입니다.
$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:45:44:cc brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe45:44cc/64 scope link
       valid_lft forever preferred_lft forever


ip address 항목 설명

LOOPBACK

  • 자신의 호스트로 보내는 인터페이스를 의미합니다. localhost와 같습니다.

BROADCAST

  • 브로드캐스트 패킷을 처리할 수 있음을 의미하며 해당 기능을 통해 DHCP 서버로부터 IP주소를 받을 수 있습니다.

MULTICAST

  • 멀티캐스트 패킷을 처리할 수 있음을 의미합니다.

UP

  • 해당 NIC가 작동중임을 나타냅니다.

LOWER_UP

  • L1 레이어 즉, 물리계층에서 신호가 UP이라는 의미로 물리계층에서 신호가 들어오고 있음을 의미합니다.

mtu

  • 해당 프로토콜이 해당 레이어에서 전송할 수 있는 최대의 단위(바이트)로 이더넷의 기본값은 1500으로 설정됩니다.

qdisc

  • Queuing Disciplines를 의미하며 NIC에 들어오기전에 데이터 패킷들이 Queue에 저장되는데 FIFO형식인 Queue에 넣기전에 패킷에 우선순위를 부여해서 스케쥴링하는 부분으로 현재 eth0의 경우 pfifo_fast라는 방식을 사용한다는 의미입니다.

state

  • 현재 NIC의 작동상태를 의미합니다.

group

  • 인터페이스 그룹을 의미합니다. 기본값은 default입니다.

qlen

  • 전송큐의 크기를 의미합니다.

link/ether

  • L2 레이어 즉, Link Layer의 프로토콜이 Ethernet이라는 의미이며 바로 옆에 나오는 주소는 해당 NIC의 MAC주소이고 brd는 브로드캐스트를 할 때의 주소를 의미합니다.

inet

  • L3 레이어 즉, Network Layer가 인터넷임을 의미하며 바로 옆에 나오는 주소는 ipv4와 ipv6에 따른 주소를 의미합니다.

scope

  • 해당 인터페이스가 어느 수준에서 접근가능하며 유효하냐는 의미입니다. Global의 경우 외부 네트워크에서 접근이 가능한 범위이며(클라우드에서 호스팅한 인스턴스에 들어가면 Global로 나와있는 경우가 있습니다.) Link의 경우 현재 인터페이스가 속한 LAN안에서만 접근이 가능하고 유효하며 Host의 경우는 현재 인터페이스가 속해있는 호스트에서만 유효하고 접근이 가능하다

valid_lft, preferred_lft

  • 자료의 내용을 참고하면 valid_lft(Valid Lifetime)은 해당 주소가 유효한 시간을 의미하며 뒤에 나온 preferred_lft(Preferred Lifetime)보다 크거나 같다고 합니다. preferred_lft은 의미 그대로 해당 주소가 유효했으면 하는 설정값입니다.


참고자료

[Linux] 쉘 스크립트에서 멀티프로세스(혹은 스레드) 기능 사용하기

> 백그라운드로 명령어를 실행해서 병렬적으로 실행되는 멀티 프로세스 환경을 만들어보자.## 환경- Linux 기반 시스템- Bash shell(/bin/bash)## 멀티프로세스? 병렬처리? 멀티스레드? 백그라운드 프로세스?- 여기서 진행할 방식...… Continue reading