본문 바로가기
개발/개발공부

Network 용어 정리 / Mac, IP, LAN, FDB table, ARP table, Flooding

by 치킨개발자 2023. 1. 17.
728x90

https://dev-chicken.tistory.com/24

 

Network Device 정리 / Bridge, Switch, Repeater, Hub, Router, 차이

Overlay Network에 대해서 공부하기 전에 미리 Network 기기들에 대해 정리해두면 좋을 것 같아서 찾아봤다. 기기에서 각각 사용하는 ARP / FDB table, Mac address 같은 것들은 따로 정리를 할 예정이다. (너무

dev-chicken.tistory.com

Network Device와 연관되어 있어서, 같이 보면 좋을 것 같습니다.

 

Mac Address


OSI 7Layer 중 2번째 Data link에 포함

이더넷 기반 기기에 할당되어 있는 고유 주소

기기의 물리적 주소

8비트씩 6자리로 표기되어있음

3(제조사 코드) + 3(기기 고유 코드)

 

IP Address


OSI 7Layer 중 3번째 Network에 포함

네트워크 환경에서의 컴퓨터간 통신을 위한 주소

IP주소 예시
IP 주소 예시 (https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C)

네트워크 주소(3자리) + 호스트 주소(1자리)로 이뤄져있다

개발하다보면 많이 사용되는 localhost는 127.0.0.1인데, 이렇듯 일부 번호는 특별한 용도를 위해 사용

IPv4와 IPv6가 존재

IPv4가 거의다 사용되어서 새롭게 IPv6가 만들어짐

간단하게 글로 비교하자면,

  - IPv4는 32비트(8비트 4부분), IPv6는 128비트(16비트 8부분)로 주소의 개수가 차이남

  - IPv6에서 좀 더 많은 기능을 제공 -> QoS, 보안, 서비스 품질 등에서 좀 더 기능이 많음

  - IPv4 <-> IPv6간 통신시에 헤더변환, 터널링등의 추가적인 작업이 필요

예전에 개발 중 희미하게 기억나는 것이, 와이파이 / LTE / 5G 각각 환경마다 IP주소 할당이 다르게 되서 IPv4 <-> IPv6 작업이 필요했던 기억이 남..

 

FDB Table


Forwarding Database

OSI Layer 2 Device인 Switch/Bridge를 이용

FDB에서 MAC 정보(장비), 포트정보를 저장하여 패킷을 주고받을 때 사용

저장 유효기간이 존재하여서 일정 기간이 지나면 FDB에서 삭제

FDB에 데이터가 존재하지 않을때는 Flooding을 통해 정보를 찾아내고 사용, 저장을 함

Ubuntu서버에서는 /sys/class/net/{device}/address에서 사용중인 device의 MAC 주소들을 확인 가능

bridge fdb show를 통해 fdb 확인 가능

bridge fdb는 통신시 learning이 되어 저장되고, aging으로 일정 시간이 지나면 지워짐

vagrant@ubuntu1804:~$ cat /sys/class/net/*/address
02:42:07:95:35:79
...
vagrant@ubuntu1804:~$ bridge fdb show
33:33:00:00:00:01 dev eth0 self permanent
01:00:5e:00:00:01 dev eth0 self permanent
01:80:c2:00:00:0e dev eth1 self permanent
33:33:00:00:00:01 dev docker0 self permanent
01:00:5e:00:00:01 dev docker0 self permanent
33:33:ff:95:35:79 dev docker0 self permanent
...

 

ARP Table


Address Resolution Protocol

네트워크 상에서 IP주소와 MAC 주소를 맵핑시켜주는 프로토콜

같은 IP대역을 쓰는 LAN에서 통신을 하기 위함

IP주소를 목적지로 와서 최종적으로 MAC주소를 찾아감

#install arp-scan
vagrant@ubuntu1804:~$ sudo apt install arp-scan
...

root@ubuntu1804:~# arp-scan -l
IP주소와 MAC주소 연결된 것 확인가능
...

arp table은 arp-scan library를 설치하여 확인 가능

 

Flooding


위의 내용과 같이 통신을 할때는 ARP와 FDB를 참고

각각의 Table에 내가 요청보낸 정보가 없을때는 연결된 모든 포트에 패킷을 전달하여 목적지를 찾음

이것을 Flooding이라고 함

  - 테이블이 비어있거나 가득 차있을 때

  - 테이블에 데이터가 있어도 해당되는 목적지가 없을 때

  - 브로드캐스팅 기능 이용할 때

Flooding이 일어남

 

보안적인 관점에서 취약할 수 있는 포인트이기 때문에 유의해야함

MAC Flooding Attack / ARP Spoofing 등 

예전에 찾아봤을땐 최근에는 기본적으로 이런 부분이 막혀있다고 보긴 했음

 

Switch장비를 신규로 적용하며 잘못된 설정으로 지속적으로 Flooding이 일어나고 테이블이 꽉차 Packet Drop이 생길 수도 있음

 

반응형

댓글