본문 바로가기

Kitri_NCS3기 보안과정/Network

170413 NAT & SWITCH

1. NAT


: 네트워크 주소 변경기술 ( IP 변환 )

공인 IP 부족으로 사용
보안상/ 경제상의 이유로 사용
네트워크 정보공개 x

종류 

static  : 
- 1:1 맵핑
- 외부 인터넷 접속시 유리(직접적으로 연결이 되야될 경우에 많이씀) (DNS , 메일서버)
- 호스트변화 없음
- 외부에서 사설망 접속시 사용

dynamic
- n:m 맵핑
- 사설망에서 인터넷 접속시 사용

pat

- 포트 주소를 사용하는 방법

- n:1 맵핑

- 다수의 사설 ip와 1개의 공인ip를 연결 

- 사용하지 않는 포트를 사용해서 호스트 포트번호 설정

- 외부에 내 아이피를 숨길 수 있다는 장점.

- Cisco 에서는 overload라는 이름으로 사용




2. SWITCH

 : MAC주소로 판별 

특징 
 - 2계층장비    
 - 하나의 boradcast domain (내부망사용처럼 같은 네트워크 영역 안에있다는말)
 - 포트별로 Collision domain 분할
 - 전송에러복구
 - MAC 주소 이용
 - 목적지로 데이터 전달
 - 포트 확장 기능
 - full wire
 - 사용중인 포트만 겹치지 않는다면 모든 동작이 동시에 이루어 질 수 있다.

SWITCH vs Router

 

 Switch

Router 

 기반

ASIC (Application-specific-Intergrated-Circuit)

CPU 

목적지 확인 

Mac address table 

Routing table , ARP-table 

목적지 모를 때

Flooding 

Drop 

 Table설정

 Administrator

Switch  



전송방식
1. Store and Forward
 - 확인 후 처리 , 복구 = 에러에 강함 → 느림 

2. Cut-through 
 - 확인안하고 바로 보내버림 = 문제대처능력 약함 → 빠름

3. Fragment- Free 
 - 위의 두 방식을 합침 
 - 앞부분 64byte 확인
 - 속도는 Store and Foward 보다 빠름
 - 안정성이 있다.(에러감지 좋음)


기능 

1. Learning - 배운다. MAC주소 인식하고 저장.

2. Flooding - 모르는 대상에대해 전달을 할 때 모두 뿌리는 기능

3. Forwarding - Learning를 통해 저장된 대상에게 전달하는 기능

4. Filtering - 목적지를 제외한 곳으로 전달하지않도록 걸러주는 기능

5. Aging - 일정시간이 지나면 지워지는 기능.


Transparent Bridging(protocol)

 - 목적지로 전달하는 방식 

 - MAC address table 생성 및 갱신

 - Learning, Flooding, Forwarding , Aging 과정 통합.

 



1) 초기 : 주소값을 아무것도 가지고있지않음

2) Learning & Flooding : a에서 c로 전달하려고 한다. 하면 a의 주소를 먼저 등록함. 그리고 나서 flooding 기능을 이용해 모두 뿌리고 나서 c 를 찾고 주소 저장(주소를 알 경우에는 forwarding이 바로 실행됨)

3) forwarding , filtering : 주소를 알경우에 전달을 하고 목적지 이외의 대상은 filtering 으로 제외시킴



STP(Spanning Tree protocol) 

: 프로토콜의 목적은 각 장치의 구성을 Graph(Loop가 있는 형태의 구성)이 아닌 Tree 형태로 만드는것에 목적이 있다.

예측가능한 Tree topology 를 제공함과 동시에 장애 발생시 대체경로를 자동으로 찾아 망을 스스로복구하는것이 목적이다.


  ※ Bridge LAN 환경에서 발생할 수 있는 Loop 방지 

스위치 하나를 사용할 경우 그냥 전달을 해주기 때문에 문제가 없다. 단 , 망가질경우 아예 사용못하는데 그래서 스위치를 다수 설치해서 다중경로를 설정해 한가지 포트가 망가지더라도 사용에 문제가 없도록 하려한다.  하지만 두 개를 사용하다 보면 스위치가 전달할 경우 flooding 기능을 실행 할 시에 서로간에 flooding 을 계속해서 주고받게 된다.  ( 이 동작을 Broadcast stroms 라고 함) 결과적으로 네트워크가 마비될것이거나 다른 경우는 서버에서 라우터로 전달할 때 스위치를 거쳐가는 길과 바로 전달하는 길이 있을경우 양쪽으로 모두 전달을 하는데 받는쪽에서는 두군데서 데이터가 오게 되는모양이 된다. 받는쪽에서 데이터수신시에 혼란이 생김 MAC주소에 대한 테이블등록에서 문제가 발생 할 수있다. 똑같은 데이터가 등록이되서 혼란을 준다던지, 경로상 어떤경로가 최적화됫는지도 혼란이옴. 

loop 가 없는 topology를 만들기 위한 STP의 동작순서


1. Root Bridge선정 

※ Root Switch 선출기준

1. Bridge ID 가 가장 낮은 Switch가 root switch로 선출

  ( Bridge id = bridge Priority + MAC address )

2. 우선순위 : 기본값 32768 > 설정하고싶으면 낮은 순서로 선출이 됨 .


2-1 Root 이외의 Bridge에서 각각의 root Bridge를 향하는 포트는 Root Port로 선정된다.

     (Root bridge를 대상으로 하기때문에 본인에게는 없다.)

2-2 Root Port를 Root bridge까지의 최소한의 경로비용이 드는 interface는 Designated Port로 선정된다.

2-3 Root와 Designated port는 Forwarding State(데이터를 송수신할수 있는 상태)로 그 외 (Alternate Port)는 Blocking state로 된다.


3. Root와 Designated Port를 활성화 시키고 나머지는 사용하지않음으로 loop가 없는 모양을 만들어준다.


결국 STP는 Root Bridge라는 동일한 목적지 까지 최단 경로를 찾는 거리 벡터 알고리즘이다.

Spanning tree protocol 특성

- 다중화에서 사용

- 스위치 자동설정

- 하나의 포트만 사용 , 나머지는 예비용으로 사용


상태

Port state

: STP방법에 따라 Bridge의 일부 포트는 활성화 나머지는 비활성화 시키는 상태


Disabled state

: 관리자의 설정에 의해 사용이 중지 되었어나 물리적으로 Link Down인 상태


Blocking state 

- 데이터 송수진하지않는 상태

- 상대층에서의 BPDU는 수신함


Forwarding state

: 프레임전달 기능 및 source MAC주소 외우기를 수행하는 상태


Listening state   

: Blocking state → Forwarding state로 가는중간단계

 프레임전달 및 MAC 주소 저장 수행하지않고 쉼 (loop형성을 방지하기위한 안전장치)


Learning state 

: MAC Learning 만 이루어지는단계. 모르는 대상에대한 flooding을 피하기 위함


아무런 설정이없다면 혹은 forwarding state의 정보를 잃었을 경우 각 상태(blocking → listening → Learning → Forwarding)를 지나 장애처리를 할 경우 50초가 걸림


보완대책

- Ether channel

: 두 스위치간 연결된 복수개의 포트를 하나의 포트처럼 대역폭 확장, 이중화

- Uplink fast

: 루트와 직접 연결된 링크가 다운되었을때 비활성화 되있는 포트를 즉시 활성화 시키는것.

  (root 에는 비활성화 되어있는 포트가 없기 때문에 사용할 수없다....보다는 사용하나 마나지)

- RSTP

: STP와 다르게 Blocking과 Listening상태를 사용하지 않는다.

- MSTP

: 복수개의 VLAN을 하나의 그룹으로 묶어 스패닝트리를 동작시킨다. VLAN 하나당 스패닝트리가 동작하므로 많은 수의 스패닝 트리를 계산(BPDU)할 필요가 없어 스위치의 부하를 줄임. MSTP사용시 RSTP 자동 활성




BPDU (STP 의 정보전달)

: 활성화된 topology가 변경되면 bridge가 알고있는 FDB(MAC 주소정보)는 사실과 달라질 수 있다.

따라서 FDB 정보를 갱신하고 새롭게 MAC 주소 정보를 수집하도록 만들어 주어야 한다.

 1. config BPDU

: 하나의 스위치를 root로 선출하고 그 스위치를 기준으로 데이터를 전송함

- root switch 선출

- 다른 스위치 포트의 역할 지정 

- root switch 생성

- 다른 switch 전달

- 다른 switch는 수신 및 중계

 2. TCN BPDU

- root switch 문제발생 혹은 Link 변화시(Forwarding state아닌 포트가 Forwarding으로전환될경우) 사용 

- Root switch에게 알림


BPDU는 링크가 다운되거나 새 링크가 추가되거나 새 스위치가 추가되거나 하는 등의 네트워크상의 변경이 발생하면 BPDU를 전송하여 정보를 공유하고 STP알고리즘을 유지시켜준다. 기본적으로 2초단위로 전송됨