1과목: TCP/IP
🌐 OSI 7 계층별 핵심 정리
| 계층 | 계층 이름 | 주요 역할 | 특징적인 기능 | 주요 프로토콜 | 데이터 단위 |
|---|---|---|---|---|---|
| 7계층 | 응용 계층 (Application) | 사용자에게 직접 네트워크 서비스를 제공 | 최종 사용자와 직접 상호작용 | HTTP, FTP, SMTP, POP3, SSH, Telnet, DNS | 메시지/데이터 |
| 6계층 | 표현 계층 (Presentation) | 데이터의 형식 변환 및 암호화/복호화 | 데이터 인코딩/디코딩, 압축, 보안(SSL/TLS) | JPEG, MPEG, MIDI | 메시지/데이터 |
| 5계층 | 세션 계층 (Session) | 통신하는 두 장치 간의 연결(세션) 시작, 유지, 종료 | 연결 동기화 및 대화 제어 | NetBIOS, RPC, L2TP | 메시지/데이터 |
| 4계층 | 전송 계층 (Transport) | 신뢰성 있는 데이터 전송 보장 및 프로세스 간 연결 | 신뢰성(오류/흐름 제어), 포트 번호 사용 | TCP, UDP | 세그먼트 |
| 3계층 | 네트워크 계층 (Network) | 패킷을 최종 목적지까지 라우팅(경로 지정) | 논리 주소(IP 주소) 사용, 라우팅, 비연결성 | IP, ICMP, IGMP, ARP, RARP | 패킷/데이터그램 |
| 2계층 | 데이터 링크 계층 (Data Link) | 물리적 링크를 통한 오류 없는 데이터 전달 | MAC 주소 사용, 프레임 동기화, 오류 검출 | 이더넷(Ethernet), PPP, HDLC, 스위치 기능 | 프레임 |
| 1계층 | 물리 계층 (Physical) | 물리적 연결 및 비트(Bit) 전송 | 전기적/물리적 사양 정의, 케이블, 리피터 | RS-232, 허브, 케이블, 전압 | 비트(Bit) |
어려운 프로토콜 정리
| 프로토콜 | 계층 | 간결 설명 |
|---|---|---|
| FTP (File Transfer Protocol) | 응용 (L7) | 파일 전송을 위한 표준 프로토콜입니다. 클라이언트와 서버 간 파일 업로드/다운로드를 위해 사용됩니다. |
| SMTP (Simple Mail Transfer Protocol) | 응용 (L7) | 이메일(전자 우편) 을 서버 간 또는 사용자가 서버로 보내는(송신) 데 사용되는 프로토콜입니다. |
| POP3 (Post Office Protocol version 3) | 응용 (L7) | 메일 서버에 도착한 이메일을 사용자의 PC로 다운로드(수신) 하는 데 사용되는 프로토콜입니다. |
| Telnet (Telecommunication Network) | 응용 (L7) | 원격지 호스트에 접속하여 명령 줄(CLI) 환경을 제공하는 터미널 에뮬레이션 프로토콜입니다. |
| MIDI (Musical Instrument Digital Interface) | 표현 (L6) | 전자 악기와 컴퓨터 간에 디지털 음악 정보를 교환하기 위한 표준 규격입니다. |
| NetBIOS (Network Basic Input/Output System) | 세션 (L5) | 동일한 로컬 네트워크 내의 장치들이 서로 이름으로 통신할 수 있도록 하는 세션 통신 규약입니다. |
| RPC (Remote Procedure Call) | 세션 (L5) | 클라이언트가 원격 서버에 있는 프로시저(함수) 를 자신의 PC에 있는 것처럼 호출할 수 있게 해주는 기술입니다. |
| IGMP (Internet Group Management Protocol) | 네트워크 (L3) | 호스트가 멀티캐스트 그룹에 가입하거나 탈퇴할 때 라우터에게 알리는 데 사용되는 프로토콜입니다. |
| RARP (Reverse ARP) | 데이터 링크 (L2) | MAC 주소를 이용하여 IP 주소를 알아내기 위해 사용되었던 프로토콜입니다. (현재는 DHCP가 대체) |
| PPP (Point-to-Point Protocol) | 데이터 링크 (L2) | 두 종단점(Point-to-Point) 간의 직접적인 연결을 통해 데이터를 캡슐화하고 전송하는 프로토콜입니다. |
| HDLC (High-level Data Link Control) | 데이터 링크 (L2) | 데이터 링크 계층에서 동기식 직렬 통신을 위한 비트 지향형 프로토콜로, 오류 제어 및 흐름 제어 기능을 제공합니다. |
가능한 호스트 수 계산
- 블록 크기 계산: 256 - 서브넷 마스크 마지막 옥텟 값
: 256 - 240 =
16(총 IP 개수)개 - 사용 가능 호스트 수 계산:
16(총 IP 개수) - 2(네트워크 주소, 브로드캐스트 호스트) =
14개
링크 스테이트 알고리즘(Link State Algorithm)
링크 스테이트 알고리즘은 라우팅 프로토콜 중 하나로, 네트워크의 전체적인 구조(토폴로지) 를 파악하여 최단 경로(Shortest Path) 를 결정하는 방식입니다.
대표적인 프로토콜로는 OSPF(Open Shortest Path First) 가 있습니다.
OSPF 🆚 IS-IS
| 구분 | OSPF(Open Shortest Path First) | IS-IS (Intermediate System to Intermediate System) |
|---|---|---|
| 개발 및 표준 | IETF(Internet Engineering Task Force) 표준 | ISO(International Organization for Standardization) 표준 |
| 용도 | IP 라우팅 전용으로 개발. 일반 기업 및 ISP 환경에서 널리 사용. | 원래 CLNS/CLNP를 위해 개발. 현재는 IP 라우팅도 지원. 대규모 통신사 백본망에서 선호됨. |
| 계층 구조 | Area(영역)를 기반으로 계층 구조를 나눔. (Area 0이 백본) | Level(레벨)을 기반으로 계층 구조를 나눔. (Level 2가 백본) |
| 운영 복잡도 | 비교적 직관적이고 설정이 용이함. | 설정이 복잡하고 전문 지식이 필요하지만, 대규모 환경에서 안정적임. |
| 인터페이스/대역폭 | 모든 라우터 인터페이스에 IP 주소가 필요하며, 멀티캐스트 주소(224.0.0.5, 224.0.0.6)를 사용. | 라우터 간에 IP가 없어도 이웃 관계 설정 가능. OSI 프로토콜의 특징이 남아있음. |
ARP(Address Resolution Protocol)
ARP는 네트워크 계층(Layer 3)의 IP 주소(논리 주소) 를 데이터 링크 계층(Layer 2)의 MAC 주소(물리 주소) 로 변환해주는 프로토콜입니다.
왜 필요할까요?
- 인터넷 전체에서 데이터를 라우팅할 때는 IP 주소를 사용합니다. (길 찾기)
- 하지만 실제 같은 로컬 네트워크(LAN) 내에서 데이터를 전달하려면 해당 장치의 MAC 주소가 필요합니다. (옆집 문패 확인)
- 두 주소 체계는 서로 연관성이 없기 때문에, IP 주소를 아는 상태에서 통신을 시작하려면 해당 IP를 가진 장치의 MAC 주소를 알아내야 하는데, 이 역할을 ARP가 수행합니다.
| ARP 개념 | 아파트 택배 배달 |
|---|---|
| IP 주소 | 동 호수 (논리적인 주소, 바뀔 수 있음) |
| MAC 주소 | 우편함의 고유 식별 번호 (물리적인 주소, 고정됨) |
| ARP Request (브로드캐스트) | 택배 기사가 “101동 505호 우편함 주인님, 혹시 계시면 응답해 주세요!”라고 단지 전체에 방송하는 것 |
| ARP Reply (유니캐스트) | 101동 505호 주인이 “제가 101동 505호입니다. 제 우편함의 고유 번호(MAC)는 XXXX입니다.”라고 택배 기사에게만 알려주는 것 |
ICMPv6의 이웃 요청/광고 메시지(NDP)
IPv6에서는 IPv4의 ARP와 ICMP Ping(호스트 도달 가능 여부 검사) 역할을 ICMPv6의 NDP (Neighbor Discovery Protocol, 이웃 검색 프로토콜) 기능이 통합하여 수행합니다.
이웃 검색 프로토콜을 구성하는 주요 메시지가 바로 이웃 요청(Neighbor Solicitation, NS) 과 이웃 광고(Neighbor Advertisement, NA) 입니다.
| 메시지 | IPv4에서의 역할 대체 | 기능 및 목적 |
|---|---|---|
| 이웃 요청 (Neighbor Solicitation, NS) | ARP Request 및 ARP Ping | 1. MAC 주소 요청: 특정 IPv6 주소를 가진 장치에게 자신의 MAC 주소(링크 계층 주소) 를 알려달라고 요청합니다. (ARP 역할) 2. 도달 가능 여부 확인 (DAD): 대상 호스트가 네트워크에 존재하며 통신이 가능한지 확인합니다. |
| 이웃 광고 (Neighbor Advertisement, NA) | ARP Reply | NS 요청을 받은 장치가 자신의 MAC 주소를 응답으로 알려줍니다. (ARP 응답 역할) |
IPv6 확장 헤더와 단편화 (Fragmentation)
IPv6에서
Fragmentation(단편화)확장 헤더는 패킷의 크기가 네트워크의 최대 전송 단위(MTU)를 초과할 때 사용됩니다.
문제 상황 분석
- IPv6 패킷 크기: 6000 Byte
- 이더넷 LAN의 기본 MTU: 1500 Byte (일반적인 이더넷의 최대 전송 단위)
패킷 크기(6000 Byte)가 MTU(1500 Byte)보다 크기 때문에, 이 패킷은 LAN을 통과하기 위해 더 작은 조각으로 분할(Fragment) 되어야 합니다.
Fragmentation 확장 헤더의 역할
- IPv6에서 단편화는 오직 송신 호스트(Source Host) 에서만 수행할 수 있습니다. → IPv4와 달리 라우터는 단편화를 수행할 수 없습니다.
- Fragmentation 확장 헤더는 패킷이 분할된 조각들(Fragment)에 붙어, 수신 호스트가 이 조각들을 원래의 데이터그램(6000 Byte 패킷) 으로 정확하게 재조립(Reassembly) 할 수 있도록 순서 정보와 식별 정보를 제공합니다.
IP 프로토콜(Internet Protocol)
IP 프로토콜은 OSI 7계층 모델 중 네트워크 계층(Layer 3) 에 속하는 핵심 프로토콜로, 데이터를 패킷(Packet) 단위로 캡슐화하여 최종 목적지까지 전달하는 역할을 수행합니다.
주요 역할과 특징
| 구분 | 내용 | 설명 |
|---|---|---|
| 계층 | 네트워크 계층 (Layer 3) | 라우팅을 담당합니다. |
| 주소 체계 | IP 주소 (논리 주소) 사용 | 데이터를 보낼 최종 목적지 주소를 식별합니다. |
| 핵심 특징 | 비신뢰성 (Unreliable) | 패킷의 순서, 도착 여부, 오류 여부를 보장하지 않습니다. 오직 전달에만 집중합니다. |
| 연결 방식 | 비연결성 (Connectionless) | 데이터를 보내기 전에 수신자와 연결을 설정하는 과정이 없으며, 패킷마다 독립적인 경로로 전송될 수 있습니다. |
IP가 수행하지 않는 기능(TCP가 담당)
IP는 단순 전달자 역할만 하므로, 다음과 같은 신뢰성 관련 기능은 상위 계층인 TCP (Transmission Control Protocol) 가 담당합니다.
- 신뢰성 확보: 패킷의 손실, 중복, 오류를 체크하고 재전송하는 기능 (ACK/NAK)
- 흐름 제어 (Flow Control): 송신 속도를 조절하여 수신 버퍼의 넘침을 방지하는 기능 (슬라이딩 윈도우)
- 오류 제어 (Error Control): 오류를 감지하고 수정하는 기능
- 순서 제어: 패킷이 순서대로 도착했는지 확인하고 재조립하는 기능
TCP/IP의 주요 캐스트 방식
데이터를 전송하는 대상의 수에 따라 IP 통신은 크게 세 가지 방식으로 나뉩니다.
| 캐스트 방식 | 전송 관계 | 설명 |
|---|---|---|
| 유니캐스트 (Unicast) | 1 : 1 | 메시지가 하나의 호스트에서 다른 하나의 호스트로 전송 (가장 흔한 통신) |
| 브로드캐스트 (Broadcast) | 1 : All | 메시지가 동일 네트워크 내의 모든 호스트로 전송 (네트워크 주소 및 브로드캐스트 주소 사용) |
| 멀티캐스트 (Multicast) | 1 : Group | 메시지가 특정 그룹에 가입된 호스트들로만 전송 (효율적인 그룹 통신) |
TCP 헤더의 주요 필드 구성
| 필드 이름 | 길이 (비트) | 주요 역할 |
|---|---|---|
| Source Port Address | 16 | 데이터를 보낸 애플리케이션(프로세스) 식별 |
| Destination Port Address | 16 | 데이터를 받을 애플리케이션(프로세스) 식별 |
| Sequence Number | 32 | 세그먼트의 순서 번호 (순서 제어 및 재조립에 사용) |
| Acknowledgment Number (ACK) | 32 | 다음에 받아야 할 순서 번호 응답 (신뢰성 보장에 사용) |
| Header Length (Data Offset) | 4 | TCP 헤더의 길이를 나타냄 (옵션 필드의 유무 확인) |
| Reserved | 6 | 미래 사용을 위해 예약된 필드 (항상 0) |
| Flags (제어 플래그) | 9 | 연결 설정(SYN), 종료(FIN), 응답(ACK) 등 상태 및 흐름 제어 |
| Window Size | 16 | 수신 가능한 버퍼 크기 (흐름 제어에 사용) |
| Checksum | 16 | 헤더와 데이터의 오류 검출에 사용 |
| Urgent Pointer | 16 | 긴급(URG) 플래그 설정 시 긴급 데이터의 끝 위치를 표시 |
| Options | 가변 (최대 320) | MSS 협상 등 추가적인 기능을 위해 사용되며, 16비트 단위 |
DHCP(Dynamic Host Configuration Protocol)
DHCP는 현재 대부분의 네트워크 환경에서 사용되는 표준 프로토콜입니다.
| 구분 | 설명 |
|---|---|
| 개념 | 클라이언트(PC, 스마트폰 등)에게 IP 주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소 등 네트워크 환경 설정을 자동으로 할당해주는 프로토콜입니다. |
| 특징 | IP 주소를 영구적으로 할당하지 않고, 정해진 기간 동안 사용할 수 있는 임대(Lease) 방식으로 제공하여 IP 주소 관리를 효율화합니다. |
| 장점 | 수동 설정의 번거로움과 IP 충돌을 방지하며, IP 주소를 재활용할 수 있어 관리가 편리합니다. |
| 작동 원리 | DORA (Discover, Offer, Request, Acknowledge) 4단계 과정을 통해 주소를 할당합니다. |
집이나 카페에서 Wi-Fi에 연결하면 자동으로 IP 주소를 할당받아 인터넷을 사용할 수 있게 해주는 것이 바로 DHCP 서버의 역할입니다.
BOOTP(Bootstrap Protocol)
BOOTP는 DHCP의 선행 프로토콜로, DHCP가 등장하기 이전에 사용되었습니다.
| 구분 | 설명 |
|---|---|
| 개념 | 네트워크로 부팅해야 하는 디스크 없는 단말기(Diskless Workstation) 에게 IP 주소를 할당하고, 부팅에 필요한 파일을 서버에서 다운로드할 수 있도록 도와주던 프로토콜입니다. |
| 특징 | IP 주소를 임시 할당하는 임대(Lease) 개념이 없고, 수동으로 설정된 정적인(Static) 주소만 할당할 수 있었습니다. |
| 한계점 | 네트워크 환경 변경에 대한 유연성이 낮았고, 주소 풀 관리가 어려웠습니다. |
BOOTP와 DHCP의 관계
- DHCP는 BOOTP를 기반으로 확장 및 개선된 프로토콜입니다.
- DHCP는 BOOTP의 주소 할당 기능에 IP 임대, 주소 재활용, 다양한 설정 정보 제공 등의 유연성을 추가했습니다.
- 현재는 BOOTP가 제공하던 모든 기능을 DHCP가 대체하고 있으며, BOOTP는 거의 사용되지 않습니다.
HTTP/2 🆚 HTTP/3
| 구분 | HTTP/2 | HTTP/3 |
|---|---|---|
| 기반 프로토콜 | TCP (Transmission Control Protocol) | QUIC (Quick UDP Internet Connections) |
| 핵심 기술 기반 | SPDY (Google 개발) | UDP (User Datagram Protocol) |
| 주요 목표 | HOLB(Head-of-Line Blocking) 문제 완화 및 성능 향상 | TCP의 한계 극복 및 웹 성능 극대화 |
| 데이터 전송 | 스트림(Stream) 단위로 다중화(Multiplexing)하여 전송 | 스트림 단위로 다중화하여 전송 |
| 연결 설정 | TCP의 3-Way Handshake 사용 (RTT 2회 필요) | QUIC의 0-RTT (재연결 시) 또는 1-RTT로 연결 설정 가능 |
| HOLB 문제 | 완화(개선). 응용 계층에서는 HOLB가 없으나, 전송 계층(TCP) 에서는 여전히 발생. | 근본적으로 해결. 각 스트림이 독립적으로 처리되어 한 스트림의 오류가 다른 스트림에 영향을 주지 않음. |
| 보안 | 기본적으로 TLS/SSL 암호화 사용 권장 | QUIC 자체가 TLS를 포함하고 있어 암호화가 필수임. |
HOLB(Head-of-Line Blocking)
HOLB (선두 막힘 현상) 은 데이터 전송의 효율을 저해하는 현상입니다.
여러 개의 데이터가 순서대로 처리되기를 기다리는 대기열(큐)에서, 앞쪽(Head)에 있는 데이터 하나가 어떤 이유(오류, 손실, 지연 등)로 처리가 지연되면, 그 뒤에 있는 모든 데이터가 정상임에도 불구하고 함께 멈춰서 기다리게 되는 현상을 말합니다.
-
HTTP/1.1 (응용 계층 HOLB): 하나의 TCP 연결 위에서 이전 요청의 응답을 받아야 다음 요청을 보낼 수 있어 발생했습니다.
-
TCP/HTTP/2 (전송 계층 HOLB): HTTP/2가 다중화를 도입하여 응용 계층 HOLB는 해결했지만, TCP 자체는 여전히 순서 보장을 하기 때문에, 하나의 TCP 세그먼트가 손실되면 뒤따르는 모든 스트림의 데이터가 복구될 때까지 멈추는 전송 계층 HOLB가 발생합니다.
→ HTTP/3는 TCP 대신 UDP 기반의 QUIC을 사용하여 각 스트림을 독립적으로 처리함으로써 이 전송 계층 HOLB를 근본적으로 해결했습니다.
SNMP(Simple Network Management Protocol)
SNMP는 TCP/IP 기반의 네트워크 환경에서 네트워크 장비(라우터, 스위치, 서버, 프린터 등) 의 상태 정보를 수집하고 원격으로 관리 및 제어하기 위해 사용하는 표준 프로토콜입니다.
특징 및 포트 정보
- 사용 프로토콜: UDP를 기반으로 작동합니다. (간단하고 빠르기 때문에 선택됨)
- 포트 번호:
- 161번: NMS가 Agent에게 정보를 요청(Get) 할 때 사용.
- 162번: Agent가 NMS에게 Trap 메시지를 보낼 때 사용.
- 버전별 보안:
- SNMPv1, v2c: 보안성이 매우 취약합니다. 단순한 ‘커뮤니티 문자열(Community String)‘로 인증하며, 암호화 기능이 없습니다.
- SNMPv3: 보안 기능이 강화되어 인증 및 암호화 기능을 제공합니다.
2과목: 네트워크 일반
NFV(Network Function Virtualization)
NFV는 네트워크 장비의 특정 기능(Network Function)을 전용 하드웨어(HW)에서 분리하여 소프트웨어(SW) 형태로 가상화하고, 일반 범용 서버 위에서 실행하는 기술입니다.
쉽게 말해, 라우터, 방화벽, 로드 밸런서 같은 네트워크 장비들을 더 이상 딱딱한 전용 ‘박스’가 아닌, 일반 컴퓨터 서버 위에서 ‘프로그램’처럼 돌리는 것입니다.
ARQ(Automatic Repeat Request)
ARQ(Automatic Repeat Request) 방식은 데이터 통신 시 오류가 발생하거나 프레임(패킷)이 손실되었을 경우, 수신 측이 송신 측에게 재전송을 요청하여 신뢰성 있는 데이터 전송을 보장하는 오류 제어 기법입니다.
쉽게 말해, 데이터를 보냈는데 제대로 받지 못하면 “다시 보내주세요!” 라고 자동으로 요청하는 방식입니다.
ARQ 방식 비교
| ARQ 방식 | 전송 방식 | 재전송 범위 | 전송 효율 |
|---|---|---|---|
| Stop-and-Wait ARQ | 정지-대기 | 오류 발생 시 해당 프레임 하나만 재전송 | 가장 낮음 (응답을 기다리느라 지연) |
| Go-back-N ARQ | 연속 전송 | 오류가 난 프레임부터 그 이후의 모든 프레임을 재전송 | 낮음 (정상 프레임까지 불필요하게 재전송) |
| Selective ARQ | 연속 전송 | 오류가 난 해당 프레임 하나만 선택적으로 재전송 | 가장 높음 (가장 효율적) |
| Adaptive ARQ | 연속 전송 | 채널 상태에 따라 재전송 횟수나 프레임 크기를 동적으로 변경 | 채널 환경에 따라 가변적 (지능적) |
데이터 전송 손실 현상
| 손실 현상 | 원인 | 특징 및 결과 |
|---|---|---|
| 감쇠 현상 (Attenuation) | 전송 매체를 따라 이동하면서 에너지를 잃음. | 신호 세기(진폭) 가 약해짐. 주로 장거리 전송에서 발생. |
| 위상 왜곡 (Phase Distortion) | 복합 신호의 주파수 성분별로 도달 시간(지연)이 다름. | 신호 파형의 모양(위상 관계)이 변형되어 데이터 오류 유발. |
| 누화 (Crosstalk) | 인접한 통신 회선(케이블) 간에 발생하는 전자기적 간섭. | 원치 않는 다른 신호가 유입되어 데이터 오류 유발. |
| 충격성 잡음 (Impulse Noise) | 번개, 스위치 작동 등 외부의 갑작스럽고 짧은 순간의 고에너지 발생. | 순간적으로 높은 진폭의 잡음이 생겨 데이터 손상 유발. |
| 열 잡음 (Thermal Noise) | 전송 장치 내의 전자 이동으로 인해 발생하는 무작위적인 잡음. | 모든 전자 장치와 통신 매체에서 항상 발생하며, 광대역(Wideband) 잡음임. |
이더넷 표준 및 특징 분석
| 규격 이름 | 다른 이름 | 전송 속도 | 접속 방식 | 특징 |
|---|---|---|---|---|
| Thick Ethernet | 10BASE5 | 10 Mbps | CSMA/CD | 초기 이더넷 규격으로, 두꺼운 동축 케이블을 사용했습니다. |
| Fast Ethernet | 100BASE-T | 100 Mbps | CSMA/CD | 기존 10BASE-T 이더넷을 10배 빠르게 개선한 표준입니다. |
| Gigabit Ethernet | 1000BASE-X/T | 1 Gbps | CSMA/CD (반이중), 전이중(Full Duplex) | 100BASE-T에서 10배 빠르게 개선. |
| 10Gigabit Ethernet | 10GBASE-R/T | 10 Gbps | 전이중(Full Duplex) | CSMA/CD를 사용하지 않고 전이중 통신만 사용합니다. |
3과목: NOS(Network Operating System)
리눅스 셸 리다이렉션 기호 정리
| 기호 | 이름 | 기능 | 예시 (ls -al) | 설명 (Overwrite vs Append) |
|---|---|---|---|---|
> | 출력 리다이렉션 | 명령어의 표준 출력(STDOUT) 을 파일로 저장 | ls -al > file.txt | 덮어쓰기 (Overwrite): 파일 내용을 완전히 지우고 새 내용을 저장합니다. |
>> | 출력 리다이렉션 | 명령어의 표준 출력(STDOUT) 을 파일에 추가 | ls -al >> file.txt | 추가 (Append): 파일의 맨 끝에 새 내용을 이어서 추가합니다. |
< | 입력 리다이렉션 | 파일의 내용을 명령어의 표준 입력(STDIN) 으로 사용 | sort < data.txt | data.txt의 내용을 sort 명령어의 입력으로 전달합니다. |
<< | Here Document | 셸 스크립트에서 입력 내용을 바로 문서 안에 정의 | cat << EOF | 셸이 구분자(EOF)가 나타날 때까지의 텍스트를 입력으로 사용합니다. |
Crontab
Crontab은 리눅스 시스템에서 Cron Daemon을 이용해 특정 명령어나 스크립트를 반복적으로 자동 실행하도록 예약하는 파일입니다.
Crontab 시간 설정 형식
Crontab은 다섯 개의 시간 필드와 실행할 명령어로 구성됩니다. 각 필드에 와일드카드(
*), 콤마(,), 하이픈(-) 등을 사용하여 주기를 설정합니다.
| 필드 순서 | 의미 | 범위 | 와일드카드 (*) |
|---|---|---|---|
| 1 | 분 (Minute) | 0 ~ 59 | 매 분 |
| 2 | 시 (Hour) | 0 ~ 23 | 매 시 |
| 3 | 일 (Day of Month) | 1 ~ 31 | 매일 |
| 4 | 월 (Month) | 1 ~ 12 | 매월 |
| 5 | 요일 (Day of Week) | 0 ~ 7 | 매일 (0과 7은 일요일, 1은 월요일) |
| 6 | 실행할 명령어/스크립트 | 명령어 경로 | N/A |
Crontab 실용 예시 3가지
| 예시 번호 | Crontab 설정 | 해석 |
|---|---|---|
| 1 | 30 2 * * * /usr/bin/backup.sh | 매일 오전 2시 30분에 /usr/bin/backup.sh 스크립트 실행 |
| 2 | 0 12 * * 1-5 /usr/bin/check_server.sh | 월요일부터 금요일까지(1-5) 매일 정오(12시 0분) 에 서버 상태 체크 스크립트 실행 |
| 3 | */15 * * * * /usr/bin/log_clean.sh | 매 시간 0분, 15분, 30분, 45분 (15분 간격)에 로그 정리 스크립트 실행 |
netstat 명령어 주요 옵션 정리
| 옵션 | 역할 | 설명 | 예시 |
|---|---|---|---|
-a | 모든 연결 표시 | 모든(All) 연결 상태(Established, Listening 등)를 표시합니다. | netstat -a |
-n | 숫자로 표시 | IP 주소나 포트 번호를 호스트 이름이나 서비스 이름으로 변환하지 않고 숫자 형태로 표시합니다. (속도 향상) | netstat -an |
-t | TCP 연결 표시 | 활성화된 TCP 연결만을 표시합니다. | netstat -at |
-u | UDP 연결 표시 | 활성화된 UDP 연결만을 표시합니다. | netstat -au |
-p | 프로세스 정보 표시 | 연결을 사용하고 있는 PID (프로세스 ID) 와 프로그램 이름을 함께 표시합니다. | netstat -ap |
-r | 라우팅 테이블 표시 | 커널의 라우팅 테이블(Routing Table) 내용을 표시합니다. | netstat -r |
-l | 수신 대기 표시 | 현재 연결을 기다리고 있는 Listening 상태의 포트만 표시합니다. | netstat -l |
DNS SOA 레코드 ‘책임자’ 필드 형식
| 필드 | 내용 | 올바른 형식 |
|---|---|---|
| 책임자 (RNAME) | 해당 도메인 영역을 관리하는 관리자의 이메일 주소를 기입합니다. | 일반적인 이메일 형식에서 @ 기호 대신 . (점, dot) 을 사용하여 표기해야 합니다. |
| 잘못된 예 | admin@example.com | |
| 올바른 예 | admin.example.com |
Linux 서비스/프로세스 관리 주요 명령어
| 명령어 | 주요 역할 | 자주 사용하는 옵션 | 간결 설명 |
|---|---|---|---|
ps | 프로세스 상태 확인 | -ef 또는 aux | 현재 시스템에서 실행 중인 프로세스 목록을 출력합니다. |
top | 실시간 프로세스 모니터링 | (옵션 없이 실행) | CPU 사용률, 메모리 사용량 등을 실시간으로 확인합니다. |
kill | 프로세스 종료 | -9 (강제 종료) | 특정 PID를 가진 프로세스에 시그널을 보내 종료시킵니다. |
pstree | 프로세스 트리 | (옵션 없이 실행) | 프로세스 간의 부모-자식 관계를 트리 형태로 보여줍니다. |
systemctl | 서비스 제어 (최신 Linux) | status, start, stop, enable | systemd 기반에서 서비스(데몬)의 상태 확인 및 시작/종료를 제어합니다. |
service | 서비스 제어 (구형 Linux) | status, start, stop | init.d 기반에서 서비스를 제어하며, systemctl 등장 이전부터 사용되었습니다. |
grep | 특정 내용 검색 | `[pipe] | grep [키워드]` |
Windows ping 명령어 주요 옵션 정리
| 옵션 | 역할 | 설명 | 예시 |
|---|---|---|---|
-t | 반복 전송 (Test) | 사용자가 중단할 때까지(Ctrl+C) 에코 요청 메시지를 지속적으로 보냅니다. (연결 안정성 모니터링) | ping -t 192.168.1.1 |
-n count | 횟수 지정 (Number) | 보낼 에코 요청 메시지의 개수(count)를 지정합니다. (기본값: 4회) | ping -n 10 8.8.8.8 |
-l size | 버퍼 크기 지정 (Length) | 보낼 에코 요청 메시지의 데이터 버퍼 크기(바이트) 를 지정합니다. | ping -l 1000 192.168.1.1 |
-a | 호스트 이름 확인 | IP 주소를 사용하여 해당 호스트의 이름을 확인합니다. | ping -a 192.168.100.1 |
-f | 단편화 금지 (Don’t Fragment) | 전송 패킷에 단편화 금지(DF) 플래그를 설정합니다. (MTU 테스트에 주로 사용) | ping -f 10.10.10.1 |
-w timeout | 시간 제한 (Wait) | 응답을 기다리는 시간 제한(밀리초) 을 지정합니다. 이 시간 내에 응답이 없으면 시간 초과로 간주합니다. | ping -w 500 8.8.8.8 |
4과목: 네트워크 운용기기
주요 RAID 레벨별 특징 비교 정리
RAID(Redundant Array of Independent Disks)는 여러 개의 하드 디스크를 묶어 하나의 논리적인 저장 장치처럼 사용함으로써 성능 향상과 안정성(내고장성) 을 확보하는 기술입니다.
| RAID 레벨 | 구성 방식 | 최소 디스크 수 | 성능 | 안정성 (내고장성) | 특징 및 용도 |
|---|---|---|---|---|---|
| RAID 0 | 스트라이핑 (Striping) | 2개 | 매우 빠름 (최고) | 없음 (최악) | 데이터를 분산 저장하여 속도만 향상. 디스크 하나 고장 시 전체 데이터 손실. |
| RAID 1 | 미러링 (Mirroring) | 2개 | 빠름 (읽기) | 매우 높음 | 동일한 데이터를 복사본으로 저장 (100% 이중화). 저장 공간 효율이 50%로 낮음. |
| RAID 2 | 해밍 코드 (오류 정정) | 3개 이상 | 보통 | 높음 | 현재는 거의 사용되지 않는 구식 기술. |
| RAID 3 | 패리티 디스크 (바이트/비트 스트라이핑) | 3개 이상 | 빠름 (대용량 파일) | 높음 | 패리티를 전용 디스크에 저장. 작은 I/O 작업 시 패리티 디스크에 병목 현상 발생. |
| RAID 4 | 패리티 디스크 (블록 스트라이핑) | 3개 이상 | 빠름 (읽기) | 높음 | 패리티를 전용 디스크에 저장. 쓰기 작업 시 패리티 디스크에 병목 현상 발생. |
| RAID 5 | 분산 패리티 (Rotated Parity) | 3개 이상 | 빠름 | 높음 | 데이터와 패리티를 모든 디스크에 분산 저장하여 RAID 4의 병목 현상을 해결. 가장 널리 사용됨. |
| RAID 6 | 이중 분산 패리티 (Dual Parity) | 4개 이상 | 보통 | 매우 높음 (최고) | 두 개의 패리티 정보를 분산 저장하여 디스크 2개 고장까지 허용. 안정성이 매우 높음. |
| RAID 10 (1+0) | 미러링 + 스트라이핑 | 4개 이상 | 매우 빠름 | 매우 높음 | RAID 1의 안정성과 RAID 0의 속도를 결합. 안정성과 성능 모두 우수. |
실기 주의사항
- 9시 20분까지 입실 / 9시부터 입실 가능
- 신분증, 랜툴, 탈피기, 볼펜 챙기기
- 랜케이블, RS 45는 추가로 지급해 줌
- 수험번호 종이 뒤쪽을 메모장으로 사용 가능 → 서브넷 마스크 계산할 때 사용

1과목: 케이블링
- 10분 동안 다이렉트 or 크로스 케이블 제작
- 제작 후에 수험번호 스티커를 붙이고 책상에 두면 채점해 줌 → 윈도우 문제로 넘어가면 됨
- 케이블링은 시험 끝날 때 합격/불합격을 알려줌
2과목: 윈도우 서버
- 에뮬레이터와 화면 동일함
- 기출보다 실제 문제가 조금 더 복잡한 편 → 여러 케이스 고려 필요함
- 시간은 넉넉한 편
3과목: 라우터
- 에뮬레이터와 화면 동일함
copy r s를 여러 번 하면, 가장 최근 것으로 저장됨 → 재부팅 할 필요가 X
케이블링(1번)


다이렉트 케이블은 양 쪽 모두 [ 주띠 / 주 / 초띠 / 파 / 파띠 / 초 / 갈띠 / 갈 ] 순서입니다.
크로스 케이블은 양 쪽이 다릅니다. 한 쪽은 다이렉트 케이블과 동일하게 [ 주띠 / 주 / 초띠 / 파 / 파띠 / 초 / 갈띠 / 갈 ] 순서이고, 나머지 한 쪽은 주황색과 초록색 선의 위치가 바뀐 [ 초띠 / 초 / 주띠 / 파 / 파띠 / 주 / 갈띠 / 갈 ] 순서입니다.
![]() | ![]() |
|---|
- 다이렉트 케이블만 연습함
윈도우 서버(2~9번)
- 문제 풀이 영상 보면서 계속 복습

- 초 단위로 나오면 그대로 적고
초로 변경하면 됨 - 1분: 600초 / 60분(1시간): 36000초
- 서비스 관리자 문제는 다 준비할 수가 X → 설명 보고 찾아서 문제에 따라 설정

부팅 시에 자동으로 실행되도록 설정→ 시작 유형을자동으로 설정

위처럼 나오면 계산해야 함
- 1 옥텟: 128 + 64 = 192
- 2 옥텟: 128 + 32 + 8 = 168
- 3 옥텟: 64 + 32 + 4 = 100
- 4 옥텟: 16 + 8 + 2 + 1 = 27
→
IP주소: 192.168.100.27
24bit: 11111111.11111111.11111111.00000000
→ 서브넷 마스크: 255.255.255.0
- 웹 서버 == 웹 사이트 설정
![]() | ![]() |
|---|
- 4번을 보면, 123옥텟은 211.111.100 으로 고정되어 있음 → “즉, 서브넷 마스크의 prefix가 24이상이다.” →
255.255.255.xxx - 4옥텟은 0 ~ 255까지 모두 가능하므로 → prefix는 24으로 확정 → 서브넷 마스크를
255.255.255.0으로 설정
만약 4옥텟이 0 ~ 127까지만 가능했다면? → 하나의 서브넷 내에 들어갈 수 있는 호스트 개수가 128개(정확히는 126개)이다. → 128은 2^7 이며, 호스트가 쓸 자리는 비트 0으로 채워야하므로 서브넷 마스크의 4 옥텟은 10000000이 된다. → 즉, 이 경우에는 서브넷 마스크가
255.255.255.128이 된다.
![]() | ![]() |
|---|
- 보통 암호 정책 / 계정 잠금 정책이 나오는데, 위 경우에는
로컬 정책 -> 보안 옵션에서 설정해야 함!
![]() | ![]() |
|---|
- FTP 사이트 추가
- 5,6,7번 설정의 경우 →
생성한 FTP 사이트 우클릭 -> FTP 사이트 관리 -> 고급 설정내에 존재함!
단답 및 선택형(10~15번)
- 특정 서비스를 안 쓰게 한다:
서비스 찾기 -> 중지 -> 사용 안 함 - 네트워크 주소:
서브넷의 첫 번째 IP/ 브로드캐스트 주소:서브넷의 마지막 IP - IPv4와 IPv6를 동시에 사용하는 기술:
듀얼 스택 - 내부 네트워크 여러 주소 → 하나의 공인 IP 주소로 변환:
NAT - 네트워크에서 다른 장비로 보내는 메시지를 그대로 다시 출력:
echo - IP 주소 자동할당 프로토콜:
DHCP


ABC 클래스 주소 범위
- 사설 A클래스 주소 범위: 10.0.0.0 ~ 10.255.255.255
-
사설 B클래스 주소 범위: 172.16.0.0 ~ 172.31.255.255
-
사설 C클래스 주소 범위: 192.168.0.0 ~ 192.168.255.255
-
A클래스는 1옥텟이 10으로 고정 / 뒤는 자유로움
-
B클래스는 1옥텟만 172로 고정 / 2옥텟은 16~31만 / 뒤는 자유로움
-
C클래스는 1,2 옥텟만 192.168로 고정 / 뒤는 자유로움
라우터 설정(16~18번)

💡 Tip!
- 약어 사용 가능
- 시작하면 무조건
en/ show 하고 저장만 하는 경우에는conf t필요 X → 이 외에는 모두 필요함 sh r으로 전체 config 확인 가능 →copy r s후 최종적으로 확인해 보기

end: 바로 관리자모드(Router#) 으로 이동할 수 있음 (exit 2번과 동일함) → 여기서copy r s- 커맨드를 모를 때는
?를 적극 활용하자!

앞에 ip를 붙이고
?를 붙였으므로, ip 뒤에 붙는 커맨드들이 나열됨
1. OSPF 문제(고난이도, 1급에서 나온다고 함)
출처: https://www.youtube.com/watch?v=l3AjPotT8mc&list=PLAqJhdb8Bd4Gm3VAbvgVbLwtpIcD3TsMA&index=2

Router1 설정
en conf t router ospf 1 network 193.150.60.0 0.0.0.255 area 1 network 192.70.100.0 0.0.0.255 area 1 end copy r s
Router2 설정
en conf t router ospf 1 network 193.150.60.0 0.0.0.255 area 1 network 170.150.0.0 0.0.255.255 area 1 end copy r s
- 시험에서는 무관하지만, 실무에서는
Se 2/0 -> Fa 0/0순으로 설정한다고 함
1-1. 서브넷 마스크가 아닌, ‘와일드카드 마스크’
- ospf 설정에서는 와일드카드 마스크를 사용하므로, 서브넷 마스크의 정반대로 입력해주어야 함
→ ex)
/24라면→ network 193.150.60.0 0.0.0.255 area 1
1-2. 서브넷 마스크 계산
- 위 문제의 라우터 2에서는 170.150.1.1/16으로, 서브넷 마스크가 16 비트임 → 때문에 ip 주소의 3 4옥텟은 무조건 0이 됨.
- 그러므로,
170.150.0.0 0.0.255.255로 설정
1-3. /16 /24 가 아닌 경우
- 대개 /16 or /24로 나오지만, 혹시 모를 상황을 대비하여 학습
- 만약 /30이라면, 전체 32비트 중 30개를 썼으니 남은(호스트) 비트는 2개임
- 그렇기에 와일드카드 마스크는 → 0.0.0.3 (2^2 - 1)
이때, ip 주소가 170.150.1.5라면 어떻게 설정해야 할까?
- 네트워크 주소를 나누는 한 방의 크기가 2^2 = 4가 되므로, 숫자 4의 단위로 끊어짐
- 5는 4~7사이에 속하므로, 이 방의 시작 숫자인 4로 설정됨.
- 즉, 170.150.1.5/30 이라면
→
network 170.150.1.4 0.0.0.3 area 1이 커맨드가 됨
2. DHCP 문제
Pool(그룹) 이름을 먼저 정의해야 함!

en conf t ip dhcp pool ICQA network 192.168.100.0 255.255.255.0 end copy r s sh r

3. IP 주소 2개 할당 문제

en conf t int ser2/0 no shutdown ip address 192.168.0.101 255.255.255.0 ip address 192.168.0.102 255.255.255.0 secondary end copy r s sh r

secondary를 꼭 붙여주어야 함! (약어:sec)- 만약 붙이지 않으면, 기존 IP 설정이 덮어씌워지기 때문에 틀림.
혹시나 3개가 나오는 경우?

- 위처럼 secondary로 1개 더 설정해주면 됨

4. 캡슐화 문제

en conf t int ser2/0 encapsulation frame-relay end copy r s sh r

5. SSH 보안 설정 문제

중요 포인트
- ssh로 보안 설정
- password를 ICQA
- 재접속시 최대 5명
en conf t line vty 0 4 password ICQA login transport input ssh end copy r s sh r

5-1. line vty 0 4로 하는 이유
- 문제에서 재접속 시 최대 5명이 접속 가능하도록 허용해야 한다고 했기 때문 →
0 ~ 4 - 때문에
line vty 0orline vty 4으로 설정하면 포트가 1개만 열리기 때문에 틀림.
5-2. transport input ssh으로 하는 이유
- 외부에서 ssh 접속을 하는 것이기 때문에 → input임
6. 주의사항
서브넷 마스크는 대부분 24이지만, 25 or 26이 나온다면 계산
→ ex) 25면 4번째 옥텟이 10000000 이므로 255.255.255.128
만약 ip address를 잘못 입력했거나 하는 경우, 다시 입력 후 저장
→ ex) ip address 192.168.100.0 255.255.255.0
활성화(no shutdown)은 에뮬레이터에서 토글 방식으로 됨

- 1번 no shutdown 입력하면 활성화 / 2번 입력하면 비활성화
- 원래는 여러 번 입력해도 무조건 활성화라고는 하는데 → 에뮬레이터는 다를 수 있으니 저장 후
sh r으로 config 확인 필요
no shutdown / login은 문제에 없어도 하는 게 좋음
- 보통 문제에 있겠지만, 없는 경우에도 알아서 해주어야 함 → IP 주소를 추가하고 no shutdown(활성화)을 안 하면 의미가 없음 → password를 설정하고 login을 안하면 의미가 없음







