[네트워크 기초]L2 Switch ARP 작동원리

지환·2022년 12월 21일
0
post-thumbnail

스위치

정의 : 2계층의 대표적인 장비 MAC주소 기반의 통신

  1. 허브의 단점을 보완

    Half duplex -> Full duplex(상대방과 전화통화하듯이 쌍방 통신이 가능)

  1. Collision Domain -> 포트별 Collision Domain(포트별로 나눠서 도메인에 대해서만 통신하고 불필요한 패킷에는 보내지 않게되는)
  1. 라우팅 기능이 있는 스위치를 L3 스위치라고도 부른다.(스위치를 보통 스위치라고 안하고 L2, L3 이런식으로 부름)

스위치는 아래의 그림과 같이 생겼습니다

UTP를 꽂을 수 있는 이러한 이더넷 포트도 있고요, 오른쪽에는 속도가 빠른 광 SFP기가의 트렌시퍼를 꽂을 수 있는 이러한 노즐이 있는 장비를 스위치라고 합니다

스위치의 동작 방식

목적지 주소를 MAC 주소 테이블에서 확인하여 연결된 포트로 프레임 전달

1. Learning(학습한다)

출발지 주소가 MAC 주소 테이블에 없으면 주소를 저장하고 자신의 스위치에 연결되어있는 서버나 컴퓨터의 정보를 수집하는것

  1. 4개의 PC는 스위치의 각 포트에 연결되고 프레임이 스위치에 전달

  2. 스위치는 해당 포트로 유입된 프레임을 보고 MAC 주소를 테이블에 저장

그러면 이렇게 스위치 내부에 있는 MAC Table에 저장이 됌

2. Flooding - Broadcasting

목적지 주소가 MAC 주소 테이블에 없으면 전체 포트로 전달

  1. PC1은 목적지 aa:bb:cc:dd:ee:05 주소로 프레임 전달

  2. 스위치는 해당 주소가 MAC Table에 없어서 전체 포트로 전달

3. Forwarding

목적지 주소가 MAC주소 테이블에 있으면 해당 포트로 전달

  1. PC1은 목적지 aa:bb:cc:dd:ee:05 주소로 프레임 전달

  2. 스위치는 해당 주소가 MAC Table에 존재하므로 해당 프레임을 PC5로 전달

(그럼 스위치는 저번에 배웠던 애잖아? 어라, 포트2에 PC5가 물려있네)

4. Filtering - Collision Domain

출발지와 목적지가 같은 네트워크 영역이면 다른 네트워크로 전달하지 않음

  1. PC1은 목적지 aa:bb:cc:dd:ee:02 주소로 프레임 전달

  2. 스위치는 해당 주소가 동일 네트워크 영역임을 확인하여 다른 포트로 전달하지 않음

  3. 필터링은 각 포트별 Collision Domain을 나누어 효율적 통신이 가능하다

5. Aging

MAC 주소 테이블의 각 주소는 일정 시간 이후에 삭제

  1. 스위치의 MAC주소 테이블은 시간이 지나면 삭제

  2. 삭제되는 이유는 테이블 저장 공간을 효율적으로 사용

  3. 해당 포트에 연결된 PC가 다른 포트에 옮겨진 경우도 발생

  4. 기본 300초(Cisco 기준) 저장, 다시 프레임이 발생되면 다시 카운트

밑에 표 오른쪽에 있는것을 숫자로 보면된다.

예를들어 5초 남았는데다시 프레임이 들어오면 300초로 카운팅이 되고 정상적으로 Aging되는, 이러한게 계속 반복이 되는것이다.

어떻게 보면 프레임이 이렇게 왔다갔다 하는것이 워낙에 실시간이기 때문에 시간의 변화가 다양할것 같습니다.

위에서 배워본 스위치에 대해 다시 정리를 한번 해볼게요

정리

  1. 스위치에 프레임이 유입이 됩니다.

  2. 신규인가 아닌가에 대해 고민해보아야 합니다

신규라면 배워서(Learning) MAC테이블에 저장을 해야합니다

기존의 것이라면 Aging타이머를 재시작해서 100초남았다면다시 300초가 남게 Refresh를 해줘야합니다

  1. 세가지 경우가 있겠죠.

1) 목적지를 모르는 경우면 Flooding해줘서 다시 Learning을 해줘야되겠죠

2) 목적지가 MAC테이블에 존재 1:1 유니케스팅 Forwarding을 하게 됩니다.

3) 목적지가 출발지와 같은 포트에 존재하면 Filtering을 해줘야합니다.

ARP란?

역할 : ARP(Address Resolution Protocol)

IP주소를 통해서 MAC주소를 알려주는 프로토콜

  1. 컴퓨터 A가 컴퓨터 B에게 IP통신을 시도하고 통신을 수행하기 위해 목적지 MAC주소를 알아야 한다

  2. 목적지 IP에 해당되는 MAC주소를 알려주는 역할을 ARP가 해준다

  1. PC1은 동일 네트워크 대역인 목적지 IP 172.20.10.9로 패킷 전송을 시도하기 위해 목적지 MAC 주소를 알기 위해서 우선 자신의 ARP Cache Table을 확인
  1. ARP Cache Table에 있으면 패킷 전송, 없으면 ARP Request 전송 - Broadcasting
  1. IP 172.20.10.9에서 목적지 MAC 주소를 ARP Reply로 전달
  1. 목적지 MAC주소는 ARP Cache Table에 저장되고 패킷 전송

정리하면,

  1. PC1은 동일 네트워크 대역인 목적지 IP 172.20.10.9로 패킷 전송을 시도하기위해 목적지 MAC 주소를 알기 위해서 우선 자신의 ARP Cache Table을 확인
  1. 아래를 보니까 172.20.10.9는 없다. 당연히 PC1이 한번도 PC2랑 통신을 한적이 없으니 없겠죠!
  1. 그래서 ARP request를 수행하게 됩니다 무조건 Cache table이 없으면 ARP Request를 수행하게 되어있어요

  1. PC1은 목적지 IP 172.20.10.9에 대한 ARP Request 전송 - BroadCasting

  2. 172.20.10.9가 누구에요? 말해라 172.20.10.2한테(172.20.10.9의 MAC address가 뭔지 요청한거에요)

  3. ff어쩌구 되어있는게 MAC address 마지막 번호에요 보통 마지막 주소를 브로드캐스트 주소라고 합니다.

  4. 그래서 브로드캐스트를 날리게 되면 MAC 주소를 날리게 되어있습니다

  1. 그럼 이제 PC2는 보답으로 당연히 ARP Reply를 날려야겠죠? IP 172.20.10.9에서 목적지 MAC주소를 ARP reply로 전달 172.20.10.9의 MAC address는 76:b5:87:75:83:64에 있습니다



6. 그럼 이젠 둘의 MAC이 서로 공유가 된거죠?

목적지 MAC주소는 ARP Cache Table에 저장되고 패킷 전송

이제 보시면 arp -a를 쳤을 때, 172.20.10.9의 MAC이 보이게 된다.

ARP 헤더 구조

Hardware Type : ARP가 동작하는 네트워크 환경, 이더넷

Protocol Type : 프로토콜 종류, 대부분 IPv4

Hardware Length & Protocol Length : MAC 주소 6Byte, IP주소 4Byte

Operation : 명령코드, 1 = ARP Request, 2 = ARP Reply

Hardware Address = MAC, Protocol Address = IP

출처| https://bannavi.tistory.com/147

profile
아는만큼보인다.

0개의 댓글