본문 바로가기
IT/네트워크

[EIGRP] 프로토콜 특징 및 원리 정리

by 옥탑방개발자 2020. 5. 31.
728x90

 

EIGRP(Enhanced Interior Gateway Routing Protocol)
  EIGRP는 시스코사가 만든 원래의 IGRP를 기반으로 한 개방형 라우팅 프로토콜이다. EIGRP는 라우터 내 대역폭 및 처리 능력의 이용뿐 아니라, 토폴로지가 변경된 뒤에 일어나는 불안정한 라우팅을 최소화하는데 최적화된 고급 거리 벡터 라우팅 프로토콜이다.
  출처:위키백과

즉, 최적경로를 파악해서 통신하고 유지하는 프로토콜.

@EIGRP 특징 정리
	하이프리드형 라우팅 프로토콜이다.
	여러개의 다중 프로토콜을 제공하는 특징이있다. 즉, IP기반에서만 동작하는 프로토콜이 아니다.
	멀티플라우티드 프로토콜을 지원한다(IP, IPX, Apple Talk)
	Cisco전용이라 EnhancedIGRP는 Cisco 라우터에만 있다. 그래서 타 밴더와 연결 된 라우터에서는 사용할 수 없음.
	네트워크 자원(CPU/메모리/네트워크트레픽)을 작게 쓰면서 유지할 수 있기때문에, 중대형망에서 사용가능하다.
	네트워크 토폴로지변화에 수렴이 빠르다 이말은 즉, 특정링크에 에러가 발생하거나 또는 네트워크 변경이 생겼을 때 이 변경 내용들을 다른 EIGRP라우터들이 학습하는 시간이 빠르다. 
	Classless 라우팅 프로토콜을 지원한다.
	ClassFull도 지원한다. 즉, Auto-summary 및 Manual-summary를 지원함.
	RIP처럼 설정이 거의 유사함.
	여러개의 패킷을 사용한다.(hello, update, query, reply, ack)
	
@EIGRP PACKETS
	Hello 메시지
		EIGRP활성화를 하면 Hello라는 패킷을 제일먼저 생긴다.
		Hello패킷은 인접해 있는 라우터들이 서로를 검색 할때 쓰인다.
		네이버테이블에 상대방의 주소정보가 저장 된다.
		5초에 한번씩 정기적으로 수행한다.
		224.0.0.10의 주소로 멀티캐스트 함.
		#네이버를 발견해서 연결 유지 기능을 한다.
		
	update 메시지
		#자신(라우터)의 토폴로지 데이터베이스를 네이버들에게 알려주는 용도로 사용한다.
		새로운 정보를 네이버에게 알려줄 때 사용한다.
		새로운 네이버를 발견하면 유니캐스트로 토폴로지 테이블을 동기화 한다.
		토폴로지가 변경되면 멀티캐스트정보를 사용해서 상대방에게 변경된 정보를 전송한다.
		update는 새로운 네트워크가 만들어지거나, 새로운 네이버가 발견이 돼서 내 정보를 전달 해야할 때 사용한다.
	
	Query,reply
		EIGRP는 장애가 발생했을 때 네트워크 링크에 문제가 생겼거나, 데이터 전송중 상대방에게 데이터 전송할 수 없는 상황이 되면 Query와 reply 메시지로 새로운 경로를 찾아서 라우팅테이블 내용을 수정하거나 아예 삭제해버리는 기능을한다.
		R2라우터에 연결된 네트워크에 에러가 발생하면 네이버테이블에 있는 네이버에게 Query메시지를 보내고 우회경로를 질의하여 네이버로부터 접수됐다는 ACK메시지를 반환 받는다. 그리고 자신의 테이블에 경로를 확인을해서 Reply메시지로 답변을 한다. 그럼 R2는 reply에 대한 ACK메시지를 보낸다.
	
	ACK
		update, query, reply 패킷에 대한 신뢰성을 위해서 세개의 메시지를 받을 때마다 ACK로 상대방에게 알려주는 역할을 한다.
		만약 ACK메시지의 손실이나, ACK메시지를 받지 못하면 업데이트, Query, reply, update메시지를 기본설정된 16번을 재전송함. 그렇게 해도 ACK메시지를 못받으면 그 네이버와 연결을 끊고, 학습된 내용을 삭제한다.
		
@EIGRP에서 사용하는 용어들
	Neighbor Table
		라우터들이 연결이 되면 제일 먼저 만들어진다.
	Topology Table
		네이버들과 토폴로지테이플이라는 토폴로지 데이터베이스를 교환한다. 
		토폴로지 데이터베이스는 EIGRP가 전체 네트워크에서 전달해야할 네트워크의 최적정보와 Fesaible Successor 후속정보까지 가지고있는 테이블을 말한다.
		라우팅 테이블과 생김새는 거의 비슷하다 하지만 제일좋은 최적경로와 후속경로라는 두가지 정보를 가지고있는것이다.
		전체 네트워크 정보를 가지고 있데 이중 가장 좋은 경로를 라우팅테이블로 가져간다.
	Routing Table
		토폴로지데이터베이스에서 최적경로를 의미하는 Successor라고 지정돼 있는 테이블들이 있는데 이 정보를 Routing테이블에 올려 EIGRP가 목적지를 보낼 때 가장 최적의 경로를 판단하기위한 근본이 되는 정보이다.
	Successor
		목적지 네트워크에 대한 최적 라우터
		라우팅 테이블에 설치됨
	Fesaible Successor
		토폴로지 데이터베이스에서 추후 만들어진 정보이다.
		successor정보가 라우팅테이블에로 저장되고 Fesaible successor정보는 대기한다.
		후속경로라고해서 두번째로 좋은 경로이다.
		목적지 네트워크에 대한 백업 라우터이다.
		메트릭이라는 상수 값에 영향을 준다.
		최적경로인 에프릭값과 AD라는 두가지 메트릭값을 유지하는데 두가지 값이 successor의 에프리보다 후속경로의 AD값이 무조건 작아야! 후속경로가 사용되는것이다.

@EIGRP동작 과정
	1. HELLO라는 메시지를 교환해서 Neighbor테이블을 만든다.
	2. 만들어진 Neighbor과 Update메시지를 보내서 토폴로지데이터베이스 정보를 교환한다. 그중 Successor 정보들만 라우팅테이블로 보내짐.
	3. 추출한 Successor데이터를 가지고 마지막으로 Routing Table을 구성한다.
	#이렇게 세가지의데이터 베이스로 분리 돼 있음.
	#실제로 라우팅테이블이 교환되지는 않는다.
	#토폴로지 데이터베이스의 내용이 라우팅테이블과 유사하고 루프발생이제한 돼 있기때문에 디서스팩터 계열이다.
	
@EIGRP와 IGRP의 비교
	IGRP는 이제 라우팅 프로토콜은 이전에 쓰다가, EIGRP프로토콜로 통합해서 하나로 쓰고있어 잘 쓰이지 않음.
	metric 운영은 비슷한 방법을 사용함. metric상수는 Bandwidth와 delay가 기본 핵심이고 외에 릴러어빌리티라고하는 신뢰도와 MTU, load의 세가지 정보를 더 가지고 있음. 하지만 계산 공식에서 이 세개의 값들은 상수값 0이 곱해 지면서 다 사라진다. 그래서 실제로 두개의 bandwidth와 delay값이 metric을 결정한다. 어떤라우터를 건너가는데 걸리는 bandwidth는 속도이고 delay는 지연을 뜻하는것이다. 예를들어 시리얼 랜카드로 흘러갈 때 패스트이더넷으로 갈 때 위성으로 갈 때 다른 지연을 나타낸다.
	load balancing은 동일하게 지원함.
	Convergence time은 EIGRP에서 훨씬 빠르게 동작한다.
	Network overhead도 EIGRP에서 훨씬 줄어들어서 변경된 정보들만 주고받게 됐다.
	IGRP는 Classfull환경을 지원한다. 그래서 현재 Classless 환경을 많이 사용하다보니 자연스럽게 사용률이 적어졌다.



##두개의 라우터가 있을 때 각 라우터에 EIGRP가 구동되면 
	1. 한쪽에서 Hello 메시지를 보내고 받은 쪽에서 Neighbor Table을 생성 받은 쪽에서도 마찬가지로 Hello 메시지를 보내고 받은 쪽 라우터에서도 Neighbor Table을 생성한다.
	2. 자신들이 가지고 있는 Topology Table에 연결된 링크 정보를 생성한다. 이정보를 update 메시지를 가지고 한쪽 라우터에서 다른쪽 라우터로 전달한다. 이때 전달 받은 라우터는 ACK 메시지로 데이터베이스가 동기화 됐다고 알린후에 마찬가지로 Update 메시지로 Topology Table정보를 전달하고 받은 라우터는 Topology Table을 동기화 한다. 이후에 동기화가 잘 되면 ACK메시지를 보내고 마무리 된다.
	3. 각 라우터들의 Topology Table 데이터베이스 동기화가 잘되면 이정보들은 각라우터의 Routing Table로 추출된다. 그리고 매 5초마다 한번 씩 유지 관리를 위햇  Hello메시지만 주고 받는다. 
	4. 만약 새로운 정보(네트워크)가 발생되면 Update 메시지를 이용해서 Neighbor에게 알려주고 전달받은 Neighbor는 Topology Table 데이터베이스에 새로운 내용을 추가하고 Routing Table로 추출된다. 그러고 ACK메시지를 보내서 마무리 됐다고 update를 보낸 라우터에게 메시지를 전달한다.
	5. 만약 정보(네트워크)가 삭제를 발생하면 Query 메시지를 이용해서 Neighbor에게 려주고 전달받은 Neighbor는 Topology Table 데이터베이스에 에러발생 내용을 삭제하고 Routing Table로 추출한다. 그러고 reply메시지로 응답하면 다시 ACK메시지를 보내고 마무리 된다.
	#EIGRP듀얼 알고리즘을 사용한다. (OSPF와 비슷함)
	
	

 

 

728x90

'IT > 네트워크' 카테고리의 다른 글

[EIGRP] 프로토콜 설정 및 이론  (0) 2020.06.01
[IP] 개념 정리  (0) 2020.05.29