관리 메뉴

웹개발 블로그

[8일차- 네트워크] 0423 본문

◆정보보안/네트워크

[8일차- 네트워크] 0423

쿠키린 2023. 4. 23. 11:59

FDDI : 광 케이블로 dual ring으로 항상 안정적으로 링을 primary ring, secondary ring으로 token이 순환하게 된다.          DAS를 사용해서 역방향으로 회전하게 하는 wrapping 기법을 사용한다. <=token pass 기법으로 부른다.

ATM :  ATM은 음성, 화상, 데이터를 동일한 매체를 통해서 전송하는 기법이어서 여러 종류의 데이터가 하나의 패         킷 속에 존재하게 된다. ATM은 WAN 프로토콜이다. ATM은 비동기식 데이터전송 방법을 사용하므로 어느          한 스테이션이 대역폭을 독점하지 못해서 다양한 형태의 데이터를 묶어서 전송할 때 최적이다. 
         이런 다양하고 큰 데이터를 즉시 보내기 위해서 패킷대신 53바이트의 일정크기를 가진 단위인 53Byte          셀(cell)  단위로 전송한다. 53Byte 중에서 48Byte가 데이터이고 나머지 5Byte는 ATM 헤더이다. 광 케이블         을 사용한다.
  여기서 사용되는 장비가 멀티플렉서(Multiplexer: 다중화기)와 컨센트레이터(Concentrator: 집중화기), 그리고 디스트리부터(Distributor: 분배기)이다. 이들은 로컬에서는 거의 보기 힘들고, KT, LG U+와 같은  ISP (Internet Service Provider)인 지역 전화국 CO(Central Office)에서 볼 수 있다.
=>WAN에서 주로 사용되는 ATM을 이더넷이나 토큰링으로 에뮬레이트(emulate)해서 LAN에서도 사용할 수 있도    록 한 것이 LANE인데 비용이 많이 들고 설정이 복잡해서 실용성은 없는 편이다.

▪ 콜리전(충돌) 도메인(collision domain)  
   서로 직접 연결되어 있어서 한 호스트가 데이터를 전송할 때 다른 호스트들과 다투어야 하는 호스트들의 논리적 그룹이다. 충돌 도메인이 클수록 대역폭이 줄어들므로 충돌 도메인을 나누는 것이 필요하다. 하지만 허브나 리피터는 단순히 연결 장치여서 아무 도움이 되지 못하고 스위치나 브리지로 충돌 도메인을 나눈다.
▪ 브로드캐스트 도메인(broadcast domain)
  같은 브로드캐스트를 받는 노드들의 논리적 그룹이다. 이 브로드캐스트 영역이 커져도 네트워크 효율이 나빠지므로 브리지나 스위치 장비를 사용해서 충돌 도메인을 작게 분리할 수는 있지만 여전히 이들은 하나의 브로드캐스트 도메인에 속하기 때문에 스위치나 브리지는 브로드캐스트 도메인을 분할 할 수 없고, 라우터로 브로드캐스트 도메인을 나눌 수 있다. 
=>일정 수의 호스트들로 연결된 네트워크에서 효율을 좋게한다면
a. 먼저 브로드캐스트 도메인의 크기를 줄이는 것을 생각할 수 있다. 
  이는 하나의 커다란 크기의 브로드캐스트 도메인을 쪼개서 여러 개의 작은 크기의 브로드캐스트 도메인으로 만든다는 것으로 각 브로드캐스트의 크기가 작아지므로 네트워크 효율이 좋게 된다. 예를 들어서 200대의 호스트가 있을 때(브로드캐스트 하나, 크기는 200), 여기에 라우터를 하나 넣어서 100대씩으로 분할하면(브로드캐스트 두개, 크기는 100씩) 효율이 두 배가 된다. 
b. 두 번째는 장래의 확장성까지 고려해서 근본적인 네트워크 설계를 새롭게 디자인하는 것이 좋을 수 있다. 예를 들어 10BaseT Bus 토폴로지를 100BaseT로 업그레이드해서 대역폭을 확장할 수도 있지만 나중에 노드가 또 추가되는 경우 확장성도 어렵고, 예전처럼 다시 느려지므로 근본적인 방법은 되지 못한다. 또 각 노드의 NIC와 CPU, RAM, 연결 케이블 등을 업그레이드하는 것도 방법이겠지만 역시 그때그때 땜질식으로 대응하는 것은 바람직하지 못하다.

  리피터
  Repeater는 이더넷 네트워크에서 케이블의 길이를 확장(신호를 증폭)하는 장치이다. 신호는 감쇄(attenuation)가 있어어서 이더넷은 100m를 넘으면 신호가 약해진다. 리피터의 단점은 지연(latency)이 있다는 것이다.
  Amplifier로 신호를 증폭하는 장치이지만 잡음(간섭)도 증폭하기 때문에 단점이 있어서 현재는 사용되지 않고 있다. 

  허브
  Hub는 신호를 증폭해서 거리를 연결시켜주는 리피터를 여러 개 묶어놓은 멀티포트 리피터로 보는 것이 가장 적절한 표현일 것이다.
Dummy Hub : 일반적인 허브, 입력 대역폭을 포트별로 나누어서 전송 
                   <- 스위치는 입력 대역폭을 각 포트가 모두 사용한다. 
Intelligent Hub : IP 주소도 가지고 있고 관리 소프트웨어를 넣어서 허브 이상의 역할을 한다. 5층 건물이라면 각                       층을 연결할 때 이 인텔리전트 허브를 사용하는 것이 좋다. <=여러 건물 동이 있는 대학 캠퍼스                      라면 브리지로 연결하는 것이 좋다.  각 강의실의 호스트들은 스위치로 연결하고, 학교 최 외곽에                       라우터를 연결해두면 된다. 그리고 위성 캠퍼스는 무선이나 VPN(전용/임대회선)으로 연결하면                       된다.  
Stackable Hub : 여러 개의 허브를 묶어서 사용하는 장비 

  브리지
  Bridge는 L2 장치로써 충돌 도메인을 반으로 줄여주는 장비이다. 브리징 테이블을 CAM(Content Addressable Memory:Cached Area Memory)에 가지고 있다. 
  브리지는 Learning, Filtering, Blocking, Flooding, Forwarding, 그리고 Aging 등의 과정을 통해서 프레임을 통제하는데 어느 포트가 Forwarding이거나 Blocking인 상태를 Converged(수렴) 상태이라고 부른다.

S : 하드웨어 기반으로 작동되므로 각 포트가 회선 속도만큼 빠르게 처리한다. ASICs(Application- Specific     Integrated Circuits) 모듈이 필요하다.
B : 소프트웨어 기반으로 구현되므로 스위치보다 느리게 처리한다. 
S : 10Mbps와 100Mbps LAN식으로 대역폭이 다른 LAN끼리 묶을 수 있다
B : 대역폭이 다른 LAN끼리 묶을 수 없다
S : 브리지보다 포트 밀도(포트에 물려있는 노드 수)가 더 높다. 포트가 몇 백 개가 될 수도 있다.
B : 2~4 포트 정도만 지원한다.
S : 데이터 전송 시 cut-through와 store-and-forward 스위칭을 모두 지원한다.
B : store-and-forward 스위칭만 지원한다.
S : 망분리를 위한 VLAN을 지원한다.
B : VLAN을 지원하지 못한다.
S : 통신 시 full-duplex로 작동될 수 있다.
B : full-duplex를 지원하지 못하고 half-duplex만 지원
S : Looping을 막기 위해서 여러 spanning tree 알고리즘을 지원한다.
B : 한 가지 spanning tree 알고리즘만 지원한다.
S : 동기종 토폴로지만 연결함
B : 이기종 토폴로지도 연결 가능함
S : 포트별로 충돌영역 분할
B: 좌우로 충돌영역 분할

  STP(Spanning Tree Protocol)
  브리지/스위치에서 빼놓을 수 없는 것이 브리지/스위치 간의 루핑(looping)을 막는 일인데 예를 들어 안전한 연결을 위해서 이중으로 두 스위치를 연결해두면 브리지/스위치 사이의 경로가 두 개가 되어서 업데이트 정보가 계속 순환되는 루핑이 발생한다. 이를 막기 위해서 스패닝 트리(Spanning Tree) 알고리즘을 사용한다. 
  브리지/스위치들끼리 BPDU(Bridge Protocol Data Unit)라는 메시지로 주기적으로 대화하는데 
'우선 순위(priority) ->MAC_주소 ->Path cost(연결 회선 값) ->포트_번호 순'으로 점검해서 제일 낮은 값을 가지는 포트를 루트 브리지/스위치로 선택하고, 루트 브리지/스위치로 도달하는 각 회선의 연결 포트를 활성화/비활성화 시켜서 어느 회선을 죽이거나 살린다. 대부분 모든 포트의 우선순위는 32,768로 정해져 있기때문에 우선 순위로는 포트에서 경쟁이 안 되므로 일반적으로 가장 낮은 MAC_주소를 가진 것이 루트 브리지/스위치가 되는 경우가 대부분이다. 포트가 열리는 것은 디폴트로 50초(MaxAge 20초+Listening 15초+Learning Forward Delay 15초)를 기다린 뒤 포트가 Blocking에서 Forwarding이 된다.
==>두 스위치 사이에 경로가 2개 있을 때 looping이 있으므로 STP 알고리즘으로 하나의 경로만 살리고 이 경로에 문제가 있을 때 죽어있던 다른 경로가 자동으로 살아나서 늘 두 스위치는 연결된다.

  root switch를 선택하는 이유는 네트워크 배치 상 라우터가 붙어 있을 최적의 효율적인 위치를 선택하는 데 있기도 하다. 각 스위치에 연결되어져 있는 노드들이 외부로 나깔 때 라우터를 통해야 하는데 최적의 빠른 경로로 라우터에 도달할 수 있도록 설계되어져야 할 것이다. =>Matric(path cost) cf. metrix(행렬)
=>각 스위치에서 root 스위치로 향하는 포트가 root port이고 실제 root 스위치에 있는 포트가 desingated port이다. 각 포트의 상태는 sh span 해서 알 수 있다. 

  라우터 스위치에서는 라우터/스위치가 인식할 수 있는 정도까지 명령어를 입력하면 자동으로 인식하고, Tab 키를 누르면 명령어를 완성해준다. <=Linux 명령어에서도 동일하다.
=>RSTP(Rapid STP) 
  RSTP는 네트워크 토폴로지가 변경되었을 때 컨버전스 타임을 줄여준다. STP와 똑같이 작동되지만 RSTP를 지원해주는 스위치(link-type p2p와 edge-type p2p)에서만 작동되고 허브(link-type shared) 기반에서는 작동되지 않는다. RSTP는 기존 STP에 비해 루트브리지에 이르는 경로를 대신해주는 Alternate Port와 Designated Port의 백업으로 사용되는 Backup Port 두 가지 기능이 추가되어서 STP에서 메인 라인이 죽었을 때 죽어있던 회선이 다시 살아서 메인라인이 되기 전에 이 백업이나 대안 회선이 바로 연결해준다.
=>Convergenced(수렴되었다), convergence time(수렴시간)은 네트워크상에서 시스템, 토폴로지 등에 변경이 있을 때 모든 노드들이 이를 인식했을 때의 상태와 그 때까지 걸리는 시간을 말한다. 이 시간을 빠르게 설정하면 실제 데이터 전송에 소요되는 대역폭보다 신호 전송에 소요되는 대역폭이 많아서 네트워크 효율이 떨어진다.
=>Routing protocol RIP은 heart beat를 듣기 위한 hello packet을 90초, 180초, 270초로 보내서 서로 alive 여부를 판단한다. 

  스위치/라우터에서는 장비의 상태를 불빛으로 판단하기도 하는데
모드 설명
STAT 모드 이 모드는 링크 상태 식별로써 LED가 잘 켜져 있으면 포트의 링크가 활성화 된 상태인데 녹색 이면 포트가 잘 동작 중이고 주황색이면 링크 연결에 문제가 있고, 빨간색이면 죽어있는 것이 다. 
UTL 모드 이 모드는 대역폭 상태 식별인데, UTL LED의 1/3이 켜져 있으면 1924 모델인 경우 대역폭이  6MB이고 1912인 경우엔 1.5MB 이내이다. 또 1/2이 켜져 있으면 사용률은 1924의 경우  120MB 이내이고 1912는 20MB 이내이다. 모두 켜져 있을 때에는 스위치의 대역폭 전부가 사 용되고 있는 것으로써 1924는 280MB, 1912는 120MB이다. 
FDUP 모드 이 모드는 동작 모드 식별인데 전이중으로 동작하고 있을 때에는 모든 포트에 불이 켜진다. 전 중은 포트에 한 노드만 연결되어 있고 스위치와 노드가 모두 전이중을 지원하는 경우에만 사 용될 수 있다. POST(Power On Self Test), 포트 루프백 등의 기능으로 부팅 시 자체 테스트를  수행하므로 이들 중에 문제가 있으면 표시되고, 치명적인 오류로 인해 POST가 실패하면 포트  LED는 주황색이 되고 시스템 상태 LED도 주황색이 되는데 시스코의 설명서를 보면 어디서 고 장인지 가려낼 수 있다. 만일 포트 번호4가 주황색이면 콘솔포트의 문제이다.

  스위치가 데이터를 처리하는 방법에는 다음처럼 4가지가 있다.
기법  설명
스토어 앤 포워드 (store-and-forward) 이 스위칭 방식은 전체 프레임을 모두 받아서 버퍼에 임시 저장한 뒤  CRC 에러 체크를 수행해서 이상이 없을 때 포워드시키고 이상이 있거나 프레임 크기가 64바 이트 이하 혹은 1,518바이트 이상이면 버린다. 버퍼링에 저장했다가 전송하므로 지연이 좀 큰  편이라서 10MB와 100MB 사이의 스위칭 시 사용되는 기법인데 프레임에 필터링을 걸 수 있 는 장점도 있다. 
컷 쓰루 (cut-through) 이 스위칭 방식은 프레임 헤더에서 목적지 주소만 보고 즉시 전송한다. 때문에  지연이 거의 없지만 불량 프레임도 포워드 할 위험이 있다는 점과 필터링을 걸 수 없다는 단 점이 있다. 
프래그먼트 프리 (fragment free) 이 스위칭 방식은 수정 컷 쓰루(modified cut-through)로도 불리는데 대부분  손상된 프레임은 처음 64Byte까지에서 발생한다는 데서 착안한 기법이다. 처음 64바이트가  도착할 때까지 버퍼에 저장한 뒤 검사해서 이상이 없으면 전송해버리는 기법이다. 일단 처음  64바이트가 정상이면 정상 프레임으로 판단해서 포워드시킨다는 것이다. 
하이브리드 (hybrid) 이 방식은 일부 스위치에서 사용하는데 평소에는 컷 쓰루 방식으로 사용하다가 미리  정해놓은 에러 한계치를 넘으면 자동으로 스토어 앤 포워드 방식으로 전환했다가 또 다른 한 계치에 닿으면 다시 컷 쓰루로 돌아가는 기법이다.

L2 Switch : 오리지널 스위치(Dummy switch) 
L3 Switch : Routing Switch라고 하는데 원래 스위치는 L2 장비인데 속도가 빠르므로 속도가 느린 라우터 기능을               겸하게 한 스위치
L4 Switch : Contens Switch라고 하는데 여러 서버에 콘텐츠를 보낼 때 최적화 해서 데이터를 분산해서 보내                       는 스위치(load balancing)
L6 Switch : Multimedia Switch라고 하는데 멀티미디어를 빠르게 스트리밍해주는 스위치
L7 Switch : Application Switch라고 하는데 CDN(Content Delivery Network)에서 사용된다. 

  라우터/스위치를 부팅하면 Bootstrap(RomMON) 창이 뜨는데 설정 모드라고 한다. 
  여기서 해당 라우터/스위치의 정보를 알 수 있는데 
▪ IOS (tm) PT3000 ~ 운영체제, 
▪ PT 1001 (PTSC2005) processor ~ CPU 정보, 
▪ 60416K/5120K bytes ~ 60M DRAM, 
▪ 4 FastEthernet ~ 4개의 내부용 fast ethernet 인터페이스, 
▪ 2 Low-speed serial(sync/async) ~ 2개의 외부용 serial 인터페이스, 
▪ 32K bytes of non-volatile ~ 구성파일을 저장하는 비휘발성 메모리(NVRAM) 32K
▪ 63488K bytes of ATA CompactFlash ~ 63M 플래시 메모리(HDD 역할) 63M가 보인다. 
  여기서 
▪ Flash memory는 하드디스크 역할을 해서 운영체제(IOS)를 저장하고, 
▪ Non-Volatile memory(NVRAM: 비휘발성 메모리로 전원이 없어도 하드 디스크처럼 데이터 저장가능)에는 시작     설정(startup-configure)이 저장되고, 
▪ DRAM은 현재 설정(running-configure)을 저장하는 메모리이다.
▪ ROMMON이라는 안전 모드의 ROM, 그리고  
▪ Buffer라는 보조 메모리 역할이 있다.
  라우터나 스위치가 시작되면 Flash memory의 IOS 운영체제와 NVRAM의 startup-configure 구성파일이 DRAM에 올라가서 실행되게 된다. 

  스위치/라우터를 부팅해서 볼 수 있는 모드는 
▪ 설정(bootstrap, rommon) 모드 : 운영체제, RAM, CPU, Interface 정보, .... 등이 보임
▪ 사용자(user) 모드 : Switch> 일부 제한적인 작업 수행 <= enable 입력
▪ 관리자(privilege) 모드 : Switch# 관리자적 작업 수행 <= configure terminal 입력
▪ 전역설정(global) 모드 : Switch(config)# 여기서 설정하면 라우터/스위치 전반에 적용되는 설정 <= interface fa0/1 입력
▪ 지역설정(local) 모드 :  Switch(config-if)# 특정 인터페이스에서의 설정
   등으로 진행된다. 

  그리고 명령어 조작에서 
▪ 한 단계를 벗어난다면 exit 하면 되고, 
▪ 한꺼번에 관리자 모드로 돌아간다면 end(Ctrl+z)해주면 되고,
▪ 모든 설정 확인은 관리자 모드에서 수행하는데, 어느 위치에서든지 do를 앞에 붙이면 관리자 모드에서 실행하지 않아도 된다. =>do show int fa0/0
▪ 명령어 자동완성은 명령어의 일부를 입력하고 Tab 키를 누르면 완성된다. 하지만 시스템이 인식할 수 있는 정도까지만 입력해도 문제는 없다 : enable =>en, configure terminal =>conf t 
▪ 명령어를 일부만 알고 있으면 
  =>sh? : sh로 시작되는 명령어들을 보이고 
      sh ? : sh 다음으로 붙을 수 있는 명령어들을 보인다. 
▪ 위쪽 방향 화살표를 누르면 이전 명령어가 반복된다.

  스위치는 L2 장비이어서 노드들의 MAC 주소만 있으면 서로 통신된다. 하지만 관리 목적으로 IP 주소(반드시 VLAN 1에 주어야 한다)와 default gateway 주소를 줄 수도 있다. 
  =>스위치 장비에 노드를 연결하면 자동으로 하나의 LAN가 되는데 이는 이들 자동으로 VLAN 1에 속해있기 때문이다. 

라우터 
1) 브로드캐스트를 LAN에서 외부 WAN으로 내보내지 않는다(통과시키지 않는다).
2) 서로 다른 네트워크를 묶는다. <- 네트워크가 다르면 반드시 라우터가 있어야 한다.
3) route(루트)에서 나온 단어 이므로= router는 경로를 찾아주는 역할을 한다.

  스위치, 라우터, 브리지에는 CAM 메모리가 있는데 
스위치, 브리지에서는 포트에 연결된 노드들의 MAC 주소 정보가 저장되어 있고, 
라우터에서는 이웃한 라우터에 이르는 경로 정보가 저장되어 있다.  

IP_주소에서 192.168.100.0/24, 10.10.10.0/30식으로 표시된 것에서 /24, /30을 CIDR 표기법이라고 하는데 IP_주소32비트에서 네트워크 비트 수를 말한다. /24는 서브넷 마스크가 255.255.255.0이고 /30은 서브네팅되어서 255.255.255.252가 된다. <=서브네팅에서 알아 볼 예정!!
 
  라우터끼리 서로 경로를 알려면 Routing Table이 있어야 한다.
routing protocol : 경로를 찾아주는 프로토콜 =>rip, ripv2, ospf, eigrp 가 있고
routed protocol : 찾아진 경로로 데이터를 전송하는 프로토콜 =>ip, ipx, appletalk 가 있다. 
=>라우터에서 라우팅 테이블을 보는 명령어가 sh ip route 이다. 

  케이블링에서 
homo(동기종) : 같은 레이어의 장치(router-router, switch-switch, switch-pc, ....)끼리 연결할 때 cross-over 케이블링으로 하고 
hetero(이기종) : 다른 레이어의 장치(router-switch, switch-pc, ...)끼리 연결할 때 straight-thru 케이블링으로 해준                     다. 

'◆정보보안 > 네트워크' 카테고리의 다른 글

[12일차-0507] 네트워크  (0) 2023.05.07
[11일차-0506] 네트워크  (0) 2023.05.07
[10일차-네트워크] 0430  (0) 2023.04.30
[9일차-네트워크]0429  (0) 2023.04.29
[7일차 - 네트워크] 0422  (0) 2023.04.22