3 minute read

Udemy - CKA 강좌의 Linux Network에 대한 부분을 듣고, 공부한 내용을 정리한 포스트입니다. CKA 시험을 합격하고 되돌아보니 CKA 시험에 이 부분은 너무 지엽적인 부분이었습니다. Linux Network의 ip 명령어들의 종류만 훑고 넘어갑시다!

명령어 설명
link 네트워크 인터페이스 CRUD
addr 네트워크 IP 주소 CRUD
route SKIP
netns SKIP

ip link

현재 시스템의 네트워크 디바이스들을 확인할 수 있다.

# `ip link show`와 동일
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
...

실제 명령어로는 모든 인터페이스를 확인할 수 있지만, 이 포스트에선 1번 디바이스인 루프백(lo) 인터페이스의 정보만 살펴보자.

  • mtu 65536
    • mtu는 Maximum Transmission Unit의 약자
    • 루프백 인터페이스로 최대 65536 byte1의 패킷 보낼 수 있다. 만약 이 사이즈를 넘는다면, 패킷은 작은 조각으로 쪼개어 전송될 것이다.
  • qdisc nonqueue
    • qdisc는 Queuing Discipline의 약자
    • 인터페이스가 다음 패킷을 전송하는 정책을 말한다.
    • noqueue의 의미는 인터페이스가 아무런 큐도 사용하지 않음을 말한다.
  • state UNKNOWN
    • 네트워크 인터페이스의 상태로는 UP, DOWN, UNKNOWN이 가능하다. UP이면 활성화, DOWN이면 비활성화 상태다.
  • mode DEFAULT
  • group default
  • qlen 1000
    • qlen은 Transimission Queue Length의 약자다
    • 1000개 패킷까지 큐에 저장되고, 1001개 패킷부터 드롭된다.
  • link/loopback
    • 루프백 인터페이스를 말한다.
  • brd
    • Broadcast를 의미한다.
    • 여기서는 네트워크 인터페이스 이므로 MAC 주소의 연결 정보가 담겨있다.

ip addr

$ ip addr
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
...

네트워크 인터페이스 별로 할당된 IP 주소들을 볼 수 있다. ip link 명령어의 출력과 유사하지만, 마지막에 인터페이스에 할당된 CIDR 값이 보인다.

출력값을 보면 익숙한 이름인 127.0.0.1 주소가 보인다. 로컬 호스트의 주소다! 즉, 우리가 127.0.0.1 했을 때, 로컬 호스트에 데이터를 전송할 수 있는 이유가 루프백 인터페이스에 할당되어 있기 때문이다!

정확히는 127.0.0.1/8 CIDR이 루프백 인터페이스에 할당되어 있기 때문에 127.0.0.1 ~ 127.255.255.255 범위의 모든 IP 주소는 로컬 호스트를 가리킨다.

inet은 네트워크 레이어의 프로토콜로 inet이면 ipv4를 inet6면 ipv6이다.

lft는 Lifetime의 약자로 루프백의 IP 주소가 평생 유효하게 설정 되어 있다.

루프백 주소 추가하기

$ ip addr add 192.168.40.1/32 dev lo

References


  1. 65 Kb