

데이터 패킷의 전송 경로를 설정
주요 프로토콜로는 IP가 있음(패킷의 출발지와 목적지를 식별하게 해줌)
네트워크 내의 여러 라우터를 통한 패킷의 경로를 관리 및 패킷 손실, 중복, 지연 등의 문제를 처리
네트워크 환경에서 라우팅 테이블을 기반으로 데이터 패킷을 전송하는 통신 규약
IP, IPv6, IPX, AppleTalk 등
네트워크 연결 정보를 공유하여 라우팅 테이블을 구축하고 유지하는 프로토콜
OSPF, RIP, BGP 등
네트워크 간에 데이터 패킷을 전송하는 네트워크 장치
패킷의 위치를 추출하여 최적의 경로를 지정, 경로를 따라 패킷을 전달
네트워크를 분리할 수 있음
라우터가 목적지까지의 경로를 결정하기 위해 사용하는 정보를 담고 있는 테이블
netstat -r을 통해 라우팅 테이블 확인 가능
네트워크에서 한 시스템이 다른 네트워크로 데이터를 전송하는데 사용되는 장치
일반적으로, 라우터의 역할을 하며 서로 다른 네트워크 간의 통신을 중계
라우팅 테이블에 목적지 네트워크로의 패킷 전송 시 해당하는 게이트웨이 주소가 기록됨
IP(Internet Protocol) 주소는 각 네트워크에 연결된 장치를 고유하게 식별하는데 사용되며, 이 주소를 기반으로 패킷이 목적지까지 전달됨
사용자가 변경 가능한 논리 주소
그룹을 의미하는 네트워크 주소와 호스트 주소로 나뉨
가장 첫번째 호스트 주소는 네트워크 자체를 자칭
가장 마지막 주소는 브로드캐스트용 주소로 사용
A~E 클래스로 나뉘어져 있음



IP 주소에서 네트워크 영역을 부분적으로 세분화 한 네트워크
서브넷을 만들 때 사용되는 것이 서브넷 마스크
서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID를 분리하는 역할
IP 주소의 네트워크 주소, 호스트 주소인지를 결정하는데 사용됨
IP 주소와 동일한 형식
네트워크 부분에는 모두 1이, 호스트 부분에는 모두 0이 할당됨
서브넷팅한 네트워크 부분을 확인할 때는 IP 주소와 Subnet mask를 AND 연산해서 구한다.
네트워크를 더 작고 효율적인 부분으로 나누는 프로세스
IP 주소 공간을 더 효율적으로 사용할 수 있음
IP 주소를 2진수로 표현
서브 마스크를 2진수로 표현
AND 연산으로 네트워크 주소를 알아냄
사용가능한 IP 주소 범위를 파악
브로드캐스트 주소 -1은 사용 가능한 가장 큰 IP 주소
클래스 기반 네트워킹을 대체하기 위해 개발된 방식
더욱 유연한 IP 주소 할당을 가능하게 함
슬래시(/) 뒤에 숫자를 사용하여 네트워크 부분의 비트 수를 표현
(예: 192.168.56.0/24)
슬래시(/) 뒤에 오는 숫자는 네트워크 부분의 비트 수
이 비트 수는 해당 네트워크에서 호스트를 구분하는 데 사용됨
서브넷 마스크의 길이를 가변적으로 조정하여 IP 주소 공간을 효율적으로 사용
필요에 따라 다양한 크기의 서브넷 생성 가능

외부망에 공개되어 있는 IP 주소
세상에서 단 하나 분인 IP 주소로, 같은 주소가 동시에 존재할 수 없음
인터넷망에서 서로 다른 PG가 통신하기 위해 필요한 IP 주소
공인 IP를 가진 기기는 인터넷상에 노출됨
공인 IP로 대략적으로 지리적 위치를 추적 가능
외부망에 공개되어 있지 않은 IP 주소
중복 주소가 동시에 존재 가능
PC를 특정할 수 없어 다른 PC와 통신하는 데 사용 불가능
같은 내부망에 존재하는 다른 PC와 통신은 가능
외부망에서 내부망의 PC로 접근하기 위해서는 포트 포워딩과 같은 설정 필요
공유기에 연결된 PC가 인터넷에 접속할 때는 공인 IP를 사용
사설 IP 주소를 공인 IP 주소로 변경할 때 사용
여러 노드가 하나의 공인 IP 주소를 공유하여 인터넷에 접속할 수 있게 해줌
IP 주소 공간의 부족 문제를 완화
외부 네트워크에서 직접 사설 네트워크 내의 특정 장비를 찾아 접근하는 것을 방지하여 네트워크의 보안을 향상시킴


Version: IP 프로토콜 버전
IHL(Internet Header Length): IP 헤더의 길이 (옵션 필드의 유무, 길이 알 수 있음)
TOS(Type Of Service): 패킷 처리의 우선 순위 결정
Total Length: IP 헤더와 데이터를 포함한 전체 패킷의 길이
Identification: 패킷을 구분하기 위한 고유 번호
Flags: 패킷의 분할 가능 여부와 분할된 패킷의 마지막 조각인지 여부를 나타냄
Fragment Offset: 분할된 패킷의 순서
TTL(Time To Live): 패킷이 네트워크에서 살아있을 수 있는 시간
패킷이 라우터를 통과할 때마다 1씩 감소, 0되면 패킷 폐기
Protocol: IP 데이터 필드에서 사용하는 프로토콜
Header Checksum: IP 헤더의 오류 검출
Source IP Address: 패킷을 보낸 호스트의 IP 주소
Destination IP Address: 패킷을 받을 호스트의 IP 주소
Options: 필요에 따라 추가할 수 있는 옵션 정보 (실제로 사용 거의 안함)
MAC 주소와 논리적 IP 주소를 연계시켜 주기 위한 프로토콜
윈도우 CMD에서 arp -a 명령을 입력하면 ARP 테이블 정보 확인 가능

Hardware Type: 사용중인 Hardware 주소 타입을 나타내는 필드
Protocol Type: 프로토콜 타입 (0x0800은 IPv4를 의미)
Hardware Address Length: 물리 주소의 길이
Protocol Address Length: 프로토콜 주소의 길이
Operation Code:
Request = 1
특정 IP 주소에 대한 MAC 주소를 찾기 위한 요청
이 요청은 네트워크 내의 모든 장치에게 브로드캐스트 되며,
해당 IP 주소를 가진 장치는 이 요청에 응답하여 자신의 MAC 주소 제공
Reply = 2
요청에 대한 응답으로, 요청받은 IP 주소에 대한 MAC 주소를 포함
이 응답은 요청을 보낸 장치에게만 전달
Sender Hardware Address: ARP 요청을 보낸 호스트의 물리 주소
Sender Protocol Address: ARP 요청을 보낸 호스트의 프로토콜 주소
Target Hardware Address: ARP 요청의 대상인 호스트의 물리 주소
ARP 요청의 경우, 목적지 시스템의 물리주소를 알 수 없어 모두 0으로 설정
Target Protocol Address: ARP 요청의 대상인 호스트의 프로토콜 주소
MAC 주소를 기반으로 IP 주소를 찾는 역할을 하는 프로토콜

대상자 IP 필드에 자신의 IP 주소를 채워 ARP 요청을 보냄
자신의 IP와 MAC 주소를 알릴 목적으로 사용
메세지를 보낼 때, 만약 다른 장비에서 응답이 오면 그것은 동일한 IP 주소를 가진 장비가 이미 네트워크에 존재함을 의미하며, IP 주소 충돌의 가능성을 나타냄
네트워크 내의 다른 장비들이 ARP 테이블을 갱신할 수 있게 함
네트워크 장치들이 정보를 교환하거나 오류 메시지를 보내는데 사용됨
데이터각 의도한 대상에 도달하는지 확인하는데 사용됨
일반적으로 라우터와 같은 네트워크 장치에서 사용됨
대표적인 활용으로는 ping, traceroute, tracert 등이 있음
IPv4 헤더의 "protocol type"이 1이면 ICMP packet 임을 나타냄

Type: 메시지의 유형
Code: 메시지 유형에 대한 추가 정보 제공
Checksum: 메시지의 오류를 검출
Other message... : ICMP 유형 및 코드에 따라 내용이 달라짐

Type: ICMP 메시지 유형
Code: Echo Request 및 Echo Reply 메시지에 대한 코드
Checksum: 메시지의 오류를 검출
Identifier: Echo Request와 Echo Reply를 연결하는 식별자
Sequence Number: 메시지의 순서 일련번호
Data: 메시지에 대한 추가 데이터, 가변 길이의 데이터 포함 가능

인터넷을 통한 통신에서 보안을 제공하기 위한 프로토콜 스위트
데이터의 기밀성, 무결성, 인증을 보장
인터넷 경유 구간에 일종의 보안 통로인 터널링 형성을 가능하게 함
Layer 3에서 캡슐화에 의해 보안 통로를 제공
물리적인 전용선이 아닌 공중망을 이용해 논리적으로 직접 연결한 것처럼 망 구성
일반적으로 인터넷을 통해 비공개로 안전하게 데이터를 전송하기 위한 기술
터널링과 암호화 기술을 활용하여 사용자나 조직간의 안전한 연결 구축
지리적으로 떨어진 네트워크나 사용자들 간의 안전한 통신 지원

VPN은 터널링을 통해 안전한 통신 경로를 형성함
이는 데이터를 암호화하고 안전한 터널을 통해 전송하는 방식
외부에서는 터널을 통과하는 데이터를 안전하게 보호할 수 있음
현재 많이 사용되는 보안 VPN 프로토콜은 IPSec과 SSL
기존 32비트의 IPv4 주소가 고갈되는 문제를 해결하기 위해 개발된 새로운 128비트 체계의 무제한 인터넷 프로토콜 주소
16비트 단위로 구분, 각 단위는 16진수로 변환되어 콜론(:)으로 구분
앞 64비트는 네트워크 주소를 의미
뒤 64비트는 네트워크에 연결된 통신장비 등에 할당되는 인터페이스 주소

Version: 버전 정보
Traffic Class: 혼잡되는 트래픽 패킷의 우선순위
Flow Label: 데이터의 특정한 흐름을 위한 특별한 처리를 제공
Payload Length: 기본 헤더를 제외한 IP 데이터그램 길이
Next Header: 기본 헤더 다음에 위치하는 확장 헤더의 종류
Hop Limit: IPv4의 TTL과 같은 역할
Source Address: 출발지 주소
Destination Address: 목적지 주소

IPv4 멀티캐스트와 공통된 특징과 프로토콜을 가지고 있으면서도, 특정 프로토콜이 필요하지 않도록 변경과 개선을 제공
기존의 IP 브로드캐스트 사용하여 첨부된 링크의 모든 호스트에 패킷을 전송하는 것을 구현하지 않으므로 브로드캐스트 주소를 정의하지 않음
IPv6 네트워크에서 호스트가 자동으로 IPv6 주소를 구성하는 기술
네트워크의 라우터는 일정한 간격으로 RA 메시지를 전송
메시지는 네트워크에 존재하는 IPv6 라우터의 존재를 알리고 네트워크 구성을 위한 정보를 제공
RA 메시지에는 Prefix 정보와 다양한 구성 옵션들이 포함됨
네트워크의 일부를 식별하는 데 사용되는 비트의 연속
호스트는 Prefix 정보를 바탕으로 자신의 IPv6 주소를 구성
호스트는 받은 Prefix 정보와 자신의 인터페이스 식별자(Interface Identifier)를 조합하여 IPv6 주소를 구함
인터페이스 식별자는 일반적으로 MAC 주소를 기반으로 생성됨
MAC 주소와 일부 비트를 조정하여 유일한 인터페이스 식별자를 생성
IPv6 네트워크에서 호스트에게 IPv6 주소 및 다양한 구성 정보를 동적으로 제공
인터넷에서 라우팅을 관리하는 독립된 네트워크 시스템
AS는 하나 이상의 IP 주소 범위와 함께 라우터들로 구성되어 있음
이 독립된 시스템은 자체적으로 관리되며, BGP를 사용하여 다른 AS와 통신
라우터들이 네트워크와 최적 경로를 계산하고, 라우팅 정보를 교환하는데 사용
주로 Distance Vector방식과 Link State 방식을 사용
라우터가 자신의 라우팅 테이블을 이웃 라우터와 주기적으로 공유하는 방식
네트워크 변화에 빠르게 적응하지만, 라우팅 루프 같은 문제를 야기할 수 있음
대표적인 프로토콜은 RIP
최대 15홉까지의 네트워크를 지원
간단하고 구현이 쉽지만, 큰 네트워크에는 적합하지 않음

라우터가 네트워크의 전체 지도를 만들고, 이를 바탕으로 최적의 경로를 계산
네트워크 변화를 정확하게 반영
라우팅 루프 문제를 해결
대표적인 프로토콜은 OSPF

대형 네트워크를 지원
복잡한 토폴로지에 적용
링크 상태 데이터베이스를 사용하여 네트워크의 전체 지도를 만들고, 이를 바탕으로 최적의 경로를 계산
서로 AS 간에 사용되는 라우팅 프로토콜
AS 간의 연결성을 유지하고, 최적의 경로를 선택하는데 사용
대표적인 프로토콜은 BGP
서로 다른 AS 간에 라우팅 정보를 교환하는 데 사용되는 프로토콜
인터넷의 주요 라우팅 프로토콜
각 AS가 자체적으로 결정한 정책에 따라 라우팅 결정을 내릴 수 있게 함
전세계적으로 IP 주소가 부족함
-서브넷팅 (주소를 나누어서 사용)
-네트워크 목록이 많아짐 -> Summary
-DHCP(Dynamic Host Configuration Protocol) -> IP 자동할당
-사설 IP 주소 대역 > 사설망 <-> 공인망 = 인터넷망 (공인 IP 주소)
-> 인터넷을 할 경우, 공인 IP 주소로 변환 NAT
- 그래도 부족해서 해결책: IPv6 (16진수, 128bit)
IPv4 사설 IP 주소 대역
A 클래스: 10.x.x.x/8 (subnet 1개)
B 클래스: 172.16~31.x.x/12 (subnet 16개)
C 클래스: 192.168.x.x/16 (subnet 256개)
Network Address(start IP)/prefix
prefix: Network ID bit 수 (안바뀌는 비트 수)
서브넷 마스크: 연속된 1로 Network ID를 표기, 0은 Host ID를 연속되게 표기
용도: IP를 할당할 때 사용
와일드카드 마스크: 연속된 0으로 Network ID를 표기 ,1은 Host ID를 표기
용도: 패킷을 정책과 비교할 때, 0 match, 1 mismatch
L2 스위치가 루핑을 방지하기 위해서 STP 프로토콜 사용
L3 라우터가 패킷을 라우팅하는데 있어서 패킷스위칭 방식을 사용
인터넷 공인망에는 많은 라우터들이 연결되어있음
출발지 N = 목적지 N -> 같은 동네, ARP로 MAC 주소 알아오기
출발지 N != 목적지 N -> 다른 동네에 있음. 게이트웨이에게 전달해야함
따라서 게이트웨이의 MAC 주소 알아오기

그림은 3560-24PS Multilayer Switch이다.
3000대 스위치는 L3 스위치이고, L2 스위치 보다 똑똑해진 스위치라 보면 된다.
라우터와 PC는 1,2번이 수신 3,6번이 송신이다.
스위치는 반대이다.
따라서 라우터와 스위치, 스위치와 PC는 서로 다이렉트 케이블로 연결한다.

그림은 아주 작은 강의실을 설계한 모습이다.

PC간 통신이 원활한 것을 확인할 수 있다.
Router는 nvram이라는 장치에 startup-config 설정파일이 저장되는데,
(부팅되면서 메모리에 올라감)
메모리에 올라가있는 설정파일 -> running-config
(메모리에 동작하고 있는 설정파일)
RAM은 전원이 꺼지면 데이터가 날라간다.
따라서 재부팅을 할 때, running-config가 저장되지 않았다면
startup-config를 불러오게 된다.
즉, 부팅 후 설정정보를 변경했다면 저장을 꼭 해야한다.
# copy running-config startup-config
# copy run start
# write memory(= # wr)

저장 후 dir nvram 명령어로 저장되었는지 확인 가능하다.

1대의 라우터 환경이 잘 설정된 모습이다.
1. OSI L2 프로토콜과 장비는 무엇이 있나요?
LAN에서 사용하는 프로토콜과, 해당 프로토콜에서 사용하는 주소는?
-Ethernet, Wi-Fi, PPP, SPT, HDLC, Frame Relay, Token Ring, VLAN
-MAC, MAC, 없음, 없음, 없음, DLCI, MAC, VLAN ID(위 순서대로)
2. OSI L3 프로토콜과 장비는 무엇이 있나요?
-IP, ICMP, ARP, RARP, OSPF, RIP, BGP, EIGRP, NDP
-Router, L3 Switch, Firwall, Gateway
3. IP Address에 대해서 작성해주세요.
표현방식, 주소 길이, 구성(0 ID + 0 ID)
Class와 Default Subnetmask
-IPv4(32bit), IPv6(128bit)
-Network ID + Host ID
-Class A: 255.0.0.0/8
-Class B: 255.255.0.0/16
-Class C: 255.255.255.0/24
4. 예약된 IPv4 주소 대역을 4개 이상 써주세요.
-Loopback Address: 127.0.0.0 ~ 127.255.255.255
(자가 테스트: ping 127.0.0.1)
-Multicast Address: 224.0.0.0 ~ 239.255.255.255
-Broadcast Address: 255.255.255.255
-APIPA (Automatic Private IP Addressing): 169.254.0.0 ~ 169.254.255.255
(DHCP 서버가 응답하지 않을 때 자동으로 할당되는 주소)
-0.0.0.0:
서버 데몬을 동작할 때, 가지고 있는 모든 인터페이스의 IP 주소로 오는 요청을 수용
-0.0.0.0 0.0.0.0: 라우팅 테이블에서 default route
-Link Local Address: 169.254.0.0/16
(DHCP 서버로부터 IP 정보를 받지못하면 OS가 임의 주소를 할당)
-서브넷의 Network Address
-서브넷의 Broadcast Address
5. 사설 IP 주소 대역을 써주세요.
-A 클래스: 10.x.x.x/8 (subnet 1개)
-B 클래스: 172.16~31.x.x/12 (subnet 16개)
-C 클래스: 192.168.x.x/16 (subnet 256개)
6. ARP와 ICMP는 어떤 프로토콜인가요?
-ARP: IP 주소를 MAC 주소로 변환
-ICMP: 네트워크에서 오류 메시지를 전달하고 진단하는 프로토콜
