[CS 스터디] 네트워크 정리1

오리구이·2025년 3월 28일

🌐 네트워크의 큰 그림

현대 사회에서 인터넷은 없어서는 안 될 인프라이다. 이 인터넷을 포함한 컴퓨터 간의 통신은 네트워크(Network) 라는 구조를 통해 이루어진다. 이 글에서는 네트워크의 기본 구조부터 IP 주소, MAC 주소까지의 개념을 하나씩 정리해본다.


🕸️ 네트워크의 구조 이해하기

📌 네트워크 토폴로지 (Network Topology)

네트워크에서 노드(컴퓨터, 서버 등) 간의 연결 형태를 토폴로지라고 한다.

  • 버스형 (Bus) : 하나의 주 라인에 여러 장치가 연결된 형태
  • 성형 (Star) : 중앙 장치에 모든 장치가 연결된 형태
  • 링형 (Ring) : 원형으로 각 장치가 연결된 형태
  • 트리형 (Tree) : 계층적 구조
  • 망형 (Mesh) : 모든 장치가 서로 직접 연결

구조에 따라 통신 속도, 장애 발생 시의 영향, 비용 등에 차이가 발생한다.

👥 호스트 (Host)

  • 최초 송신지와 최종 수신지를 의미하는 장치
  • 예: 노트북에서 구글 서버에 웹페이지 요청 → 구글 서버가 응답

🖧 LAN과 WAN

  • LAN (Local Area Network) : 한정된 공간(사무실, 집 등) 내에서 가까운 장치들을 연결하는 네트워크
  • WAN (Wide Area Network) : 장거리, 광범위한 지역을 연결하는 네트워크
    • ISP (Internet Service Provider) 업체가 관리

📦 패킷과 주소

네트워크 통신은 패킷(Packet) 단위로 데이터를 주고받는다. 패킷은 다음과 같은 구조를 가진다:

  • 헤더 (Header) : 송수신지 정보, 전송 제어 정보 등
  • 페이로드 (Payload) : 실제 데이터
  • 트레일러 (Trailer) : 에러 검사 정보

📮 주소의 종류

  • IP 주소 : 네트워크 내 위치 식별
  • MAC 주소 : 물리적 장치 식별

🧭 전송 방식

  • 유니캐스트 : 1:1 통신
  • 브로드캐스트 : 1:모두 (네트워크 상의 모든 장치로 전송)
    • 브로드캐스트 도메인 : 브로드캐스트가 전달되는 범위
  • 멀티캐스트 : 1:선택된 그룹
  • 애니캐스트 : 1:가장 가까운 노드로

🔁 두 호스트 간 통신 절차

네트워크 상에서 장치들이 서로 통신하기 위해서는 규약(프로토콜)계층 구조가 필요하다.


🧾 프로토콜이란?

프로토콜은 네트워크 통신에서 지켜야 할 규칙 또는 약속이다.

  • IP (Internet Protocol) : 주소 지정, 라우팅
  • ARP (Address Resolution Protocol) : IP주소 ↔ MAC주소 매핑
  • TCP (Transmission Control Protocol) : 신뢰성 있는 통신
  • UDP (User Datagram Protocol) : 빠른 통신, 비신뢰성
  • HTTPS : 암호화된 HTTP 통신

🧱 네트워크 계층 모델

📚 OSI 7계층

  1. 물리 계층 - 전기적, 기계적 신호 전달
  2. 데이터 링크 계층 - 물리적 주소(MAC) 기반의 데이터 전송
  3. 네트워크 계층 - 논리적 주소(IP) 기반의 라우팅
  4. 전송 계층 - 데이터 흐름 제어, 오류 검출 (TCP/UDP)
  5. 세션 계층 - 통신 세션 제어
  6. 표현 계층 - 데이터 표현 방식 (암호화, 압축 등)
  7. 응용 계층 - 사용자 응용 프로그램 (웹, 이메일 등)

🧰 TCP/IP 4계층

  1. 네트워크 인터페이스 계층 - OSI 1~2계층
  2. 인터넷 계층 - OSI 3계층
  3. 전송 계층 - OSI 4계층
  4. 응용 계층 - OSI 5~7계층

실무에서는 TCP/IP 모델을 더 많이 사용한다.


📦 캡슐화와 역캡슐화

캡슐화(Encapsulation)

→ 데이터를 하위 계층으로 보낼 때, 각 계층의 헤더를 추가하며 이동

역캡슐화(Decapsulation)

→ 데이터를 수신할 때, 계층별로 헤더를 제거하며 상위 계층으로 전달


🧭 IP 주소의 구조와 전달

📌 IP 주소의 목적

  • 호스트 식별데이터 라우팅
  • 단편화(Fragmentation) 를 통해 큰 데이터를 나눠 전송

📬 신뢰성 없는 통신

  • IP는 신뢰성 없는, 비연결형 프로토콜
  • 최선형 전송(Best-Effort Delivery) 이며, 보장하지는 않음

🧩 IP 주소의 체계

📍 클래스풀 주소 체계

  • A클래스, B클래스, C클래스로 구분
  • 각 클래스마다 네트워크와 호스트의 비트 수가 다름

🎭 클래스리스 주소와 서브넷 마스크

  • CIDR (Classless Inter-Domain Routing) 표기 사용
  • 서브넷 마스크를 통해 네트워크 영역과 호스트 영역 구분
  • 서브네팅 : 큰 네트워크를 나누어 효율적으로 관리

🌎 공인 IP vs 사설 IP

  • 공인 IP : 인터넷에서 고유하게 식별 가능한 주소
  • 사설 IP : 내부 네트워크에서만 사용

📥 IP 주소 확인 방법

  • Windows : ipconfig /all
  • macOS/Linux : ifconfig

🔄 IP 주소의 할당

  • DHCP (Dynamic Host Configuration Protocol) : 자동 할당
  • 정적 할당 : 수동으로 지정

📡 기타 설정

  • 게이트웨이 : 외부 네트워크로 나가는 출입구
  • DNS : 도메인을 IP로 변환

🛠️ 전송 보완 : ICMP

  • ICMP (Internet Control Message Protocol)
    1. 오류 메시지 보고
    2. 네트워크 상태 정보 제공

🔗 MAC 주소와의 대응 : ARP

  • ARP (Address Resolution Protocol) 은 IP 주소에 대응되는 MAC 주소를 조회
  • 네트워크 통신에서 두 호스트가 직접 통신하기 위해 반드시 필요한 과정

Ref. 📗《이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접》, 강민철

0개의 댓글