[네트워크 구성 및 관리]중간고사 시험 정리
류명운
·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.0 를 host 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에 추가
- 라우터 A에게서 Hello 메시지를 받은 OSPF 라우터들이 자신들의 정보를 유니캐스트로 보낸다. 라우터 A는 이 정보를 자신의 neighbor list에 넣어 관리한다.
- 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)->서클(원)이 없다. 루프가 없어서 중복되지 않는다.
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초
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#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(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
- Switch(config)#interface fastethernet 0/3
- Switch(config-if)#switchport port-security ?
'삶의 늪에 들어 가기 전 > 정리중(미정리)' 카테고리의 다른 글
[알고리즘]깊이 우선탐색과 너비 우선탐색(2/2) (0) | 2014.10.20 |
---|---|
[PC활용 3 멀티미디어]중간고사 실습 준비 (0) | 2014.10.16 |
[데이터베이스]중간고사 시험 정리 (0) | 2014.10.14 |
[세계문명과 성경2]중간고사 시험 정리 (0) | 2014.10.12 |
[인터넷보안]암호이론 (0) | 2014.10.07 |