네트워크·OS는 실기에서 가장 "암기로 먹는" 영역
이 두 과목은 단답이 절대 다수예요. 약어 풀어 쓰기, 계층 순서, 프로토콜 특성 비교가 주류라서 손으로 직접 써보는 암기가 곧 점수입니다.
한 번에 다 외우려 하지 말고, OSI 7계층 → TCP/IP 4계층 → 각 프로토콜 → 프로세스/스케줄링 → 메모리 순서로 하나씩 자리 잡히는 방식이 효율적이에요.
OSI 7계층 — 순서가 답이다
| 계층 | 이름 | 대표 키워드 |
|---|---|---|
| 7 | 응용(Application) | HTTP, FTP, SMTP, DNS |
| 6 | 표현(Presentation) | 암호화, 압축, 인코딩 |
| 5 | 세션(Session) | 연결 설정/해제, 동기화 |
| 4 | 전송(Transport) | TCP, UDP, 포트 번호 |
| 3 | 네트워크(Network) | IP, 라우팅, ICMP |
| 2 | 데이터링크(Data Link) | MAC, 프레임, 스위치 |
| 1 | 물리(Physical) | 케이블, 허브, 리피터 |
외우는 순서는 위에서 아래(7→1) 또는 아래서 위(1→7) 모두 가능. "응표세전네데물" 식으로 자음만 뽑아 외우면 흔들리지 않아요.
TCP/IP 4계층과의 대응
| TCP/IP 4계층 | OSI 대응 |
|---|---|
| 응용 | 7, 6, 5 |
| 전송 | 4 |
| 인터넷 | 3 |
| 네트워크 접근 | 2, 1 |
TCP vs UDP
| 구분 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결 지향 | 비연결 |
| 신뢰성 | 높음 (재전송·순서 보장) | 낮음 |
| 속도 | 상대적으로 느림 | 빠름 |
| 헤더 크기 | 20–60 bytes | 8 bytes |
| 대표 용도 | HTTP, FTP, SMTP | DNS, DHCP, 스트리밍, 게임 |
| 흐름/혼잡 제어 | 있음 | 없음 |
TCP 3-Way Handshake
클라이언트 서버
│ ── SYN ──▶ │
│ ◀ SYN+ACK ─│
│ ── ACK ──▶ │
연결 성립
- 클라이언트 →
SYN전송 - 서버 →
SYN + ACK응답 - 클라이언트 →
ACK전송
종료는 4-Way Handshake(FIN - ACK - FIN - ACK). 두 handshake의 차이가 자주 단답으로 나옵니다.
HTTP 메서드와 상태 코드
주요 메서드
| 메서드 | 역할 | 멱등성 |
|---|---|---|
| GET | 자원 조회 | 예 |
| POST | 자원 생성 | 아니요 |
| PUT | 자원 전체 교체 | 예 |
| PATCH | 자원 부분 수정 | 경우에 따라 |
| DELETE | 자원 삭제 | 예 |
- 멱등성 : 여러 번 호출해도 결과가 같음
상태 코드 대분류
| 코드 | 의미 | 대표 |
|---|---|---|
| 1xx | 정보 | 100 Continue |
| 2xx | 성공 | 200 OK, 201 Created, 204 No Content |
| 3xx | 리다이렉션 | 301 Moved, 302 Found, 304 Not Modified |
| 4xx | 클라이언트 오류 | 400, 401, 403, 404 |
| 5xx | 서버 오류 | 500, 502, 503 |
401과 403이 헷갈리기 쉬운데, 401은 인증 안 됨, 403은 인증은 됐지만 권한 없음입니다.
IP 주소와 서브넷
IPv4 vs IPv6
| 구분 | IPv4 | IPv6 |
|---|---|---|
| 주소 길이 | 32bit | 128bit |
| 표기 | 10진수.점 | 16진수:콜론 |
| 주소 공간 | 약 43억 개 | 약 3.4 × 10³⁸ 개 |
서브넷 마스크
IP 주소에서 어디까지가 네트워크 부분인지 구분하는 값.
예: 192.168.1.10/24
- 네트워크:
192.168.1.0 - 호스트:
0–255 - 사용 가능 호스트 수: 254개 (네트워크 주소, 브로드캐스트 주소 제외)
CIDR에서 /24는 서브넷 마스크 255.255.255.0과 같습니다.
DNS, DHCP, NAT
| 용어 | 역할 |
|---|---|
| DNS | 도메인 이름을 IP로 변환 |
| DHCP | IP 주소를 호스트에 자동 할당 |
| NAT | 사설 IP ↔ 공인 IP 변환 |
| ARP | IP → MAC 주소 변환 |
| RARP | MAC → IP 주소 변환 |
단답으로 ARP와 RARP 역할을 뒤바꿔 묻는 문제가 있으니 방향 구분을 확실히 해두세요.
프로세스 vs 스레드
| 구분 | 프로세스 | 스레드 |
|---|---|---|
| 메모리 | 독립된 메모리 공간 | 프로세스 자원 공유 |
| 생성 비용 | 큼 | 작음 |
| 문맥 교환 | 상대적으로 느림 | 빠름 |
| 통신 | IPC 필요 | 공유 메모리 직접 접근 |
프로세스 상태 전이
생성 → 준비 ⇄ 실행 → 종료
↑ ↓
└── 대기 ←┘
- 준비(Ready) : 실행을 위해 CPU를 기다림
- 실행(Running) : 현재 CPU에서 실행 중
- 대기(Blocked) : I/O 등 이벤트 기다림
CPU 스케줄링
| 방식 | 특징 | 비고 |
|---|---|---|
| FCFS (First-Come First-Served) | 먼저 온 순서 | 비선점 |
| SJF (Shortest Job First) | 실행 시간 짧은 것 우선 | 비선점, 기아 가능 |
| SRT (Shortest Remaining Time) | 남은 시간 짧은 것 우선 | 선점형 SJF |
| RR (Round Robin) | 시간 할당량(quantum) 단위 순환 | 선점 |
| 우선순위 | 우선순위 높은 것 먼저 | 기아 → Aging으로 완화 |
| 다단계 큐 | 우선순위별 큐 분리 |
메모리 관리 — 페이징 vs 세그먼테이션
| 구분 | 페이징 | 세그먼테이션 |
|---|---|---|
| 분할 단위 | 고정 크기 | 가변 크기 (논리 단위) |
| 내부 단편화 | 발생 | 거의 없음 |
| 외부 단편화 | 없음 | 발생 |
가상 메모리와 페이지 폴트
- 가상 메모리 : 실제 RAM보다 큰 주소 공간을 프로세스에 제공
- 페이지 폴트 : 접근하려는 페이지가 RAM에 없어 디스크에서 불러와야 함
페이지 교체 알고리즘
| 알고리즘 | 교체 대상 |
|---|---|
| FIFO | 가장 먼저 들어온 페이지 |
| LRU (Least Recently Used) | 가장 오래 안 쓰인 페이지 |
| LFU (Least Frequently Used) | 사용 빈도가 가장 낮은 페이지 |
| Optimal | 미래에 가장 늦게 쓰일 페이지 (이론값) |
LRU는 실무에서도 많이 쓰여서 시험에서도 자주 나옵니다. "최근 사용"과 "사용 빈도"의 차이(LRU vs LFU)를 구분하세요.
Belady의 이상 현상
FIFO에서만 발생하는 기묘한 현상 — 프레임 수를 늘렸는데 오히려 페이지 폴트가 증가. 이런 현상을 Belady's Anomaly라고 하고, 단답으로 이름을 묻는 문제가 있습니다.
자주 틀리는 포인트
| 함정 | 정답 |
|---|---|
| OSI 표현 계층 | 6계층 (암호화/압축은 여기) |
| TCP 헤더 | 20–60 bytes, UDP는 8 bytes |
| HTTP 401 vs 403 | 401은 인증, 403은 인가 |
| ARP 방향 | IP → MAC (반대는 RARP) |
| SJF 단점 | 기아 현상 |
| 페이징 단점 | 내부 단편화 (외부 단편화 아님) |
| LRU vs LFU | 최근 사용(LRU) vs 사용 빈도(LFU) |
정리
네트워크·OS는 표를 반복해 눈에 익히는 과목입니다. OSI 7계층 한 번 손으로 적고, TCP/UDP 차이 표 한 번 적고, 스케줄링 종류 한 번 적고 — 이 단순 반복이 시험장에서 실수 없이 쓸 수 있게 해줘요.