본문 바로가기
  • AI (Artificial Intelligence)
Skills/Network

스위치

by 로샤스 2014. 4. 9.

  목차

1. 스위치 개요

 

스위칭 기술은 네트워크의 스피드와 효율성을 증가시키며, 현재의 시스템을 보다 강력하게, 또한 보다 빠른 네트워크로의 전이를 쉽게 한다. 이러한 스위칭 기술 및 스위치 장비에 대하여 이해함으로써 네트워크를 그룹핑하고 스위치로 네트웍을 설계/구현하는데 도움이 될 것이다.

 

등장배경

Application의 변화로 인한 대용량의 네트워크 대역폭 요구증대.

초기의 응용프로그램은 text에 기반하여 통신을 수행하였으나, 기술이 발전됨으로써 이미지가 추가 되었으며, 최근에는 음성까지 데이타로 변환하여 사용하게 되었다. text 기반의 경우 전체 화면에 디스플레이 되었을 경우 1920 character가 나타나며 1920 x 8 = 15360 bit가 된다. 따라서 여러개의 창을 뛰워서 동시에 사용한다고 해도 하나의 호스트에 100Kbps면 충분하다. 이에반해 web을 사용하게 되면 한 페이지당 100 Kbyte이상이 되는 경우가 많으며, 멀티세션이 가능한 호스트가 증가됨에 따라 사용 대역폭은 더욱 증가하게 되었다.

분산컴퓨팅과 microsegmentation사용자의 PC 성능이 향상됨에 따라 PC간의 네트워킹이 증가하였으며 이전의 메인 프레임 중심의 응용프로그램 또한 여러대의 서버로 다운사이징되었다. 따라서 네트워크의 필요 대역폭은 증가하게 되었으며 관련 부서등에 따라 그룹화가 필요하였으며, 기존 shared network에서의 한계점을 인지하게 되었다. 즉 하나의 네트워크를 가능한 많이 분할하여 각 사용자에게 대역폭을 많이 할당할 수 있는 방법이 필요하게 되었으며, 기존의 브리지나 라우터로서는 패킷 처리 성능에서 부족하였으며, 새로운 하드웨어를 장착한 스위치가 대두되었다.

2. 스위치의 주요 특징

 

스위치는 일반적으로 브리지보다 포트수가 많고, 각각에 대해 여러개의 독립된 데이타 경로를 설정할 수 있다. 만약 segment가 스위치에 연결된다면 media access를 위해 CSMA/CD가 해당 segment 내에서 수행되지만 하나의 호스트가 연결된다면 media access protocol이 필요없다. 스위치의 기본동작은 multiport bridge와 유사하므로 수신되는 프레임의 source/destination MAC address를 검사한 후 해당되는 포트로 포워딩하면 그만이다. 기본형태는 간단하나 스위치에 따라서 다음과 같은 여러가지 특징이 있다.

2.1 Full Duplex

 

하나의 호스트가 스위치 포트에 연결된 경우 media에 access하기 위한 contention이나 collision detection 기능이 불필요하다. 호스트는 프레임이 큐에 도달하면 즉시 전송할 수 있고 또한 동시에 수신도 가능하다. 이로인해 잠재적인 대역폭은 half-duplex의 경우보다 2배가 된다. 또한 collision이 없음으로 인해서 MAC Layer에 의한 거리상의 제한 (ethernet의 경우 2500m)이 없으며 물리계층의 제약만 받는다는 것이다. 따라서 single mode fiber를 사용하면 100km ethernet도 가능하다.

2.2 Flow Control

 

flow control은 데이타가 순간적으로 급증하여 목적지의 port가 이를 처리하지 못하고 프레임이 drop되지 않기 위해 필요하다. 일반적인 네트워크에서는 layer 2의 flow control은 없으며, 상위 계층에 의존하였으므로 장비 제조업체에 따라 다양한 flow control mechanism을 사용한다.

2.3 Static and dynamic switching

 

Static switching

스위치의 기능이 shared media의 허브와 유사하여 수신된 프레임은 다른 모든 포트로 포워딩 된다.

 

Dynamic switching

learning bridge와 유사하여 호스트로 부터 전송된 프레임을 조사하여 어떤 포트에 연결되어있는지 습득한다. 습득된 이후에는 모든 포트로 포워딩하는 static switching과는 다르게 destination address가 해당 포트와 일치하는 프레임만 전송하게 되어 다른 포트에 대한 대역폭을 saving해준다.

2.4 Address resolution

 

스위치는 learning bridge와 유사하게 프레임을 forwarding/filtering하기 위해 address table을 관리한다. 프레임이 도착하면 source address와 해당 포트를 address table에 입력한 후 destination address를 table에서 찾는다. 없을경우 각 포트로 broadcast하여 어느 포트에 있는지 알아낸 후 포워딩한다. 최근에 언급되지 못한 address에 대해서는 어느정도 시간이 지난 후 table에서 삭제된다.

2.5 Network 관리

 

대부분의 스위치가 SNMP와 RMON을 지원하므로 이를 통하여 모니터링 및 진단을 수행할 수 있다. 또한 mirroring 포트도 지원하므로 segment 상에 전송되는 data를 decode할 수도 있다.

3. Swtiching 방법

 

크게 3가지로 구분할 수 있으며, cut-through switching, store-and-forward switching, 이들 둘을 혼합한 Hybrid형이 그것이다.

3.1 Cut-through switching (Cross-point switching)

 

가장 큰 차이점은 전체 프레임이 도달하기 이전에 destination port로의 포워딩이 시작된다는 것이다. store-and-forward에 비해 지연이 약 1/20정도에 불과하다.

다음은 cut-through switch에서 1번 포트와 5번 포트의 데이타 전송을 나타낸다.

 

 


먼저 프레임이 저장되기 이전에 프레임내의 destination address를 읽는다. 해당 address는 look-up table로 forwarding된후 port destination address를 결정하여 switching fabric이 destination port로의 cross-connect 되도록 한다. 따라서 destination address를 읽어서, look-up table을 통한 output port로의 스위칭이 일어날때까지의 버퍼만 있으면 된다.

cut-through switching을 사용할 경우 전체 프레임을 저장하지 않음으로 인해서 runt등의 프레임 에러를 검사하지 못한채, 수신지까지 전송된다는 단점이 있다. 또한 여러개의 포트에서 하나의 포트로만 전송이 폭주할 경우, 한 포트만 전송할 수 있으며 다른 포트에서는 버퍼에 저장해야 하나, 각 포트에 할당된 버퍼가 적으므로 폐기되는 경우가 많다. 따라서 cut-through switching 방법만을 사용하는 경우는 적으며, 이를 보완하기 위해 Hybrid형태 또는 store-and-forward switching 방법과 병행하여 사용한다.

3.2 store-and-forward switching

 

cut-through switching과는 다르게, store-and-forward의 경우 프레임의 데이타를 분석하기 이전에 전체 프레임을 메모리에 저장한다. 프레임이 저장되면 CRC체크등 데이타의 적정함을 검사한 후 switching/filtering등의 후속작업을 진행한다. 만약 에러가 있는 프레임이라면 스위치는 해당 프레임을 discard한다. error 프레임은 수신지까지 전달되어도 폐기될 것이다.

 

 ① 스위치는 먼저 destination address 부분이 buffer memory에 위치할 때 (②) 해당 address를 읽는다.

전체 프레임이 메모리로 읽혀질때 look-up 작업이 (③)이 진행되어 destination port address를 획득하게 된다.

전체 프레임이 메모리에 위치하였을 경우 CRC 체크와 filtering 작업이 수행되며, 에러가 없다면 해당프레임은 destination address로 forwarding 된다.

(④)  버퍼가 각 포트마다 존재하는 cut-through switching과는 다르게 shared buffer memory가 있으므로 특정 포트의 트래픽이 폭주하여 output 포트가 busy상태여도 다른 포트를 위한 부분의 버퍼에 저장하여 둘 수 있다.

 

3.3 Hybrid

 

Hybrid 스위치는 cut-through와 store-and-forward switching 둘다 지원하며, 발생하는 error rate에 따라 스위칭 방법을 결정한다. 초기에는 모든 포트를 cut-through 방식으로 설정한 후 특정 포트에서 bad frame이 다수 발생하면 스위치는 해당 포트를 store-and-forward로 전환하고, 프레임을 forwarding하기 이전에 CRC 체크를 하게 된다. 따라서 이러한 타입을 adaptive switch라고 하기도 한다.

Hybrid switch의 주요 이점은, 에러가 없을 경우 최소의 지연으로 데이타를 forwarding할 수 있으며 에러가 발생시 이에 적응하여 에러가 발생된 프레임은 폐기한다는 것이다.

4. Switch Architecture

4.1 RISC와 ASIC

 

일부의 스위치 장비에 Complex Instruction Set Computer (CISC) microprocessor를 사용하는 경우도 있으나 대부분의 장비는 Reduced Instruction Set Computer (RISC) 또는 Application Specific Integrated Circuit (ASIC) microprocessor를 사용한다.

 

RISC processor의 경우 범용적으로 사용되므로 가격이 상대적으로 저렴하며 브리지나 라우터처럼 layer2 또는 layer 3 address에 기반하여 프레임을 forwarding할 수 있다. 또한 software upgrade나 vlan, monitoring과 같은 추가 기능을 탑재할 수 있다. 문제점으로는 store-and-forward 방식이므로 ASIC에 기반한 스위치에 비해 지연이 발생한다.

 

ASIC processor는 특정 기능에 적합하도록 hardware 자체에서 만들어진 것이다. 따라서 software를 사용하는 RISC 기반의 스위치에 비해 속도가 빠르나, 추가 기능을 탑재하기가 어렵다. ASIC를 사용하는 대부분의 스위치가 layer 2 기반의 cut-through switching을 사용하며 input과 output 포트간의 지정된 path를 사용하므로 buffer는 크게 필요하지 않다.

1997년 초반에만 해도 대부분의 스위치가 ASIC architecture를 사용하였다. 그러나 vLAN 표준이 설정되고, utilization monitoring등 추가 기능의 필요에 의해 기존 스위치의 변경 또는 upgrade가 필요하게 되었으며, 점차로 RISC를 사용하는 스위치가 대두되었다.

4.2 Frame switching과 Cell switching

 

frame switching의 경우 전체 프레임이 switch fabrid을 거쳐서 destination port로 전송된다. 반면에 cell switching의 경우는 input된 프레임이 동일한 크기의 cell로 나누어진다. frame switching의 경우 input 포트와 output 포트간의 전송경로 점유 시간은 프레임의 크기에 따라 달라진다. 64byte 길이의 경우는 51.2 microsecond 이며, 1518 byte의 경우 1.21 milisecond가 된다. 즉 지연시간이 프레임 길이에 따라 달라진다는 것이다. 이에 반해 cell switching의 경우 하나의 cell이 모두 동일한 크기이므로 전송시간이 동일하며, 스위치의 성능또한 데이타 타입, 트래픽에 관계없이 일정하다. 현재까지는 대부분의 스위치가 frame switching을 사용하고 있다.

4.3 Buffering 방법

 

스위치에서의 buffering 방법은 아래와 같이 크게 3가지로 분류할 수 있다.

 

Input buffering

프레임이 각 포트이 input buffer에 저장된다. 이는 여러대의 호스트에서 하나의 output 포트로 데이타 전송이 발생할경우, destination 포트가 free할동안 저장할수 있다. 이에 반해 프레임들이 서로다른 포트로 전송하고자 할때, destination 포트가 혼잡한 프레임뒤에 있는 프레임들은 지연이 발생한다. 이러한 경우를 head-of-line blocking이라 한다.

 

output buffering

수신된 프레임은 일단 destination 으로 forward되고 destination 포트가 혼잡할경우 output buffer에서 저장된다. 이는 destination 포트가 혼잡할때 유용하다. 하나의 호스트가 destination 포트로 많은 양의 데이타를 보낼때, 동일 destination으로 다른 호스트가 보낼경우 버퍼가 사용중이어서 폐기될 가능성이 있다.

 

Path buffering

위에 나타난 문제점을 해결하기위해 input과 output 포트쌍에 대해서 별도의 버퍼를 둔다.

4.4 blocking과 non-blocking

 

non-blocking architecture의 경우 포트 2번과 4번이 데이타 전송중일때 포트 1번과 4번의 데이타 전송이 가능하다. blocking architecture의 경우에는 내부 collision이 발생하며 재전송이 스위치 내부에서 발생한다. non-blocking architecture를 사용한 스위치는 내부 대역폭이 높으며 당연히 가격도 비싸다.

5. Summary

 

기존의 shared network에서 switched network으로의 전환으로 인해 많은 변화가 발생하였으며, network에서의 상당한 대역폭 증가, 유연성, 확장성을 가져왔다. 또한 Vlan 구현 및 SNMP, RMON을 통한 관리를 편리하게 하였다. 하부 구현 방식이 동일하므로 별도의 software가 필요치 않으며 switched network으로의 전이가 쉬워졌으며, Gigabit , FDDI, Token Ring 스위칭도 가능하게 되었다. 최소의 변화를 통해 기존의 네트워크를 수용하면서 방대한 확장성을 가져올수 있으므로 스위치의 사용은 앞으로 서버군, Core 네트워크에서 필수적일것이다.

 

 

 

 

 

 

 

출처 : http://www.enclue.com/library/system_switch.html

 

 

 

 

 

 

 

댓글