라우터
라우터는 서로 다른 네트워크 주소를 연결해주는 장치이다.
특별한 장치가 따로 있는 것은 아니고, 서로 다른 네트워크 주소를 연결해주는 기기들은 모두 라우터라고 할 수 있다.
때문에 하드웨어가 아닌 소프트웨어적인 의미가 크다고 할 수 있다.
브릿지와의 차이점은 브릿지는 콜리전 도메인을 나누고, 라우터는 브로드캐스트 도메인을 나눈다는 것이다.



같은 네트워크 상에서만 통신이 이루어진다면 라우터가 할 역할은 없지만, 1.1.1.2/24 -> 2.1.1.2/24 처럼 출발지와 목적지가 같은 네트워크 상에 없는 경우, 그 패킷은 default gateway로 전해져 라우터를 통과해 목적지에 도달한다.
만약 3.1.1.0의 네트워크 주소를 가진 C network가 그림상 B network 오른쪽에 라우터로 연결되어있다면 현 상태에서는 A network에서 C network로 패킷을 보낼 수 없다.
이런 경우 A 라우터의 라우팅 테이블의 2번 포트에 3.1.1.0/24를 수동으로 등록해줘야한다.

위의 그림과 같이 패킷에는 메시지 + 출발/목적지 IP 주소 + 출발지 맥주소 + 도착지 맥주소가 들어있다. 1.1.1.3의 네트워크에서는 2.1.1.3의 맥주소를 찾을 수 없으므로 1.1.1.0 네트워크 주소에 있는 1.1.1.1(default gateway)로 보내고 2.1.1.0 네트워크 주소에 있는 2.1.1.1(default gateway)을 통해 2.1.1.3에게 전달된다.
비트마스킹을 통한 네트워크 분할
IP 주소 범위: 1.1.1.0~1.1.1.255
IP 주소의 범위가 위와 같을 때 네트워크를 4개로 분할하기 위한 서브넷 마스크는 다음과 같다.
서브넷 마스크: 255.255.255.128 (11111111.11111111.11111111.11000000)
네트워크를 나눌 수 있는 경우의 수는 다음과 같다.
분할된 첫 번째 IP 주소 범위 : 00 (000000~111111) = 0 ~ 63 -> 1.1.1.0 ~ 1.1.1.63
분할된 두 번째 IP 주소 범위 : 01 (000000~111111) = 64 ~ 127 -> 1.1.1.64 ~ 1.1.1.127
분할된 세 번째 IP 주소 범위 : 10 (000000~111111) = 128 ~ 191 -> 1.1.1.128 ~ 1.1.1.191
분할된 네 번째 IP 주소 범위 : 11 (000000~111111) = 192 ~ 255 -> 1.1.1.129 ~ 1.1.1.255
-----------------------------------------------------------------------------------------------------------------------------
IP 주소의 범위가 위와 같을 때 네트워크를 8개로 분할하기 위한 서브넷 마스크는 다음과 같다.
서브넷 마스크: 255.255.255.224 (11111111.11111111.11111111.11100000)
네트워크를 나눌 수 있는 경우의 수는 다음과 같다.
분할된 첫 번째 IP 주소 범위 : 000 (00000~11111) = 0 ~ 31 -> 1.1.1.0 ~ 1.1.1.31
분할된 두 번째 IP 주소 범위 : 001 (00000~11111) = 32 ~ 63 -> 1.1.1.32 ~ 1.1.1.63
분할된 세 번째 IP 주소 범위 : 010 (00000~11111) = 64 ~ 95 -> 1.1.1.64 ~ 1.1.1.95
분할된 네 번째 IP 주소 범위 : 011 (00000~11111) = 96 ~ 127 -> 1.1.1.96 ~ 1.1.1.127
분할된 다섯 번째 IP 주소 범위 : 100 (00000~11111) = 128 ~ 159 -> 1.1.1.128 ~ 1.1.1.159
분할된 여섯 번째 IP 주소 범위 : 101 (00000~11111) = 160 ~ 191 -> 1.1.1.160 ~ 1.1.1.191
분할된 일곱 번째 IP 주소 범위 : 110 (00000~11111) = 192 ~ 223 -> 1.1.1.192 ~ 1.1.1.223
분할된 여덟 번째 IP 주소 범위 : 111 (00000~11111) = 224 ~ 255 -> 1.1.1.224 ~ 1.1.1.255
이로써 서브넷 마스크의 1의 갯수가 오른쪽으로 n개 늘어나면 네트워크는 2의 n제곱만큼 늘어나는 것을 확인할 수 있다.
리눅스 명령어
※ tar
tar 명령어는 여러 개의 파일을 하나의 파일로 압축한다.
# tar [옵션] [압축파일명] [대상]
-c 옵션: 대상을 압축한다.
-x 옵션: 압축한 것을 푼다.
-v 옵션: 작업 내용을 출력한다.
-z 옵션: gzip를 이용해서 압축(압축해제)한다.
-f 옵션: 파일명을 지정한다.
tar를 이용한 증분 백업 시의 명령어는 다음과 같다.
# tar [옵션] [압축파일명] ‐g [백업정보 파일] [대상]
ex) # tar cvfz home_full.tar.gz ‐g /backup/home_backup /home
증분백업은 파일의 변경부분만 추가적으로 압축하는 방식이다.
백업정보 파일은 해시를 이용한 인증코드로, 파일이 오염되지 않았는지를 확인한다.
증분 백업 시 복구는 반드시 압축 순으로 해제한다.
파일 단위 백업이므로 OS레벨에서의 완전한 증분 백업은 불가능하다.
tar 명령어를 실행할 때 cvfz (압축할 때) 혹은 xvfz (해제할 때) 옵션을 붙여서 사용해버린다.
※ stat
파일의 시간 정보를 출력한다.
# stat 파일
- accecss time
파일에 마지막으로 접근한 시간을 나타내는 것으로, 시스템이나 응용프로그램이 마지막으로 파일에 접근한 시간이다.
- change time
파일의 퍼미션 등 속성이 변경된 시간이다.
- modify time
파일의 내용이 마지막으로 수정된 시간이다.
VI 에디터
vi 에디터는 반드시 파일명을 추가해서 실행한다.
# vi 파일명
다음의 세 가지 모드로 구성되어 있다.
명령 모드: 입력 이외의 편집작업을 수행한다.
입력 모드: 데이터 입력 및 수정을 수행한다.
실행 모드: 파일 저장, 종료를 수행한다.

명령 모드 명령어
x : 커서위치에서 한 글자씩 삭제한다.
dd: 커서가 위치한 라인을 삭제한다.
실행 모드 명령어
:wq : 저장 후 종료한다.
:q! : 저장하지 않고 종료한다.