[네트워크 구성 및 관리]중간고사 시험 정리

류명운

·

2014. 10. 15. 17:10

반응형

*라우터와 컴퓨터-cross over케이블 / 허브나 스위치와 컴퓨터-straight케이블

장비계층

허브, 리피터->1계층

브릿지,스위치->2계층

라우터->3계층


5. Access Control Lists(ACLs)

1. ACL 이란

내부의 사용자들이 필요한 서비스에 충분히 접근할 수 있도록 허용하여야 할 뿐 아니라 원하지 않는 외부로부터의 접근을 거부할 수 있어야만 한다. 이러한 작업을 하기 위해 사용되는 것이 바로 ACL이다.

Permit(허용)/Deny(거부)에 대한 리스트의 집합이다.

ACL을 통하여 트래픽을 관리하고 네트워크를 안전하게 관리할 수 있다.

Global Configuration Mode에서 만들 수 있으며 표준, 확장, IPX AppleTalk 등의 ACl 종류가 있다.

Standard IP(표준) : 1-99

Extended IP(확장) : 100-199

AppleTalk : 600-699

원하는 프로토콜(IP, IPX, AppleTalk)에 대해 ACL을 각각 생성할 수 있다.

또한 라우터에 IN/OUT 트래픽에 대해서 프로토콜 당 ACL을 각각 생성할 수 있다.

라우터에서 허용하는 ACL의 개수는 메모리가 허용하는 한 제한이 없다.

같은 번호로 이루어진 Access list는 하나의 그룹으로 묶여서 적용된다.

ACL만드는 방법

1.

ACL 작동순서

1. 라우터의 인터페이스로 들어오는 또는 나가는 패킷과 첫 번째로 기술된 Access List의 조건을 검사한다

2. 만약 조건이 일치하면 ACL에서 기술한 'Permit'또는 'Deny'를 수행한다

3. 조건이 일치하지 않는다면 다음 ACL에 대하여 조건을 검사한다.

4. 검사 결과에 따라 2또는 3을 수행한다.

5. 마지막 ACL에서도 조건이 일치하지 않는다면 이 패킷은 'Deny'로 간주하여 버린다.


Standard IP Access Lists (표준 ACL)

라우트될 패킷의 Source Address를 검사한다. ->'Permit'으로 결정 나면 패킷을 Out Interface를 통해 라우트한다.

네트워크 또는 서브넷, 호스트 주소에 대한 접근을 'Permit'또는 'Deny'를 결정하게 된다.

Access-list명령

access-list access-list-number {permit/deny} source-address [source-wildcard-mask]

  • access-list-number : ACL의 종류를 구분하기 위한 것 1~99
  • source-address: 검사할 패킷의 source address가 파라미터의 값과 일치하는지의 조건에 해당
  • source-wildcard-mask: 조건에 해당하는 source address가 하나가 아닌 네트워크나 서브넷과 같이 여러 개인 경우를 위해 사용한다.

Wildcard mask

32비트로 서브넷 마스크와 비슷하게 0과 1의 연속으로 이루어졌지만, 0과 1의 의미가 서로 반대이다.

0이 있는 부분의 IP address부분은 검사되어야 할 부분이며 1이 있는 부분은 어떤 수로도 대치할 수 있다.

ex)165.90.0.0 ~ 165.90.255.255

165.90.0.0 = 10100101.01011010.00000000.00000000

165.90.255.255 = 10100101.01011010.11111111.11111111

Wildcard mask -> 00000000.00000000.11111111.11111111(검사해야될부분)

= 0.0.255.255

들어오는 패킷과 source-wildcard mask의 계산 값이 source-address와 source-wildcard mask의 계산값과 같으면 permit

'access-list 10 permit 165.90.0.0 0.0.255.255'


ex)165.90.0.0~165.90.255.255 중 홀수의 IP는 모두 차단하기

165.90.0.1=10100101.01011010.00000000.00000001

홀수의 특징은 마지막 바이트의 마지막 비트의 값이 1로 고정되어야 한다는 것

->Wildcard mask=00000000.00000000.11111111.11111110


Any -> 0.0.0.0 255.255.255.255 any로 줄여 쓸 수 있음 (모든 IP address를 다 포함한다/모든패킷)

  • ex)access-list 10 permit 0.0.0.0 255.255.255.255 == access-list 10 permit any

Host -> 158.90.3.5 0.0.0.0host 158.90.3.5 로 줄여 쓸 수 있음(이놈 하나만 포함 한다는 것)

  • ex)access-list 10 permit 158.90.3.5 0.0.0.0 == access=list 10 permit host 158.90.3.5

삭제-> no access-list access-list-number


Standard IP ACL 만들기

RouterA(config)#access-list 10 deny host 168.90.30.240

RouterA(config)#access-list 10 permit any *필수 위의조건이 끝난 나머지는 허용하게


Access-group

다 만들어진 Access List를 해당 인터페이스와 연동시키는 명령은 Interface Mode에서 작동한다

{protocol} access-group access-list number {in/out}

protocol : 처리할 패킷의 프로토콜 종류

access-list-number : access-list 명령에서 정의한 번호

in/out : 해당 인터페이스로 들어오는 트래픽에 적용할 것인지(in) 나가는 트래픽에 적용할 것인지(out)

RouterA(config)#interface s0/0

RouterA(config-if)#ip access-group 10 in

설정한 IP access list를 보기 위해서는

RouterA#show ip access-list 10



Extended IP Access Lists (확장 ACL)

Standard IP ACL은 Source Address에 의해서만 트래픽을 필터링 하는데

Extended IP ACL은 더 상세하고 유연한 제어가 가능하므로 Standard보다 자주 쓰인다.

  • Source Address
  • Destination Address
  • Protocol 종류
  • Port 번호를 가지고 트래픽을 필터링 한다.

Extended ACL의 Access List만드는 과정

트래픽이 들어오면

  • 1. Source Address 검사
  • 2. Destination 검사
  • 3. Protocol과 Port번호 검사하여 만족하면 Permit 또는 Deny


access-list access-list-number [permit/deny] protocol source-address source-wildcard-mask destination-address destination-wildcard-mask operator port

  • access-list-number : Extended ACL에서는 100~199까지 사용
  • permit / deny : 호스트나 네트워크의 트래픽을 차단할지 허용할지 결정
  • protocol : IP와 ICMP, IGRP, TCP, UDP 등의 프로토콜
  • source-address
  • source-wildcard-mask
  • destination-address
  • destination-wildcard-mask
  • operator : protocol에서 기입한 포트번호에 대한 비교 연산을 위한 것
    • gr : grater than(크다)
    • lt: less than(작다)
    • eq : equl
    • neq : not equl
  • port : TCP 또는 UDP에서 사용하는 포트 번호로 상세한 응용 프로그램의 트래픽에 대한 필터링을 가능케 함 / 필터링 할 Protocol의 값을 TCP로 하였으면 TCP를 사용하는 응용 프로그램의 포트 번호를 사용하고 UDP로 하였으면 UDP에서 사용하는 포트 번호를 사용한다.

ex) Access-list 110 deny tcp host 148.90.89.2 any eq www(http 80)

->148.90.89.2의 호스트에서 보내는 TCP를 사용하는 Web 트래픽을 모두 차단하여라

Protocol종류

tcp(6)->www(http:80), ftp(21), telnet(23)

udp(17)->domain(dns:53),snmp(161),tftp(69)

icmp(1)->echo(ping)

igrp(9)


access-group

  • IP당 하나, IPX당 하나 AppleTalk 당 한 개의 ACL을 허용한다.
  • 해당 Protocol마다 각각 한 개 이상의 ACL을 적용할 수 없다.
  • 한 방향 당 한 프로토콜에 하나의 ACL만을 허용한다.

ex) Q. RouterA에서 168.90.20.0 네트워크로부터 오는 트래픽 중 UDP 트래픽을 차단하고 TCP 트래픽 중에서는 텔넷 트래픽만을 차단하고 나머지는 허용하려 했을 때 access list를 만들어 보시오.

A. RouterA(config)#access-list 101 deny udp 168.90.20.0 0.0.0.255 any

RouterA(config)#access-list 101 deny tcp 169.90.20.0 0.0.0.255 any eq telnet

RouterA(config)#access-list 101 permit ip any any


access-group적용하기

RouterA의 s0/0에 access list를 적용하여 트래픽을 필터링 해보시오.

RouterA(config)#int s0/0

RouterA(config-if)#ip access-group 101 in

RouterA의 fa0/0에 access list를 적용하여 트래픽을 필터링 해보시오.

RouterA(config)#int fa0/0

RouterA(config-if)#ip access-group 101 out


test1. RouterB에서 HostC로 가는 트래픽 중 FTP 트래픽은 차단하고 네트워크 168.90.10.0 네트워크로 가는 트래픽 중 ping 트래픽을 차단하고 나머지는 허용하려 한다.

RouterB(config)#access-list 101 deny tcp any host 168.90.30.30 eq ftp(ftp의 프로토콜은 tcp)

icmp

RouterB(config)#access-list 101 permit ip any any

RouterB(config)#int fa0/0 //인터페이스에 그룹 적용

RouterB(config-if)#ip access-group 101 in //방향은 들어오는 걸로 적용

test2. RouterC에서 HostB로 가는 트래픽 중에서는 DNS 트래픽을 차단하고 나머지는 허용하는 access list를 만들어 보시오.

RouterC(config)#access-list 110 deny udp any host 168.90.20.30 eq domain

RouterC(config)#access-list 110 permit ip any any

RouterC(config)#int fa0/0

RouterC(config-if)#ip access-group 110 in


ACL의 위치

ACL은 원치 않는 트래픽의 접근을 차단하기 위해 사용한다. ACL을 적용할 떄 마지막으로 고려해야 할 사항은 ACL의 적용 위치이다. 위치에 따라서 트래픽을 효과적으로 차단할 뿐 아니라 불필요한 트래픽이 네트워크로 전송되는 것을 막을 수 있다.

Standard ACL-> 가능한 목적지에 근접한 곳

Extended ACL -> 근원지에 근접한 곳(불필요한 트래픽이 목적지까지 도달하는 데 네트워크 자원이 낭비되는 것을 막기위해)


Named IP ACL

Named IP ACL은 Access list에 번호대신 이름을 부여하는 것이다

  • 영어와 숫자로 구성할 수 있고
  • named ACL을 만들 수 있는 수는 Access list처럼 라우터의 메모리가 허용하는 한 제한이 없다
  • named ACL은 Access list 또는 Access group의 삭제나 재구성 없이 Access List의 수정이 가능하다.

적용법 -> ip access-list {extended/standard} name

->{permit/deny} protocol source-address source-wildcard-mask destination-address destination-wildcard-mask operator port

ex) RouterA에서의 Access list를 namedACL 해보자

RouterA(config)#ip access-list extended RouterBacl

Router(config-ext-nacl)#deny tcp 168.90.20.0 0.0.0.255 any eq telnet

->네트워크 168.90.20.0으로부터 오는 텔넷 트래픽을 모두 차단하여라

RouterA(config-ext-nacl)#deny udp 168.90.20.0 0.0.0.255 any

->네트워크 168.90.20.0으로부터 오는 udp 트래픽을 모두 차단하여라

RouterA(config-ext-nacl)#permit ip any any

->그 외의 트래픽은 모두 허용하라

RouterA(config)#interface fa0/0

RouterA(config-int)#ip access-group RouterBacl out



라우팅이란? 라우터에서 수신한 패킷을 목적지 네트워크로 전송하기 위한 최적의 경로를 설정하고 목적지로 전송하기 위해 라우터가 수행하는 절차이다.

6. OSPF(Open Shortest Path First) 라우팅 프로토콜

다른 라우팅 프로토콜처럼 IP 패킷으로 정보를 교환하며(인터페이스에 대한 링크스테이트를주고받음)

IP 패킷 안에 프로토콜 넘버 89로 OSPF 정보인지 구분한다.

89-OSPF

6-TCP

17-UDP


OSPF의 특징

Convergence Time ->OSPF(짧음)

VLSM(Variable Length Subnet Mask) 지원 ->IP classless가 가능(서브넷팅)

네트워크 크기 제한->RIP의 경우 최대 15홉 까지만 가능하지만 OSPF의 경우 이런 제한이 없다.

네트워크 대역폭 활용 ->멀티캐스트 사용(훨씬 경제적)

경로 결정 - 많은 관련요소를 합쳐서 경로를 선택


OSPF와 RIP의 차이점

OSPF

RIP

Convergence Time

Convergence Time이 짧다. 변화가 생기면 즉시 전달(큰 네트워크에 적합)

Convergence Time이 길어서 불안정하다.

VLSM의 지원

VLSM을 지원한다(서브넷팅이 가능하다)

RIPv1의 경우 VLSM을 지원하지 않는다

네트워크 크기 제한

네트워크 크기에 제한이 없다

네트워크 크기가 최대 15홉 밖에 안된다.

네트워크 대역폭 활용

변화가 있을 때만 멀티캐스트로 날아가므로 훨씬 경제적이다

30초다마 브로드캐스트 트래픽 발(대역폭 낭비가 많다)

경로 결정

많은 관련요소를 합쳐서 경로를 선택한다.

홉 카운트만을 고려한다.


OSPF가 적용되는 토폴로지

브로드캐스트(BMA) -> 네트워크 상의 모든 라우터에서 정보를 받는 구조

멀티캐스트(point-to-multipoint)->보내고자하는 그룹멤버에게만 지원 스위치나 라우터가 지원

Point-to-Point-> 기본적으로 설정되어 있는 모드. 1:1로 트래픽을 보내는것? *디폴트가 32bit 이다.

NBMA(non-broadcast)->하나의 인터페이스(서브)에서 여러 라우터와의 연결을 지원/브로드캐스트x (하나의 패킷을 모든 라우터에 한번에 전달할 수 없다) / DR, BDR 선출이 필요하다->수동으로 선출해야됨


OSPF의 Neighbor(이웃) 찾기

OSPF에서 라우터는 주위에 있는 OSPF 라우터를 찾아서 자신의 데이터베이스 안에 저장하는데 이런 라우터들을 neighbor(이웃)이라고 한다.

ex) 라무터A - 172.16.5.1/24 라우터B - 172.16.5/24

1) Down State 과정

  • 라우터 ID와 함께 보냄(OSPF에서 서로를 구분하는 이름으로 사용-라우터의 IP주소 중 가장 높은 주소)
  • 처음에 라우터가 켜지면 이웃 라우터를 찾기위해 멀티캐스트 주소 224.0.0.5를 사용하여 hello 메시지를 보냄(브로드캐스트가 아니므로 OSPF라우터가 아닌 장비는 받지 않음)
    • BMA, Point to Point : 10/40초
    • NBMA :30/120초

2) Init State 과정(초기화상태)

  • hello 메시지를 받은 라우터(라우터 B)는 라우터 A를 자신의 neighbor list에 추가
3) Two-Way State 과정(양방향상태)
  • 라우터 A에게서 Hello 메시지를 받은 OSPF 라우터들이 자신들의 정보를 유니캐스트로 보낸다. 라우터 A는 이 정보를 자신의 neighbor list에 넣어 관리한다.
*유니캐스트 - 1:1통신 방법으로 특정 목적지의 주소 하나만 가지고 통신하는 방법
*neighbor list - 이웃리스트


OSPF 이웃의 조건(같아야됨)
  • Hello/dead intervals - 보통 10초
  • Area-ID - OSPF가 설정된 인터페이스가 소속된 Area ID
  • password
  • Stub area flag - Stub Area라는 특정 Area종류를 말함


Router ID, DR IP address(대장), BRD IP address(부대장)

OSPF에서는 네트워크의 책임을 지는 DR(Designated[지정된] Router)와 BDR(Backup Designated Router)를 선출한다.

OSPF에 참여하는 라우터들은 DR과 BDR에 자신의 link state를 알린다. (모든 라우터에 알릴 경우 트래픽이 낭비가됨/link state의 sync을 올바로 관리하기위함)

DR - OSPF에 참여하는 라우터들의 link state정보를 관리하고, 항상 일치시키는 역할을 수행함

BDR - DR이 업무를 제대로 수행하는 지를 관찰하다가 DR에게 문제가 발생하면 바로 DR의 역할을 수행홤.


BD과 BDR의 선출

1. 우선순위가 높은 라우터(라우터의 우선순위는 기본적으로 1이다)

2. 우선순위가 같다면 라우터 ID가 높은 라우터(라우터의 ip주소 중 가장 큰주소가 id가됨)

* BD 선출이 끝난 후에 우선순위가 높은 라우터가 추가되면 -> 다음 선출 때에 참여 가능

* 특정 장비가 DR이나 BDR에 참여하지 않게 하려면 우선순위를 0으로 설정하면된다.

* 라우터 인터페이스의 주소가 잦은 변경이 일어나면->라우터ID가 자주 변경->주변의 OSPF 라우터들이 정보를 수집해야 됨. 이를 막기 위하여->loopback 인터페이스를 설정할 수 있다. (이 인터페이스는 절대 다운되지 않으므로 주소의 높고 낮음에 관계 없이 무조건 이 주소가 라우터 ID가 된다)

  • 이미 라우터 ID가 배포된 후라면 즉시 loopback주소가 라우터 ID로 변경되지 않는다


OSPF의 링크 변화 업데이트(링크가 하나 꺼지면 즉시 알려줌)

1)라우터가 처음 켜지거나 OSPF 라우팅이 새로 구성되면 Hello 패킷을 받고 이 때 DR과 BDR의 주소를 알게 된다.

2)새로 들어온 라우터는 자신이 갖고 있는 링크 정보를 LSA(Link-State Advertisement)에 담아 모든 DR과 BDR에게 전송한다. ->멀티캐스트 주소 224.0.0.6(neighbor과정에선 224.0.0.5)이며 이과정을 LSU(Link State Update)라고 한다)

3)DR은 LSA 정보멀티캐스트 주소 224.0.0.5를 이용해서 다른 모든 OSPF 라우터에게 전송한 후 DR은 라우터들로부터 Ack을 받아 응답확인을 한다

4)이 때 타이머가 끝날 때까지 DR이 LSA정보를 다른 라우터에게 전달하지 않는다면 BDR이 DR이 되고 Hello 패킷을 이용해서 BDR을 새로 선출하게 된다.

5)만약 OSPF 라우터에서 자신이 갖고 있는 링크가 끊기면 즉시 그 정보를 DR에게 알리고 DR은 그 LSA정보를 모든 OSPF에게 전송한다. 새로운 정보를 받은 라우터들은 그 LSA정보를 다시 가까운 네트워크 flood해서 업데이트하게 된다.


OSPF의 네트워크 구성

1)라우터에 OSPF를 enable한다

router ospf process-id

-process-id : 한 라우터에서 OSPF를 여러 개 돌릴 때 그 프로세스를 구별하기 위해 사용된다. id 값은 다른 라우터와 꼭 일치시킬 필요는 없으며 해당 라우터에서만 구분가능하면 된다.

2)OSPF에서 사용할 네트워크를 정의한다

network address wildcard-mask area area-id

Address: 네트워크 주소

Wildcard-mask: 네트워크 주소에 맞는 wildcard mask

Area-id: ospf가 동작하는 area의 id로, ospf는 전체 ospf 영역을 작은 area 단위로 나누고 그 영역안에 있는 라우터끼리만 우선 링크 정보를 업데이트하고 다른 area와의 통신은 영역 사이에 있는 라우터가 정보를 전달하도록 하는 방식이다. 기본 백본 영역은 area 0이다.

ex) 다음을 구성해 보아라

RouterA(config)#router ospf 100

RouterA(config-router)#network 172.16.10.0 0.0.0.255 area 0

RouterA(config-router)#network 192.168.12.0 0.0.0.15 area 0

RouterB(config)#router ospf 100

RouterB(config-router)#network 192.168.12.0 0.0.0.15 area 0

RouterB(config-router)#network 192.168.23.0 0.0.0.15 area 0

RouterC(config)#router ospf 100

RouterC(config-router)#network 192.168.23.0 0.0.0.15 area 0

RouterC(config-router)#network 172.16.30.0 0.0.0.255 area 0


sh 메시지로 확인하는 법

sh ip protocols: ospf의 administrative distance값이 110인거와 router ID를 알 수 있다.

sh ip route: 라우팅 테이블을 보여준다

sh ip ospf interface: 각 인터페이스의 ospf 동작 방식을 알 수 있다.

sh ip ospf neighbor: neighbor list를 보여준다.



8. 2계층 스위치

스위치란? - 고속의 Full-duplex 가능 / 하드웨어로 구현 / 몇백개의 포트 지원

오늘날 LAN을 설계할 때 더 이상 허브(1계층)나 브리지(2계층)를 사용하지 않는다. 기존의 허브나 브릿지 그리고 Ethernet의 Half-duplex 방법으로는 고속의 사용자 요구를 충족시킬 수 없기 때문

스위치는 2계층 장비임 - MAC 주소를 사용하여 프레임을 필터링 하는 역할을 한다.

소프트웨어로 처리하는 브리지와는 달리 필터링 테이블을 하드웨어 기반의 ASIC을 사용하여 고속의 처리가 가능

중앙집중적인 연결을 제공->워크스테이션이나 PC가 스위치에 직접 연결되므로 스위치까지 대역폭을 100%활용하는 wire speed로 서비스 가능.

스위치는 두 포트간의 프레임을 스위칭 하기 위하여 각 포트에 연결된 호스트로부터 근원지 MAC 주소를 보고 주소 테이블을 만들어 스위칭의 속도를 높여 프레임이 스위치에서 머무는 지연(latency)을 낮춘다.

스위치는 포트 별로 충돌 도메인을 분리하여 네트워크를 작은 세그먼트로 분할한다.

용량에 따라 몇 백 개의 포트를 지원할 수 있는 멀티 포트 브리지라고 한다.

Forwarding이 가능 (들어온 포트에서 나가는 포트로의 패스를 선택하고 프레임을 전달하는 것)

->port하나 하나가 충돌되기 때문에 포트 갯수 만큼 충돌 갯수


스위치의 특징

1. H/W기반 ASIC사용(고속처리 가능, 낮은 latency)

2. wire speed(중앙집중적인 연결로 대역폭을 100%활용하는)

3. full duplex 가능

4. 낮은 latency(지연) ->걸리는시간이 1인데 1.2초가 걸리면 지연시간 0.2초

5. 고속처리


Half-duplex와 Full-duplex의 차이점

한 방향 통신만 가능

충돌이나 지연(latency)로 인하여 10Mbps 대역폭 중 50~60%만 사용

양 방향 통신 가능

각 방향으로 10Mbps 전송으로 100%이용이 가능하다.


스위치의 기능

-주소 학습

-프레임 필터링

-루프 방지(STP:Spanning Tree Protocol)


주소 학습(Learning)

->2계층 장비인 브리지와 스위치는 프레임을 수신하여 다른 LAN 세그먼트로 프레임을 포워드 한다. 이 작업을 수행하기 위해 포트에서 수신된 각 프레임의 근원지 MAC 주소 정보를 MAC 주소 테이블에 등록하여 근원지가 어떤 LAN 세그먼트에 속하는지 파악한다. 이러한 과정을 주소 학습이라고 한다.

ex) HostA가 HostB로 프레임을 전송하고 응답을 받는 과정

1. 수신한 프레임의 근원지 MAC주소를 읽는다

2. 어떤 포트에서 이 MAC주소의 프레임을 받았는지 저장한다.

3. 프레임의 수신지 주소가 주소테이블에 없다면 근원지제외 모든 포트로 전송한다(flooding)

4. 프레임의 수신지 주소가 주소테이블에 있다면 연관된 포트로 포워드 한다(포워딩)

5. 이를 반복하여 각 포트에 연결된 장비가 무엇인지 학습한다.


프레임 필터링

주소 학습 과정을 통하여 얻어진 주소 테이블을 기본으로 근원지와 목적지가 같은 LAN세그먼트라면 필터링(무시) 한다.

1. 포트에서 프레임을 수신하면 목적지 주소를 검사한다

2. 프레임의 주소가 로컬이면(근원지와 목적지가 같은 LAN 세그먼트라면), 이 프레임을 필터링(무시) 한다

3. 프레임의 주소가 다른 LAN 세그먼트로 향한다면, 연관된 포트로 포워딩 한다

목적지가 포함되지 않은 LAN 세그먼트로는 프레임을 보내지 않는 필터링으로 인하여 불필요한 대역폭의 낭비를 하지 않아 네트워크의 성능을 높이고 보안을 향상시킬 수 있다.


프레임 전송 모드

  • Store and Forward: 포워딩 하기 전에 전체 프레임을 완전히 수신한 후 전체 프레임에 대하여 CRC 에러검사를 한다. 근원지 주소와 목적지 주소를 읽고 필터링을 한다.->길이가 긴 프레임인 경우 지연(latency)이 길어짐
  • Cut-through: 프레임이 스위치가 목적지 주소를 읽을 정도로 수신하게 되면 포워딩 프로세스가 시작된다. -> 지연(latency)를 줄일 수 있다.(에러검사 안함)->충돌이 발생하면 32bit의 jamming signal을 보내 충돌 사실을 알림
  • Fragment-Free: Cut-through 방식의 변형으로 첫 64바이트를 읽고 포워딩 프로세스를 시작, Ethernet에서 충돌이 발생한 프레임을 필터링 하기 위한 방법(Ethernet에선 충돌이 발생한 프레임은64바이트보다 작음)->Cut-through보다 지연(latency)가 작고 / 에러감지기능을 제공

Adaptive Cut-through : Cut-through + Store and Forward 모드를 조합한것

->발생한 오류가 미리 정의한 한계 값을 넘지 않는 경우에는 Cut-through를 수행하고 값을 넘어서면 Store-and-forward모드로 전환되는 방식(융통성 있게)



Redundant Topology(링크 이중화)->2개 이상의 링크를 갖음. 에러발생 시 안정성이 높음

문제점

  • 브로드캐스트 스톰(broadcast storm)->hostX가 라우터로 ARP요청 패킷을 전송(브로드캐스트)->받은 스위치들이 Flooding을함->무한반복
  • 프레임 중복수신(multiple frame copies)->hostX가 라우터로 Unicast Frame을 보냄->라우터는 스위치를 거치지 않고 가는 프레임과 스위치를 거쳐 밑으로가는 프레임 2개를 받게됨
  • MAC 주소 테이블의 불안정성(MAC address table instability)->hostX가 라우터로 유니캐스트를 보내는데 주소학습과정에서 스위치는 Flooding을하게 되는데 루프로 인하여 맥주소테이블이 정확하지않아짐


Redundant Topology에서의 문제점은 loop로 인하여 생긴것이다. 이를 해결하기 위해 STP를 알아봅시다이잉ㅇㅇ아오졸려


STP(Spanning-Tree Protocol)->서클(원)이 없다. 루프가 없어서 중복되지 않는다.

스위치와 브리지에는 IEEE 802.1D로 표준화된 Spanning Tree Protocol이 구현되어 있어 네트워크에서 루프 없는 최단 경로를 구축할 수 있다.
여기서 말하는 최단 경로란->여러 경로 중 비용이 가장 작은 경로
다른 경로는 차단되어 네트워크는 루프가 없는 토폴로지가 되고 차단된 링크는 현재의 경로에 장애가 발생할 경우를 대비한다. -> 차단된 링크로 연결된 포트를 통해 들어오는 프레임은 차단된다.
STP는 네트워크 장비가 loop를 감지하고 loop를 제거하기 위해 BPDU(Bridge Protocol Data Unit)라는 메시지를 교환하도록 한다. (차단된 포트로 들어오는 BPDU도 수신한다)


루트 브리지 선출
네트워크 토폴로지에서 브리지 ID가 가장 작은 브리지가 선출된다.
* 브리지 ID = 2Byte 우선순위6Byte MAC주소로 이루어짐 = 8Byte

1. 브릿지 or 스위치는 시작되면 Root ID로 제일 처음 자신의 Bridge ID를 넣은 BPDU를 전송한다.
2. BPDU를 받은 브릿지(스위치)는 자신의 Bridge ID와 비교하여 보다 작은 값을 갖는 ID를 Root Bridge ID로 하여 그 값을 저장하고 새로운 BPDU를 전송한다.
3. 2번을 반복하여 네트워크에서 제일 작은 Bridge ID를 갖는 브릿지(스위치)를 모두 알게 한다.
->루트 브릿지가 된 브릿지의 모든 포트는 'Designated Port'가 되어 전송 가능한 'Forwarding' 상태가 된다.

브릿지(스위치)에서 각 포트들의 root path cost를 비교하여 낮은 값을 갖는 포트를 forwarding으로 하고 다른 포트를 'blocking'으로 설정한다.

용어

Root Bridge: Spanning Tree의 루트가 되는 브릿지(스위치)

Root Path Cost: Root 브릿지로 가는 데 드는 비용

Designated Bridge: 각 LAN세그먼트에서 루트 브릿지로 가는 가장 가까운 브릿지(스위치)

Root Port: Root 브릿지가 아닌 브릿지(스위치)에서 Spanning Tree의 Root 브릿지로 향하는 경로상의 포트로서 Root Path Cost가 최소인 포트

Designated port: 브릿치(스위치)에서 Spanning Tree의 Root 브릿지의 반대 방향으로 향하는 경로상의 포트

Non Designated Port: Root Port와 Designated Port가 아닌 포트로서 Spanning Tree에서 제외되어 사용되지 않는 포트(그러나 Spanning Tree의 재계산을 위해서 BPDU의 트래픽은 계속 수신)


Spanning Tree 알고리즘에서 포트의 상태를 'Forwarding'으로 결정하는 우선순위는 다음과 같다.

1. 루트 브릿지로 가는 Root Path Cost가 작은 포트

2. 같은 Root Path Cost를 갖는 경우 낮은 Bridge ID를 갖는 브릿지(스위치)의 포트

3. 같은 Root Path Cost를 갖는 경우 낮은 포트 번호를 갖는 포트


포트의 상태

Blocking State - 20초 동안 지속 / BPDU만 수신하고 데이터 프레임은 버림

Listening State - 15초 동안 지속 / 다른 브릿지(스위치)와 BPDU를 송/수신 가능하며 STP에 참여하여 자신이 최소비용경로가 아니면 Blocking State로 된다 그렇지 않은 경우 다음단계로넘어감

Learning State - 15초 동안 BPDU를 계속 송/수신하며 MAC 주소 테이블을 만들 수 있다.

Forwarding State(데이터 포워딩 가능) - BPDU를 계속 송수신하며 MAC주소 테이블을 만들고 데이터 프레임을 전송

Disabled State(장애상태) - 포트가 fail되거나 관리자에 의해 shutdown되는 경우


네트워크 모든 브릿지(스위치)의 포트의 상태가 'Forwarding' 또는 'Blocking' 상태가 되면 수렴(converge)되었다고 한다.

'Forwarding' 상태의 포트는 2초에 한번씩 Hello BPDU를 보내며 최대 시간(Max Age, 20초)동안 받지 못하면 연결 이상으로 판단하고 새로운 경로를 찾기(blocking애들 참여) 위한 BPDU를 전송한다.


Spanning Tree가 구축되는 수렴시간(총 50초걸림)

  • Max Age =20초
  • Listening State =15초
  • Learning State =15초

Switch Configuration

Switch 접속
->라우터와 같이 콘솔접속/텔넷접속/웹브라우저를 통한 접속 세가지가 있다.

콘솔접속 - Rollover 케이블을 스위치의 뒷면에 위치한 콘솔 포트에 연결하고 하이퍼터미널을 사용한다.
텔넷접속 - 위치에 IP주소를 부여하고 주소를 설정면 라우터처럼 텔넷 접속이 가능
웹브라우저접속 - 스위치에 IP주소를 설정하여 HTTP 서버로 작동하도록 설정하면 CVSM을통해접속가능

Switch 구동
System LED - 전원공급이 올바르면 녹색
Remote Power Supply(RPS) - 보조전원공급장치가 올바로 작동하면 녹색
Port Mode LED - 모드버튼의 현재상태/Port Status LED를 어떻게 해석할 지
Port Status LED - Port Mode LED에 따라 다른 의미를 가짐

Port Mode 4가지

STAT

포트 상태를 의미

녹색(Solid green): 링크 작동 중

녹색의 깜빡임(Flashing green): 데이터 송수신중

녹색과 노란색의 깜빡임: 포트 Fail

노란색(Solid Amber): Disabled State

UTIL

사용되고 있는 전체 대역폭의 이용률

if(제일 오른쪽 Port Status LED 꺼짐) 이용률 < 50%

if(제일 오른쪽 2개 Port Status LED 꺼짐) 이용률 < 25%

if(모든 Port Status LED 녹색) 이용률 >= 50%

Duplex

LED꺼짐 -> Half Duplex

LED켜짐 -> Full Duplex

Speed

LED꺼짐 -> 10Mbps

LED켜짐 -> 100Mbps

스위치가 처음 구동되면 POST(Power On Self Test) 과정을 거친다. 녹색이면 정상 노란색이면 전원 공급에 문제가 발생한 것이다. 이 과정을 통과하면 Port Status LED가 처음 30초 동안 노란색이 유지되다가 링크가 연결된 포트라면 녹색을 그렇지 않은 포트라면 LED가 꺼진다.


화면에 출력되는 스위치에 대한 기본 데이터
  • 호스트 이름은 Switch
  • 모든 포트는 VLAN1에 속하며 VLAN 데이터베이스 파일이 존재하지 않음
  • STP 사용가능 상태


Switch Command mode
*스위치도 라우터의 경우와 마찬가지로 CLI 방식으로 명령어를 입력한다.

-User EXEC mode(user mode) : switch>
-Privileged EXEC mode(privileged mode) : switch#
-Global Configuration mode : switch(config)#

Show 명령어
  • Switch#show version - 스위치의 소프트웨어나 하드웨어의 버전을 알려준다.
  • Switch#show flash == dir flash: - 스위치의 구성 정보등이 파일로 플래쉬 메모리에 저장 및 보여준다
  • Switch#show running-config - 스위치의 환경 구성 설정 정보를 보여준다(0/1부터시작)
  • Switch#show interfaces - 인터페이스 정보와 하드웨어주소를 보여준다
  • Switch#show interface fastethernet 0/5
  • Switch#show vlan - 스위치에 설정된 모든 가상랜 VLAN에 대한 정보(관리상 VLAN1이 기본 존재함)
  • 특정 가상랜의 정보 보기 - Switch#show vlan id 1

- Switch#configure terminal(config t) / prompt
- hostname 설정 -> Switch(config)#hostname Bob
- console password 설정 ->Switch(config)#line con 0 -> password cisco -> login
- telnet password 설정->Switch(config)#line vty 0 15 -> password cisco -> login
- enable password 설정->Switch(config)#enable password cisco

IP주소 설정 & default gateway 설정

Switch(config)#interface vlan1

Switch(config-if)#ip address ip-address subnetmask

Switch(config-if)#no shutdown

Switch(config-if)#ip default-gateway gateway-address

Port설정

Switch(config)#interface fa0/2

Switch(config-if)#duplex full

Switch(config-if)#speed 100


Http service->웹 브라우저를 통하여 스위치의 정보를 보거나 환경설정이 가능

이를 위해 VSM(Visual Switch Manager)또는 Cluster Management Suite라는 GUI를 제공

  • Switch(config)#ip http server
  • Switch(config)# ip http port 80

Save, Erase & Reload
스위치의 환경 설정은 startup-configuration 파일에 저장된다.
확인하기 - Switch(config)#show startup-config
삭제하기 - Switch(config)#esase startup-config

맥주소 테이블 보기
Switch(config)show mac-address-table

Dynamic으로 되어 있는 주소는 주소학습을 토대로 만들어진 주소이다.(동적으로 업데이트)
Static은 관리자에 의해 설정된 주소이므로 포트에 연결된 MAC주소가 변경되도 테이블의 내용은 그대로

dynamic Mac address만 확인
->Switch(config)#show mac-address-table dynamic

Static MAC Address 설정
->Switch(config)#mac-address-table static 192.22.2.1 vlan 1 interface fastethernet 0/4

Port Security 설정 -> 2계층에서 아는 정보 하드웨어주소(MAC주소)로 보안정책을 하겠다
  • Switch(config)#interface fastethernet 0/3
  • Switch(config-if)#switchport port-security ?
Fastethernet 0/3에서 한 device만 연결가능하도록 하려면
Switch(config)#mac-address-table static 192.22.2.1 interface fastethernet 0/3 vlan 1
Switch(config)int fa0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security mac-address sticky
Switch(config-if)#^+z
Switch(config)#show mac-address-table
Switch(config)#show port security

Port당 연결가능한 호스트의 수를 제한
Switch(config)#interface fastethernet 0/3
Switch(config-if)#switchport port-security maximum 1


STP 설정
스위치의 맥 주소-> Switch#show interface vlan1
STP 내용 보기 -> Switch#show spanning-tree [brief] / Switch#show spanning-tree

*루트 ID와 브릿지ID가 같으면 루트브릿지

Root bridge 재선출
Switch(config)#spanning-tree vlan 1 priority 4096
Switch(config)#show spanning-tree

반응형