네트워크 스위치
스위치
스위치는 네트워크 스위치(network switch)의 줄임말이며, 처리를 할 수 있는 패킷의 숫자가 큰 것으로, 네트워크 단위들을 연결하는 통신장비이다. 소규모 통신을 위한 허브보다 전송속도가 개선된 장비이다. 스위치의 다른 이름으로는 브리징 허브, 맥(MAC) 브리지(bridging hub, MAC bridge), 스위칭 허브(switching hub), 포트 스위칭 허브(port switching hub)가 있다.[1]
개요
스위치의 사용 목적은 허브와 유사하나, 스위치는 훨씬 빠른 네트워크 속도를 제공한다. 그 이유는 허브가 한 포트로 신호가 들어오면 같은 신호를 다른 모든 포트로 전달하는 것에 비해서 스위치는 신호를 필요로 하는 포트에만 신호를 전달하기 때문이다. 간단히 말하자면 스위치는 각각의 컴퓨터에서 주고받는 데이터가 허브처럼 다른 컴퓨터에 전송되는 형태가 아니라, 데이터를 필요로 하는 컴퓨터에만 해당 데이터를 전송해주기 때문에 가능한 일이다. 따라서 허브처럼 병목현상이 쉽게 생기지 않고, 불필요한 트래픽이 감소된다. 또한 스위치는 대부분이 전이중 통신방식(full duplex)을 지원하기 때문에 송신과 수신이 동시에 일어날 경우 훨씬 향상된 속도를 제공해준다. [1]
스위치가 이 기능을 수행하기 위해서는 지나가는 트래픽의 목적지를 정확히 알 필요성이 있는데, 그래서 스위치는 자신과 연결된 장비들의 맥 주소와 그 장비가 연결되어 있는 포트 번호를 기억해야 한다. 그리고서 자신이 아는 맥 주소로 데이터가 오면 알고 있던 포트로 데이터를 전달한다. 그리고 데이터가 들어왔는데 데이터가 온 장비의 맥 주소가 처음 보는 주소일 경우, 연결된 포트와 맥 주소를 저장하였다가 다른 장비가 그 맥 주소로 데이터를 보낼 때 알고 있던 포트에다가 데이터를 전송한다. 만약에 데이터를 보낸 장비의 맥 주소는 아는 주소인데 데이터가 도착하는 곳의 맥 주소가 처음 보는 맥 주소일 경우, 데이터를 모든 포트로 뿌려버린다. 그래서 스위치는 각각의 컴퓨터가 가진 고유한 맥 주소를 기억하고 있어야 하며, 이 주소를 통해 어떤 데이터가 어디로 전송되어야 하는지 판단을 내리는 것이다. 그리고 스위치는 신호를 필요로 하지 않는 포트로는 신호를 전달하지 않기 때문에 그것을 콜리전 도메인(collision domain)을 나누는 데 사용할 수 있다. 하지만 스위치를 이용하더라도 대량의 브로드캐스팅(broad casting)이나 스위치의 처리용량을 초과하는 데이터 흐름에 대해서는 취약할 수밖에 없다. 따라서 거대한 네트워크를 사용하는 경우에는 VLAN 스위치나 라우터 등을 사용해야 한다.[1]
추가로 덧붙이자면, IP 주소를 기반으로 동작하는 상위 장비의 경우, 그것을 'IP 스위치' 또는 'L3 스위치' 라고 부른다. L3 스위치와 비슷하면서도 다른 것이 있는데 그것을 라우터라 한다. 스위치를 간단하게 정리해보자면, 라우터에 붙어있는 네트워크 포트가 부족할 경우 연장해 주는 기계이다.[2] 스위치와 허브의 구조는 다음과 같다.
이를 통해 알 수 있듯이 구조적인 면에서 스위치의 전송속도가 허브보다 더 빠른 이유가 설명된다.[3]
트랜스패런트 브리징(Transparent Bridging)
- 트랜스패런트 브리징(Transparent Bridging)은 스위치의 핵심 기능으로 스위치를 사용하는 이유라 할 수 있다.
- 스위치는 맥-주소-테이블을 참조하여 수신한 프레임을 목적지 장비와 연결된 해당 포트를 통해 전송한다.
- 이 브리징의 기능은 다음과 같다.
- 1.학습(Learning)
- 스위치 포트로 수신한 프레임의 출발지 맥 주소가 자신의 맥-주소-테이블에 등록되지 않은 주소일 때, 수신 포트 번호와 출발지 맥 주소를 테이블에 등록한다.
- 만약 수신한 프레임의 출발지 맥 주소가 테이블에 이미 등록되어있는 주소라면, 학습 과정은 여기서 실시되지 않는다.
- 2.플러딩(Flooding)
- 스위치는 브로드케스트 프레임, 또는 언노운(Unknown) 유니캐스트, 언노운 멀티케스트 프레임을 수신하면, 수신 포트를 제외한 동일 브이랜(Vlan) 도메인에 속해있는 모든 스위치 포트로 프레임을 전송한다. 이때 언노운 프레임은 목적지를 알 수 없는 프레임을 의미한다.
- 3.포워딩(Forwarding)
- 스위치 포트로 수신한 프레임의 목적지 맥 주소가 자신의 맥-주소-테이블에 학습되어 있을경우, 해당 포트로만 프레임을 전송한다.
- 4.에이징(Aging)
- 스위치는 맥 주소를 학습하여 맥 테이블에 등록할 때, 에이징 타이머를 설정한다. 또는 맥 테이블에 학습되어 있는 맥 주소를 갖고 있는 프레임을 수신하면, 에이징 타이머를 초기화시킨다. 만약, 5분 동안 테이블에 등록된 맥 주소가 프레임을 전송하지 않을 시, 해당 맥 주소를 맥 테이블에서 제거한다.
- 5.필터링(Filtering)
- 맥-주소-테이블의 목적지 맥 주소와 연결되는 포트가 프레임을 수신하는 포트와 동일하다면 해당 프레임이 포워딩 당하지 않도록 차단한다.[4]
전송 방식
전송방식은 크게 두 가지로 나눌 수 있는데 바로 회선 교환 방식과 축적 교환 방식이다.
- 회선 교환 방식(Circuit Switching)
- 회선 교환 방식은 다이렉트로 교환을 해주는 방식으로 대표적인 예로 전화망이 있다.
- 아래 그림과 같이 각각의 단말 장치는 교환기하고만 연결되어 있으며 교환기끼리는 복수의 전화선으로 연결되어있다.
- 특징
- 회선 자체를 점유하여 사용한다
- 네트워크 지연 현상이 적고 전송속도가 빠르며, 실시간 전송이 가능하다.
- 길이가 길고 통신 밀도가 높은 데이터 통신에 유리하다
- 교환기 사이의 회선이 모두 점유 상태일 경우 더 이상 접속이 불가능하여 회선이 많이 필요할 수도 있다[5]
- 축적 교환 방식(Store and forward Switching)
- 특징
- 하나의 통신 회선을 여러 메시지가 공유 가능하다
- 메시지를 저장시켰다가 전송하므로 기억장치가 필요하다.
- 전송 속도와 코드가 서로 다른 장치 간에도 통신이 가능하다.
- 초기 설계 비용과 통신 비용이 저렴하다.
- 부가적인 내용을 추가하여 전송 가능하다.
- 전송 속도나 코드의 변환 및 전송 오류 정정이 가능하다.
- 축적 교환 방식에는 총 두가지 종류가 있다
- 메시지 교환 방식
- 메시지 교환 방식(message switching)은 교환기가 일단 송신 측의 메시지를 받아서 저장한 후에 전송 순서가 오면 수신 측으로 전송하는 방식이다.
- 특징
- 각 메시지마다 전송 경로를 설정하고, 수신 측 주소를 붙여서 전송한다.
- 전송 메시지는 교환기의 기억장치에 일정 기간 동안 저장되기 때문에 다음에 검색 가능하다.
- 전송이 지연되는 시간이 매우 길고 응답 시간이 느리기 때문에 대화형 데이터의 전송에는 적절하지 않다.
- 전송량이 급격히 많아지는 경우에는 저장 기능을 활용하여 교환기의 혼란 상태를 피할 수 있다.
- 송신 측과 수신 측이 동일한 시간에 운영 상태에 있지 않아도 가능하다.
- 같은 내용의 메시지를 여러 곳에 전송 가능하다.
- 패킷 교환 방식
- 패킷 교환 방식(Packet Switching)은 메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식이다
- 패킷의 구성
- 패킷은 전송하고자 하는 데이터의 한 블록과 주소지 정보, 관리 정보로 구성된다.
- 각각의 패킷은 일정한 헤더가 필요하여 패킷은 적절한 크기로 나뉜다.
- 특징
- 패킷은 장애가 발생할 시 재전송을 위한 패킷 교환기에 일시 저장되었다가 곧 전송되며 전송이 끝난 후에 폐기된다.
- 패킷 교환망은 OSI 의 3계층에 속한다
- 패킷형 터미널을 위한 DTE와 DCE 사이의 접속 규정은 X.25이다.
- 패킷망 상호 간의 접속을 위한 프로토콜은 X.75이다
- 하나의 통신 회선을 여러 사용자가 공유할 수 있어 회선 이용률이 높다.
- 수신 측에서 분할된 패킷을 재조립해야 한다.
- 응답 시간이 빨라 대화형 응용이 가능하다.
- 통신량의 제어를 통해 망의 안전성을 높일 수 있다.
- 전송 시 교환기 및 통신 회선 등에 장애가 발생하여도 다른 경로를 선택하여 우회할 수 있다.
- 패킷 교환망
- 패킷 교환망의 구성
- 비패킷 단말기 (NPT) : 전송할 정보 메시지를 패킷 단위로 분할하는 기능이 없는 단말기
- 패킷형 단말기 (PT) : 패킷 분할 및 결합 기능을 갖추고 있는 단말기
- 패킷 교환기 (PSE) : 패킷의 축적 및 경로 설정 기능을 갖추고 있는 단말기
- 패킷 다중화 장치 (PMX) : 비 패킷 단말기에서 전송하는 정보 메시지를 패킷으로 분할하고, 비패킷 단말기에서 수신할 정보가 패킷 단위로 들어오는 것을 정보 메시지로 조립하여 전달하는 장치이다. 패킷 조립 및 분해 기능은 내장 되어있는 PAD에 의해서 이루어진다.
- 패킷 교환망의 기능
- 패킷 다중화
- 물리적으로는 한 개의 통신 회선을 사용하지만, 패킷마다 가상 회선 번호를 붙여 동시에 다수의 상대 터미널과 통신을 수행하게 하는 기능이다.
- 2.경로 제어
- 출발지에서 목적지까지 이용 가능한 전송로를 찾아 그중에 가장 효율적인 경로를 통해 보내는 방식이다.
- 3.논리 채널
- 송수신 단말기 사이에서 가상 회선을 설정하는 기능이다.
- 4.순서제어
- 패킷을 여러 경로를 통해서 전송할 때 패킷의 순서가 송신 측에서 보낸 순서와 다르게 수신되는 것을 방지하기 위한 기능이다.
- 5.트래픽 제어
- 망의 보호, 성능 유지, 망 지원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능
- 6.오류 제어
- 오류를 검출하고 제어하는 기능
- 패킷 교환 방식에는 두 가지가 있다.
- 가상 회선 방식
- 단말기 상호 간에 논리적인 가상 통신 회선을 미리 설정한 뒤, 송신지와 수신지 사이의 연결을 확립한다. 그리고 설정된 경로를 따라 패킷들을 순서에 따라 운반하는 방식이다.
- 정보 전송 전에 제어 패킷에 의해 경로가 설정된다.
- 통신이 이루어지는 컴퓨터 사이에 데이터 전송의 안전성과 신뢰성이 보장된다.
- 모든 패킷은 발생한 순서대로 같은 경로를 통해 전송 된다. 즉 패킷의 송수신 순서가 같다.
- 콜 셋업(Call Setup)에 대한 오버헤드가 존재한다.
- 데이터그램 방식
- 연결 경로를 설정하지 않고 인접한 노드들의 트래픽 상황을 고려하여 각각의 패킷들을 순서에 상관없이 독립적으로 운반하는 방식이다.
- 패킷마다 전송 경로가 다르기에 패킷은 목적지의 완전한 주소를 가지고 있어야 한다.
- 네트워크의 상황에 따라 적절한 경로로 패킷을 전송하기 때문에 융통성이 좋다
- 순서에 상관없이 여러 경로를 통해 도착한 패킷들은 수신 측에서 순서를 다시 정리한다.
- 소수의 패킷으로 구성된 짧은 데이터 전송에 적합하다.
- 망이 고장 났을 때에 최적화된 경로를 찾아갈 수 있어 신뢰성이 높다.
- 컷 스루(Cut-Through)방식
- 전체 프레임이 수신되는 것을 기다리지 않고 프레임의 목적지 주소만 확인하여 에러에 대한 검사 없이 해당 목적지로 전달된다. 그래서 지연시간은 최소화되지만 수신된 패킷이 오류가 발생할 경우 처리하지 못하고 목적지까지 도달한다. 그렇게 되면 목적지 장치에서 이를 폐기한다.
- 플래그먼트 프리(Fragment Free)방식
- 이 방식은 위의 두 방식의 장점을 조합한 방식으로, 처음에는 프에임의 64바이트 부분이 전송되고 그때부터 스위치 프로세스를 시작하는 방식이다
- 대부분의 이더넷 콜리젼(ethernet collsion)은 64바이트 이전에서 발생하기 때문에 에러의 대부분은 여기서 발생한다.
- 인테림 컷 스루(Interim Cut-Through)방식
- 이 방식은 컷 스루 방식의 단점을 보완한 것으로서, 컷 스루 방식은 프레임의 최소 사이즈가 64바이트 이하의 프레임일 경우에 스위칭을 할 수 없다는 단점을 가지고 있다.
- 따라서 들어온 프레임을 피포(FIFO)에 넣어서 프레임 사이즈가 64바이트가 되지 않는 프레임은 삭제하는 방식이다. 하지만 이 방식도 오류 프레임에 대한 처리는 하지 못한다는 단점이 있다.
- 인텔리전트 스위칭(Intelligent Switching)방식
- 축적 교환 방식과 컷 스루 방식을 혼합한 것으로서 보통 컷 스루 방식으로 동작하다가 오류가 발생하면 축적 교환 방식으로 변경하여 오류 프레임 전송을 중시 시킨다. 이 방식은 통신을 하는 동안 독점적인 사용을 위해 두 통신 노드 사이를 연결하는 회선 교환 방식과는 달리 작은 데이터 트래픽에 더 적합하다
종류
- 스위치는 OSI 7 계층에서, 어느 계층까지를 다룰 수 있나 를 기준으로 스위치의 카테고리를 나눈다. 예를 들어 2계층을 다룰 경우 L2 스위치, 4계층을 다룬다면 L4 스위치라 하며 다른 계층도 이와 마찬가지이다. 일반적으로는 다룰 수 있는 계층의 숫자와 가격 및 기능은 비례한다.
- L2 스위치
- 스위치 패킷이 왔을 때, 그 패킷의 목적지가 어디인지를 본 후에 해당 목적지로 보내주는 역할을 수행한다. 하지만 IP주소를 이해하지 못하여 라우팅이 불가능하다.
- 주변에서 가장 흔히 볼 수 있는 스위치 방식으로, 다른 방식에 비해 비용이 저렴하다.
- 패킷의 맥 주소를 읽어 스위칭을 하고, OSI 2계층인 데이터 링크 계층에서 작동한다.
- 브리지는 어떤 포트에서 받은 데이터를 다른 포트로 전송하지만 L2 스위치 허브에서는 여러개의 포트 중 특정 포트로만 전송한다.
- 동작원리는 다음과 같다.
- 다른 스위치와 마찬가지로 프로세서, 메모리, 펌웨어가 담겨있는 플래시 롬(FLASH ROM)으로 구성되어 있다.
- 부팅이 되면 L2 스위치는 각 포트별로 연결 되어있는 노드의 상태를 확인한다.
- 각 노드의 맥 주소를 알아내서 이것을 메모리에 적재하고, 패킷이 전달 될 때 이 정보를 바탕으로 스위칭하게 된다
- 스위치의 운영체제가 적재되거나 스위칭을 할 때 각 포트의 주소 정보가 저장된다.
- 스위칭 허브를 선택할 때 스위칭 허브가 얼마만큼의 메모리와 어느 정도의 주소 테이블을 저장할 수 있는지를 확인한다.
- 보통의 스위치는 메모리 용량 이상의 주소가 저장된 경우 (예: 연결 노드가 많은 경우) 스위칭 기능이 중지되며 더미 허브와 같은 방식으로 동작한다.
- 장점
- 구조가 간단하고 신뢰성이 높다.
- 가격이 저렴하며 성능이 좋다.
- 단점
- 브로트캐스트 패킷에 의해 성능 저하가 발생한다.
- 라우팅이 불가능하다.
- 상위 레이어 프로토콜을 이용한 스위칭이 불가능하다.
- L3 스위치
- 자신에게 온 패킷의 목적지가 외부에 존재하는 IP일 경우 그 패킷을 외부에 연결된 라우터로 보내줄 수 있다.
- 라우터 기능도 탑재되어 라우터와의 경계가 모호한 편이다.
- L3 스위치로 포트간 패킷 스위칭을 위해 패킷의 IP나 IPX 주소를 읽어서 스위칭을 하며 통신 경로를 한번만 설정한다.
- 해당 프로토콜을 쓰는 패킷에 대해 스위칭이 가능하고, IP나 IPX 주소가 OSI 7계층 중 3계층에 해당함으로 L3 스위치라 한다.
- L2 스위치에 라우팅을 추가하고 고성능 하드웨어를 대부분 기초로 하였기 때문에 기본구성은 L2와 동일하다.
- 동작 원리는 다음과 같다
- 부팅 시 각 포트로 연결된 노드의 상태를 확인한 후, 노드의 주소를 테이블의 메모리에 적재하여 패킷이 전달될 때 이 정보를 바탕으로 스위칭을 한다.
- L3는 L2에 비해 고급 기능을 지원하기 때문에 L2는 일부 고급 기종에서만 스위치에 IP주소를 할당할 수 있지만 L3는 기본적으로 스위치에 IP주소를 할당하는 기능이 탑재되어 있다.
- 각 포트별 IP주소 할당 내역 등을 설정하여 스위칭을 할 때 설정된 값을 이용한다. - 기본 설정 모드를 지원한다.
- 장점
- 브로드캐스트 트래픽으로 전체 성능의 저하가 방지된다.
- 트래픽을 체크할 수 있으며 가상 랜 등의 많은 부가 기능들을 가진다
- 단점
- 특정 프로토콜을 이용해야 스위칭이 가능하다.
- 대부분의 트래픽이 서브넷의 한계를 넘는 경우가 있다.
- L4 스위치
- L3 스위치와 유사한 구조를 가지고 있으며 동작 원리가 비슷하다. 하지만 가상 랜 기능과 그룹화 및 부하 분산 등의 고급 설정들이 추가로 포함되는 점이 차이점이다.
- TCP/IP 프로토콜을 기반으로 대부분 동작하며, 포트 번호를 이용한 스위칭도 가능하다.
- 포트 번호는 수신 컴퓨터에서 IP 패킷의 형태로 결정하여 상위 계층으로 전달한다.
- 장점
- 보안성이 높고 고급 스위칭 설정이 가능하다
- 상황에 적절한 설정이 가능하고 용량에 관계 없이 네트워크의 성능 개선에 기여한다.
- 단점
- 프로토콜에 의존적이며 설정이 복잡하다.
- 장비의 가격이 높아 L2, L3 스위치와의 적절한 혼합배치가 필요하다.
- L7 스위치
- L7 스위치는 OSI의 7계층에서 동작하는 것으로 예를 들면 이메일의 제목이나 문자열을 보고 내용을 파악한다거나 HTTP의 URL, 또는 FTP의 파일명, 쿠키 정보, 특정 바이러스의 패턴 등을 분석하는 것이다. 이를 통해 보안에 더 유리하고 정교한 로드 밸런싱이 가능해진다.[9] [10]
각주
- ↑ 1.0 1.1 1.2 위키백과 네트워크 스위치 - https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EC%8A%A4%EC%9C%84%EC%B9%98 -
- ↑ 나무위키 스위치 - https://namu.wiki/w/%EC%8A%A4%EC%9C%84%EC%B9%98#s-2
- ↑ 이문규, 〈컴퓨터 네트워크의 기초 4부 - 네트워크 장비〉, 《아이티동아》, 2010-10-16
- ↑ 사색, 〈트랜스패런트 브리징(Transparent Bridging)〉, 《네이버블로그》, 2015-01-20
- ↑ 예비개발자, 〈회선 교환 방식과 축적 교환 방식(패킷 교환 방식, 메시지 교환 방식)〉, 《네이버블로그》, 2018-08-18
- ↑ 좋은사람, 〈데이터 교환 방식 - 축적 교환 방식〉, 《네이버블로그》, 2018-01-21
- ↑ 세상, 그 중심의 나!! , 〈Ethernet-Switching 방식〉, 《티스토리》, 2007-04-23
- ↑ 위키백과 패킷 교환 - https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7_%EA%B5%90%ED%99%98
- ↑ 선발투수, 〈스위치(Switch)와 L2 L3 L4 스위치〉, 《티스토리》, 2015-03-03
- ↑ 엘체프, 〈L2,L3,L4,L7 스위치란 무엇인가?〉, 《티스토리》, 2018-08-08
같이 보기