개발관련 도서/IT엔지니어를 위한 네트워크 입문

스위치 : 2계층 장비

prden 2022. 2. 26. 18:45

1. MAC 주소

 -> 네트워크 장비 제조업체에서 장비가 출하될 때 MAC주소 할당

MAC 주소는 Media Access Control의 줄임말로 2계층(데이터 링크 계층)에서 통신을 위해 네트워크 인터페이스(NIC)에 할당된 고유 식별자입니다. MAC주소는 48비트의 16진수 12자리로 표현된다. MAC주소는 앞의 24비트와 뒤의 24비트로 나뉘어 구분하는데 제조사코드는 MAC 주소 앞의 24비트인 OUI값이다. 뒤의 24비트인 UAA값은 각 제조사에서 자체적으로 할당해 네트워크에서 각 장비를 구분할 수 있게 해준다. 

*MAC 주소는 유일하지 않을 수도 있다. 동일 네트워크에서만 중복되지 않으면 동작하는 데 문제가 없다. 

 

2. MAC 주소 동작

NIC는 자신의 MAC 주소를 가지고 있고 전기 신호가 들어오면 2계층에서 데이터 형태(패킷)로 변환하여 내용을 구분한 후 도착지 MAC주소를 확인한다. 만약 도착지 MAC주소가 자신이 갖고있는 MAC주소와 다르면 그  패킷을 폐기한다. 패킷의 목적지 주소가 자기 자신이거나 브로드캐스트, 멀티캐스트와 같은 그룹 주소이면 처리해야 할 주소로 인지해 패킷 정보를 상위 계층으로 넘겨준다. 

 

3. 서브넷과 게이트웨이

아래에서는 동일 네트워크원격지 네트워크 간 통신 동작방법의 차이를 설명한다. 

기존에는 모든 단말이 하나의 네트워크에 존재하는 로컬네트워크(LAN)를 고려해 설계되어 통신방법이 간단했다. 하지만, 인터넷 기술 발달로 작은 LAN 네트워크들이 하나의 큰 네트워크로 묶이면서 먼 거리에 있는 다른 LAN 간의 통신이 중요해졌다. 이러한 원격지 네트워크와의 통신에 사용하는 장비를 게이트웨이라고 하고, 3계층 장비에는 라우터와 L3 스위치가있다.

 

1) 서브넷 마스크 : 동일 네트워크 간 통신과 서로 다른 네트워크 간의 통신을 구분하기 위해 사용된다. 로컬 통신은 단순한 ARP 요청으로 목적지를 찾아 통신할 수 있지만, 원격지 통신은 ARP 라우터를 넘어가지 못하는 브로드캐스트이므로 외부와 통신이 가능한 장비의 도움이 필요하다.

 

2) 2계층 통신(로컬 네트워크 통신) vs 3계층 통신(원격지 네트워크 통신)

출발지와 목적지가 같은 네트워크에 존재할 경우 라우터와 같은 3계층 장비 도움없이 통신이 가능하다. = 2계층 통신

출발지와 목적지가 다른 네트워크에 존재할 경우 라우터와 같은 3계층 장비가 있어야 통신할 수 있다. = 3계층 통신

 

 

※ ARP : 상대방의 MAC 주소를 알아내기 위해 사용되는 프로토콜로 Address Resoultion Protocol

 1) ARP 동작방식 : 

  ARP 데이터에 사용되는 송신자 하드웨어 MAC 주소, 송신자 IP 프로토콜 주소, 대상자 MAC주소, 대상자 IP 프로토콜 주소 4개의 필드가 중요하게 사용된다. 

EX) 서버 A에서 서버 B로 ping을 보내려고 할 때 서버 A에서는 3계층의 IP 주소까지 캡슐화할 수 있지만 목적지 MAC 주소를 모르기 때문에 정상적으로 패킷을 만들 수 없고 이를 알아내기 위해 ARP요청을 보낸다. 서버 B -> 서버 A로 MAC 주소 주고 서버A는 이제 ping 패킷을 보낼 수 있다(p114-116 확인)

 

※ 유니, 멀티, 브로드, 애니캐스트(네트워크에서 출발지 -> 목적지로 데이터를 전송할 때 사용하는 통신방식)

 1) 유니캐스트 : 출발지와 목적지가 1:1통신(전체 네트워크)

 2) 브로드캐스트 : 1:모든 통신으로, 동일 네트워크에 존재하는 모든 호스트가 목적지, 주로 상대방의 정확한 위치를 알기위해 사용한다.(서브넷, 로컬네트워크)

 3) 멀티캐스트 : 1: 그룹(멀티캐스트 구독 호스트) 통신, 하나의 출발지에서 다수의 특정 목적지로 데이터 전송, 사내 방송이나 증권 시세 전송과 같이 단방향으로 다수에게 동시에 같은 내용을 전달해야할 때 사용한다.  (정의된 구간)

 4) 애니캐스트 : 1:1통신(목적지는 동일 그룹 내의 1개 호스트), 다수의 동일 그룹 중 가장 가까운 호스트에서 응답, 게이트웨이의 성질을 이용해 가장 가까운 DNS서버를 찾거나, 가장 가까운 게이트웨이를 찾는 애니캐스트 게이트웨이 기능에 사용, 애니캐스트는 같은 목적지 주소를 가진 서버가 여러 대여서 통신 가능한 다수의 후보군이있다. 

 

4. 스위치 : 2계층 장비

스위치는 MAC 주소를 인식하고 패킷을 전달하는 스위치의 기본동작 외에도 한 대의 장비에서 논리적으로 네트워크를 분리할 수 있는 VLAN 기능과 네트워크의 루프를 방지하는 스패닝 트리 프로토콜(STP)과 같은 기능을 기본적으로 가지고 있다. 

일반적으로 각 계층에서 헤더와 데이터를 합친 부분은 PDU(Protocol Data Unit)라고 부른다. 각 계층마다 이 PDU를 부르는 이름은 다른데 1계층 PDU는 비트, 2계층 PDU는 프레임, 3계층 PDU는 패킷, 4계층 PDU는 세그먼트라고 부르고 애플리 케이션에 해당하는 3개 계층(애플리케이션, 프레젠테이션, 세션)PDU는 데이터 라고 부른다.

 

5. 스위치 장비 동작

스위치의 핵심 역할은 누가 어느 위치에 있는지 파악하고 실제 통신이 시작되면 자신이 알고있는 위치로 패킷을 정확히 전송하는 것이다. 이런 동작은 스위치가 2계층 주소를 이해하고 단말의 주소인 MAC주소와 단말이 위치하는 인터페이스 정보를 매핑한 MAC주소 테이블을 가지고 있어서 가능하다. 

스위치는 전송하려는 패킷의 해더 안에 있는 2계층 목적지 주소를 확인하고 MAC 주소 테이블에서 해당 주소가 어느 포트에 있는지 확인해 해당 패킷을 그 포트로만 전송한다. 이런 역할을 수행하기 위해 MAC주소 테이블이 필요한 것이다. 

만약 테이블에 없는 도착지 주소를 가진 패킷이 스위치로 들어오면 스위치는 전체 포트로 패킷을 전송한다. 패킷의 도착지 주소가 테이블에 있으면 해당 주소가 매핑된 포트로만 패킷을 전송하고 다른 포트로는 전송하지 않는다. 

이러한 스위치의 동작 방식은 3가지로 정리할 수 있다. 

 

1) 플러딩 :

스위치는 부팅하면 네트워크 관련 정보가 아무 것도 없다. 이때 스위치는 네트워크 통신을 중재하는 자신의 역할을 하지 못하고 허브처럼 동작한다. 허브는 패킷이 들어온 포트를 제외하고 모든 포트로 패킷을 전달한다. 스위치가 허브와 같이 모든 패킷을 흘리는 동작 방식을 플러딩이라고 한다. 

2) 어드레스 러닝 : 

어드레스 러닝은 패킷의 출발지 MAC주소 정보를 이용한다. 패킷이 특정 포트에 들어오면 스위치에는 해당 패킷의 출발지 MAC 주소와 포트번호를 MAC 주소 테이블에 기록한다. 

스위치는 MAC 어드레스 러닝 작업으로 주변 장비의 MAC 주소를 학습하는 것 외에도 사전에 미리 정의된 MAC 주소 정보를 가지고 있다. 이런 사전 정의된 주소는 패킷을 처리하기 위한 주소가 아니라 대부분 스위치간 통신을 위해 사용되는 주소이다. 

3) 포워딩/필터링:

스위치는 패킷이 스위치에 들어왔을 때 도착지 MAC 주소를 확인하고 자신이 가진 MAC 테이블과 비교해 맞는 정보가 있으면 매치되는 해당 포트로 패킷을 포워딩 한다. 이때 다른 포트로는 해당 패킷을 보내지 않으므로 이 동작을 필터링이라고 한다. 

6. VLAN

VLAN이란 Virtual Local Area Network로 물리적 배치와 상관없이 LAN을 논리적으로 분할, 구성하는 기술이다. VLAN간의 통신이 필요하면 서로 다른 네트워크 간의 통신이므로 3계층 장비가 필요하다.

6-1) VLAN의 종류와 특징

VLAN 할당 방식에는 포트 기반의 VLAN과 MAC 주소 기반의 VLAN이 있다. 

추가내용 p140

7. STP

1) stp: 스패닝 트리 프로토콜로 루프를 확인하고 적절히 포트를 사용하지 못하게 만들어 루프를 예방하는 메커니즘이다. 

 

2) 루프: 네트워크에 연결된 모양이 고리처럼 되돌아오는 형태로 구성된 상황을 말한다. 이러한 루프가 발생하는 이유는 3가지 큰이유가 있지만 대표적인 원인은 브로드캐스트 스톰으로 인한 문제이다. 

 

3) 브로드캐스트 스톰 : 

루프 구조로 네트워크가 연결된 상태에서 단말에서 브로드캐스트를 발생시키면 스위치는 이 패킷을 패킷이 유입된 포트를 제외한 모든 포트로 플러딩한다. 플러딩된 패킷은 다른 스위치로도 보내지고 이 패킷을받은 스위치는 패킷이 유입된 포트를 제외한 모든 포트로 다시 플러딩한다. 루프 구조 상태에서는 이 패킷이 계속 돌아가는데 이것을 브로드캐스트 스톰이라고 한다. 

 

4) 스위치 mac 러닝 중복 문제

스위치는 출발지MAC 주소를 학습하는데 직접 전달되는 패킷과 스위치를 돌아 들어간 패킷 간의 포트가 달라 MAC주소를 학습하는데 직접 전달되는 패킷과 스위치를 돌아 들어간 패킷 간의 포트가 달라 MAC주소를 정상적으로 학습할 수 없다. 

 

SPoF (Single Point of Failure) : 단일 장애점, 하나의 시스템이나 구성요소에서고장났을 때 전체 시스템의 작동이 멈추는 요소

 

p150쪽 ~