Network Foundations & OSI Stack
네트워크의 물리적 연결 원리와 데이터 전송 절차를 정의하는 OSI 7계층 및 TCP/IP 참조 모델의 구조적 역학을 다루는 학습 노드입니다.
Article
M
Me
hyunyoun's Blog
network-communicationnetworkcommunicationnetwork-foundationsosi-stackreference-modelslearningosi9 min read
1. Overview
네트워크 기초 및 OSI 스택(Network Foundations & OSI Stack, NFS)은 전 세계에 흩어진 수십억 대의 컴퓨터가 단 하나의 구리선 혹은 전파를 통해 0과 1을 완벽하게 주고받게 만드는 '데이터 배송의 7단계 절대 규칙'을 다룹니다.
데이터는 마법처럼 허공을 가로지르지 않습니다. 애플리케이션의 텍스트가 포트(Port), IP, MAC 주소를 거치며 양파처럼 포장(Encapsulation)되고, 마침내 전기 신호(비트)로 변환되어 태평양 해저 케이블을 건너는 거대한 여정을 거칩니다. 학습자는 네트워크의 바이블인 OSI 7계층과 실무의 지배자인 TCP/IP 4계층을 대조하며, 이더넷(Ethernet)과 스위치(Switch)가 만들어내는 근거리 통신망(LAN)의 기계적 역학을 마스터합니다. 이는 어떤 복잡한 네트워크 장애라도 발생한 '계층(Layer)'을 핀셋처럼 집어내어 수술할 수 있는 해부학적 지식을 제공합니다.
2. Scope & Boundaries
In-Scope
- 계층화 아키텍처 (Layered Architecture): OSI 7계층(Physical ~ Application)과 TCP/IP 4계층 모델의 구조와 물리적 존재 이유.
- 캡슐화 역학 (Encapsulation Dynamics): PDU(Protocol Data Unit)의 변화(Data Segment Packet Frame Bit), 헤더(Header) 부착 및 제거 물리.
- 물리/데이터 링크 계층 (L1 & L2): CSMA/CD, 이더넷(Ethernet) 프레임 구조, MAC 주소 체계.
- 로컬 네트워크 통신 (LAN Physics): 허브(Hub)의 브로드캐스트와 L2 스위치(Switch)의 MAC 주소 학습(Learning) 및 포워딩(Forwarding), ARP(Address Resolution Protocol).
Out-of-Scope
- 글로벌 라우팅 및 대륙 간 BGP 알고리즘: 라우터(L3)가 IP 주소를 보고 최적의 경로를 찾는 복잡한 알고리즘 08-03. IP, Routing & Global 영역으로 위임.
- TCP의 혼잡 제어 및 3-Way Handshake: L4 전송 계층의 신뢰성 보장 상세 메커니즘 08-02. TCP, UDP & Transport 영역으로 위임.
Boundaries
- NFS vs. Transport & Routing (08-02, 08-03): NFS가 '네트워크라는 거대한 건물의 층별 역할'과 '같은 방(LAN) 안에서 컴퓨터끼리 MAC 주소로 대화하는 물리적 방법(L1, L2)'을 다룬다면, 08-02와 08-03은 방을 벗어나 '다른 나라(WAN)로 데이터를 안전하게 보내는 방법(L3, L4)'에 집중합니다. OSI 스택의 뼈대를 잡는 것이 본 노드의 핵심입니다.
3. Counterexample
- 계층 무시 묻지마 디버깅 (Layer Fallacy): 웹사이트 접속이 안 될 때, 랜선이 뽑혀 있는지(L1) 공유기 전원이 켜져 있는지(L2)는 확인도 안 하고 무작정 브라우저의 HTTP(L7) 설정만 만지작거리는 행위. 네트워크 장애의 90%는 하위 계층(물리/링크)에서 발생합니다. OSI 7계층의 가장 큰 존재 이유는 **"하위 계층이 완벽하지 않으면 상위 계층은 무조건 실패한다"**는 철칙 아래, 디버깅을 바닥(Ping, ARP)부터 위로 순차적으로 진행하기 위함입니다.
- MAC과 IP의 역할 혼동 (Addressing Fallacy): "IP 주소만 있으면 전 세계 어디든 찾아갈 수 있으니 MAC 주소는 필요 없다"고 생각하는 것. IP 주소가 최종 목적지(예: 뉴욕의 빌딩)를 가리키는 '우편번호'라면, MAC 주소는 그 빌딩으로 가기 위해 다음 교차로(공유기/라우터)까지 패킷을 직접 배달해 주는 '택배 기사'입니다. 로컬 네트워크(LAN)에서는 IP가 아무리 정확해도 ARP를 통해 MAC 주소를 알아내지 못하면 단 1바이트도 전송할 수 없습니다.
4. Prerequisites
- 컴퓨터 구조 (Basic): 데이터가 0과 1의 전기 신호로 저장되고 전송된다는 기본적인 비트(Bit) 개념이 필요합니다. (02-01. Computer Architecture)
- 운영체제 기초 (Recommended): 애플리케이션 계층(L7)과 전송 계층(L4)의 연결점인 소켓(Socket)의 작동 원리에 대한 이해가 권장됩니다. (03-01. OS Foundations)
5. Learning Map
6. Learning Topics
Basic
Core Topic 01: 네트워크 계층화와 패러다임 (Layered Architecture)
- Why to Learn: 통신 장애가 발생했을 때 우왕좌왕하지 않고 문제의 원인을 구조적으로 좁혀나가기 위함입니다.
- What to Learn:
- Concepts: OSI 7계층(Physical, Data Link, Network, Transport, Session, Presentation, Application), TCP/IP 4계층 모델.
- Skills: 각 계층의 고유 역할과 식별자 매핑 (L2: MAC, L3: IP, L4: Port), 프로토콜 계층 분리 원칙.
- Tools: 네트워크 다이어그램(Draw.io).
- Trade-offs: 데이터를 보낼 때마다 7번의 포장/해체 검사를 거쳐야 하는 오버헤드(Overhead) vs 하드웨어(랜카드)가 바뀌어도 소프트웨어(브라우저)를 수정할 필요가 없는 완벽한 모듈화의 이점.
- How to Learn:
- 1단계: 편지를 써서(L7) 봉투에 넣고(L4) 우편번호를 적어(L3) 우체통에 넣고(L2) 우체부 트럭에 실려가는(L1) 실생활 은유로 7계층의 역할을 매핑합니다.
- 2단계: "웹사이트가 안 열린다"는 장애 상황을 가정하고, L1(랜선 확인) L2(공유기 깜빡임) L3(Ping 테스트) L4(포트 열림 확인) L7(HTTP 에러 코드) 순서로 트러블슈팅하는 논리 트리를 작성합니다.
- Implement: 특정 네트워크 애플리케이션(예: 온라인 게임)이 동작할 때 관여하는 하드웨어 장비와 프로토콜을 OSI 7계층별로 분류한 아키텍처 맵.
Recommended
Core Topic 02: 캡슐화와 페이로드의 물리 (Encapsulation Dynamics)
- Why to Learn: 데이터가 허공을 날아갈 때, 실제로 전선 위를 타고 흐르는 패킷의 1바이트짜리 생김새를 정확히 뜯어보기 위해서입니다.
- What to Learn:
- Concepts: 캡슐화(Encapsulation)와 역캡슐화(Decapsulation), PDU(Protocol Data Unit: Segment, Packet, Frame).
- Skills: 계층 간 데이터 전달 역학, 헤더(Header)와 페이로드(Payload) 분리, MTU(Maximum Transmission Unit) 한계.
- Tools: Wireshark.
- Trade-offs: 모든 계층이 각자의 제어 정보(Header)를 붙여 신뢰성을 극대화하는 것 vs 10바이트짜리 데이터를 보내기 위해 헤더만 54바이트(TCP 20 + IP 20 + Ethernet 14)가 붙어버리는 배보다 배꼽이 큰 오버헤드.
- How to Learn:
- 1단계: "GET / HTTP/1.1"이라는 데이터가 L4를 지나며 TCP 헤더(포트 번호)를 달아 'Segment'가 되고, L3를 지나며 IP 헤더(IP 주소)를 달아 'Packet'이 되며, L2를 지나 MAC 주소가 붙어 'Frame'이 되는 양파 포장 과정을 도식화합니다.
- 2단계: Wireshark 프로그램으로 내 컴퓨터에서 구글로 가는 패킷 하나를 캡처하여, 16진수(Hex) 데이터 뭉치 속에서 MAC, IP, Port 정보가 정확히 어느 위치(Offset)에 기록되어 있는지 핀셋으로 집어냅니다.
- Implement: 파이썬의
struct모듈을 이용하여 가상의 이더넷 프레임, IP 헤더, TCP 헤더를 바이트 배열로 직렬화(Serialize)하여 쌓아 올리는 캡슐화 스크립트 작성.
Practical
Core Topic 03: 데이터 링크와 이더넷 물리 (Data Link & Ethernet)
- Why to Learn: 수백 대의 컴퓨터가 하나의 구리선을 공유할 때, 서로 말이 엉키지 않게(충돌 방지) 순서를 정하는 원초적 질서를 이해하기 위함입니다.
- What to Learn:
- Concepts: MAC 주소(48비트 물리 주소), 이더넷(Ethernet, IEEE 802.3), 브로드캐스트 도메인(Broadcast Domain).
- Skills: CSMA/CD(반송파 감지 다중 접속/충돌 보지), ARP(Address Resolution Protocol) 테이블 갱신 물리.
- Tools: CLI 명령(
arp -a,ipconfig /all). - Trade-offs: "야, 누구 이 IP 가진 사람 있어?"라고 허공에 소리치는 브로드캐스트(ARP)의 절대적 필요성 vs 이 브로드캐스트 메시지 때문에 네트워크 전체가 마비될 수 있는 브로드캐스트 폭풍(Broadcast Storm) 리스크.
- How to Learn:
- 1단계: A 컴퓨터가 B 컴퓨터(IP는 앎)에게 데이터를 보내려 할 때, L2 헤더에 적을 B의 MAC 주소를 몰라 통신이 막히는 상황을 인지합니다.
- 2단계: A가 네트워크 전체에 "192.168.0.5(B의 IP) 누구냐, MAC 주소 내놔라!"라고 ARP Request를 날리고, B가 "나야! 내 MAC은 이거야"라고 응답하여 통신이 개통되는 물리적 교섭 과정을 추적합니다.
- Implement: 로컬 네트워크에서 발생하는 ARP 패킷만 스니핑(Sniffing)하여, 수집된 IP-MAC 쌍을 해시 테이블에 저장하고 시각화하는 간단한 파이썬 ARP 스캐너.
Advanced
Core Topic 04: L2 스위칭 알고리즘과 충돌 도메인 (Switching Physics)
- Why to Learn: 데이터를 모든 포트로 무식하게 뿌려대던 옛날 '허브(Hub)' 시대의 한계를 넘어, 데이터가 가야 할 길을 지능적으로 찾아주는 '스위치(Switch)'의 두뇌를 설계하기 위해서입니다.
- What to Learn:
- Concepts: 허브(Hub) vs 스위치(Switch), 충돌 도메인(Collision Domain)의 분리, MAC 주소 테이블(MAC Address Table).
- Skills: 스위치의 3대 기능(Learning, Forwarding, Filtering), 플러딩(Flooding), 스패닝 트리 프로토콜(STP) 기초.
- Tools: Cisco Packet Tracer.
- Trade-offs: 장비가 싸고 구성이 단순한 허브(하지만 한 대만 데이터를 보내도 전체가 기다려야 함) vs 트래픽을 지능적으로 격리해 속도가 빠르지만 MAC 테이블 관리를 위해 내부 메모리와 연산 능력이 필요한 L2 스위치.
- How to Learn:
- 1단계: 허브에 연결된 4대의 컴퓨터 중 A가 B에게 데이터를 보낼 때, C와 D에게도 똑같은 데이터가 뿌려져 보안과 대역폭이 낭비되는 물리를 시뮬레이션합니다.
- 2단계: 지능형 스위치를 도입합니다. A가 처음 B에게 보낼 때 스위치가 "아, 1번 포트에는 A(MAC)가 있구나"라고 학습(Learning)하고, B가 응답할 때 "2번 포트에는 B가 있네"라고 기억하여, 이후부터는 A와 B의 통신을 1번과 2번 포트로만 꽂아버리는 포워딩(Forwarding) 마법을 추적합니다.
- Implement: 여러 대의 가상 호스트와 연결된 L2 스위치 소프트웨어 뼈대를 코딩하여, 패킷이 들어올 때마다 출발지 MAC 주소를 보고 포트 테이블을 학습(Update)하고 목적지 MAC 주소를 보고 특정 포트로만 내보내는 스위칭 엔진 시뮬레이션.
7. Terminology
8. References
Primary References
- [P1] CS2023 - NC/Networking and Communication — Foundational architectures.
- [P5] SFIA - Network Support / Network Design — Industry infrastructure skills.
Secondary References
- [Computer Networking: A Top-Down Approach] Kurose & Ross — Best layered learning guide.
- [TCP/IP Illustrated, Vol 1] W. Richard Stevens — The definitive technical reference.
Industry References
- [Cisco Networking Academy - Introduction to Networks] — Practical hardware standard.
- [Cloudflare Learning - What is the OSI Model?] — Modern web-centric explanation.
9. Final Checklist
Primary Checklist
- 데이터가 송신 단말에서 수신 단말까지 전달될 때, 각 계층의 PDU 이름(Segment, Packet, Frame)을 정확히 매핑할 수 있는가? (P1)
- OSI 7계층 모델이 기술적 유연성을 보장하기 위해 추구하는 '계층 간 독립성'의 물리적 이점을 설명 가능한가? (P1)
Secondary Checklist
- Wireshark와 같은 패킷 분석 도구를 사용하여 특정 패킷의 MAC 주소와 IP 주소 헤더를 분리하여 식별할 수 있는가?
- MTU(Maximum Transmission Unit)보다 큰 데이터를 보낼 때 네트워크 계층에서 어떤 물리적 조각화가 일어나는지 인지하는가?
Industry Checklist
- 실무 환경에서 'Ping' 명령어가 실패했을 때, 이를 OSI 계층별로 접근하여 물리적 연결(L1)부터 프로토콜 설정(L3)까지 단계적으로 디버깅할 수 있는가? (SFIA)
- 데이터 센터 내에서 L2 스위치와 L3 라우터가 각각 어떤 주소를 기준으로 트래픽을 전달하는지 물리적 차이를 기술할 수 있는가?