일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 모여봐요동물의숲
- 실업인정인터넷신청
- 정보처리기사개정
- 청년내일채움공제
- 생애첫계약
- leetcode
- 자취준비
- 순열
- 알고리즘
- 정보
- 동적계획법
- 사회초년생
- 부분합알고리즘
- 네트워크
- 회사폐업
- 튜터링
- IT기초
- 코딩테스트
- 후니의쉽게쓴시스코라우팅
- C++
- 취업사실신고
- HeadFirstDesignPatterns
- 캡쳐링
- array
- 자료구조
- 막대기자르기
- 전화영어
- 후니의쉽게쓴시스코네트워킹
- 프로그래머스
- 실업급여
- Today
- Total
따봉도치야 고마워
[네트워크 공부] 후니의 쉽게 쓴 네트워킹 11일차 - Part08 본문
IGRP (Interior Gateway Routing Protocol) 라우팅 프로토콜
- 다이내믹 프로토콜
- 내부용 라우팅 프로토콜(IGP)
- 디스턴스 벡터 프로토콜
- RIP와 다르게 시스코 라우터에서만 사용 가능
- 경로 선택 기준 : 5 가지 요인을 가지고 경로 결정, RIP보다 좀 더 지능적
- 90초에 한 번씩 라우팅 테이블 업데이트 (디폴트 최대 홉 카운트 100, 255까지 증가 가능)
1) Bandwidth (대역폭)
- Kbps로 표시, 속도 //clockrate는 bps
- 프로토콜들이 참조하기 위한 값이지, 하드웨어적으로 맞춰야 하는 값이 아님.
- 세팅방법 : 각 인터페이스에 가서 Bandwidth 명령 사용 (디폴트 1544 Mbps)
- Interface serial 0
- Bandwidth 56
- sh run 명령으로 확인 가능 (BW 56 Kbit라고 나옴)
2) Delay
- 경로를 통해서 도착할 때까지 지연되는 시간, 단위 micro second
- 회선에 아무 트래픽이 없을 때를 가정하고 제공되는 수치 (1~16,777,215)
- 라우터 포트에 연결되어있는 회선의 종류와 대역폭으로 Delay를 계산
- 수동으로 변경 가능하지만 보통 디폴트 사용
3) Reliability
- 신뢰성, 케이블/전용선 등 전송 매체를 통해 패킷을 보낼 때 생기는 에러율을 나타내는 수치
= 목적지까지 제대로 도착한 패킷과 에러가 발생한 패킷의 비율
- keepalive를 이용해 출발/목적지 사이의 신뢰도 측정 (0-255 사이, 높을수록 신뢰도 높은 것)
4) Load
- 부하/하중, 출발/목적지 경로에 어느 정도의 부하가 걸리고 있는지 측정
- 255분의 몇으로 표시, 1/255면 적은 것
5) MTU (Maximum Transmission Unit)
- 경로의 최대 전송 유닛 크기, 바이트로 표시
IGRP 구성을 위한 명령어
- 구성 모드 접속
- router igrp [AS number] //서로 통신해야 하는 라우터들은 같아야 원활
- network [network-number] 명령으로 IGRP에 참가하는 네트워크 지정
*RIP와 IGRP에선 network-number는 항상 클래스 개념으로 쓰기! (150.140.100.0 인경우 150.140.0.0으로, VLSM지원이 X)
- 실제 설정할 때 인터페이스별 주소 배정, 암호, 호스트 네임 설정 등은 모두 RIP와 같고 라우팅 명령만 위처럼 해주면 됨
- IGRP 라우팅 상태 조회 : show ip protocol / 라우팅 테이블 : show ip route
- 라우팅 테이블 조회 시 앞에 I라고 적힌 게 IGRP를 의미
- 기존 라우팅 프로토콜 해지 : no 붙여서 해당 프로토콜 명령어 입력 ex) no route rip
- 디폴트 최대 홉 카운트 변경 :
- conf t
- router igrp 200
- metric maximum-hops 255
- ^Z
- 인터페이스에서의 IP 프로토콜 동작 상태 보기 : show ip interface
- 디버그 : debug ip igrp transaction
Passive interface 명령
- IGRP 라우팅 업데이트가 특정 인터페이스로는 날아가지 않도록 할 때 사용
- 한 라우터에서 2가지 이상의 프로토콜이 쓰일 때
- router igrp 200
- network 160.100.0.0
- passive interface Ethernet 1/0 // Ethernet1/0으론 IGRP 라우팅 업데이트가 안 날아감
OSPF (Open Shortest Path First) 라우팅 프로토콜
- 표준 라우팅 프로토콜.
- 링크 스테이트 라우팅 알고리즘.
- 홉 카운트 제한 X. 큰 네트워크에 적합
- Covergence Time : RIP의 경우 30초 + a로 오래 걸리지만, OSPF는 변화 생길 때 바로 전달해서 빠름
- area라는 개념을 사용해 전체 OSPF 네트워크를 작은 영역으로 나눠 관리 (빠르고 효율적)
- VLSM 지원 -> IP주소를 효과적으로 사용할 수 있고, 라우팅 테이블도 줄일 수 있음
- (이를 위해 라우트 서머리 제이 션 지원해 여러 경로를 하나로 묶는 기능도 탁월)
- 네트워크 변화가 있을 때만 정보가 날아가고 멀티캐스트로 날아가 실용적, 대역폭 낭비 감
- 많은 요소를 보고 경로 선택해 훨씬 정확한 선택 가능
- OSPF는 IP 패킷 안에 프로토콜 넘버 89(십진수)로 들어가게 됨. 패킷만 봐도 OSPF 정보인 걸 알 수 있음
*IP 패킷
프레임 헤더 | 프레임 페이로드 | CRC | ||
IP 헤더 | 프로토콜 넘버 | 패킷 페이로드 |
*Convergence Time : 라우터 간 변경된 정보를 주고받는데 걸리는 시간
OSPF는 토폴로지에 따라 동작이 약간씩 다름
1) 브로드캐스트 멀티 액세스 토폴로지 (Broadcast Multi-access Topology)
- 네트워크에 2개 이상의 라우터가 연결되어, 하나의 메시지를 보내면 이 네트워크 상 모든 애들이 정보를 받음
ex. 이더넷 세그먼트
2) 포인트 투 포인트 (Point-to-Point)
- 네트워크에 한쌍의 라우터만 존재하는 경우
ex. 전용선
3) NBMA (Non Broadcast multi-access)
- 네트워크에 2개 이상의 라우터가 연결되지만 브로드캐스트 능력 없음.
ex. 프레임 릴레이, X.25
OSPF의 이웃 사랑
- 주위에 있는 OSPF 라우터를 찾아 자신의 DB에 저장 -> 주위 라우터 = Neighbor
- 이웃 관계가 되어야 통신이 가능함
(1) 이웃을 찾기 위해 Hello 패킷을 보내고 (멀티캐스트 224.0.0.5로 보내 OSPF 라우터만 수신함)
(2) Hello를 받은 이웃은 해당 라우터를 Neighbor List에 저장 [Init 과정]
(3) 이웃은 해당 라우터에 유니캐스트로 응답. 해당 라우터는 Neighbor 저장
- 헬로 패킷은 10초에 한 번 발생하고, 그 내용엔 여러 가지가 있는데 별표 쳐진 부분이 서로 같아야 이웃으로 인정됨
Router ID
Hello/Dead intervals
Neighbors
Area-ID*
DR IP address
BDR IP address
Authentication
password*
Stub area flag*
Router ID
- OSPF에서 서로를 식별하기 위한 것
- 보통 그 라우터 IP주소 중 가장 높은 IP를 사용함
- RouterID는 자주 바뀌면 안 되기 때문에, 안정된 인터페이스의 주소를 사용해야 함
- 이를 위해 OSPF는 Loopback(루프백) 인터페이스를 사용함
- Loopback 인터페이스는 다운되지 않고 IP의 높낮이에 관계없이 무조건 이 주소가 라우터 ID가 됨
- 이미 라우터 ID가 있는 상태에서 새로 Loopback 인터페이스를 만들고 나면 재부팅해야 재 설정됨
OSPF의 DR(Designated Router)와 BDR(Backup Designated Router)
- Priority를 가지고 선출 (반장, 부반장이라고 생각하기)
- OSPF 세그먼트에선 각 라우터들이 OSPF에 참여하면 DR과 BDR에 자신의 Link State를 알림.
- DR, BDR에만 링크 정보를 알림으로써 모든 라우터와 Link State를 교환할 경우의 트래픽을 줄이고, 정보의 Sync를 관리
- DR은 이 정보를 모두 관리하며 링크의 Sync를 맞추는 일, BDR은 DR 라우터가 다운되면 바로 DR의 역할을 수행
- Adjacency(어드 제이 션 시) : OSPF에서 모든 라우터가 DR, BDR과 LinkState를 일치해야 하는 것
<OSPF DR, BDR 선출 과정>
- OSPF로 동작하는 라우터들은 모두 Priority를 가짐, 디폴트 1
1) Priority가 높은 순서
2) 동점일 덴 라우터 ID가 높은 순서
- 선출 후엔 더 높은 Priority를 가진 라우터가 와도 변경되지 않지만
- 만약 DR이 다운되면 BDR이 DR이 되고, 해당 라우터가 BDR이 될 수 있음
- 껐다 켜면 다시 선출
- 특정 라우터를 DR, BDR로 선출되지 못하게 하려면 Priority를 0으로 세팅
OSPF 링크 변화
1) 라우터가 처음 켜지거나 새로 OSPF 라우팅으로 구성되면 해당 라우터는 멀티캐스트 주소를 이용해 헬로 패킷을 보냄
- 224.0.0.5로 OSPF 라우터들에게만 전송되는 주소
2) 헬로 패킷을 통해 DR과 BDR의 주소를 알게 됨
3) 자신이 가지고 있는 링크 정보를 LSA(Link-State Advertisement)에 담아 모든 DR에게 전송.
- 이렇게 업데이트하는 것을 LSU-Link State Update라고 함, 이때도 멀티캐스트
- DR에 정보가 도착하면 BDR은 타이머로 DR이 새로운 라우터에게 받은 정보를 다른 라우터들에게 재전송하는지 기다림 (감시)
4) DR은 새로 받은 정보를 멀티캐스트로 전송하고, 전송 후 모든 라우터들에게 ACK를 받아 잘 도착했는지 확인
5) 만약 링크가 끊어지면 해당 라우터는 그 정보를 즉시 DR에게 알리고 DR은 그 정보를 모든 OSPF라우터에게 전달, 라우터들은 그 정보를 다시 가까운 네트워크로 Flooding해서 업데이트
OSPF의 구성
구성모드 접속
- router ospf [process-id]
- network [address] [wildcard-mask] area [area-id]
- process-id : 한 라우터에서 OSPF를 여러 개 돌릴 때 구별용 id (불일치해도 됨), 하나 당 하나의 DB 운용해 여러 개 사용 비추
- wildcard-mask : 서브넷 마스크와 반대로 작성하는 것. ex) 255.255.255.0 -> 0.0.0.255 (0,1반대로)
- area : 전체 OSPF 영역을 작은 단위로 나눠 그 영역끼리만 우선 링크 정보를 업데이트하고, 다른 area들과는 사이에 있는 라우터(Area Border Router, ABR)이 정보를 전달하도록 하는 방식
- area의 가장 기본은 area 0 = '백본 area'
*show ip protocols
Routing protocol is "osfp 100" //process-id 를 100으로 했다고 가정
.
.
Router ID 192.168.12.1
.
.
Distance: (defalut is 110)
*show ip route : O가 붙은게 OSPF
*show ip ospf interface
Serial1/0 is up, line protocol is up
Process ID 100, Router ID 192.168.12.1, Network Type POINT_TO_POINT, Cost: 64
.
....Hello 10, Dead 40, Wait 40, Retransmit 5
.
.
.
.
FastEthernet0/0 is up, line protocol is up
Process ID 100, Router ID 192.168.12.1, Network Type BROADCAST, Cost: 1
.
Designated Router (ID) 192.168.12.1, Interface address 172.16.10.1
.
....Hello 10, Dead 40, Wait 40, Retransmit 5
.
.
- OSPF의 인터페이스 방식을 조회
- 시리얼은 POINT-TO-POINT, DR/BDR 필요 없음 | 이더넷은 BROADCAST, DR 선출됨
- 코스트는 OSPF에서 링크의 속도에 따라 부여하는 값. 100,000,000을 대역폭으로 나눈 값 사용
//시리얼 디폴트 대역폭은 1544Mbps. 이더넷은 100Mbps
- 10초에 한번 헬로 패킷, 4번의 헬로에도 응답이 없으면 죽었다고 생각 = Dead Interval (Hello *4)
*show ip ospf neighbor
- 주변 이웃 조회
- 상태(State)가 FULL이라고 되어있으면 서로간에 인식했고, 테이블 교환이 성공적이여서 통신이 정상적이라는 것
라우터를 이용한 DHCP 서버 구성
- DHCP (Dynamic Host Configuration Protocol)
- IP주소 Pool을 가지고 PC나 호스트의 IP주소를 자동으로 배정해주는 것
- conf t
- service dhcp : DHCP 서버나 전달 에이전트를 Enable (디폴트가 Enable이긴 함)
- dhcp pool [name] : DHCP 주소의 Pool의 이름을 지정 -> 이후 DHCP 구성 모드가 됨
- network 210.240.10.0 255.255.255.0 : IP의 범위를 지정 (210.240.10.1~ 210.240.10.254)
- default-router 210.240.10.1 : 디폴트 라우터 지정. 호스트가 내부 네트워크에서 목적지 잃었을 때 가는 주소 (현 라우터 이더넷 인터페이스)
- dhcp excluded-address 210.240.10.1 : 라우터 이더넷 주소로 Pool에서 제외해줌
- dhcp excluded-address 210.240.10.100 : 서버의 주소로 제외해줌
- PC를 DHCP 클라로 세팅 후 부팅하면 배정됨.
- show ip dhcp binding 명령으로 현재 IP 배정 상태 확인 가능
- show ip dhcp server statistics 명령으로 현재 DHCP 서버로 돌아가는 라우터의 상태도 확인 가능
Secondary 주소
- 한 라우터의 인터페이스에 여러 개의 주소 범위를 줄 때 사용하는 명령
- 두 주소 범위 간 통신은 라우터를 거침 (네트워크 부분이 다르면)
ip address 203.210.150.1 255.255.255.0 secondary
ip address 203.210.100.1 255.255.255.0
ip address 203.210.150.1 255.255.255.0 secondary
ip address 203.210.100.1 255.255.255.0
네트워크 성능 : PPS (Packet Per Second)
- 초당 전송하는 패킷 수
- 10메가 속도의 이더넷을 사용한다고 가정했을 때
- PPS = 1초 / (IFG + Preamble Time + Frame Time)
*IFG (Inter Frame Gap) : 프레임 간 간격. 프레임이 날아갈 때 두어야 하는 최소 간격. -> 시간으로 따지면 9.6 micro초
*Preamble Time : 프레임 앞에 붙은 서두, 6.4 micro초
*Frame Time : 프레임이 날아가는 시간. (1비트 0.1 micro초, = 64byte 51.2초)
-> 계산해보면 14,880 PPS가 나옴. 즉 10메가 이더넷에서 가장 작은 패킷만 계속 보내면 초당 14,880 패킷이 날아간다는 것.
특정 장비가 지원하는 PPS가 이보다 낮다면 제대로 된 성능 발휘 X
'프로그래밍 > 공부' 카테고리의 다른 글
[네트워크 공부] 후니의 쉽게 쓴 네트워킹 13일차 - Part09 (0) | 2020.04.16 |
---|---|
[네트워크 공부] 후니의 쉽게 쓴 네트워킹 12일차 - Part09 (0) | 2020.04.13 |
[네트워크 공부] 후니의 쉽게 쓴 네트워킹 10일차 - Part08 (0) | 2020.04.08 |
[네트워크 공부] 후니의 쉽게 쓴 네트워킹 9일차 - Part07 (vol1 끝) (0) | 2020.04.03 |
[네트워크 공부] 후니의 쉽게 쓴 네트워킹 8일차 - Part07 (0) | 2020.04.01 |