network computer_science cs 운영체제 네트워크 Network

[CS/Computer Science][네트워크/ Network] 네트워크의 큰 그림

Kwangjin Park

May 27, 2025 · 5 min read

Follow

1. 네트워크의 기본 구조

  • 네트워크: 여러 대의 장치가 그물처럼 연결되어 정보를 주고 받는 통신망
    • 네트워크는 그래프의 형태를 띔 → 노드와 간선으로 이루어진 자료구조
      • 노드: 네트워크 기기
      • 간선: 네트워크 기기 간 정보를 주고 받는 유무선 통신 매체
    • 네트워크 토폴로지(Network Topology): 네트워크 상의 노드-노드 간 연결 구조
      • 배치 형태에 따라 망형, 트리형, 링형, 성형, 버스형(선형) 등으로 나뉨 image1
    • 호스트(Host): 네트워크를 통해 주고받는 정보를 최초로 송신하고 최종으로 수신하는 노드
      • 네트워크라는 그래프에서, 가장자리에 위치한 노드
      • ex) 노트북의 웹 브라우저를 통해 구글 홈페이지를 접속함 → 내 노트북과 구글 서버의 컴퓨터는 각각 호스트로서 정보를 주고 받은 것
        1. 노트북이 구글 서버 컴퓨터에 웹 페이지를 달라는 요청을 보냄
        2. 구글의 서버 컴퓨터가 노트북의 웹 페이지로 응답
      • 클라이언트와 서버
        • 클라이언트(client): 요청을 보내는 호스트(위 예시의 노트북 처럼)
        • 서버(server): 응답을 보내는 호스트(위 예시의 구글 서버 컴퓨터처럼) image2
      • (네트워크의) 중간 노드: (가장자리에 위치한)호스트가 주고 받는 정보들을 원하는 수신지까지 안정적으로 전송
      • 중간 노드의 역할을 하는 기기: 스위치 / 라우터 / 공유기 등

LAN과 WAN

  • 네트워크는 규모에 따라 LAN과 WAN으로 구분

  • LAN(Local Area Network)
    • 한정된 공간에서의 네트워크, 근거리 네트워크
    • 가정, 기업 등 비교적 가까운 거리를 연결하는 네트워크
    • 같은 LAN에 연결된 기기들이더라도, 반드시 그 안에서만 정보를 주고 받지는 않음
      • LAN-LAN 간 통신 가능
  • WAN(Wide Area Network)
    • LAN 간 통신을 이루는 네트워크, 원거리 네트워크
    • 인터넷을 가능하게 하는 네트워크가 WAN
    • 관리 주체: ISP(Internet Service Provider) - SKB, KT, LGU+ 등

패킷 교환 네트워크

  • 서로 다른 네트워크에 위치한 두 호스트가 정보를 교환한다면? → 여러 데이터로 쪼개져서 송수신
  • 패킷(Packet): 송수신을 위해 쪼개지는 네트워크 단위

  • 오늘날 대부분의 네트워크는 패킷 단위로 정보를 쪼개, 송수신하고 수신하여 재조립하며 주고받음 → “패킷 교환 네트워크”
  • 패킷의 구성
    • 패킷 = 페이로드(payload) + 헤더(header) (+ 트레일러(trailer))
      • 페이로드: 패킷에서 송수신하고자 하는 데이터
      • 헤더, 트레일러: 패킷에 추가되는 부가 정보 image3

주소의 개념과 전송 방식

  • 패킷으로 네트워크가 정보를 주고 받을 때, 서로를 특정할 수 있는 정보가 필요함
  • 이를 위해, 주소를 활용
  • 주소(address)
    • 정의: 패킷 내 헤더에 명시되는 정보, IP주소/MAC주소 등이 있음
    • 주소 전송 방식
      • 유니캐스트(unicast): 송신지-수신지가 일대일로 메시지를 주고받는 전송방식
      • 브로드캐스트(broadcast): 네트워크 상 모든 호스트에게 메시지를 전송하는 방식 image4
      • 기타
        • 멀티캐스트: 네트워크 내 동일 그룹에 속한 호스트에만 전송
        • 애니캐스트: 네트워크 내 동일 그룹에 속한 호스트 중 가장 가까운 호스트에만 전송

2. 호스트 간 패킷을 주고 받는 과정

  • 호스트가 서로 주고받는 정보를 이해하기 위한 규칙: 프로토콜 & 네트워크 참조 모델

프로토콜

  • 네트워크에서 통신을 주고받는 노드 간 합의된 규칙 / 방법
  • 네트워크의 “언어”
  • 프로토콜의 종류 → ‘목적’과 ‘특징’에 따라 다름
    1. IP
      • 네트워크 간 주소 지정
    2. ARP
      • “IP주소-MAC주소” 대응
    3. HTTPS
      • HTTP에 비해 보안상 안전
    4. TCP
      • UDP에 비해 신뢰성이 높음
  • 각 목적과 특징이 다른 프로토콜로 구성되면, 패킷의 내용 또한 달라질 수 있음

네트워크 참조 모델

  • 호스트 간 패킷을 주고 받는 과정 ⇒ 택배를 포장하여 주고 받는 과정과 유사
    • 정형화된 순서가 있고, 계층적 표현도 가능함
    • 네트워크 참조 모델(Network Reference Model): 통신이 이루어지는 단계를 계층적으로 표현한 것
      • 패킷 송신부: 상위계층 → 하위계층으로 정보 전송
      • 패킷 수신부: 하위계층 → 상위계층으로 정보 받아들임 image5
  • 네트워크 참조 모델의 종류
    1. OSI 모델
      • 통신 단계를 7개의 계층으로 나누어 표현(OSI 7계층)
      • 국제 표준화 기구(IOS, International Organization for Standardization)제작
      • OSI 7계층 image6
        1. 물리 계층(Physical Layer)
          • 최하위 계층
          • 비트 신호를 주고 받는 계층
          • 데이터 링크 계층과 함께 하드웨어와 밀접하게 맞닿아 있는 계층
        2. 데이터 링크 계층(Data Link Layer)
          • 같은 LAN에 속한 호스트끼리 올바른 정보를 주고 받기 위한 계층
            • MAC주소 활용: 같은 네트워크에 속한 호스트 식별
            • 물리 계층을 통해 주고 받는 정보의 오류 확인
        3. 네트워크 계층(Network Layer)
          • 네트워크 간 통신을 가능하게 하는 계층
          • LAN을 넘어 다른 네트워크와 통신을 주고받기 위한 계층
            • 이 때, 호스트를 식별할 수 있는 주소인 IP 주소가 필요한 것
        4. 전송 계층(Transport Layer)
          • 신뢰성 있는 전송을 가능하게 하는 계층
            • 네트워크를 통해 송수신 되는 패킷 → 도중 유실 가능성 O / 순서가 뒤바뀔 수도 있음 → 이를 대비한 기능을 담당하는 전송 계층
          • 포트 정보를 통해 특정 응용 프로그램과의 연결 다리 역할 수행
        5. 세션 계층(Session Layer)
          • 세션: 응용 프로그램 간 연결 상태
          • 세션 계층: 세션을 관리하기 위한 계층
            • 응용 프로그램 간 연결 상태 유지 / 생성 / 연결 끊는 등의 역할
        6. 표현 계층(Presentation Layer)
          • 인코딩 / 압축 / 암호화와 같은 작업 수행
        7. 응용 계층(Application Layer)
          • 세션 계층 / 표현 계층을 포함하여 간주하는 경우도 많음
          • 사용자와 가장 밀접하게 맞닿아, 여러 네트워크 서비스를 제공하는 계층
          • 중요 프로토콜 다수 포함 → HTTP, HTTPS, DNS 등
    2. TCP/IP 모델
      • 네트워크 액세스 계층 / 인터넷 계층 / 전송 계층 / 응용 계층 4계층으로 구성 image7
        • 네트워크 액세스 계층(Network access Layer)
          • 링크 계층 또는 네트워크 인터페이스 계층이라고 부르기도
          • OSI 모델의 데이터 링크 계층과 유사 (TCP/IP 모델에서는 물리 계층에 해당하는 개념이 없다고 보는 견해도)
        • 인터넷 계층(Internet Layer)
          • OSI 모델의 네트워크 계층과 유사
        • 전송 계층(Transport Layer)
          • OSI 모델의 전송 계층과 유사
        • 응용 계층(Application Layer)
          • OSI 모델의 세션 계층+표현 계층+응용 계층과 유사
      • OSI vs TCP/IP
        • OSI: 주로 네트워크의 이론적 기술이 목적
        • TCP/IP: 구현 및 프로토콜에 중점

캡슐화와 역캡슐화

  • 패킷의 송신 과정: 캡슐화(Encapsulation) 발생
    • 패킷 송신측에서는 정보를 상위 계층에서 하위 계층으로 정보를 보냄
    • 캡슐화는 이렇게 정보 송신의 과정에서, 헤더 및 트레일러를 추가해 나가는 과정을 의미함
  • 패킷의 수신 과정: 역캡슐화(Decapsulation) 발생
    • 패킷 수신측에서는 하위 계층에서 상위 계층으로 정보를 보냄
    • 역캡슐화는 캡슐화 과정에서 붙인 헤더를 각 계층에서 확인한 뒤 제거하는 과정을 의미함 image8
  • 주의점! → OSI 모델 기준, 계층마다 패킷을 부르는 이름이 다름 image9
chat_bubble 0

chat_bubble 댓글남기기

댓글남기기