본문 바로가기
System Engineering

네트워크 장비

by 낫싱 2023. 4. 18.
728x90
반응형

Chapter 4. 네트워크 장비들에 관한 이야기

 

4.1 랜카드(=NIC(Network Interface Card)=네트워크 어댑터)

- 랜에 접속하기 위한 카드

- 사용자의 데이터를 케이블을 허브나 스위치, 라우터 등으로 전달하는 역할

- 자신에게 온 데이터를 CPU에게 전달하는 역할

- IRQ : (Interrupt Request) 인터럽트 요청

- Base Memory : 메모리 범위

- 목적지의 주소가 자신의 랜 카드 맥 어드레스인 데이터가 들어왔을 때 랜카드는 컴퓨터의 CPU에게 자신이 가지고 있던 IRQ를 이용해 인터럽트를 건다. 즉, CPU에게 '하던 일 멈추고 내 일 좀 해줘~'라고 요청한다. 그러면 CPU는 IRQ번호를 보고 '아..이 인터럽트는 랜카드가 요청한 거구나'라고 생각한 뒤, 이 데이터에게 어떤 서비스를 할 것인지 미리 정해놓은 장소인 Base Memory로 이동해서 작업을 시작한다.

- 만일 이 IRQ가 이미 예약된 번호였다면 랜카드를 인식하지 못함

- 요즘은 랜카드를 꽂고 부팅하면 PC가 자동으로 안 쓰는 IRQ를 배정해줌

- 예전에는 일일이 손으로 조절했었음

 

4.2 랜카드의 종류

- 이더넷 용, 토큰린 용, FDDI, ATM용 등이 있으나 이더넷이 일반적

- 데스크탑용, PCMCIA방식의 노트북용이 따로 있음

- PC의 버스방식에 따른 종류

 - PCI : 현재 가장 많이 사용

 - ISA : '아이사'라고 읽음

 - EISA : '이아이사'라고 읽음, 서버급 PC에 간혹쓰임

- 속도에 따라 분류할 수 있음

- 포트에 따라 분류

 - TP포트를 가졌는지 BNC나 AUI포트 광케이블이 있는지에 따라

 - 콤보형 : BNC, AUI, UTP커넥터를 다 가지고 있음 UTP로 대세가 바뀌면서 과도기적인..

 

4.3 허브

- 랜카드가 설치된 PC들이 케이블을 타고 허브에 연결

- 같은 허브에 연결된 PC끼리는 서로 통신이 가능

- 허브끼리도 연결이 가능 : 구멍 10개짜리 허브로 18대를 연결하려면?

            구멍 10개짜리 허브 2개를 연결하고 나머지구멍에 PC 18대를 연결

- 종류

 - 이더넷용, 토큰링용

 - 속도 : 그냥 허브(10Mbps), 패스트허브(100Mbps)

 - 랜카드가 100Mbps라도 허브가 10Mbps면 허브 속도에 따라 10Mbps의 속도로 통신

- 멀티포트 리피터(Multiport Repeater)

 - 멀티포트 : 포트가 여러개 붙어 있다는 의미

 - 리피터 : 들어온 데이터를 그대로 재전송한다는 의미

   즉, 한 포트로 들어온 데이터를 나머지 모든 포트에 뿌려준다

- 리피터에 대해

 - 소리를 전달하는 엠프와 같은 역할

 - 두 장비가 멀리 떨어져 있어도 중간에 리피터를 두고 케이블로 연결하면 통신 가능

- 1번 PC에서 데이터를 2번 PC로 전송할 때

 - 허브가 1번을 제외한 모든 PC에 데이터를 뿌림

 - 2번을 제외한 모든 PC의 랜카드는 프레임의 목적지 어드레스와 자신의 맥어드레스를 비교

 - 2번을 제외한 모든 PC는 비교한 뒤, 주소가 다르기 때문에 데이터를 버림

 - 2번의 랜카드도 프레임의 목적지 어드레스와 자신의 맥어드레스를 비교

 - 2번의 랜카드는 주소가 서로 같음을 인식하고 CPU에게 인터럽트를 걸어 데이터 처리를 요청

- 이더넷 허브는 이더넷이므로 CSMA/CD를 적용받음

 - 즉, 콜리전이 발생함!

 - 그래서 같은 허브에 연결된 모든 PC를 '같은 콜리전 도메인 상에 있다'라고 함

 - 콜리전이 발생하면 허브에 붙은 모든 컴퓨터가 영향을 받음(전송을 하지 못하니까)

- 설정따위 필요없이 그냥 파워ON하고 케이블 꽂으면 작동함

 

4.4 허브에 대해 더욱 자세히

- 인텔리전트(Intelligent)허브

 - 인텔리전트 허브와 더미 허브를 나누는 가장 중요한 요소는 NMS를 통해 관리되는가?이다.

 - 인텔리전트 허브는 NMS로 관리

 * NMS(네트워크 관리시스템) : NMS상에서 모든 데이터 분석, 제어가 가능

               즉, 멀리서도 허브의 동작을 감시, 조정이 가능

 - 인텔리전트 허브는 대형 네트워크에서나 필요함

 - 한 PC가 고장나서 계속 이상한 데이터를 허브에 끊임없이 보내면 다른 PC가 통신 불가능

  - 왜냐하면 CSMA/CD 때문에 콜리전이 생기기 때문

  - 인텔리전트 허브는 그 문제의 PC를 찾아내서 자동으로 Isolation(분리시켜 고립)시킴

  - Isolation한 포트는 허브에서 램프로 표시되어 후에 조치하기가 편리함

  - 이 기능을 Auto Partition 이라고 함

- 세미더미(Semi dummy)허브

 - 혼자 있으면 더미허브인데 인텔리전트 허브랑 연결하면 자기도 인텔리전트 허브가 됨

 

4.5 스택커블(Stackable)장비와 단독형(Standalone)장비

- Stackable은 말 그대로 허브나 스위치를 쌓아 놓을 수 있게 만든 것

- 물론 단독형도 서로 연결 가능하지만 스태커블끼리 연결하면 백플레인(Backplane : 장비가 데이터 전송을 위해 연결된 일종의 고속도로)이 훨씬 빨라지고, 연결된 장비중에 하나가 고장나도 다른 장비에 영향을 주지 않고, NMS로 관리할 때, 전체 스택 장비를 마치 한 대의 장비처럼(IP주소 하나로)관리가 가능하다는 장점이 있다

 

4.6 허브와 스위치

- 허브는 콜리전 도메인이 약점

- 이 콜리전 도메인을 나눠줄 수 있는 장비가 바로 브리지(Bridge) 또는 스위치(Switch)

- 즉, 1번과 2번 사이에 통신이 일어나면 허브에서는 나머지 PC끼리 통신이 불가능인데 스위치는 1번과 2번 사이에 통신이 일어나도 다른 3, 4 번끼리 통신이 가능

- 하지만, 아무리 콜리전 도메인을 나눴다 해도 모든 PC가 서버랑만 통신하는 경우에 한 순간에 하나의 PC만 통신이 가능함(왜냐면 그 때 서버는 한대 뿐이니까) 그래서 이 경우에는 속도의 향상을 기대할 수 없음

- 통신이 채팅, 메일 위주일 경우에는 허브가 싸고 좋지만 멀티미디어 다운 같은 경우는 스위치를 사용해야 함

- 요즘 스위치 가격이 많이 싸져서 그냥 스위치로 전환해 쓰는 경우가 많다

 

4.7 브리지

- 스위치의 원조격

- 허브보다 한 수 위의 장비

- 콜리전 도메인을 반으로 나눠서 한 쪽이 통신할 때, 다른 반쪽도 통신이 가능하게 함

- 즉, 허브는 받으면 다른 모든 PC에게 뿌리는데 브리지는 받고 확인한 뒤, 다리를 건너야 하는지 안 건너야 하는지 판단해 건너야하면 건너보내고 안건너도 되면(데이터를 보낸 PC와 받은 PC가 같은 쪽일 때)건너보내지 않는다

 

4.8 브리지/스위치의 기능

Learning : 한 PC가 데이터를 보내면 브리지가 다리를 건너 보낼것인지 말것인지 판단하는데 이 때 데이터를 보낸 PC의 맥 어드레스를 자신의 브리지테이블이라는 곳에 저장한다. 다음 번에 누가 테이블에 저장한 PC로 데이터를 보내면 다리를 건내 보낼 것인지 말것인지를 판단하는 자료가 된다. 즉, 브리지로 나뉜 두 세그먼트 E0, E1이 있을 때 방금 데이터를 보낸 PC가 어느 세그먼트에 있는지 저장해 두는 것을 learning이라고 하는 것이다. 다음번에 다른 PC가 그 PC를 찾을 때 브리지 건너 있는지 아닌지를 확인하기 위해서 저장을 하는 것이다.

 

Flooding : 브리지가 프레임을 받고 보내기 위해 브리지테이블을 찾아봤는데 아무리 찾아도 보낼 맥어드레스가 저장되어 있지 않을 때 (한번도 그 PC와는 통신을 하지 않았기 때문에! 출발 주소를 learning하지 못했기 때문에 저장되어 있지 않다) 데이터를 보낸 포트를 제외한 모든 포트에 프레임을 뿌리는 것이다.

 

Forwarding : 브리지가 목적지의 맥어드레스를 알고 있고(즉, 그 PC와 통신 한 적이 있어서 테이블에 맥어드레스가 저장되어있다는 뜻) 목적지를 가려면 브리지를 건너야 할 때 발생한다. Flooding은 모든 포트로 뿌리는 것이지만, Forwarding은 해당 포트쪽으로만 뿌리는 차이점이 있다.

 

Filtering : 브리지가 목적지의 맥어드레스를 알고 있고(마찬가지로 테이블에 저장되어 있다는 뜻) 목적지를 가려면 브리지를 건너지 않아야 할 경우에 발생한다. 즉, 출발지와 목적지가 같은 세그먼트일 경우이다. 이 Filtering때문에 콜리전 도메인을 나눌 수가 있는 것이다. 이 자리에 허브가 들어간다면 콜리전 도메인으로 나눠 줄 수가 없다.

 

Aging : 나이를 먹는다. learning하고 나서 저장된 맥 어드레스를 평생 가지고 있는 것이 아니라 Aging timer를 가동시켜 일정시간(디폴트는 5분)동안 카운트를 해서 그 출발지 맥 어드레스를 가진 프레임이 다시 들어오지 않으면 테이블에서 삭제한다. 혹시 다시 들어온다면 리플래시(Refresh)한다. 즉, 타이머를 리셋하여 처음부터 다시 카운트 한다.

 

4.9 브리지/스위치가 하는 일 과정 정리

프레임의 접수

  출발지 주소를 Learning 하거나 Aging timer를 리플래시한다

  목적지가 브로드 캐스트, 멀티 캐스트, 또는 모르는 맥 어드레스인가 확인한다

       (YES) 프레임을 Flooding한다

  (NO) 목적지가 출발지와 같은 세그먼트에 있는가 확인한다

     

       (YES) 프레임을 Filtering한다

  (NO) 프레임을 해당 포트로 Forwarding한다

 

4.10 브리지와 스위치의 차이점

 4.10.1. 브리지는 프레임을 소프트웨어적 프로그램에 의해서 처리하는 방식인데, 스위치는 처리 절차를 미리 칩에 구워서 하드웨어 방식으로 만드는 ASIC(에이직, Application specific integrated circuit)방식이기 때문에 스위치의 처리 속도가 훨씬 빠르다.

 4.10.2. 브리지는 포트들이 같은 속도를 지원하는 반면, 스위치는 서로 다른 속도를 연결해 줄 수 있는 기능을 제공한다.

 4.10.3. 브리지는 대부분 2개에서 3개 정도의 포트를 제공하는 반면, 스위치는 몇십 또는 몇백 개의 포트를 제공할 수 있다.

 4.10.4. 프레임을 처리할 때, 브리지는 오로지 store-and-forward 방법만을 사용하는데 스위치는 cut-through, 또는 store-and-forward방식을 사용한다.

 

* 스토어-앤-포워드(Store-and-forwading)방식

 - 이 방식은 스위치나 브리지가 일단 들어오는 프레임을 전부 받아들인 다음에 처리를 시작

 - 프레임이 다 들어온 뒤에 제대로 다 들어왔는지, 에러는 없는지,

  출발주소, 목적지주소는 어딘지 파악하고 나서 처리를 함

 - 이 때, 에러가 발견되면 그 프레임을 버리고 재전송을 요청해 에러 복구능력이 뛰어남

 - 회선상에 에러가 자주 있거나 출발지와 목적지의 전송 매체가 다른 경우 자주사용되는 방식

 

* 컷스루(Cut-through)방식

 - 스위치가 들어오는 프레임의 목적지 주소만 본 뒤 바로 전송처리를 시작하는 방식

 - 프레임이 다 들어오기 전에 48비트만을 보고 목적지로 전송해 훨씬 빠름

 - 하지만, 프레임에 발생됐을지도 모르는 에러를 찾아내기는 어려워 복구 능력에는 약함

 

* 프래그먼트-프리(Fragment-Free)방식

 - 스토어-앤-포워드 방식과 컷스루 방식의 장점을 결합한 방식

 - 다 들어오길 기다릴 필요가 없다는 점에서 컷스루와 비슷

 - 하지만, 48비트가 아니라 512비트를 본 뒤 처리 하므로 에러 감지 능력이 컷스루보다 나음

 

4.11 루핑(Looping)현상

- 두 호스트 사이에 브리지나 스위치가 두 개 있다고 가정하면 하나의 호스트에서 다른 호스트로 가는 경로가 2개 이상 만들어 지게 된다. (다른 호스트로 가려면 브리지를 통해야 하니까) 이 때 한 쪽 PC에서 브로드캐스트를 보내게 되면 이것을 받은 브리지나 스위치가 브로드캐스트임으로 Flooding을 한다 근데 다리를 건너서 있는 다른 브리지나 스위치가 이 브로드캐스트를 받고 또 다시 Flooding을 하고 돌고 돌고 돌고 돌다보면 CSMA/CD의 특성상 네트워크가 조용해야 통신이 가능한데 양 쪽 브리지를 타고 돌고 돌고 돌고 있으니 통신이 불가능하게 되는 것이다.

- 그럴 땐 이 루핑현상을 자동으로 막아주는 알고리즘이 필요하다. 그 알고리즘을 스패닝 트리 알고리즘(Spanning Tree Algorithm)이라고 한다. 자세한 것은 밑에!

 

4.12 폴트 톨러런트(Fault tolerant)와 로드 밸런싱(Load balancing)

- 폴트 톨러런트 : 네트워크 상에 어떤 문제 발생을 대비해 이중으로 미리 설치해 놓는 것

 - 장비가 고장 났을 때 대비하고 있던 장비로 교체하는 것

 - 정말 장비를 교체하는 것은 의미가 없고 처음부터 네트워크를 구성할 때 두 대로 구성

 - 그리고 한 쪽이 고장나면 자동으로 다른 한 쪽 장비를 사용하게 구성하는 것

- 로드 밸런싱 : 이것 역시 이중으로 장치를 설치 하는 것

 - 인터넷 회선을 두 개 사용하면 데이터들이 한 라인을 선택해 이용하기 때문에 로드가 분산

  - 즉, 속도가 2배가 된다.

 - 그러다가 한 쪽이 끊어지면 다른 한 쪽으로 이전할 수 있다.

  - 이런경우 로드밸런싱과 폴트 톨러런트를 겸하게 된다.

* 대부분의 로드 밸런싱은 폴트 톨러런트가 가능하지만, 폴트 톨러런트는 로드 밸런싱이 안 되는 경우도 있음!

 

4.13 스패닝 트리 알고리즘(Spanning Tree Algorithm)

- 스위치나 브리지에서 발생할 수 있는 루핑을 미리 막기 위해 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로들을 자동으로 막아두었다가 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘

- 모든 스위치는 스패닝 트리 알고리즘을 지원한다

- 스패닝 트리 알고리즘에 의해서 현재의 링크가 끊어졌을 때 다른 링크가 다시 살아나서 연결해 주는데 걸리는 시간은 약 1분정도 소요된다

- 시스코의 이더채널(Ether-Channel)기술

 - 여러개의 링크가 마치 하나의 링크처럼 인식되게 하는 기술

 - 따라서 이더채널이 지원되는 스위치는 평소에도 두 배의 속도를 내고

 - 링크가 끊어져도 기다리는 시간이 전혀 없이 링크가 유지된다

 - 속도에 따라 패스트이더채널(100메가로 연결된 포트를 묶음), 기가이더채널(100메가)

 - 최대 8개의 링크를 묶어서 만들 수 있게 함

 - 업링크 패스트(Uplink Fast)

  - 전통적인 스패닝 트리에서 복구 시간이 1분 이상 걸리는 단점에 착안 2~3초로 줄임

 

4.14 라우터와 스위치

- 가격, 속도, 구성의 편리함에 있어 스위치가 월등하다

- 하지만, 스위치로만 네트워크를 구성하면 풀 수 없는 한계가 있다

 - 그 이유로 브로드캐스트가 있다

  - 인터넷 전체가 하나의 브로드캐스트 영역(도메인)이라고 하면

  - 다른 나라에 있는 PC한대만 꺼져도 나한테 그 영향이 전달된다

  - 그래서 브로드캐스트 영역을 나누는 라우터가 꼭 필요하다

- 보통 IP일때 500노드(노드란 네트워크에 접속되는 장비. 주로 PC의 수를 뜻한다)

- IPX일 때 300노드

- Apple Talk은 200노드 정도가 좋은데

- 이 기준에서 반정도만 사용하여야 제대로 네트워크를 사용할 수 있다고 한다

- 그 외에 라우터는 보안기능 즉, 패킷 필터링 기능, 로드 분배(여러 경로를 탈 수 있어 한 쪽이 고장나도 다른 경로로 갈 수 있다)기능이 있고 QoS기능도 있다

 

* QoS(Quality of Service) : 프로토콜, 데이터의 크기, 중요도 등을 따져 트래픽의 전송 순서를 조정하는 기능

728x90
반응형

'System Engineering' 카테고리의 다른 글

서브넷 마스크  (0) 2023.04.18
IP 주소 연습문제  (0) 2023.04.16
IP 주소 구조  (0) 2023.04.16
리눅스 Oracle 19 설치 - 4  (0) 2023.04.16
리눅스 Oracle 19 설치 - 3  (0) 2023.04.16

댓글