[네트워크] 기본 개념

Woonil·6일 전
2

네트워크

목록 보기
1/6

네트워크는 노드와 간선으로 이루어진 그래프 형태의 자료구조를 의미한다. 이때, 네트워크를 구성하는 노드와 간선의 의미는 각각 다음과 같다.

  • 노드: 네트워크 기기 ex) 노트북, PC, 스마트폰
  • 간선: 네트워크 기기 간에 정보를 주고받는 유무선의 통신 매체

컴퓨터 네트워크는 그 용어에서도 짐작할 수 있듯이, 분산되어 있는 ‘컴퓨터’들이 정보를 주고받을 수 있는 그래프 형태의 통신망이라 할 수 있다.

우선 컴퓨터 네트워크를 이해하기 위해 필요한 기초적인 용어를 정리하였다.

  • 네트워크 토폴로지: 네트워크 상에서 노드와 노드 사이의 연결 구조 ex) 망형, 트리형, 링형, 성형, 버스형(선형) 등
  • 호스트(host): 네트워크의 가장자리에 위치하면서 네트워크를 통해 주고받는 정보를 최초로 송신하고 최종 수신하는 노드
    • 클라이언트(client): 요청(request)을 보내는 호스트
    • 서버(server): 응답(response)을 보내는 호스트
  • 중간 노드: 가장자리에 위치한 호스트가 주고받는 정보들을 원하는 수신지까지 안정적으로 전송하는 역할을 하는 노드 ex) 스위치, 라우터, 공유기 등
  • LAN(Local Area Network): 근거리 네트워크
  • WAN(Wide Area Network): 원거리 네트워크
    • 특징
      • 인터넷을 가능하게 만드는 네트워크이다.
      • 일반적으로 ISP(Internet Service Provider)라는 인터넷 서비스 업체가 구축하고 관리한다.

🤔개념

패킷 교환 네트워크

오늘날의 네트워크 통신은 패킷 교환 네트워크 내에서 이루어진다. 이때, ‘패킷 교환 네트워크’란 이름 그대로 패킷이라는 데이터 단위를 주고받는 네트워크를 의미한다.

패킷(packet)

송수신되는 데이터의 단위

  • 특징
    • 패킷 단위로 주고받는 정보를 쪼개서 송수신한다.
    • 수신지에서는 쪼개진 패킷을 재조립하여 해석한다.
  • 구성
    • 페이로드(payload): 송수신하고자 하는 데이터이며, 헤더와 데이터를 구분하기 위해 사용된다.
    • 헤더(header): 각 계층마다 필요한 프로토콜 제어 정보를 담으며, n layer에서 생성된 헤더는 n layer에서 삭제된다.

      PCI(Protocol Control Information)

      헤더와 같은 의미로, 각 계층에 필요한 정보 및 기능이 담긴다.

    • 트레일러(trailer): 패킷에 추가되는 부가 정보

패킷 교환을 택배 물류에 비유하면 다음과 같이 정리할 수 있다.

패킷 교환택배 물류
단위패킷박스
내용페이로드내용물
출발지/도착지 정보헤더송장
부가정보트레일러기타 정보 (ex. 파손주의 스티커 등)

주소의 개념과 전송 방식

패킷 구성을 완료한 후에 패킷을 송신하려고 한다. 이때, 수신지의 정보를 알아야 하는데, 이 정보를 네트워크 상에서는 주소로 표현한다. 주소는 패킷의 헤더에 명시되며, 대표적으로 IP 주소와 MAC 주소가 있다.

  • 인터넷에서의 주소: 인터넷에서 사용하는 주소는 논리 주소(logical address), 물리 주소(physical address)로 나눌 수 있다.
    • 논리 주소(Logical Address): 호스트나 라우터가 사용하는 네트워크 레벨 주소이다. 전세계적으로 유일하며 32비트(IPv4)로 이루어지며, IP주소가 이에 해당한다.
    • 물리 주소(Physical Address): 로컬 네트워크에서 유효한 주소이다. 로컬에서만 유일하면 되고 보통 하드웨어로 구현되며 MAC주소가 이에 해당한다. 호스트나 라우터 내 설치된 NIC에 들어 있다.

전송 방식

주소가 있다면 송신 대상을 특정할 수 있다.

  • 유니캐스트(unicast) 프로토콜: 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 프로토콜
  • 브로드캐스트 프로토콜: 하나의 송신자가 동일한 서브 네트워크 상의 모든 수신자에게 데이터를 전송하는 프로토콜로, 특정 송신자의 브로드캐스트 중에는 다른 모든 수신자는 신호를 보낼 수 없다.

    호스트 id 부분이 255(이진수로 모두 1)인 경우에 해당한다.

  • 브로드캐스트 도메인: 브로드캐스트가 전송되는 범위이다. 동일한 브로드캐스트 도메인에 속한 호스트는 동일한 LAN에 속해 있다고 간주하는 것이 일반적이다.

    Collision domain vs Broadcast domain

    Collision domain은 네트워크 내에서 데이터 패킷 충돌이 발생할 수 있는 물리적 영역이며, 충돌은 두 개 이상의 디바이스가 동시에 네트워크 매체에 데이터를 전송하려고 할 때 발생한다.

    Broadcast domain은 네트워크 내에서 브로드캐스트 트래픽이 전송될 수 있는 논리적 영역이며, 브로드캐스트 메시지는 동일한 브로드캐스트 도메인 내의 모든 디바이스가 수신한다.
    Collision Domain vs Broadcast Domain

  • 멀티캐스트(multicast) 프로토콜: 인터넷에서 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 프로토콜로, 멀티캐스트 라우팅 프로토콜과 IGMP(그룹관리 프로토콜)이 합쳐진 형태이다.
    • 멀티캐스트 라우팅 프로토콜: IP 주소로 구분되는 네트워크 상의 특정 그룹의 모든 사용자에게 동일한 메시지를 전송하기 위한 라우팅 프로토콜
    • IGMP(Internet Group Management Protocol): 멀티캐스트를 지원하는 라우터가 멀티캐스트 그룹에 가입한 네트워크 내의 호스트를 관리하기 위해 사용하는 프로토콜 ex) IPTV
  • 애니캐스트(anycast) 프로토콜: 하나의 호스트에서 그룹 내 가장 가까운 곳에 있는 수신자에게 데이터를 전달하는 프로토콜

프로토콜(protocol)

네트워크에서 서로 다른 시스템이나 기기들 간 원활한 데이터 교환을 위해 합의된 규칙이나 방법

  • 기본요소
    • 구문: 데이터 형식, 인코딩 방식 등 정의
    • 의미: 흐름, 오류, 동기화 제어 정의
    • 타이밍(순서): 시스템 간 통신 속도나 순서 등 정의

모든 프로토콜은 목적과 특징을 지니며, 그에 따른 패킷 헤더를 가진다. 예시는 아래와 같다.

프로토콜목적 or 특징
IP네트워크 간 주소 지정
ARPIP 주소와 MAC 주소를 대응
HTTPS보안상 HTTP에 비해 안전
TCPUDP에 비해 신뢰성이 높음

네트워크 참조 모델

통신이 이루어지는 단계를 계층적으로 표현한 것이다.

패킷을 송신하는 측에서는 상위 계층에서 하위 계층으로 정보를 보내고, 패킷을 수신하는 측에서는 하위 계층에서 상위 계층으로 정보를 받아들인다. 이때, 프로토콜은 두 호스트가 네트워크 참조 모델을 통해서 메시지를 송수신할 때 계층별로 적용되는 경우가 일반적이다.

  • 프로토콜 스택(Protocol Stack): 데이터 통신에 활용되는 프로토콜의 구조에 관한 개념으로, 계층화된 구조(스택 구조)로 모여 있는 프로토콜의 집합을 의미한다.

OSI 7 layer

OSI(Open System Interconnection) 7 Layer는 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다.

국제 표준화 기구(ISO, International Organization for Standardization)에서 만들었다.

TCP/IP 모델

TCP/IP 모델은 네트워크 액세스 계층과 인터넷 계층, 전송 계층, 응용 계층으로 구성된다.

  • TCP/IP: 패킷 통신 방식의 인터넷 프로토콜인 IP(인터넷 프로토콜)와 전송 조절 프로토콜인 TCP(전송 제어 프로토콜)로 이루어져 있다. 이때, IP는 패킷 전달 여부를 보증하지 않기 때문에, 패킷을 보낸 순서와 받는 순서가 다를 수 있다(unreliable datagram service). TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 여러 애플리케이션의 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 한다.

인터넷 프로토콜 스위트

인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데 쓰이는 프로토콜의 모음으로, 이중 TCP와 IP가 가장 많이 쓰이기 때문에 TCP/IP 프로토콜 슈트라고도 불린다.

OSI 모델과 TCP/IP 계층의 차이

OSI 표준 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을 지에 관한 이론적 모델이다. 반면, TCP/IP 모델은 구현과 프로토콜에 중점을 두며, 실질적인 통신을 설명할 때 주로 사용된다.

PDU(Protocol Data Unit)

네트워크 구조에서 정보를 실어 나르는 기본 단위

  • 응용: message(또는 data)
  • 전송: segment(TCP), datagram(UDP)
  • 네트워크: packet(또는 datagram)
  • 데이터 링크: frame
  • 물리: bit(또는 symbol)

UDP와 IP 모두 datagram?

UDP는 전송 계층에서 해야 할 최소한의 역할만 수행하므로 사실상 네트워크 계층의 datagram에 껍데기만 씌운 것이라 볼 수 있다. 따라서 UDP 기반의 패킷의 경우 datagram이라 불린다.

캡슐화와 역캡슐화

패킷의 송신 과정에서는 캡슐화가 이루어지고, 수신 과정에서는 역캡슐화가 이루어진다. 이때, 각각의 의미는 다음과 같다.

  • 캡슐화(encapsulation): 송신 과정에서 헤더(및 트레일러)를 추가해 나가는 과정
  • 역캡슐화(decapsulation): 캡슐화 과정에서 붙인 헤더(및 트레일러)를 각 계층에서 확인한 뒤 제거하는 과정

참고자료

[취업을 위한 CS 지식] 27강. 네트워크의 큰 그림
프로토콜 스택이란 무엇인가?
데이터? 세그먼트? 패킷? 헷갈릴 땐 PDU를 알아보자

profile
프론트 개발과 클라우드 환경에 관심이 많습니다:)

0개의 댓글