![[네트워크 이론] 물리 계층 및 데이터링크 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeGvZ76%2FbtsNm2a0uEA%2FePak4es0FoXnWVYqe27NB0%2Fimg.png)
이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.
이더넷(Ethernet)
- 물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있다. 오늘날의 두 계층은 이더넷이라는 공통된 기술이 사용되기 때문이다.
- 이더넷(Ethernet)은 현대 LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용되는 기술이다.
- 예를 들어 두 대의 컴퓨터가 있다고 가정해보자. 이 컴퓨터끼리 정보를 주고받으려면 가장 먼저 케이블과 같은 통신 매체가 필요하다.
- 그리고 그 통신 매체를 통해 정보를 송수신하는 방법이 정해져 있어야 한다.
- 이더넷은 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의된 네트워크 기술이다.
이더넷 표준
오늘날 유선 LAN 환경은 대부분 이더넷 기반으로 구성되어 있으며, 물리 계층과 데이터 링크 계층에서는 이더넷 프레임 형식을 따른다.
이더넷은 IEEE 802.3이라는 국제 표준으로 정의되어 있으며, 이는 다양한 제조사의 장비들이 서로 호환되도록 동일한 프레임 형식을 사용하게끔 하기 위한 규격이다.
따라서 대부분의 네트워크 장비는 IEEE 802.3 표준을 기반으로 설계된다.
허브, 스위치, NIC, 케이블 등 다양한 물리 및 데이터 링크 계층 장비들은 모두 이더넷 표준을 따른다고 보아도 무방하다.
실제로 관련 장비들에는 ‘이더넷 표준을 지원한다’ 혹은 ‘호환된다’는 문구가 명시되어 있으며, IEEE 산하의 전문가 단체인 이더넷 작업 그룹이 이를 주도하고 있다. 이들은 새로운 표준을 지속적으로 개발하고 있다.
이더넷 프레임
- 현대 유선 LAN 환경은 대부분 이더넷을 기반으로 구성되므로, 호스트가 데이터 링크 계층에서 주고받는 프레임 형식도 정해져 있다. 즉, 이더넷 네트워크에서 주고받는 프레임인 이더넷 프레임(Ethernet frame)의 형식이 정해져 있는 것이다.
- 이더넷 프레임은 상위 계층으로부터 받은 정보에 헤더와 트레일러를 추가하는 캡슐화 과정을 통해 만들어진다. 수신지 입장에서는 프레임의 헤더와 트레일러를 제거한 뒤, 상위 계층으로 올리는 역캡슐화 과정을 거친다.
- 이더넷 프레임의 헤더는 기본적으로 프리앰블, 수신지 MAC 주소, 송신지 MAC 주소, 타입/길이로 구성되며, 페이로드에는 데이터가 담긴다. 트레일러는 FCS로 구성된다.
프리앰블
- 프리앰블(preamble)은 이더넷 프레임의 시작을 알리는 8바이트(64비트) 크기의 정보이다.
- 프리앰블의 첫 7바이트는 10101010 값을 가지고, 마지막 바이트는 10101011 값을 가진다.
- 수신지는 이 프리앰블을 통해 이더넷 프레임이 오고 있음을 알아차린다. 즉, 프리앰블은 송수신지 간의 동기화를 위해 사용되는 정보다.
수신지 MAC 주소와 송신지 MAC 주소
수신지 MAC 주소와 송신지 MAC 주소이다. '물리적 주소'라고도 불리는 MAC 주소는 데이터 링크 계층의 핵심이며, 네트워크 인터페이스마다 부여되는 6바이트(48비트) 길이의 주소로 LAN 내의 송신지와 수신지를 구별할 수 있게 한다.
같은 네트워크 내에서 동일한 MAC 주소를 가진 장치가 있다면 송신지와 수신지를 구분할 수 없어 통신에 문제가 생기게 된다. 그래서 MAC 주소는 일반적으로 고유하며, 변경되지 않는 주소로 네트워크 인터페이스마다 부여된다.
보통 NIC(Network Interface Controller)라는 장치가 이러한 역할을 담당하며, 하나의 컴퓨터에 여러 개의 NIC가 있다면 MAC 주소도 여러 개가 존재할 수 있다.
오개념 주의
앞에서 ‘일반적으로 고유한 주소다’, ‘일반적으로 변경되지 않는다’라고 표현한 이유는 MAC 주소와 관련된 대표적인 오해 때문이다. 많은 사람들이 MAC 주소는 반드시 고유하고 변경이 불가능하다고 생각하지만, 실제로는 그렇지 않다.
사실 MAC 주소는 변경이 가능한 경우도 많으며, 따라서 고유하지 않을 수도 있다. 다만 동일한 네트워크 내에서 동작하는 장비들의 MAC 주소가 우연히 같을 확률은 낮고, 충돌이 발생하는 상황도 흔하지 않다. 따라서 MAC 주소는 ‘일반적으로는 고유하고, 변경되지 않는 주소’ 정도로 이해하는 것이 적절하다.
데이터
- 데이터는 상위 계층에서 전달받거나 상위 계층으로 전달해야 할 내용이다.
- 네트워크 계층의 데이터와 헤더를 합친 PDU가 여기에 포함된다. 최대 크기는 1500바이트이며, 중요한 점은 반드시 일정 크기(46바이트 이상)를 만족해야 한다는 점이다.
- 그보다 작은 데이터라면 크기를 맞추기 위해 패딩(padding)이라는 정보가 내부에 채워진다. 보통 46바이트 이상이 될 때까지 0으로 채워진다.
FCS
- FCS(Frame Check Sequence)는 수신한 이더넷 프레임에 오류가 있는지 확인하기 위한 필드이다.
- 데이터 링크 계층에서 오류 검출이 이루어지는데, 바로 이 부분에서 해당 검출이 수행된다. 이 필드에는 CRC(Cyclic Redundancy Check), 즉 순환 중복 검사라고 불리는 오류 검출용 값이 담긴다.
- 송신자는 프리앰블을 제외한 나머지 필드 값을 바탕으로 CRC 값을 계산한 뒤, 이 값을 FCS 필드에 기록한다.
- 이후 수신자는 프리앰블과 FCS 필드를 제외한 나머지 필드 값을 바탕으로 동일한 방식으로 CRC 값을 다시 계산하고, 이를 FCS 필드에 담긴 값과 비교한다.
- 이때 두 값이 일치하지 않으면 프레임에 오류가 있다고 판단하고 해당 프레임을 폐기한다.
-> FCS필드는 송수신지의 CRC 값을 비교하여 오류를 검출하는데 쓰인다는 내용
NIC(Network Interface Controller)
NIC(Network Interface Controller)는 호스트와 통신 매체를 연결하고, MAC 주소가 부여되는 네트워크 장비이다.
참고로, NIC와 케이블은 호스트뿐 아니라 네트워크 장비에도 연결될 수 있지만, 설명의 편의를 위해 ‘호스트와 연결된다’라고 표현하겠다.
- 통신 매체에는 전기, 빛 등 다양한 신호가 흐를 수 있다.
- 호스트가 이를 제대로 이해하려면 통신 매체를 통해 전달되는 신호와 컴퓨터가 이해할 수 있는 정보 간에 변환이 이루어져야 한다. 이때 호스트와 유무선 통신 매체를 연결하고 이러한 변환을 담당하는 네트워크 장비가 NIC이다.
- 통신 매체를 통해 전달되는 신호를 사람들이 주고받는 '말'에 비유한다면, NIC는 '귀'와 '입'에 해당한다고 볼 수 있다.
- 귀와 입이 있어야 비로소 대화가 가능한 것처럼, 호스트는 NIC가 있어야 네트워크에 참여할 수 있다. 이런 점에서 NIC는 ‘호스트를 네트워크(LAN)에 연결하기 위한 하드웨어’라고 표현되기도 한다.
NIC의 역할
NIC는 통신 매체에 흐르는 신호를 호스트가 이해할 수 있는 프레임으로 변환하거나, 반대로 호스트가 이해하는 프레임을 통신 매체에 흐르는 신호로 변환한다.
따라서 호스트가 네트워크를 통해 송수신하는 정보는 모두 NIC를 거치게 된다. 이처럼 NIC는 네트워크와의 연결 지점을 담당한다는 점에서 네트워크 인터페이스(network interface) 역할을 수행한다고도 한다.
MAC 주소는 네트워크 인터페이스마다 할당되고, NIC는 네트워크 인터페이스 역할을 수행한다.
NIC는 MAC 주소를 통해 자신의 주소는 물론, 수신되는 프레임의 수신지 주소도 인식한다. 따라서 어떤 프레임이 자신에게 도달했을 때, 그 프레임에 명시된 수신지 MAC 주소가 자신과 관련 없다면 해당 프레임을 폐기할 수 있다.
또한 FCS 필드를 통해 오류를 검출하고, 잘못된 프레임도 폐기할 수 있다.
허브(Hub)
통신 매체를 통해 송수신되는 메시지는 다른 호스트에게 전달되는 과정에서 네트워크 장비를 거치게 된다.
대표적인 네트워크 장비로 물리 계층에는 허브가 있고, 데이터 링크 계층에는 스위치가 있다.
주소 개념이 없는 물리 계층
물리 계층의 허브를 소개하기 전에 반드시 기억해야 할 중요한 사실이 있다.
물리 계층에는 주소 개념이 존재하지 않는다는 점이다. 송수신지를 특정할 수 있는 주소는 데이터 링크 계층부터 존재하는 개념이다.
물리 계층은 단지 호스트와 통신 매체 간의 연결과 신호의 전달만 담당할 뿐이며, 이 과정에서 송수신되는 정보에 대해 어떠한 조작이나 판단도 하지 않는다.
반면, 데이터 링크 계층에는 주소 개념이 존재한다. MAC 주소가 여기에 속하며, 데이터 링크 계층 이상의 장비들은 송수신지를 특정할 수 있고, 주소 정보를 기반으로 조작과 판단을 수행할 수 있다. 이 차이점은 물리 계층과 데이터 링크 계층을 구분하고 이해하는 데 있어 핵심적인 기준이 되므로 반드시 기억해야 한다.
허브
- 물리 계층의 허브(hub)는 여러 대의 호스트를 연결하는 장치이다. 리피터 허브(repeater hub)라고도 불리며, 이더넷 네트워크에서 사용하는 경우에는 이더넷 허브(Ethernet hub)라고 부르기도 한다.
- 허브가 어떻게 생겼는지 살펴보면, 커넥터를 연결할 수 있는 네 개의 연결 지점이 보인다. 이를 포트(port)라고 하며, 각 포트에는 호스트와 연결된 통신 매체를 연결할 수 있다.
허브의 특징
허브는 사실 오늘날의 인터넷 환경에서는 거의 사용되지 않는다. 그럼에도 불구하고 여러 네트워크 자료에서 허브를 설명하는 이유는, 허브가 가진 두 가지 중요한 특징 때문이다.
이 특징은 네트워크 개념의 핵심을 포함하고 있으며, 허브의 한계와도 밀접하게 연결되기 때문에 반드시 짚고 넘어갈 필요가 있다.
첫째, 허브는 전달받은 신호를 다른 모든 포트로 그대로 다시 내보낸다.
- 허브는 물리 계층에 속한 장비이며, 주소 개념이 없기 때문에 수신지를 특정할 수 없다.
- 따라서 어떤 조작이나 판단 없이, 신호를 수신한 즉시 송신지를 제외한 모든 포트로 그대로 재전송한다.
- 이후 이 신호를 받은 호스트는 데이터 링크 계층에서 패킷의 MAC 주소를 확인하고, 자신의 주소가 아닐 경우 해당 패킷을 폐기하게 된다.
둘째, 허브는 반이중 모드로 통신한다.
- 반이중(half duplex) 모드는 마치 1차선 도로처럼 송수신이 번갈아가며 이루어지는 통신 방식이다.
- 예를 들어 호스트 A가 B에게 메시지를 보내고 있을 때, 호스트 B는 A에게 동시에 메시지를 보낼 수 없다.
- 반대의 경우도 마찬가지다. 즉, 동시에 송수신이 불가능하다. 무전기를 떠올리면 이해가 쉬운데, 한쪽의 말이 끝난 후에야 비로소 다른 쪽이 말할 수 있는 구조이다.
- 반대로, 전이중(full duplex) 모드는 송수신이 동시에 양방향으로 가능한 통신 방식이다. 이는 마치 2차선 도로처럼 양방향 통신이 동시에 가능하다는 점에서 비교할 수 있다.
콜리진 도메인
- 허브는 반이중 통신만을 지원한다고 했다.
- 따라서 한 호스트가 허브에 송신하고 있을 때, 다른 호스트는 송신하고 싶은 내용이 있어도 기다려야 한다.
- 그런데 만약 두 호스트가 동시에 허브에 신호를 송신하면 어떻게 될까? 이 경우 충돌(collision), 즉 콜리전이 발생하게 된다.
허브에 연결된 호스트가 많을수록 충돌이 발생할 가능성이 높아진다.
이는 여러 호스트가 동시에 허브로 신호를 송신할 수 있기 때문이다. 이렇게 충돌이 발생할 수 있는 범위를 콜리전 도메인(collision domain)이라고 부르며, 허브에 연결된 모든 호스트는 동일한 콜리전 도메인에 속하게 된다.
콜리전 도메인은 작을수록 충돌 확률이 줄어들기 때문에, 하나의 콜리전 도메인에 많은 호스트가 속하는 구조는 바람직하지 않다. 따라서 허브로 인해 넓어진 콜리전 도메인 문제를 해결하려면 CSMA/CD 프로토콜을 사용하거나, 스위치 장비로 대체해야 한다.
정리하면 다음과 같다.
- 허브는 여러 대의 호스트를 연결할 수 있는 물리 계층 장비이며, 수신한 신호를 송신지 포트를 제외한 모든 포트로 내보낸다.
- 또한 반이중 모드로 통신하고, 연결된 모든 호스트는 하나의 콜리전 도메인에 속한다.
- 이 도메인의 범위가 넓을수록 충돌 발생 가능성은 더욱 높아진다.
CSMA/CD
허브에서 충돌이 발생하는 근본적인 이유는 허브가 반이중 모드로 통신하기 때문이다. 예를 들어 A와 B가 같은 허브에 연결되어 있을 때, 두 호스트가 동시에 허브로 신호를 송신하면 충돌이 발생하게 된다.
이러한 충돌 문제를 해결하기 위해 사용하는 프로토콜이 CSMA/CD이다. 이 프로토콜은 반이중 이더넷 네트워크에서 충돌을 방지하기 위한 대표적인 방식이며, 반이중 이더넷의 송수신 방법을 대표한다고 볼 수 있다.
첫째, CS는 Carrier Sense를 의미하며, 캐리어 감지라고 한다.
메시지를 보내기 전에 현재 네트워크 상에서 이미 전송 중인 신호가 있는지를 먼저 확인한다. 즉, 현재 통신 매체가 사용 중인지 여부를 감지하는 것이다.
둘째, MA는 Multiple Access를 의미하며, 다중 접근이라고 한다.
여러 호스트가 동시에 네트워크에 접근하려고 할 수 있기 때문에 충돌이 발생할 가능성이 있다. 캐리어 감지를 하더라도 복수의 호스트가 동시에 접근하는 경우가 있을 수 있고, 이로 인해 충돌이 발생하게 된다.
셋째, CD는 Collision Detection을 의미하며, 충돌 검출이라고 부른다.
충돌이 발생하면 이를 감지하여 전송을 중단한다. 충돌을 감지한 호스트는 다른 호스트들에게 충돌이 발생했음을 알리기 위해 잼 신호(jam signal)를 보낸다. 그런 다음 임의의 시간 동안 기다렸다가 다시 전송을 시도한다.
정리하면, 반이중 이더넷 네트워크에서 CSMA/CD 프로토콜을 사용할 때의 절차는 다음과 같다.
- 호스트는 메시지를 전송하기 전에 현재 전송 가능한 상태인지 확인한다.
- 다른 호스트가 전송 중이지 않으면 메시지를 전송한다.
- 만약 부득이하게 다수의 호스트가 동시에 접근하여 충돌이 발생하면, 일정 시간 대기한 후에 다시 전송을 시도한다.
스위치(switch)
스위치(switch)는 데이터 링크 계층에 속하는 네트워크 장비이다.
2계층에서 사용된다고 하여 L2 스위치라고도 부른다. 스위치의 여러 포트에는 각각 호스트를 연결할 수 있는데, 이런 점은 허브와 유사하다.
하지만 스위치는 허브와 달리 MAC 주소를 학습하여 특정 MAC 주소를 가진 호스트에게만 프레임을 전달할 수 있고, 전이중 모드 통신을 지원한다. 따라서 스위치를 사용하면 포트마다 충돌 영역이 나뉘며, 전이중 통신이 가능해져 CSMA/CD 프로토콜이 필요하지 않다.
CSMA/CD 프로토콜에서 발생하는 대기 시간이 없다는 점은 성능 측면에서도 이점이 된다. 이런 장점 덕분에 스위치는 오늘날까지도 이더넷 네트워크 구성에서 자주 사용된다.
스위치의 특징
- 스위치의 가장 중요한 특징은 각 포트에 연결된 호스트의 MAC 주소와의 관계를 기억한다는 점이다. 이 기능 덕분에 스위치는 목적지 호스트에만 프레임을 전달할 수 있다. 이러한 동작을 MAC 주소 학습(MAC address learning)이라고 부른다.
- 스위치는 포트와 연결된 호스트의 MAC 주소 정보를 기억하기 위해, 그들 간의 연관 관계를 메모리에 표 형태로 저장한다. 이 정보를 MAC 주소 테이블(MAC address table)이라고 한다.
실제로 스위치에 접속하면, MAC 주소 테이블에 어떤 MAC 주소가 어떤 포트에 연결되어 있는지를 확인할 수 있다.
이를 통해 스위치는 효율적으로 프레임을 전달하게 된다.
MAC 주소 학습
MAC 주소 테이블은 스위치가 특정 포트와 연결된 호스트의 MAC 주소를 학습하고 저장함으로써, 프레임을 해당 포트에만 전달할 수 있게 해주는 기반 자료이다.
그렇다면 이 MAC 주소 테이블은 어떻게 채워지고 유지되며, 스위치는 어떻게 목적지 호스트가 연결된 포트를 정확히 식별할 수 있을까?
이러한 과정은 스위치의 세 가지 주요 기능을 통해 이루어진다.
- 플러딩
- 포워딩과 필터링
- 에이징
이 세 가지 용어를 이해하면 스위치의 기본 작동 방식을 이해할 수 있다.
예를 들어, 호스트 A가 호스트 C에게 프레임을 보내는 상황을 가정해 보자. 이때 호스트 A, B, C, D는 각각 포트 1, 2, 3, 4번에 연결되어 있다. 이 구조를 통해 스위치의 동작 과정을 단계별로 이해할 수 있게 된다.
- 스위치는 처음에는 호스트 A, B, C, D의 MAC 주소와 연결된 포트의 연관 관계를 알지 못한다.
- 아직 어떤 포트에 어떤 MAC 주소를 가진 호스트가 연결되어 있는지 학습하지 않았기 때문이다.
- 스위치의 MAC 주소 학습은 프레임 내 ‘송신자 MAC 주소’ 필드를 바탕으로 이루어진다.
- 스위치가 처음 호스트 A에서 프레임을 수신하면, 프레임 내 ‘송신자 MAC 주소’ 정보를 바탕으로 호스트 A의 MAC 주소와 연결된 포트를 MAC 주소 테이블에 저장한다.
- 하지만 여전히 수신자 호스트 C가 어느 포트에 연결되었는지는 알지 못한다.
- 이 상황에서 스위치는 마치 허브처럼 송신자 포트를 제외한 모든 포트로 프레임을 전송한다.
- 이러한 스위치의 동작을 플러딩(flooding)이라 한다.
- 그렇게 호스트 B, C, D는 프레임을 전달받는다. 그 중에서 호스트 B와 D는 자신과 관련이 없는 프레임을 전송받은 셈이므로 이를 폐기한다.
한편 호스트 C는 스위치로 응답 프레임을 전송한다.
이 프레임의 ‘송신자 MAC 주소’ 필드에는 호스트 C의 MAC 주소가 명시되어 있다.
이를 통해 스위치는 호스트 C의 MAC 주소와 연결된 포트를 알아내어 이 정보를 MAC 주소 테이블에 기록한다.
이제 스위치는 호스트 A와 C의 MAC 주소와 연결된 포트를 알고 있으므로, 두 호스트가 프레임을 주고받을 때는 다른 포트로 프레임을 내보낼 필요가 없게 된다.
전달받은 프레임을 어디로 내보내고 어디로 내보내지 않을지 결정하는 스위치의 기능을 필터링(filtering)이라고 한다.
비유하자면 프레임을 내보낼 포트만을 제외하고 다른 모든 포트를 가리개로 가리는 것과 유사하다.
그리고 프레임이 전송될 포트에 실제로 프레임을 내보내는 것을 포워딩(forwarding)이라 한다.
앞의 예시에서 호스트 A가 호스트 C에게 프레임을 전송하면, 스위치는 호스트 B, D가 연결된 포트로는 내보내지 않도록 필터링하고, 호스트 C가 연결된 포트로 프레임을 포워딩한다.
만약 MAC 주소 테이블에 등록된 특정 포트에서 일정 시간 동안 프레임을 전송받지 못했다면 해당 항목은 삭제된다.
이를 에이징(aging)이라 한다.
앞의 예시로 볼 때, 일정 시간 동안 ‘송신자 MAC 주소’가 ab:cd:ab:cd:00:01인 프레임을 1번 포트에서 전송받지 못했다면 이 항목은 삭제된다.
VLAN
- 스위치의 또 다른 중요한 기능으로 VLAN이 있다. VLAN은 Virtual LAN의 줄임말로, 이름 그대로 한 대의 스위치로 가상의 LAN을 만드는 방법이다.
- 허브는 송신지 포트를 제외한 모든 포트로 신호를 내보내기에 네트워크상에 불필요한 트래픽이 늘어날 수밖에 없고, 이는 성능의 저하로 이어진다.
- 스위치를 이용해도 마찬가지이다. 스위치에 연결된 호스트 중에서도 서로 메시지를 주고받을 일이 적거나 브로드캐스트 메시지를 받을 필요가 없어서 굳이 같은 네트워크(LAN)에 속할 필요가 없는 호스트가 있을 수도 있다.
- 그렇다고 이들을 분리하고자 매번 새로운 스위치 장비를 구비하는 것은 정말 낭비이다. 이때 구성하는 것이 VLAN이다.
VLAN을 구성하면 한 대의 물리적 스위치라 해도 여러 대의 스위치가 있는 것처럼 논리적인 단위로 LAN을 구획할 수 있다. 호스트의 물리적 위치와 관계없이 논리적인 LAN을 구성할 수 있는 것이다.
다음 그림처럼 VLAN을 구성하면 VLAN1에 속한 호스트 A, B, C, D는 서로 동일한 LAN에 있는 것으로 인식하지만, 다른 VLAN에 속한 호스트 E, F, G, H, I는 물리적인 거리와 관계없이 다른 LAN에 있는 것처럼 인식한다.
만약 VLAN1에 속한 호스트가 VLAN2에 속한 호스트와 통신하고자 한다면 데이터 링크 계층의 장비가 아니라 네트워크 계층 이상의 상위 계층 장비가 필요하다.
한편으로 브로드캐스트 도메인도 달라진다. 가령 한 VLAN에 속한 호스트가 브로드캐스트를 하게 되면 다른 VLAN에 속한 호스트에게까지는 전달되지 않는다. 서로 다른 네트워크로 간주하기 때문이다.
한편으로 브로드캐스트 도메인도 달라진다. 가령 한 VLAN에 속한 호스트가 브로드캐스트를 하게 되면 다른 VLAN에 속한 호스트에게까지는 전달되지 않는다. 서로 다른 네트워크로 간주하기 때문이다.
포트 기반 VLAN
- 포트 기반 VLAN은 한 마디로 ‘스위치의 포트가 VLAN을 결정하는 방식’이다. 사전에 특정 포트에 VLAN을 할당하고, 해당 포트에 호스트를 연결함으로써 VLAN에 포함시킬 수 있다.
- 호스트 A와 B는 VLAN2를 할당한 포트에 연결되어 있으므로 같은 LAN에 속한 셈이다. 반면 호스트 C는 VLAN3에 속해 있으므로 호스트 A, B와는 다른 LAN에 속한 셈이라고 할 수 있다.
- 그런데, 사실 한 대의 스위치만으로 포트 기반 VLAN을 나누면 문제가 있다. 포트 수가 부족해질 수도 있기 때문이다.
- 예를 들어서 VLAN1 호스트 4개, VLAN2 호스트 3개, VLAN3 호스트 3개를 포트가 8개인 하나의 스위치에 연결하기는 어렵다.
- 물론 다음 그림처럼 VLAN 스위치 여러 대를 구비해 같은 VLAN 포트끼리 연결하여 VLAN을 확장하는 방법도 있지만, 이 또한 포트의 낭비이다.
이럴 때 사용할 수 있는 방법이 바로 VLAN 트렁킹이다.
VLAN 트렁킹은 두 대 이상의 VLAN 스위치를 효율적으로 연결하여 확장하는 방법이다. 스위치 간의 통신을 위한 특별한 포트인 트렁크 포트에 VLAN 스위치를 서로 연결하는 방식이다.
다음 그림을 보면, 트렁크 포트를 통해 스위치 A와 스위치 B가 연결된 것을 볼 수 있다.
낭비되는 포트를 최소화하는 동시에, 같은 스위치에 연결되어 있지 않아도 같은 LAN에 속하게 네트워크를 구성할 수 있다.
MAC 기반 VLAN
- 포트 기반 VLAN 이외에도 사전에 설정된 MAC 주소에 따라 VLAN이 결정되는 MAC 기반 VLAN도 있다.
- 이는 포트가 VLAN을 결정하는 것이 아니라 송수신하는 프레임 속 MAC 주소가 호스트가 속할 VLAN을 결정하는 방식이다.
다음 그림처럼 호스트 A의 MAC 주소가 VLAN3에 할당되어 있다면, 어떤 포트에 연결되든 호스트 A는 VLAN3에 속한 호스트로 동작한다.
'네트워크 > 네트워크 이론' 카테고리의 다른 글
[네트워크 이론] 네트워크 계층 - 라우팅(Routing) (0) | 2025.04.17 |
---|---|
[네트워크 이론] 네트워크 계층 - IP 주소 체계 (0) | 2025.04.17 |
[네트워크 이론] 네트워크 계층 - IP 및 ARP 개념 (0) | 2025.04.16 |
[네트워크 이론] 미시적으로 보는 네트워크 (1) | 2024.10.17 |
[네트워크 이론] 거시적으로 보는 네트워크 (2) | 2024.10.16 |