Skip to main content

네트워크 참조 모델

네트워크 기본

호스트

네트워크에서 가장자리 노드로, 종단 시스템(End System)이라고도 부른다.

서버

어떠한 서비스를 제공하는 호스트로, 요청 메세지를 받고 응답 메시지를 보낸다.

클라이언트

서버에게 어떠한 서비스를 요청하고 서버의 응답을 제공받는 호스트이다.

중간 노드

네트워크 가장자리에 위치하지 않는 노드로, 호스트 간 주고받을 정보가 중간에 거치는 노드이다. 대표적으로 이더넷 허브, 스위치, 라우터, 공유기 등이 있다. 이러한 네트워크 장비는 호스트 간 주고받는 정보가 원하는 수신지까지 안정적이고 안전하게 전송될 수 있도록 한다.

LAN (Local Area Network)

LAN은 근거리 네트워크로, 비교적 좁은 공간 내에서 여러 장치를 연결하여 데이터를 공유하는 네트워크이다. 일반적으로 가정이나 사무실에서 사용되며, 속도가 빠르고 유지 관리가 쉬운 것이 특징이다.

LAN

WAN (Wide Area Network)

WAN은 광역 네트워크로, LAN보다 더 넓은 범위를 커버하는 네트워크이다. 인터넷이 가장 대표적인 WAN이다. 서로 다른 지역에 위치한 네트워크를 연결하여 전 세계적으로 통신할 수 있도록 한다. 같은 LAN에 속한 호스트끼리 메시지를 주고받아야 할 때는 인터넷 연결과 같은 WAN이 필요 없지만, 다른 LAN에 속한 호스트와 메시지를 주고받아야 할 때는 WAN이 필요하다.

회선 교환 방식

메세지 전송로인 회선을 설정하고 이를 통해 메세지를 전송하는 방식이다. 전통적인 전화망에서 주로 사용된다. 회선 교환 방식은 우선 두 호스트 사이에 연결을 확보한 후에 메시지를 주고받는 특성 덕분에 주어진 시간 동안 전송되는 정보의 양이 비교적 일정하다는 장점이 있다. 하지만 두 지점 간에 연결된 회선이 데이터를 전송하는 동안 계속해서 유지되므로 실제로 데이터를 전송하지 않는 시간 동안에도 회선이 점유되어 자원이 비효율적으로 사용된다는 단점이 있다.

패킷 교환 방식

회선 교환 방식의 문제점을 해결한 송수신 방식으로, 메시지를 패킷이라는 작은 단위로 쪼개어 전송하는 방식이다. 패킷은 패킷 교환 네트워크상에서 송수신되는 메시지의 단위이다. 현대 인터넷은 대부분 패킷 교환 방식을 이용한다. 패킷 교환 네트워크는 회선 교환 네트워크와는 달리 메시지를 송수신하는 두 호스트가 하나의 전송 경로를 점유하지 않기에 네트워크 이용 효율이 상대적으로 높다.

사전에 설정된 경로만으로 통신하는 회선 교환 방식과는 달리, 패킷 교환 방식은 정해진 경로만으로 메시지를 송수신하지 않는다. 메시지는 다양한 중간 노드를 거칠 수 있는데, 이때 중간 노드인 패킷 스위치는 패킷이 수신지까지 올바르게 도달할 수 있도록 최적의 경로를 결정하거나 패킷의 송수신지를 식별한다. 대표적인 패킷 스위치 네트워크 장비로는 라우터와 스위치가 있다.

  • 페이로드(payload) : 패킷을 통해 전송하고자 하는 데이터
  • 헤더(header) : 패킷에 붙는 일종의 부가 정보, 내지는 제어 정보로 패킷의 앞에 포함되는 정보
  • 트레일러(trailor) : 페이로드와 더불어 패킷의 뒤에 포함되는 정보

유니캐스트 (Unicast)

송신지와 수신지가 일대일로 메시지를 주고받는 메시지 송수신 방식

브로드캐스트 (Broadcast)

자신을 제외한 네트워크상의 모든 호스트에게 전송하는 송수신 방식

네트워크 참조 모델

네트워크 참조 모델은 통신이 일어나는 구조를 계층으로 표현한 모델로, 네트워크 계층 모델이라고도 부른다.

통신 과정을 계층으로 나눈 이유는 크게 두 가지이다.

  1. 네트워크 구성과 설계가 용이하다 : 각 계층이 수행해야 할 역할이 정해져 있으므로 계층의 목적에 맞게 프로토콜과 네트워크 장비를 계층별로 구성할 수 있다.
  2. 네트워크 문제 진단과 해결이 용이하다 : 통신 과정에서 문제가 발생하더라도 문제의 원인을 계층별로 진단하기 수월하다.

OSI 모델

국제 표준화 기구(ISO)에서 만든 네트워크 참조 모델로 통신 단계를 7개의 계층으로 나눈다.

OSI

물리 계층 (Physical Layer)

OSI 모델의 최하단에 있는 계층으로, 1과 0으로 표현되는 비트 신호를 주고 받는 계층이다. 비트 단위로 데이터를 전송하며, 전기적 신호로 변환하는 과정과 물리적 매체를 통해 신호가 전달되는 방식을 규정한다.

네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층이다. 물리 계층에서 전송된 데이터를 프레임 단위로 처리하여 오류를 제어하고, 물리적 링크를 통해 신뢰성 있는 전송을 보장한다. 에러 감지, 오류 수정, 흐름 제어, MAC 주소를 사용한 장치 간 통신 등이 포함된다.

네트워크 계층 (Network Layer)

메시지를 (다른 네트워크에 속한) 수신지까지 전달하는 계층이다. 데이터 링크 계층에서 네트워크 내의 주변 장치 간의 통신이 이루어진다면, 네트워크 계층에서는 네트워크 간의 통신이 이루어진다. IP 주소를 통해 통신하고자 하는 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로를 결정한다. 라우터가 주로 작동하는 계층이다.

전송 계층 (Transport Layer)

데이터의 정확한 전달을 보장하는 계층으로, 호스트 간의 신뢰성 있는 데이터 전송을 담당한다. 패킷이 정상적으로 보내졌는지, 중간에 유실된 정보는 없는지, 여러 개의 패킷을 보낼 때 순서가 뒤바낀 것은 없는지 등을 확인해야 할 때, 전송 계층에서는 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성 있고 안정적인 전송이 이루어지도록 한다. 이 외에도 포트 정보를 통해 실행 중인 응용 프로그램의 식별이 이루어진다.

세션 계층 (Session Layer)

세션을 관리하기 위해 존재하는 계층이다. 세션은 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태를 의미한다. 세션 계층에서는 이러한 연결 상태를 생성하거나 유지하고, 종료되었을 때는 끊어 주는 역할을 담당한다.

표현 계층 (Presentation Layer)

데이터를 이해할 수 있는 형태로 변환하는 계층으로, 데이터 인코딩, 암호화 및 압축을 담당한다. 데이터 포맷 변환, 암호화/복호화, 압축/해제압축을 통해 상위 계층이 데이터를 쉽게 처리할 수 있도록 돕는다. 서로 다른 데이터 형식을 가진 시스템 간의 통신을 지원한다.

응용 계층 (Application Layer)

사용자와 네트워크 활동이 직접 상호작용하는 계층으로, 네트워크 서비스(웹 브라우징, 이메일, 파일 전송 등)를 제공한다. HTTP, FTP, SMTP, DNS 등 응용 프로그램이 네트워크에 접근할 수 있도록 다양한 프로토콜을 제공하고, 사용자가 네트워크 서비스와 상호작용할 수 있게 한다.

TCP/IP 모델

OSI 모델은 주로 네트워크를 이론적으로 기술하고 이해할 때 사용하는 반면에 TCP/IP 모델은 이론보다는 구현에 중점을 둔 네트워크 참조 모델이다. TCP/IP 모델은 TCP/IP 4계층, 인터넷 프로토콜 스위트(Internet Protocol Suite), TCP/IP 프로토콜 스택(Protocol Stack)이라고도 부른다.

최하위 계층부터 최상위 계층까지 각각 네트워크 인터페이스 계층, 인터넷 계층, 전송 계층, 응용 계층이 있다.

TCP/IP

네트워크 액세스 계층 (Network Access Layer)

OSI 모델의 링크 계층과 유사한 계층으로 링크 계층 또는 네트워크 인터페이스 계층이라고도 부른다.

인터넷 계층 (Internet Layer)

OSI 모델의 네트워크 계층과 유사한 계층이다.

전송 계층 (Transport Layer)

OSI 모델의 전송 계층과 유사한 계층이다.

응용 계층 (Application Layer)

OSI 모델의 세션 계층, 표현 계층, 응용 계층을 합친 것과 유사한 계층이다.

캡슐화와 역캡슐화

패킷은 송신 과정에서 캡슐화가 이루어지고, 수신 과정에서 역캡슐화가 이루어진다. 송수신하는 메시지는 송신지 입장에서는 가장 높은 계층에서 가장 낮은 계층으로 이동하고, 수신지 입장에서는 가장 낮은 계층에서 가장 높은 계층으로 이동한다.

  • 패킷은 헤더와 페이로드, 때로는 트레일러를 포함하여 구성된다.
  • 프로토콜의 목적과 특징에 따라 헤더의 내용은 달라질 수 있다.

캡슐화 (Encapsulation)

어떤 정보를 송신할 때 각 계층에서는 상위 계층으로부터 내려받은 패킷을 페이로드로 삼아, 프로토콜에 걸맞은 헤더(혹은 트레일러)를 덧붙인 후 하위 계층으로 전달한다. 이렇게 송신 과정에서 헤더 및 트레일러를 추가해 나가는 과정을 캡슐화라고 부른다.

encapsulation

역캡슐화 (Decapsulation)

메시지를 수신할 때는 캡슐화 과정에서 붙였던 헤더(및 트레일러)를 각 계층에서 확인한 뒤 제거한다. 이를 역캡슐화라고 한다.

decapsulation

PDU (Protocol Data Unit)

각 계층에서 송수신되는 메시지의 단위를 PDU라고 한다. 즉, 상위 계층에서 전달받은 데이터에 현재 계층의 프로토콜 헤더(및 트레일러)를 추가하면 현재 계층의 PDU가 된다.

OSI 계층PDU
응용 계층데이터(data)
표현 계층데이터(data)
세션 계층데이터(data)
전송 계층세그먼트(segment) - TCP, 데이터그램(datagram) - UDP
네트워크 계층패킷(packet)
데이터 링크 계층프레임(frame)
물리 계층비트(bit)

응용 계층의 PDU는 메시지(message), 네트워크 계층의 PDU는 IP 데이터그램(IP datagram), 물리 계층의 PDU는 심볼(symbol)이라 지칭하기도 한다.

PDU는 주로 전송 계층 이하의 메시지를 구분하기 위해 사용한다. 전송 계층의 PDU는 TCP 프로토콜이 사용되었을 경우에는 세그먼트, UDP 프로토콜이 사용되었을 경우에는 데이터그램이 된다.

패킷이라는 용어는 패킷 교환 네트워크에서 쪼개어져 전송되는 단위를 통칭하기 위한 일반적인 용어로 사용되기도 하지만, 네트워크 계층에서의 송수신 단위를 지칭하기 위해 사용되기도 한다.

네트워크 성능 지표

처리율 (Throughput)

단위 시간당 네트워크를 통해 실제로 전송되는 정보량이다. 일반적으로 bps(bit/s - bits per second), Mbps(Mbit/s - megabits per second), Gbps(Gbit/s - gigabits per second) 단위로 표현한다. 처리율은 비교적 실시간성이 강조된 지표로, 특정 노드가 얼마만큼의 트래픽을 처리하는 중인지 판단하기 위해 사용되는 경우가 많다.

대역폭 (Bandwidth)

단위 시간 동안 통신 매체를 통해 송수신할 수 있는 최대 정보량이다. 처리율과 같이 bps, Mbps, Gbps를 단위로 사용한다. 예를 들어 통신 매체가 높은 대역폭을 가지고 있다면 이는 많은 정보를 송수신할 능력이 있음을 의미한다.

패킷 손실 (Packet Loss)

송수신되는 패킷이 손실된 상황을 의미한다. 높은 트래픽으로 인해 노드가 순간적으로 처리해야 할 패킷이 너무 많아지거나 네트워크상에 예기치 못한 장애가 발생해서 패킷을 처리하지 못하면 패킷 손실이 발생할 수 있다. 패킷 손실은 전체 패킷 중 유실된 패킷을 백분위로 표현한 값을 사용하는 경우가 많다.


참조

https://www.hanbit.co.kr/store/books/look.php?p_code=B3633191758

https://csnote.net