p.82 ~ p.120

2013. 7. 16. 12:52Net.cisco


 

  PART 04 네트워크 장비들 

랜카드 ; 유저의 데이터를 케이블에 실어서 허브나 스위치, 혹은 라우터 등으로 전달해주고 자신에게 온 데이터를 CPU에게 전달해주는 역할 

 - 환경에 따라 이더넷 랜카드와 토큰링용, 그리고 FDDI, ATM 용으로 구분
 - 랜에 접속하기 위한 카드처럼 생긴것
 - 데스크 탑용이나 노트북용은 모양은 다르지만 하는 일은 같음. 다만 PC와 연결할 때 접속하는 방법에 차이가 있다. 


# 데스크탑용 랜카드를 선택하는 경우 PC버스 방식에 대해 고려해야됨                     [각주:1]
 1. PCI (현재 제일 많이 이용) ;  
 2. ISA (이전까지 많이 이용) ;
 3. EISA (간혹 서버급 PC); 

# 속도 
 이더넷 랜카드의 경우 속도에 따라 크게 10메가, 100메가,10/100메가 등으로 나눌 수 있음(요즘은 100Mbps용 랜카드가 대부분)
 ( 네트워크 상에서 날아다니는 데이터의 양이 그만큼 더 커짐을 의미 )
 10Mbps = 1초에 10,000,000bit = 1,250,000byte // 100Mbps 의 경우 1초에 1MB정도 파일 전송 가능
 (실제로는 7레이어등에 의해 헤더가 붙어 속도가 느리다 )

# 랜카드에 접속하는 케이블의 종류에 따라
 1.  TP 포트를 가진 랜카드 
 2. BNC나 AUI 포트(커넥터)를 가진 랜카드 ( 예전 , UTP 케이블이 별거 없어서 )
 3. 광케이블과 접속하는 랜카드
* 콤보형 ( BNC, AUI, UTP )
 

# 랜카드 정보

  시작 > 제어판 > 시스템 > 하드웨어 탭 > 장치관리자> 네트워크 어댑터 정보 

 - 리소스를 누르면, 입/출력 범위, 인터럽트 요청(IRQ), 메모리 범위(Base Memory) 등이 나타남 
: 이런 값들이 내가 목적지인 데이터(목적지 주소가 자신의 랜카드 맥 어드레스와 일치하는 데이터) 가 들어왔을 때 랜카드는 컴퓨터의 CPU에게 자기가 가지고 있던 IRQ를 이용해서 인터럽트를 걸게 됨


# 랜카드 작동과정
 1. CPU에게 하던 일을 멈추고 자신의 일을 해줄 것을 요청 
 2. CPU는 IRQ 번호를 보고 랜카드가 요청한 서비스임을 알고, 해당 데이터에 어떤 서비스를 제공할지 정해놓는 장소(Base  Memory)로 이동해서 작업을 시작 
 * IRQ가 다른 서비스를 위해 이미 예약된 번호였다면, 랜카드를 인식 못하게 됨 ( 부팅 시 PC가 자동으로 안 쓰는 IRQ를 배정함 ) 


허브 ; 멀티포트(Multiport) 리피터(Repeater), 포트가 여러 개 달린 장비인데 한 포트로 들어온 데이터를 나머지 모든 포트로 뿌려줌

 - 허브는 서로 연결을 하게 되면 마치 한 대의 허브처럼 동작이 가능
 - 내부에서는 허브에 접속되어 있는 모든 PC들이 서로 통신이 가능하다 
 - 이더넷용, 토큰린용 등등 , 이더넷 허브가 있음 
 - 속도에 따라 그냥 허브(10Mbps), 패스트(100Mbps)허브가 있음

 ( 랜카드는 100Mbps여도, 허브가 10Mbps라면, 속도는 10메가만 납니다. = 랜카드에 맞는 허브를 사용 )

* 리피터 ; 중간에서 들어온 데이터를 다른 쪽으로 전달해 주는 역할을 함
네트워크에서 데이터를 전송시 케이블에 따라 전송거리에 제약이 있기에 중간에 리피터를 두고 통신함 
( 허브도 리피터 기증이 있음 )

# 허브 작동 과정
 1. PC가 데이터를 허브를 통해 전송하면, 데이터 들어온 해당 포트를 제외하고 나머지 포트로 그 데이터가 뿌려짐 
 2. 목적지 어드레스가 자신의 맥 어드레스와 일치하지 않는다면, 해당 데이터를 버림 ( 랜카드 ) 
 

* 이더넷 허브이기에 CSMA/CD의 적용을 받음, 콜리전 발생할 수있기에 같은 허브에 연결되어 있는 모든 PC들은 모두 '같은 콜리전 도메인 상에 있다'라고 말함 

# 허브의 종류
 1. 인텔리전트 허브 ; 지능형 허브, NMS(네트워크 관리시스템)을 통해 관리가 됨
  ( NMS 상에서 모든 데이터를 분석, 제어 가능 - 대형 서버망에서 필요 )
  ( Auto Partition - 콜리전을 계속 발생시키는 PC가 있다면 같은 콜리전 도메인의 PC들이 모두 통신이 불가한데, 인텔리전트 허브는 해당 PC를 자동으로 Isolation(분리)시켜 버림 )
 2. 더미 허브 ; 
 3. SemiIntelligent 허브 ; 일단 더미 허브인데 인텔리전트 허브와 연결하면 자기도 인텔리전트 허브가 되는 허브 
* 인텔리전트 허브와 더미허브의 큰 요소는 NMS를 통해 관리되어지는가에 대한 점
 ( Auto Partition의 경우 가끔 더미 허브에 있는 경우가 있음 ) 

#스태커블 허브 ; 인텔리전트 허브의 한 종류
 * 스택이 가능한 장비(Stackable) 와 단독형(Standalone) 장비 
 : 단독형 장비를 쌓아두어도 되지만, 둘의 차이는 스태커블형의 경우 서로간의 연결이 훨씬 효율적으로 설계됨
 - 스태커블끼리 연결시 백플레인(Backplane : 장비 간에 데이터 전송을 위해 연결된 일종의 고속도로) 이 훨씬 빨라지고 연결된 장비 중에 하나가 고장이 나도 다른 장비에 영향을 주지 않음 
( 혼자 있는  것보다 여러 대가 스택으로 연결되면 훨씬 더 좋은 성능을 발휘하도록 하는 것이 스태커블형의 특징 )
 - 단독형도 서로 연결이 안되는 건 아니지만 추후 확장을 생각지 않고 만들었기에 스태커블 장비에 비해 여러 기능이 없음  

# 허브의 한계 
 : 모든 PC들은 하나의 콜리전 도메인안에 있기에 어느 한 순간에 한 PC만이 데이터를 보낼 수 있음 = Shared 허브 
 - 10Mbps의 허브에 20대 PC를 연결했다면, 실제는 10Mbps를 20으로 나눈 만큼의 속도를 각자 사용하게 된다. 
( 물론 , 실제 네트워크 상에 계속 데이터를 주고 받는게 아니기에 속도가 그렇게 느리진 않음 
 - 한 번의 콜리전이 발생하면, 해당 허브에 연결된 몯느 PC들이 영향을 받음 

# 허브와 스위치의 차이 
: 허브는 연결된 모든 PC들이 같은 콜리전 도메인에 속해있지만, 스위치의 경우 해당 포트별로 콜리전 도메인이 나뉘어져 있음 

      ------------->

      ------------->      ------------->

      ------------->

허브 (Shared Ethernet) ; 한 번에 한 노드만이 보낼 수 있음.

    ------------->

    ------------->

    ------------->

  ------------->

  ------------->

  ------------->

스위치 (Switched Ethernet) ; 여러 개의 노드에서 동시 통신이 가능

- 허브는 스위치보다 싸다( but 스위치 가격도 많이 내림 ), 데이터 처리 속도가 일반적으로 스위치에 비해 빠름(들어온 데이터에 해줄 일이 많지 않기에  but 속도 차이가 아주 작은 차이임)
- 콜리전 도메인을 나눠주는 기능을 이용한 속도 향상은 기대할 수 없음 (허브나 스위치나 큰 차이가 나지 않음 )


브리지 / 스위치 ; 브리지 - 콜리전 도메인을 나누어주는 역할을 함  
( 중간에서 통신이 다리 한쪽에서만 일어나면, 다리를 못건나게 하고, 통신이 다리를 통과해야 가능하면 그때만 다리를 건너게 해줌 )
( 스위치는 브리지와 비슷한 역할을 함 )
 

# 브리지 / 스위치 하는 역할
 1. Learning, 배운다. 
 2. Flooding, 모르면 들어온 포트를 제외한 다른 모든 포트로 뿌린다. 
 3. Forwarding, 해당 포트로 건네준다.
 4. Filtering, 다른 포트로는 못 건너가게 막는다.
 5. Aging, 나이를 먹는다.

 1. 통신을 할 때, 브리지는 프레임을 받아 출발지의 맥 어드레스를 확인하고, 브리지가 관리하는 브리지 테이블에 정보를 써넣음
 2.  들어온 프레임이 찾아가는 주소가 브리지 테이블에 없다면 나머지 포트로 전부 뿌려줌 ( 들어온 포트 제외 )
 3. 브리지가 목적지 맥 어드레스를 자신의 브리지 테이블에 가지고 있고, 출발지와 목적지가 다른 세그먼트에 존재하는 경우, [각주:2]Forwading 발생. Forwading은 Flooding(2번)이 해당 포트쪽으로만 프레임을 뿌려줌 
 4. 출발지와 도착지가 같은 세그먼트에 존재시 브리지를 건너지 않아도 되기에, 다리를 막는다
( 이를 통해 콜리전 도메인을 나눠 줄 수 있음 = 양쪽 세그먼트가 동시에 통신이 가능해짐 ) 
 5. 어떤 맥 어드레스를 브리지 테이블에 저장하고 나면 그때부터 5분(defalt)뒤까지 그 출발지 주소를 가진 프레임이 들어오지 않으면 브리지 테이블에서 삭제됨 ( 그 안에 프레임이 온다면 타이머를 리셋하고 다시 카운트 함 = 리플레시 )
 *'어떤 프레임에 대해서 브리지를 열어줄 것인가 아니면 못 건너가게 막을 것인가'를 브리지가 관리하는 브리지 테이블을 보고 결정

# 브리지 / 스위치 하는 과정 
 브리지가 프레임을 접수 - 
브리지 테이블을 확인 
-> 맥 어드레스 존재시 Aging 타이머 리플래시 
-> 맥 어드레서 없을시 출발지의 맥 어드레스를 배움 
목적지 주소를 살핌 
->
 브로드캐스트, 멀티캐스트 , 브리지 테이블에 저장된 주소가 아니였다면 해당 프레임을 어디로 보낼지 결정하지 못하기에 해당 프레임이 들어온 포트를 제외한 나머지 모든 포트로 뿌림 
-> 브리지 테이블에 저장된 주소의 경우 
    -> 목적지 주소와 출발지 주소가 같은 세그먼트 상에 존재시(브리지 건너지 않아도 된다면), 다른 포트로 넘어가지 않도록 필터 
    링 한다.
    -> 목적지 주소와 출발지 주소가 다른 세그먼트 상에 존재시 브리지 테이블을 살펴 해당 포트를 찾고 그 포트로 프레임을 전달 

# 브리지와 스위치의 차이점
1. 스위치는 처리 방식이 하드웨어로 이루어지기에 소프트웨어적으로 프레임을 처리하는 브리지에 비해 빠름
2. 브리지는 포트들이 같은 속도를 지원, 스위치는 서로 다른 속도를 연결해줄 수 있는 기능을 제공 
3. 스위치는 브리지에 비해 제공하는 포트 수가 훨씬 많음
4. 스위치의 경우 cut-though, 또는 store-and-forward 방식을 사용하고, 브리지는 오로지 store-and-forward방법만을 사용

* 브리지와 스위치가 프레임을 처리하는 방식

스토어-앤-포워드(Store-and-forwarding)방식 : 스위치나 브리지가  일단 들어오는 프레임을 전부 잗아들인 다음 처리를 시작하는 방식 (에러 복구 능력이 뛰어남 - 모두 받아들이고 파악뒤 보내기에)
컷스루(Cut-through) 방식 : 스위치가 들어오는 프레임의 목적지 주소만을 본 다음 바로 전송 처리를 시작하는 방식
(에러 복구 능력이 부족 , 처음 48bit만 확인)
프래그먼트-프리(Fragment-Free) 방식 : 스토어-앤-포워드 방식과 컷스루 방식의 장점 결합
(전체  프레임을 다 보는 것은 아니지만 -> 스토어-앤-포워드 보다는 확인 시간이 적게 듬 , 48bit만 확인하는 것이 아니라 512bit를 확인합니다. -> 에러 감지 능력이 컷스루 보다는 우수) 

 

# Looping ; 프레임이 네트워크 상에서 무한정으로 뱅뱅 돌아 데이터 정송은 불가능해지는 상태, 브리지나 스위치 디자인을 잘못하여 발생하게 됨

두 호스트 사이에 스위치 또는 브리지가 두 개 있다고 가정 , 하나의 호스트에서 다른 호스트로 가는 경로가 두 개 이상 만들어 짐

왼쪽 브리지를 통해 가는길, 오른쪽 브리지를 통해서 가는길 -> 이런 구성은 하나의 경로가 끊어져도 다른 경로를 쓰기 위한 것,  이런 경우 루핑이 발생함 

if 호스트 A가 브로드 캐스트 패킷을 보냄
  -> 양쪽 브리지에 전달 (이더넷 특성상 같은 세그먼트에 있는 모든 네트워크 장비에 브로드캐스트가 전달됨 ) 
  -> 두개의 브리지는 패킷 분석 ( 브로드 캐스트 패킷임을 확인 & Flooding을 함 )
  -> 상대방쪽 세그먼트로 브로드 캐스트 패킷이 보내지면(양쪽다 다리를 건너게 된다면) 반대쪽으로 건너간 패킷들은 다시 같은 세그먼트에 있는 네트워크 장비인 브로지로 ( 건너온 브리지가 아닌 다른 브리지 ) 로 전달되어 다리를 건너오게 된다.  ( 브로드 캐스트 이므로 존재하지 않는 ip 주소인 경우 찾기위해 뱅뱅) 
이 과정이 반복되게 되면 한 번 발생한 브로드 캐스트 패킷이 양쪽 브리지를 통해 네트워크를 뱅뱅 돌게되는 이 현상이 루핑 

 브리지나 스위치에 목적지 까지의 경로가 두 개이상 존재하면 반드시 루핑이 발생, 이 루핑 현상을 막아주는 알고리즘[각주:3]스패닝 트리 알고리즘. (참고 ) 이더 채널[각주:4])

* 폴트 톨로런트(Falut tolerant)와 로드 밸런싱(Load balancing)
폴트 톨로런트 ; 네트워크 상에 어떤 문제가 발생할 때를 대비해 미리 장애 대비를 해놓는 것 (대부분 이중 구조 의미, 전체 네트워크가 하나의 지점에서 발생한 장애로 인해 영향을 받는 것을 방지하기 위한 대책 )
ex) 라우터가 두대 -> 라우터 한대가 죽었을 때를 대비해 다른 한 대를 가지고 있음 , 한 대가 죽었을 때 자동으로 다른 라우터가 기존의 역할을 수행하는 것 

로드 밸런싱 ; 로드를 분산하는 것 
ex)  하나 말고 두개의 인터넷 회선을 이용 두 라인중 하나 이용하기에 로드 분산, 하나가 끊어줘도 다른 것으로 이전 가능하기에 이 경우 로드 밸런싱과 폴트 톨러런트를 겸하는 것 

로드 밸런싱은 폴트 톨러런트가 가능, but 폴트 톨러런트는 로드 밸런싱이 안되는 경우도 있음 


# 라우팅 스위치 차이
; 스위치가 라우터보다 속도는 빠르다. 하지만 스위치로는 할 수 없는 기능들이 있다.
1. 브로드캐스트 
스위치의 경우 브로드 캐스트를 받으면 일단 flooding을 함, 통신시 상대방 맥 주소 찾기위해 ARP를 하는데 네트워크가 스위치로만 구성되어져있다면, 모든 스위치에서 flooding을 하여 (한 두명만 arp하는 것이 아니므로 ) 네트워크가 제대로 통신이 이루어 지지 않을 것 
-> 브로드 캐스트 영역(도메인)을 나누는 것이 중요 ( [각주:5]라우터의 기능 [각주:6])
2. 패킷 필터링
라우터는 불필요한 트래픽 전송을 막음
3. 로드 분배
여러개의 경로를 가지고 있어, 한 개의 경로를 이용하지 못하더라도 다른 경로를 이용할 수 있고, 한 경로의 트래픽이 증가시 다른 로드를 이용할 수 있음
4. Qos(Quality of Service) ; 프로토콜이나 데이터의 크기, 중요도 등 여러 상황에 따라 트래픽의 전송 순서를 조정

  1. *버스 ; 데이터가 날아다니는 길 [본문으로]
  2. 다른 세그먼트에 존재하는 경우란 브리지를 통해 건너가야 통신이 되는 경우를 말한다. [본문으로]
  3. 스위치나 브리지에서 발생할 수 있는 루핑을 미리 막기 위해 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로들을 자동으로 막아두었다가 만약 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘 [본문으로]
  4. 여러 개의 링크가 마치 하나의 링크처럼 인식되게하는 기술 [본문으로]
  5. 라우터의 경우 3계층 에 속하고, 스위치는 2계층에 속한다 [본문으로]
  6. 가끔 스위치도 이런 기능을 하는 것이 있지만 이것을 레이어 3 스위치라 함, 이또한 내부에 라우터를 붙여놓은 것과 같다 보면 된다. [본문으로]

'Net.cisco' 카테고리의 다른 글

[web] IP , Base256  (0) 2013.08.23
p.124 ~ p.142  (0) 2013.07.17