EIGRP에 대한 이해: 초보 개발자를 위한 가이드

이미지
EIGRP에 대한 이해: 초보 개발자를 위한 가이드 개요 EIGRP(Enhanced Interior Gateway Routing Protocol)는 시스코에서 개발한 고급 거리 벡터 라우팅 프로토콜입니다. 이 프로토콜은 기존의 거리 벡터 라우팅 프로토콜과 링크 상태 라우팅 프로토콜의 장점을 결합한 하이브리드 형태를 띠고 있습니다. 그렇기 때문에 EIGRP는 다음과 같은 기능적 특징을 가지고 있습니다: 장점 Advanced Distance Vector : 거리 벡터 라우팅의 고급 버전 Fast Convergence : 빠른 수렴 VLSM & CIDR 지원 : 가변 길이 서브넷 마스킹과 클래스 없는 도메인 간 라우팅 지원 다중 네트워크 계층 프로토콜 지원 : IP, IPX, AppleTalk 등 멀티캐스트 및 유니캐스트를 이용한 업데이트 100% 루프 프리 클래스리스 라우팅 동등 및 불균등 부하 분산 지원 단점 시스코 라우터에서만 사용 가능 대규모 네트워크 관리 어려움 네트워크 장애 시 문제 해결 어려움 관련 용어 Neighbor Table : 이웃 테이블, 인접 라우터 목록 관리 Topology Table : 토폴로지 테이블, 다른 EIGRP 이웃 라우터로부터 학습한 모든 경로 관리 Routing Table : 라우팅 테이블, 최상의 경로를 선택하여 저장 Successor & Feasible Successor : 최적 경로상의 이웃과 백업 경로상의 이웃 네트워크 정보 수집 및 경로 생성 과정 EIGRP에서 네트워크 정보를 수집하고 최적의 목적지 경로를 만드는 과정은 다음과 같습니다: EIGRP 이웃 테이블 생성 및 IP 라우팅 테이블 교환 라우팅 테이블 정보 EIGRP 토폴로지 테이블에 저장 최상의 경로 및 다른 적합한 경로 파악 토폴로지 테이블에서 최상의 경로를 라우팅 테이블에 저장 EIGRP 컴포지트 벡터 메트릭 EIGRP는 여러 벡터 메트릭을 결합하여 경로를 계산합니다. 아래는 show ip eigrp topology 명령어를 사용한 예시와

Linux 명령어

diff 명령어
* 두개의 폴더 비교 후 한쪽만 있는 파일을 찾을 경우
Ex) diff -r dir1 dir2 | grep Only

---------------------------------------------------------------------------------

scp 명령어
scp -[옵션] [보내는파일] [받는서버 계정]@[받는서버 URL]:[받을 위치 절대 경로]
-r = recursive 하위 폴더 포함 모두 복사
-p = preserve 권한 및 속성 유지
-C = compression 압축
Ex) scp -rp ./test.txt admin@172.10.10.33:/home

---------------------------------------------------------------------------------

rsync 명령어
rsync -[옵션] [보낼파일] [받을위치]
rsync -[옵션] [서버 계정]@[파일 URL]:[받을 경로]
-v : 진행상황을 상세히 보여줌
-r : 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행
-p : 버전속성 보존
-z : 데이터압축 전송
-b : 낡은 파일은 ~가 붙음
-e : ssh(rsh) 전송암호화
-a : archive mode(심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)
--stats : 결과보고
--delete : 원본 서버에 없는 파일은 백업 서버에서 삭제
--exclude : 제외할 파일 지정
--bwlimit : 대역폭(전송속도)제어
--max-size : 설정한 용량 이상의 파일 제외(2.6.4 추가)
--min-size : 설정한 용량 이하의 파일 제외(2.6.7 추가)

Ex) rsync -avz admin@222.1.11.154:/home/admin/src /home/admin/dest
(현재 서버의 /home/admin/dest 폴더에 222.1.11.154 서버의 /home/admin/src 폴더를 admin 계정을 통해 동기화)

---------------------------------------------------------------------------------

whereis 명령어
Ex) whereis cd -> 명령어의 위치 검색

---------------------------------------------------------------------------------

tail 명령어
-n   : 파일의 마지막부터 n번째까지 표시
-c num[단위]   : 마지막 num 바이트를 표시(단위= b(byte), k(kilo byte), m(mega byte) 기본 b)
-q   : 출력전에 파일이름을 미표시
-v   : 출력전에 파일이름을 표시
---------------------------------------------------------------------------------

grep 명령어
grep [OPTION] PATTERN [FILE]
-w   : 해당 단어만 검색할 때 사용
-v   : PATTERN과 일치하지 않는 것을 찾음
-n   : 찾은 line number 출력
-i    : 대소문자 구별하지 않음
-c   : PATTERN과 일치하는 line 수를 출력
-r    : 하위 dir검색
--exclude=FILE_PATTERN 특정 파일을 검색하지 않음
--include=FILE_PATTERN 특정 파일만 검색함
--exclude-dir=PATTERN 특정 이름의 dir은 검색에서 제외
-F    : 정규식 미사용
-E    : 확장 정규식 사용
-C num : 지정한 'num' 라인만큼 일치하는 라인의 위와 아래의 내용을 표시
-A num : 지정한 'num' 라인만큼 일치하는 라인의 아래 라인을 표시

Ex)
grep -n [A-Z] test.txt   -> 대문자 A-Z를 하나라도 포함하면 검색

---------------------------------------------------------------------------------

디스크 용량

명령어 : df (disk free)
df [option] [filesystem | file]
* option
- k : Kilobyte 단위
-m : Megabyte 단위
-h : Mega, Giga 등으로 표시
---------------------------------------------------------------------------------

폴더 용량

명령어 : du
* option
- a : 디렉토리에 있는 파일 크기 출력
- s : 총 사용량만 출력
- k : Kilo 단위 출력
- h : 잘모르지만 보기 편함
---------------------------------------------------------------------------------

리눅스 메모리 용량 확인
cat /proc/meminfo | grep MemTotal
---------------------------------------------------------------------------------

환경변수 확인
export
env
---------------------------------------------------------------------------------

계정 관리
 * 아래의 명령어가 bash에 등록되어 있지 않을경우 /usr/sbin/[명령어]

계정 리스트 확인
- cat /etc/passwd ([계정명] : [패스워드] : [UID] : [GID] : [홈디렉토리] : [로그인 쉘 위치])

계정 패스워드 확인
- cat /etc/shadow ([계정명] : [패스워드] : [암호생성일] : [암호변경가능최소시간] : [초기 암호변경 없이 사용 유효기간] : [만료 지정시 만료 경고일 수])

그룹 리스트 확인
- cat /etc/group ([그룹명] : [그룹패스워드] : [GID] : [그룹 구성원 사용자 이름])

계정 추가
- useradd [option] [계정명] ex)useradd administrator
{ -p : pwd 지정, -u : uid 변경, -g : 기본그룹 지정, -d : 사용자의 기본 홈 디렉토리 변경 }

계정 삭제
- userdel [option] [계정명] ex)userdel administrator
{ -f : 강제삭제, -r : 계정 생성시 만들어진 모든 정보 삭제, -h : 도움말 }

계정 수정
- usermod [option] [인자값] [계정명]
{
-p : 패스워드 지정 ex) usermod -p [패스워드] [계정명]
-u : UID 변경 ex) usermod -u [UID] [계정명]
-d : 홈디렉토리변경 ex) usermod -d [경로] [계정명] (사용해본 적 없음)
-g : 그룹 지정 ex) usermod -g [그룹명] [계정명] (계정명이 맞는 것으로 보임)
-l : 계정명 변경 ex) usermod -l [바뀔 명칭] [계정명]
}
---------------------------------------------------------------------------------

passwd 명령
패스워드 설정
- passwd [계정명]
1. old pwd
2. new pwd
3. check new pwd
---------------------------------------------------------------------------------

Samba
윈도우 삼바 로그아웃
- cmd -> net use /delete \\주소

---------------------------------------------------------------------------------

AWK
awk 시스템 변수
$0 : 입력라인 모두
$n : 입력라인에서 n번째 필드 값
ARGC : 명령 라인 인자수를 갖는 변수
ARGV : 명령 라인의 인자를 포함하는 배열
ENVIRON : 환경변수들을 모아둔 관계형 배열
FILENAME : 현재 파일명
FNR : 입력파일의 레코드 총수(라인수)
NF : 현재 레코드 필드 수
NR : 현재 레코드 번호
OFMT : 숫자에 대한 출력 포맷
OFS : 출력필드 구분, 빈 라인을 기본으로 사용
ORS : 출력 레코드 구분 (newline을 기본으로 사용)
RLENGTH : 지정한 패턴으로 검색되어 나온 문자열의 길이
RS : 입력 레코드 구분(newline을 기본으로 사용)
RSTART : 지정한 패턴으로 검색되어 나온 문자열의 앞부분

grep -r 'servlet-class' */WEB-INF/web.xml | awk -F '[.]' '{print $2}'
'servlet-class' 라는 문구로 현재 폴더 전체의 WEB-INF 아래에 있는 web.xml을 Grep
한 뒤 grep의 결과를 awk로 재출력하는 함수

awk의 -F 옵션은 구분자 설정 하는 옵션으로 '[.]' 구분자는 .을 기준으로 Grep 결과를 출력한다. '{print $2}'는 awk 구분자로 구분 한뒤 2번째 필드의 값을 나타낸다

---------------------------------------------------------------------------------

[find 명령어 조합]
find . option -exec command {} \;
*원하는 파일 find  -exec 와 원하는 명령어 입력 {} \;

[하위디렉토리의 권한을 755로 변경]
find . -type d -exec chmod 755 {} \;

[하위 디렉토리의 모든 파일의 권한을 644로 변경]
find . -type f -exec chmod 644 {} \;

* 특정폴더 비교 후 특정 문구 제거 및 정렬
diff -rq folder1 folder2 | grep -v .cvs | sort

* find and cp 조합
find . -mtime -1 | xargs cp -t targetDir
find . -mtime -1 -exec cp {} targetDir \;

* 특정확장자의 파일을 찾은 뒤 내용 검색
find . -name "*.xml" | xargs grep "test"
-> 확장자가 xml인 파일 중에서 test라는 문구를 검색

* 하위 디렉토리 중 폴더 용량 체크
find . -type d | xargs du -sh

* 5분 전에 수정된 파일 목록
find . -type f -mmin -5 | xargs ls -l

* 검색대상 폴더 중 심볼릭 링크의 파일까지 검색하고 싶은 경우
find . -L 옵션을 사용

---------------------------------------------------------------------------------

[압축, 해제 관련 명령어]
- tgz 압축 해제 : tar -xvzf [filename].tgz
- tgz 압축 : tar cvzf [filename].tar.gz [target(file or directory]
- tar.bz2 압축 해제 : tar -jxvf [filename].tar.bz2
- tar option : -c(압축), -x(해제), -v(크기표시), -f(사용할 파일의 tar 지정), -z(tar에서 gzip으로 할때 붙임)

- tar 압축 옵션

c: 압축
z: tar 로 묶은 후 gzip 압축
v: 압축과정을 출력(압축 해제도 동일)
p: 소유권등 퍼미션을 유지
f: 지정한 파일명으로 압축
P: 지정된 절대경로로 압축되며 동일 옵션 지정 시 동일 경로로 풀림(디렉토리가 없으면 생성됨)

- 기본 압축 방법 test.tar 라는 이름으로 a.txt, b.pdf, c.doc를 압축함
Ex) $ tar cvf test.tar a.txt b.pdf c.doc

---------------------------------------------------------------------------------

[IP 확인]
/sbin/ifconfig

[리눅스 버전 확인]
rpm -qa *-release
/etc/*-release
uname -r
/etc/issue

[리눅스 비트 확인]
1. uname -a -> i386/i686(32비트), IA64(64비트)
2. getconf LONG_BIT
3. file /sbin/init

댓글

이 블로그의 인기 게시물

이클립스 오류 - 프로젝트 폴더가 열리지 않는 경우

Subversion (SVN) 설치 및 다중 저장소 설정 가이드

MySQL Root 비밀번호 재설정하기: 완벽한 가이드