Book/COMPUTER NETWORKING A TOP-DOWN-APPROACH

6.4 Switched Local Area Networks

S0LL 2024. 12. 4. 12:20


스위치 기반 LAN은 데이터 링크 계층에서 작동하며, IP 주소 대신 **링크 계층 주소(MAC 주소)**를 사용하여 데이터를 전달한다.

 

그림 6.15: 캠퍼스 네트워크 예시

 

이 그림은 스위치 네 개로 연결된 캠퍼스 네트워크의 예를 보여준다. 각 학과(예: 전기공학, 컴퓨터 공학 등)와 서버, 라우터가 스위치를 통해 연결되어 있다.

1. 네트워크 구성 요소:

스위치: 데이터가 효율적으로 전달될 수 있도록 트래픽을 관리.

서버: 메일 서버, 웹 서버 등.

라우터: 외부 인터넷과 연결.

2. 연결 속도:

서버와 라우터는 스위치와 1Gbps로 연결.

학과 건물은 스위치와 100Mbps로 연결.

학과 내부 네트워크는 혼합 속도(10Mbps~1Gbps)로 운영.

 

스위치가 연결된 각 네트워크는 브로드캐스트 도메인을 공유하며, 링크 계층 주소를 통해 데이터를 전달한다. 이 네트워크를 더 자세히 이해하려면 **링크 계층 주소와 ARP(Address Resolution Protocol)**를 이해해야 한다.

 

 

6.4.1 Link-Layer Addressing and ARP

 

링크 계층 주소란?

 

링크 계층 주소 MAC 주소라고 불린다.

이는 네트워크 어댑터에 고유하게 할당된 48비트 주소이다.

이 주소는 보통 16진수로 표현되며, 각 네트워크 인터페이스(예: PC, 라우터)가 하나씩 가지고 있다.

 

MAC 주소의 구조와 관리

 

MAC 주소는 고정된 길이의 플랫 구조를 가지며, 네트워크의 물리적 이동에 영향을 받지 않는다.

반면 IP 주소는 네트워크 상의 논리적 위치를 나타내며 이동 시 변경될 수 있다.

IEEE는 MAC 주소 공간을 관리하며, 제조사에게 고유 주소를 할당한다.

 

그림 6.16: MAC 주소의 예시

이 그림에서는 네트워크의 각 장치가 고유의 MAC 주소를 가지고 있다:

예: 1A-23-F9-CD-06-9B, 88-B2-2F-54-1A-0F.

 

스위치는 MAC 주소를 사용하여 데이터 프레임을 올바른 장치로 전달한다. 예를 들어, 데이터를 보낼 때 송신 장치는 수신 장치의 MAC 주소를 데이터 프레임에 포함한다.

 

 

MAC 주소와 ARP

 

MAC 주소가 필요한 이유

 

IP 주소는 논리적 주소로, 네트워크 상의 위치를 나타낸다. 그러나 데이터는 실제로 링크 계층에서 전달되므로 MAC 주소가 필요하다.

 

ARP란 무엇인가?

 

ARP는 IP 주소를 MAC 주소로 변환해 주는 프로토콜이다.

예: IP 주소 222.222.222.220을 가진 호스트가 222.222.222.222로 데이터를 보내려면, ARP를 통해 상대방의 MAC 주소를 알아내야 한다.

ARP 쿼리 메시지를 브로드캐스트로 보내고, 응답 메시지를 통해 MAC 주소를 얻는다.

그림 6.18: ARP 테이블의 구조

 

ARP 테이블에는 IP 주소와 MAC 주소의 매핑이 저장된다.

TTL(Time to Live)은 ARP 항목의 유효 기간을 나타낸다.

 

예를 들어, 호스트 222.222.222.220 222.222.222.222로 데이터를 보낼 경우:

1. ARP 테이블에 MAC 주소가 없다면, ARP 요청을 보낸다.

2. MAC 주소를 얻으면, 데이터를 프레임에 캡슐화하여 전송한다.

그림 6.19: 두 서브넷 간의 통신

이 그림에서는 두 서브넷(Subnet 1과 Subnet 2)이 라우터로 연결되어 있다. 서브넷 간 통신 과정을 설명하겠다.

1. 네트워크 구성:

Subnet 1은 IP 주소 범위가 111.111.111.xxx.

Subnet 2는 IP 주소 범위가 222.222.222.xxx.

각 서브넷의 라우터 인터페이스는 해당 서브넷의 IP 주소를 가진다.

Subnet 1 라우터 인터페이스: 111.111.111.110.

Subnet 2 라우터 인터페이스: 222.222.222.221.

2. 통신 시나리오:

호스트 111.111.111.111이 호스트 222.222.222.222로 데이터를 보내려고 한다.

 

단계별 통신 과정

 

1. ARP로 라우터의 MAC 주소 확인:

호스트 111.111.111.111은 데이터를 라우터로 보내야 한다. 이를 위해 라우터 인터페이스 111.111.111.110의 MAC 주소가 필요하다.

ARP 쿼리를 통해 라우터의 MAC 주소를 알아낸다.

2. 데이터 전송:

호스트는 데이터 프레임의 목적지 MAC 주소를 라우터 인터페이스의 MAC 주소로 설정하고, 프레임을 Subnet 1으로 전송한다.

라우터는 이 프레임을 수신하고, 네트워크 계층에서 최종 목적지가 Subnet 2에 있다는 것을 확인한다.

3. 다음 홉으로 전달:

라우터는 Subnet 2로 데이터를 전달해야 한다. 이를 위해 최종 목적지 222.222.222.222의 MAC 주소가 필요하다.

라우터는 Subnet 2에서 ARP를 사용하여 MAC 주소를 얻는다.

4. 최종 데이터 전송:

라우터는 데이터 프레임의 목적지 MAC 주소를 222.222.222.222의 MAC 주소로 설정하고, Subnet 2로 전송한다.

최종 호스트 222.222.222.222가 데이터를 수신한다.

 

요약

 

1. 스위치 기반 LAN:

링크 계층에서 MAC 주소를 사용하여 데이터를 전달한다.

IP 주소는 네트워크 계층에서 논리적 라우팅을 담당한다.

2. ARP의 역할:

IP 주소와 MAC 주소를 매핑한다.

브로드캐스트 방식으로 쿼리를 보내고, 유니캐스트로 응답을 받는다.

3. 서브넷 간 통신:

라우터는 서로 다른 서브넷을 연결한다.

라우터는 각 서브넷에서 ARP를 사용하여 MAC 주소를 알아낸다.

 

 

 

6.4.2 Ethernet

 

이더넷은 현재 가장 널리 사용되는 유선 LAN(Local Area Network) 기술이다.

1980년대와 1990년대 초반에는 이더넷이 다른 LAN 기술(예: 토큰 링, FDDI, ATM)과 경쟁했으나, 결국 지배적인 기술로 자리 잡았다.

 

이더넷의 성공 요인

 

1. 초기 도입의 유리함:

이더넷은 가장 먼저 상용화된 고속 LAN 기술로, 네트워크 관리자들이 익숙해지기 쉬웠다.

2. 간단하고 경제적임:

토큰 링, FDDI 등 다른 기술은 더 복잡하고 비용이 많이 들었다.

3. 업그레이드 가능성:

이더넷은 꾸준히 더 높은 데이터 속도를 지원하는 버전을 출시하며 경쟁 기술을 앞질렀다.

스위치 기반 이더넷의 도입으로 데이터 전송 속도가 크게 증가하였다.

4. 하드웨어의 경제성:

이더넷 어댑터와 스위치 등 장비가 대중화되어 비용이 저렴해졌다.

 

이더넷의 역사

 

초기 이더넷

 

발명: 1970년대 중반, Bob Metcalfe와 David Boggs가 개발.

원래 속도: 2.94 Mbps.

구조: 버스 토폴로지로 시작하여, 모든 장치가 동일한 네트워크 매체를 공유.

데이터를 브로드캐스트하여 모든 장치가 수신.

다중 액세스 문제를 해결하기 위해 CSMA/CD 프로토콜 사용.

 

허브 기반 스타 토폴로지로의 변화

 

1990년대 말, 버스 구조는 허브 기반 스타 토폴로지로 대체되었다.

각 호스트는 허브에 연결.

허브는 수신된 데이터를 네트워크의 모든 포트로 전송.

허브의 단점: 충돌 발생 가능성 증가.

 

스위치 기반 이더넷

 

2000년대 이후, 허브는 스위치로 대체되었다.

스위치는 포트별로 데이터를 전달하므로 충돌이 발생하지 않음.

스위치는 데이터 링크 계층(Layer 2)에서 동작하며, 효율적인 데이터 전송을 지원.

 

이더넷 프레임 구조

 

그림 6.20: 이더넷 프레임 구조

이더넷 프레임은 데이터 전송의 기본 단위이다. 주요 필드를 살펴보자:

1. Preamble (8 bytes):

시작 신호로, 데이터 전송 동기화를 위해 사용.

첫 7바이트는 10101010 패턴, 마지막 바이트는 10101011.

2. Destination Address (6 bytes):

목적지 MAC 주소. 데이터가 전달되어야 할 장치의 주소를 나타낸다.

브로드캐스트 주소(FF-FF-FF-FF-FF-FF)일 경우, 네트워크의 모든 장치가 수신.

3. Source Address (6 bytes):

송신 MAC 주소. 데이터를 전송하는 장치의 주소를 포함.

4. Type Field (2 bytes):

데이터 필드의 내용이 어떤 네트워크 계층 프로토콜인지 명시.

예: ARP는 0x0806, IP는 0x0800.

5. Data Field (46~1500 bytes):

데이터 페이로드를 포함.

최소 크기 46바이트, 최대 크기 1500바이트.

6. Cyclic Redundancy Check (CRC, 4 bytes):

프레임 오류를 감지하기 위한 필드.

 

이더넷의 동작

 

연결 지향적이지 않음:

이더넷은 프레임을 수신 장치로 보낸 후 확인 응답을 받지 않는다.

오류 발생 시 재전송은 TCP와 같은 상위 계층이 처리.

충돌 회피:

CSMA/CD는 더 이상 스위치 기반 네트워크에서 필요하지 않다.

스위치는 충돌이 없는 포인트-투-포인트 통신을 보장.

 

이더넷의 진화

 

속도와 매체

 

초기 이더넷: 10 Mbps (10BASE-T, 10BASE-2 등).

현대 이더넷: 100 Mbps, 1 Gbps, 10 Gbps, 40 Gbps 이상.

 

매체의 다양성

 

구리선 (Copper): 짧은 거리 연결에 사용.

광섬유 (Fiber): 장거리 고속 연결에 적합.

 

그림 6.21: 100 Mbps 이더넷 표준

다양한 물리 계층 표준:

100BASE-TX: 구리선 기반.

100BASE-FX: 광섬유 기반.

 

기가비트 및 40기가비트 이더넷

 

IEEE 802.3z 표준:

기가비트 이더넷은 이전 표준과 호환되며, 더 높은 데이터 전송 속도를 제공.

 

요약

 

이더넷은 가장 널리 사용되는 LAN 기술로, 경제성과 확장성을 갖추었다.

스위치 기반 스타 토폴로지로 발전하면서 충돌 없는 고속 네트워크를 제공한다.

이더넷 프레임은 데이터 전송의 기본 단위로, 데이터, 주소, 오류 감지 정보를 포함한다.

다양한 속도와 매체를 지원하며, 기가비트와 40기가비트로 확장되었다.

 

 

 

6.4.3 Link-Layer Switches

 

스위치의 역할

 

스위치는 데이터 링크 계층(Layer 2)에서 동작하며, 프레임을 수신하여 적절한 출력 링크로 전달하는 장치이다. 스위치는 **투명(transparency)**하게 동작한다는 점이 중요한데, 이는 호스트와 라우터가 스위치의 존재를 모르고도 프레임을 주고받을 수 있다는 것을 의미한다.

1. 프레임 전달 과정:

호스트 또는 라우터는 프레임을 전송할 때 스위치를 주소 지정하지 않는다.

스위치는 수신된 프레임의 목적지 MAC 주소를 기반으로 출력 인터페이스를 결정한다.

2. 버퍼링 역할:

한 인터페이스로 들어오는 프레임이 많아 링크 용량을 초과할 경우, 스위치는 프레임을 임시로 버퍼에 저장한다.

 

Forwarding(포워딩)과 Filtering(필터링)

 

스위치의 두 가지 주요 기능:

1. 필터링:

프레임을 전달해야 할지 폐기해야 할지 결정.

2. 포워딩:

프레임을 적절한 출력 인터페이스로 전달.

 

스위치 테이블

 

스위치는 스위치 테이블을 사용해 필터링 및 포워딩 결정을 내린다. 테이블에는 다음 정보가 포함된다:

MAC 주소: 장치의 고유 주소.

인터페이스: MAC 주소가 연결된 출력 포트.

시간: 테이블에 정보가 저장된 시간.

 

그림 6.22: 스위치 테이블의 예

테이블에 기록된 두 MAC 주소:

62-FE-F7-11-89-A3: 인터페이스 1.

7C-BA-B2-B4-91-10: 인터페이스 3.

 

 

스위치 테이블의 작동

 

스위치 테이블을 기반으로 프레임을 처리하는 방식은 다음과 같다:

1. 테이블에 목적지 MAC 주소가 없는 경우:

스위치는 프레임을 모든 포트로 브로드캐스트(수신 포트 제외).

2. 테이블에 MAC 주소가 있고, 같은 인터페이스인 경우:

프레임을 폐기(필터링).

3. 테이블에 MAC 주소가 있고, 다른 인터페이스인 경우:

프레임을 해당 인터페이스로 전달(포워딩).

 

예제: 그림 6.22와 연결된 스위치의 동작

 

목적지가 62-FE-F7-11-89-A3인 프레임이 인터페이스 1로 들어오면, 스위치는 프레임을 폐기한다(같은 인터페이스에서 들어왔기 때문).

동일한 프레임이 인터페이스 2로 들어오면, 스위치는 이를 인터페이스 1로 전달한다.

 

 

Self-Learning(자체 학습) 기능

 

스위치는 네트워크 관리자의 개입 없이 스위치 테이블을 동적으로 구축할 수 있다. 이는 다음 단계를 통해 이루어진다:

1. 초기 상태:

스위치 테이블은 비어 있다.

2. 프레임 수신:

스위치는 프레임의 출발지 MAC 주소와 해당 인터페이스 정보를 테이블에 추가.

예: 출발지가 01-12-23-34-45-56인 프레임이 인터페이스 2로 들어오면, 이 정보를 테이블에 저장한다.

3. 오래된 정보 삭제:

특정 시간(예: 60분) 동안 업데이트되지 않은 MAC 주소는 테이블에서 제거(aging time).

 

그림 6.23: 자체 학습 예제

9:39에 01-12-23-34-45-56이 인터페이스 2로 들어오면 테이블에 추가.

10:32까지 해당 MAC 주소에서 새로운 프레임이 들어오지 않으면, 테이블에서 삭제.

 

 

스위치의 장점

 

그림 6.24와 함께 이해하기

스위치는 허브 또는 라우터에 비해 다음과 같은 장점이 있다:

1. 충돌 제거:

스위치는 각 포트를 분리하여, 충돌 없는 전송을 보장.

2. 이기종 링크 지원:

스위치는 서로 다른 속도와 매체를 사용하는 링크 간의 연결 가능.

예: 1 Gbps 포트, 100 Mbps 포트를 혼합하여 사용.

3. 네트워크 관리:

스위치는 비정상적인 트래픽(예: 계속해서 프레임을 전송하는 오류 어댑터)을 감지하고 문제를 해결.

관리자 개입 없이 플러그 앤 플레이 가능.

 

 

보안: Switch Poisoning

 

스위치 네트워크에서 발생할 수 있는 보안 위협 중 하나는 Switch Poisoning이다:

공격자가 스위치 테이블을 가짜 MAC 주소로 채워, 스위치를 비효율적으로 만든다.

결과적으로 스위치는 프레임을 브로드캐스트하며 성능이 저하된다.

결론

 

스위치는 현대 네트워크에서 필수적인 장비로, 효율적이고 관리하기 쉬운 LAN을 구축할 수 있게 해준다. 하지만 네트워크 설계 시, 스위치와 라우터의 장단점을 모두 고려하여 적절히 선택해야 한다.

 

 

6.4.4 Virtual Local Area Networks (VLANs)

 

VLAN의 필요성

 

전통적인 LAN 구성에서는 부서별로 스위치가 계층적으로 연결된다. 그러나 이런 구성에는 다음과 같은 문제점이 있다:

1. 트래픽 격리 부족 (Lack of Traffic Isolation):

브로드캐스트 트래픽(예: ARP, DHCP 메시지)이 네트워크 전체를 통과하므로 성능과 보안에 문제가 생길 수 있다.

예: 경영진 트래픽이 네트워크 전체를 통해 이동하면 민감한 정보가 노출될 위험이 있다.

2. 스위치 사용의 비효율성 (Inefficient Use of Switches):

그룹별로 별도의 스위치가 필요하다면, 스위치 수가 급격히 증가할 수 있다.

예: 10개의 그룹이 있다면, 10개의 스위치가 필요하며 비효율적이다.

3. 사용자 관리의 어려움 (Managing Users):

직원이 그룹을 옮길 때마다 물리적 케이블을 재연결하거나 다른 스위치로 이동해야 한다.

 

VLAN의 개념

 

VLAN은 이러한 문제를 해결하기 위해 도입되었다. VLAN은 단일 물리적 네트워크 인프라 위에 다수의 가상 네트워크를 생성할 수 있다.

1. VLAN 내부 통신:

같은 VLAN에 속한 호스트들만 서로 통신 가능.

각 VLAN은 독립적인 브로드캐스트 도메인을 형성한다.

2. 포트 기반 VLAN:

스위치의 포트를 그룹으로 나누어 각 그룹을 VLAN으로 구성.

예: 그림 6.25에서, Electrical Engineering(EE)은 포트 28, Computer Science(CS)는 포트 915로 VLAN이 설정되어 있다.

VLAN 구성의 장점

 

1. 트래픽 격리:

VLAN 간의 트래픽은 물리적으로 동일한 스위치에 있어도 격리된다.

예: EE VLAN 트래픽은 CS VLAN과 분리되어 보안이 강화된다.

2. 스위치 수 감소:

여러 그룹을 단일 스위치로 연결할 수 있으므로 스위치 수를 줄일 수 있다.

3. 유연한 사용자 이동:

사용자가 VLAN을 변경해야 할 때, 물리적 케이블 변경 없이 스위치 소프트웨어에서 VLAN 설정만 변경하면 된다.

 

VLAN 트렁킹 (VLAN Trunking)

 

VLAN 스위치 간의 연결은 VLAN 트렁킹을 통해 효율적으로 구현된다.

1. 트렁크 링크의 역할:

두 VLAN 스위치를 연결하여 VLAN 간의 데이터를 교환.

VLAN 태그가 프레임에 추가되어 어떤 VLAN에 속하는지 나타낸다.

2. 802.1Q 표준:

VLAN 트렁킹에 사용되는 표준.

그림 6.27에서, VLAN 태그는 기존 이더넷 프레임 헤더에 추가된다:

2바이트 TPID (Tag Protocol Identifier): 81-00로 고정.

2바이트 VLAN ID 필드: VLAN을 식별(12비트).

 

그림 6.26: VLAN 스위치 연결 방법

1. (a) 포트 간 직접 연결:

각 VLAN에 대해 별도의 케이블을 사용하여 연결.

비효율적이며 확장성이 떨어진다.

2. (b) 트렁크 링크:

하나의 트렁크 포트를 통해 여러 VLAN의 데이터를 교환.

스위치 1의 포트 16과 스위치 2의 포트 1이 트렁크로 설정.

 

VLAN의 다양한 구성 방식

 

1. 포트 기반 VLAN:

스위치 포트를 그룹화하여 VLAN 설정.

2. MAC 주소 기반 VLAN:

MAC 주소를 기준으로 VLAN 설정.

3. 네트워크 계층 기반 VLAN:

IP 주소 또는 프로토콜(예: IPv4, IPv6)에 따라 VLAN 구성.

 

요약

 

1. VLAN은 트래픽 격리, 스위치 수 감소, 유연한 관리라는 이점을 제공한다.

2. VLAN 트렁킹을 통해 스위치 간 VLAN 데이터를 효율적으로 교환할 수 있다.

3. 802.1Q 표준은 VLAN 트렁킹의 핵심 기술로, VLAN 태그를 사용하여 프레임을 구분한다.