1. IP 프로토콜의 개요

IP(Internet Protocol) 프로토콜은 비연결형 서비스를 제공하는 네트워크 계층 프로토콜이다. 전송을 보장하지 않는 Best Effort 방식을 기반으로 작동하며, 데이터 전송 시 패킷의 분할과 병합 기능을 지원한다. 또한, IP 프로토콜은 데이터에 대한 체크섬을 제공하지 않고, 헤더에 대해서만 체크섬을 제공한다.

IP 프로토콜은 다음과 같은 주요 기능을 수행한다.

  • 비연결형 전송 방식
  • 패킷의 분할(Fragmentation) 및 병합(Reassembly)
  • 헤더 체크섬을 통한 오류 검출

2. IP 헤더 구조

IP 패킷은 전송을 위해 다양한 정보를 포함하는 헤더를 가진다. 주요 필드는 다음과 같다.

  1. DS/ECN 필드
  • DS(Differentiated Services): 트래픽 구분을 위해 패킷에 우선순위를 부여하는 필드이다. 다양한 서비스 품질(QoS)을 구현할 수 있다.
  • ECN(Explicit Congestion Notification): 네트워크 혼잡 상태를 송신자에게 알려주는 기능을 지원한다. 혼잡 발생 시 패킷을 폐기하지 않고 알림만 제공하여 통신 품질을 개선할 수 있다.
  1. 패킷 분할 관련 필드
  • IP는 데이터링크 계층의 최대 전송 단위(MTU, Maximum Transmission Unit)보다 큰 데이터를 전송할 때, 패킷을 분할하여 여러 개의 작은 패킷(Fragment)으로 전송하고, 수신 측에서 이를 다시 병합한다.
  1. 주소 관련 필드
  • Source Address: 송신 호스트의 IP 주소를 나타낸다.
  • Destination Address: 수신 호스트의 IP 주소를 나타낸다.
  1. 기타 필드
  • Version: IP 프로토콜의 버전을 나타낸다(IPv4 또는 IPv6).
  • Header Length: IP 헤더의 길이를 나타낸다.
  • Total Length: IP 헤더와 데이터 부분을 합한 전체 길이를 나타낸다.
  • Identification, Flags, Fragment Offset: 패킷 분할 및 병합을 위한 정보를 제공한다.
  • Time to Live (TTL): 패킷이 네트워크를 무한히 순환하지 않도록 생존 시간을 설정한다.
  • Protocol: 상위 계층 프로토콜(TCP, UDP 등)을 지정한다.
  • Header Checksum: 헤더의 오류를 검출하기 위한 체크섬을 제공한다.

IP 헤더의 구조
IP 주소 체계
Transport 필드
패킷 분할의 필요성

3. 패킷 분할

  1. 분할의 필요성
    IP 프로토콜은 상위 계층에서 전달받은 데이터가 데이터링크 계층에서 허용하는 최대 전송 단위(MTU)보다 클 경우, 이를 작은 조각으로 나누어 전송한다. 이러한 과정을 패킷 분할(Fragmentation)이라 한다.
  2. 분할의 예
    예를 들어, MTU가 1500바이트인데 IP 패킷이 4000바이트일 경우, 이를 1500바이트 이하로 분할하여 여러 개의 패킷으로 전송한 후, 수신 측에서 다시 병합하여 원래의 데이터로 복원한다.

패킷 분할의 예

4. DHCP 프로토콜

DHCP(Dynamic Host Configuration Protocol)는 네트워크 상의 여러 컴퓨터가 IP 주소를 공유하고 동적으로 할당받아 사용할 수 있도록 하는 프로토콜이다. DHCP를 통해 수동 설정 없이 IP 주소, 서브넷 마스크, 게이트웨이 주소 등을 자동으로 설정할 수 있다.

  1. IP 주소 공유 방식
    DHCP 서버는 네트워크에 연결된 클라이언트에게 IP 주소를 임대하는 방식으로 주소를 효율적으로 관리한다. IP 주소는 고정되지 않고 필요에 따라 할당되거나 회수된다.
  2. DHCP 주요 메시지
  • DHCP_DISCOVER: 클라이언트가 DHCP 서버를 찾기 위해 네트워크에 브로드캐스트로 전송하는 메시지이다.
  • DHCP_OFFER: DHCP 서버가 클라이언트에게 IP 주소를 제안하는 메시지이다.
  • DHCP_REQUEST: 클라이언트가 특정 DHCP 서버로부터 제안받은 IP 주소를 사용하겠다는 의사를 나타내기 위해 전송하는 메시지이다.
  • DHCP_ACK: DHCP 서버가 클라이언트의 요청을 승인하고, IP 주소를 할당했음을 알리는 메시지이다.
  • DHCP_NACK: DHCP 서버가 클라이언트에게 새로 IP 주소를 요청하도록 지시하는 메시지이다.

DHCP 메시지
DHCP 프로토콜의 동작 과정
UDP/IP 프로토콜의 캡슐화

요약

IP 프로토콜은 비연결형 서비스를 제공하며, 패킷 분할과 병합 기능을 수행하고, 데이터 체크섬 대신 헤더 체크섬을 통해 오류를 검출한다. 또한, Best Effort 원칙에 따라 데이터 전송을 수행한다. DHCP 프로토콜은 IP 주소를 여러 컴퓨터가 공유하여 동적으로 할당하는 기능을 제공하며, 다양한 메시지 교환 과정을 통해 IP 설정을 자동화한다.

1. 네트워크 계층의 기능

1.1 네트워크 기능

네트워크 계층은 다음과 같은 핵심 기능을 수행한다.

  1. 라우팅(Routing)
    패킷이 송신지에서 수신지로 도달할 수 있도록 최적의 경로를 결정한다.
  2. 혼잡 제어(Congestion Control)
    네트워크 내부의 패킷 수가 과도하게 증가하여 성능이 급격히 저하되는 현상을 방지하고, 이를 해결하기 위한 다양한 방안을 제공한다.
  3. 패킷의 분할과 병합(Fragmentation and Reassembly)
    데이터그램이 네트워크의 전송 단위보다 큰 경우, 이를 작은 단위로 분할하여 전송하고, 목적지에서는 이를 다시 병합하여 원래의 데이터그램으로 복구한다.

1.2 연결형 서비스와 비연결형 서비스

네트워크 계층에서는 두 가지 방식의 서비스를 제공한다.

  1. 연결형 서비스(Connection-Oriented Service)
    데이터 전송 전에 송신지와 수신지 간에 전송 경로를 미리 설정한 후 통신을 시작한다. 이 방식은 경로 설정을 통해 데이터 전송의 신뢰성을 보장할 수 있다.
  2. 비연결형 서비스(Connectionless Service)
    데이터 전송 시 매번 별도로 경로를 설정하지 않고, 각 패킷이 독립적으로 최적의 경로를 찾아 전송된다. 이 방식은 유연성이 높고, 네트워크 부하 분산에 유리하다.

연결형 비연결형 서비스

1.3 라우팅(Routing)

라우팅은 패킷이 네트워크를 통해 목적지까지 도달할 수 있도록 전송 경로를 지정하는 과정을 의미한다.

라우팅 시 고려해야 할 사항은 다음과 같다.

  • 네트워크 토폴로지
  • 경로의 비용(거리, 지연 시간 등)
  • 네트워크 부하

라우팅은 다음과 같이 구분할 수 있다.

  • 정적 라우팅(Static Routing): 관리자가 수동으로 경로를 설정하며, 변경이 자주 발생하지 않는 환경에 적합하다.
  • 동적 라우팅(Dynamic Routing): 네트워크 상태 변화를 반영하여 경로를 자동으로 조정한다.

또한, 라우팅 과정에서는 HELLO 패킷과 ECHO 패킷을 사용하여 연결 상태를 확인하고, 이를 바탕으로 **라우팅 테이블(Routing Table)**을 구성하여 최적 경로를 관리한다. 라우팅 테이블은 목적지 주소, 다음 홉(next hop) 주소, 경로 비용 등의 정보를 포함한다.

 

1.4 혼잡 제어(Congestion Control)

혼잡은 네트워크 내에 패킷이 과도하게 많아져 처리 속도가 급격히 저하되는 현상을 의미한다.

혼잡 제어는 이러한 문제를 방지하거나 해결하기 위한 기법으로 다음을 포함한다.

  • 트래픽 성형(Traffic Shaping): 송신 호스트가 패킷을 일정한 속도로 전송하여 네트워크에 부하를 주지 않도록 제어한다.
  • 혼잡 제거(Congestion Avoidance/Removal): 네트워크의 부하 상태를 모니터링하고, 필요시 패킷 전송 속도를 조정하거나 패킷을 폐기하여 혼잡을 완화한다.

혼잡의 주요 원인으로는 과도한 패킷 생성, 네트워크 자원의 부족, 불균형한 트래픽 분포 등이 있다.

흐름 제어와 혼잡 제어
리키 버킷 알고리즘

2. 라우팅 프로토콜

라우팅 프로토콜은 네트워크 상의 패킷 전달 경로를 자동으로 결정하고 관리하는 규약을 의미한다. 네트워크 거리는 라우터의 개수, 즉 홉(Hop) 수를 기준으로 판단한다.

2.1 간단한 라우팅 프로토콜

  1. 최단 경로 라우팅(Shortest Path Routing)
    송신지와 수신지 간 라우터 수가 가장 적은 경로를 선택하여 패킷을 전송하는 방식이다. 최적의 경로를 계산하기 위해 다익스트라(Dijkstra) 알고리즘 등이 사용된다.
  2. 플러딩(Flooding)
    각 라우터가 수신한 패킷을 자신과 연결된 모든 이웃 라우터로 전송하는 방식이다. 이 과정은 네트워크 전체에 걸쳐 반복되며, 결국 모든 노드에 패킷이 도달한다. 플러딩은 경로를 선택할 필요가 없어 단순하지만, 중복 전송이 많아 비효율적일 수 있다.

최단 경로 라우팅

2.2 거리 벡터 라우팅 프로토콜(Distance Vector Routing Protocol)

거리 벡터 라우팅은 라우터가 자신과 직접 연결된 이웃 라우터와 주기적으로 라우팅 정보를 교환하는 방식이다.

이 방식의 핵심 요소는 다음과 같다.

  • 링크 벡터(Link Vector): 인접 라우터와의 직접 연결 정보
  • 거리 벡터(Distance Vector): 목적지까지의 거리 정보
  • 다음 홉 벡터(Next Hop Vector): 목적지로 가기 위해 다음으로 거쳐야 할 라우터 정보

대표적인 거리 벡터 라우팅 프로토콜로는 **RIP(Routing Information Protocol)**이 있으며, RIP는 홉 수를 경로 선택 기준으로 삼는다. 거리 벡터 정보는 정해진 포맷의 패킷 구조를 통해 교환된다.

2.3 링크 상태 라우팅 프로토콜(Link State Routing Protocol)

링크 상태 라우팅은 개별 라우터가 자신의 이웃 라우터까지의 거리 정보를 수집한 후, 이 정보를 네트워크에 연결된 모든 라우터에 전파하는 방식이다.

이 방식은 거리 벡터 방식과 다음과 같은 점에서 다르다.

  • 모든 라우터가 네트워크 전체의 구조를 파악한다.
  • 라우터는 자신이 수집한 정보를 플러딩(Flooding) 기법을 통해 다른 라우터에 전달한다.
  • 이를 통해 각 라우터는 독립적으로 최적 경로를 계산할 수 있다.

링크 상태 라우팅은 거리 벡터 방식의 느린 수렴 속도 및 루핑 문제를 보완하기 위해 고안되었다. 대표적인 예로는 OSPF(Open Shortest Path First) 프로토콜이 있다.

2.4 외부 라우팅 프로토콜

라우팅 프로토콜은 크게 내부 라우팅 프로토콜(IGP, Interior Gateway Protocol)과 외부 라우팅 프로토콜(EGP, Exterior Gateway Protocol)로 나눌 수 있다.

  • 내부 라우팅 프로토콜(IGP): 동일한 자율 시스템(AS) 내에서 경로를 결정하는 프로토콜이다. 예를 들면 RIP, OSPF 등이 있다.
  • 외부 라우팅 프로토콜(EGP): 서로 다른 자율 시스템 간의 경로를 결정하는 프로토콜이다. 대표적으로 **BGP(Border Gateway Protocol)**가 사용된다.

BGP는 경로 정보와 정책을 기반으로 경로를 선택하며, 인터넷과 같은 대규모 네트워크 환경에서 필수적인 프로토콜이다.

요약

네트워크 계층은 라우팅, 혼잡 제어, 패킷의 분할과 병합 기능을 수행하여 데이터 전송을 지원한다. 연결형 서비스는 데이터 전송 전에 경로를 설정하고, 비연결형 서비스는 패킷 단위로 경로를 결정한다. 최단 경로 라우팅은 홉 수를 최소화하는 경로를 선택하며, 플러딩은 패킷을 모든 경로로 중개하는 방식이다. 거리 벡터 라우팅과 링크 상태 라우팅은 각각 이웃 정보 및 전체 네트워크 정보를 기반으로 경로를 결정한다. 내부 및 외부 라우팅 프로토콜은 각각 자율 시스템 내부와 외부에서 경로를 설정하는 데 사용된다.

 

데이터 링크 계층은 신뢰성 있는 데이터 전송을 보장하기 위해 다양한 기술을 포함하고 있으며, 앞서 살펴본 기본적인 오류 제어 및 흐름 제어 기법 외에도 보다 효율적인 전송을 위한 고급 프로토콜들이 존재한다. 본 글에서는 슬라이딩 윈도우 방식과 HDLC 프로토콜, 그리고 LAP 계열의 프로토콜에 대해 정리한다.

1. 슬라이딩 윈도우 프로토콜

슬라이딩 윈도우(Sliding Window) 프로토콜은 데이터 링크 계층에서 양방향 통신을 지원하는 대표적인 프로토콜로, 오류 제어와 흐름 제어 기능을 모두 갖추고 있다. 이 방식은 특히 효율적인 데이터 전송이 요구되는 환경에서 널리 사용된다.

1.1 흐름 제어

슬라이딩 윈도우 방식은 다음 두 가지 개념을 기반으로 흐름 제어를 수행한다.

  1. 순서 번호(Sequence Number)
    각 프레임에는 고유한 순서 번호가 부여되어 전송 순서를 추적할 수 있다. 수신 측은 순서 번호를 바탕으로 프레임의 정상 수신 여부를 판단한다.
  2. 윈도우 크기(Window Size)
    송신 측과 수신 측이 한 번에 처리할 수 있는 프레임 수를 지정한다. 송신 윈도우는 수신 측의 버퍼 처리 능력을 고려하여 설정되며, 과도한 프레임 전송을 방지한다.

슬라이딩 윈도우 프로토콜의 동작 과정
슬라이딩 윈도우 프로토콜의 동작 과정 2

1.2 연속형 전송

기존의 정지-대기 프로토콜은 송신 윈도우 크기가 1인 경우로, 프레임 하나를 전송한 뒤 ACK(확인 응답)를 기다린 후 다음 프레임을 전송한다. 그러나 슬라이딩 윈도우 방식에서는 여러 프레임을 연속으로 전송할 수 있으며, 이를 연속형 정지(Continuous Stop-and-Wait)라고 부르기도 한다.

이 방식은 다음과 같은 장점을 가진다.

  • 오류가 적은 환경에서는 송수신의 대기 시간이 줄어들어 전송 효율이 향상된다.
  • ACK 프레임을 기다리지 않고 여러 프레임을 연속적으로 전송함으로써 지연 시간을 줄일 수 있다.

오류 제어 방식

오류 발생 시 슬라이딩 윈도우 방식은 다음 두 가지 방법 중 하나로 오류를 해결한다.

  1. Go-Back-N 방식
    오류가 발생한 프레임 이후의 모든 프레임을 다시 전송한다. 수신 측은 오류가 난 프레임부터 이후 프레임을 모두 폐기하고, 송신 측은 오류 발생 이후의 데이터를 다시 보낸다.

고백NGo-Back-N 방식

  1. 선택적 재전송 방식(Selective Repeat)
    오류가 발생한 프레임만 선택적으로 재전송하는 방식이다. 수신 측은 오류가 발생하지 않은 프레임을 임시로 저장하고, 오류 프레임만 재요청한다. 이 방식은 처리 복잡도는 높지만 전송 효율이 높다.

선택적재전송

1.3 피기배킹(Piggybacking)

피기배킹은 양방향 통신에서 송신 측이 데이터 프레임(정보 프레임)을 전송하면서 동시에 상대 측의 데이터에 대한 응답(ACK)을 포함시키는 기술이다. 이렇게 함으로써 별도의 응답 프레임을 전송할 필요가 없어 전송 효율이 향상된다. 이는 대역폭 절약과 지연 시간 감소에 매우 효과적이다.

피기배킹

2. HDLC 프로토콜

HDLC(High-Level Data Link Control)는 ISO에서 제정한 비트 기반(bit-oriented)의 데이터 링크 계층 프로토콜로, 다양한 네트워크 환경에서 신뢰성 있는 데이터 전송을 위해 사용된다.

2.1 HDLC의 프레임 구조

HDLC 프로토콜은 전송 목적에 따라 다음 세 가지 종류의 프레임을 사용한다.

  1. 정보 프레임(Information Frame)
    사용자 데이터를 포함하며, 데이터 전송에 사용된다.
  2. 감독 프레임(Supervisory Frame)
    오류 제어나 흐름 제어 기능을 수행하며, ACK 및 NAK 등을 포함한다.
  3. 비번호 프레임(Unnumbered Frame)
    연결 설정, 해제 등의 제어 메시지를 전달하며, 번호를 부여하지 않는다.

HDLC 프레임구조
감독 프레임
비번호 프레임

2.2 호스트의 동작 모드

HDLC에서는 통신에 참여하는 호스트의 역할에 따라 다음 세 가지 모드로 동작할 수 있다.

  • 일차국(Primary Station): 통신을 제어하는 중심 노드로, 명령을 주도한다.
  • 이차국(Secondary Station): 명령에 응답하는 수동적 노드이다.
  • 혼합국(Combined Station): 일차국과 이차국의 기능을 모두 수행할 수 있다.

3. LAP 및 LAPB 프로토콜

HDLC는 다양한 환경에 맞춰 응용된 여러 하위 프로토콜을 가지고 있으며, 그중 대표적인 것이 LAP와 LAPB이다.

3.1 LAP 프로토콜

LAP(Link Access Procedure)은 HDLC에서 파생된 프로토콜로, 비동기 응답 모드인 ARM(Asynchronous Response Mode)으로 동작한다. ARM 모드는 주로 일차국이 통신을 제어하고, 이차국이 요청에 응답하는 구조를 취한다. 이는 단방향 통신 환경에서 적합한 구조이다.

LAP에서의 연결 설정 1
LAP에서의 연결 설정 2

3.2 LAPB 프로토콜

LAPB(Link Access Procedure Balanced)는 HDLC의 변형으로, X.25 프로토콜 계열에서 사용된다. 이 프로토콜은 혼합국 모드(Balanced Mode)를 사용하여, 양쪽 호스트가 모두 일차국 및 이차국의 기능을 수행할 수 있도록 한다. 따라서 어느 쪽이든 먼저 명령을 전송할 수 있으며, 대등한 입장에서 통신이 이루어진다.

LAPB에서의 연결 설정

결론

슬라이딩 윈도우 방식과 HDLC 계열 프로토콜은 데이터 링크 계층에서의 효율적이고 신뢰성 있는 데이터 전송을 위한 핵심 기술이다. 슬라이딩 윈도우는 흐름 제어와 오류 제어를 효과적으로 수행하며, 피기배킹 기법을 통해 전송 효율을 극대화한다. HDLC는 다양한 프레임 구조와 호스트 동작 방식을 지원하며, LAP와 LAPB와 같은 응용 프로토콜을 통해 다양한 통신 환경에 적응할 수 있다. 이러한 개념들은 네트워크 프로토콜 설계 및 구현의 근간을 이루는 중요한 요소이다.

 

컴퓨터 네트워크에서 데이터 전송의 정확성과 효율성을 확보하기 위해 여러 계층의 프로토콜이 사용된다. 그중 데이터 링크 계층은 물리 계층과 네트워크 계층 사이에서, 신뢰성 있는 데이터 전송을 보장하는 핵심적인 역할을 수행한다. 이 글에서는 데이터 링크 계층의 연결 방식, 프레임 종류, 오류 및 흐름 제어 방식에 대해 정리한다.

1. 데이터 링크 계층의 연결 방식

데이터 링크 계층은 호스트 간에 데이터를 프레임 단위로 전송하고, 오류 제어 및 흐름 제어를 통해 안정적인 통신을 지원한다. 이 계층에서의 연결 방식은 크게 점대점(Point-to-Point) 연결멀티드롭(Multidrop) 연결로 구분된다.

  • 점대점 연결은 두 호스트가 1:1로 직접 연결된 형태로, 상대방이 누구인지를 명시할 필요가 없기 때문에 주소 개념이 불필요하다.
  • 멀티드롭 연결은 하나의 전송 매체를 여러 호스트가 공유하는 방식이다. 이 경우, 각 프레임의 수신 대상을 명확히 구분해야 하므로 주소 개념이 필요하다.

또한 데이터 링크 계층은 물리 계층에서 발생할 수 있는 오류를 제어하기 위해 재전송 기법을 포함한 다양한 오류 제어 기법을 사용한다.

연결 구성도

2. 프레임의 종류

데이터 링크 계층에서는 전송 단위를 프레임(Frame)이라 하며, 다양한 제어 및 데이터 정보를 담고 있다. 프레임의 종류는 다음과 같이 나뉜다.

  1. 정보 프레임(Information Frame, I 프레임)
    실제 데이터를 전송하는 데 사용되는 프레임이다.
  2. 긍정 응답 프레임(Acknowledgement Frame, ACK 프레임)
    이전에 수신한 프레임이 오류 없이 도착했음을 알려주는 제어 프레임이다.
  3. 부정 응답 프레임(Negative Acknowledgement Frame, NAK 프레임)
    오류가 발생했거나 프레임을 받지 못한 경우 이를 송신 측에 통보하는 제어 프레임이다.

3. 오류 및 흐름 제어 기법의 발전 과정

데이터 링크 계층에서는 다양한 상황을 가정하여 오류 제어 및 흐름 제어 기능이 포함된 여러 프로토콜이 사용된다.

3.1 오류 및 흐름 제어가 없는 프로토콜

  • 가정: 매우 이상적인 통신 환경으로, 프레임 손실이나 오류가 발생하지 않는다고 가정한다.
  • 단순 프로토콜(Simple Protocol): 송신 측이 데이터를 전송하면, 수신 측은 이를 곧바로 처리하며 오류나 흐름 제어는 고려하지 않는다. 이 프로토콜은 학습용 개념으로만 사용된다.
  • 단순 프로토콜

3.2 오류 제어가 없는 프로토콜

  • 가정: 수신 측은 유한한 수의 버퍼만을 보유하고 있다.
  • 정지-대기 프로토콜 1(Stop-and-Wait Protocol 1): 송신 측은 하나의 프레임을 전송한 후, 수신 측이 확인 응답을 줄 때까지 기다린다. 흐름 제어는 어느 정도 가능하지만, 오류가 발생해도 재전송이 이루어지지 않는다.
  • 정지-대기 프로토콜 1

3.3 단방향 오류 및 흐름 제어 프로토콜

  • 가정: 프레임 손실 및 변형 가능성을 고려하며, 수신 측은 오류 제어와 흐름 제어 기능을 지원한다.
  • 이 프로토콜은 실제 환경에서의 데이터 전송 시 발생할 수 있는 여러 오류를 처리하기 위한 기능들을 포함한다.
    주요 특징은 다음과 같다:
  1. 프레임 변형 오류 대응:
    수신 측은 프레임이 손상된 경우 이를 인식하고, 송신 측에 **부정 응답 프레임(NAK)**을 전송하여 재전송을 요청한다.
  2. 프레임 분실 오류 대응:
    송신 측은 일정 시간 동안 응답을 받지 못하면, 타임아웃 기능을 통해 해당 프레임을 재전송한다.
  3. NAK가 없는 경우:
    프레임 손실이나 오류를 확인하는 수단이 없어 송신 측은 오직 타임아웃에 의존해 재전송을 수행한다. 이 경우, 효율성은 떨어질 수 있으나 구현은 간단하다.

정보 프레임 분실 오류
ACK 프레임 분실 오류
프레임 변형 오류

  1. NAK가 있는 경우:
    수신 측이 오류를 감지할 경우, 즉시 송신 측에 NAK를 보내므로 보다 빠른 오류 복구가 가능하다.

프레임 변형 오류
프레임 분실 오류

결론

데이터 링크 계층은 데이터 통신의 기초가 되는 계층으로, 오류 없는 데이터 전송을 위해 다양한 프레임 구조와 제어 프로토콜을 사용한다. 점대점 연결과 멀티드롭 연결처럼 연결 형태에 따라 설계 방식이 달라지며, 오류 제어 및 흐름 제어 기능은 실제 네트워크 환경에서 데이터 전송의 신뢰성을 보장하는 데 필수적인 요소이다. 특히, 단방향 오류 및 흐름 제어 프로토콜은 프레임 변형 및 분실 같은 문제를 효율적으로 처리하기 위한 기능들을 포함하고 있어 실무적으로도 중요한 기반이 된다.

 

MAC 계층은 데이터 링크 계층의 하위 계층으로, 동일 네트워크 내의 호스트 간 데이터 전송을 담당하는 핵심 기능을 수행합니다. 특히 토큰 기반 네트워크에서는 프레임 구조와 제어 방식이 매우 정교하게 설계되어 있어, 전송 효율성과 충돌 방지를 동시에 달성할 수 있습니다. 이번 글에서는 토큰 버스(Token Bus)토큰 링(Token Ring) 네트워크에서의 프레임 구조LLC 프레임 캡슐화 과정에 대해 상세히 살펴보겠습니다.


1. 토큰 버스 (Token Bus)

1-1. 프레임 구조

토큰 버스 네트워크에서는 데이터를 전송하기 위해 MAC 계층이 특정 형식의 토큰 버스 프레임을 생성해야 합니다. 이 프레임은 LLC 계층에서 전달받은 데이터를 포함하며, 여기에 전송을 제어하기 위한 헤더와 트레일러 정보가 추가됩니다.

  • 헤더(Header): 프레임의 시작 부분으로, 목적지 주소, 송신지 주소, 제어 정보 등이 포함됩니다.
  • Frame Control 필드: 해당 프레임이 데이터 프레임인지 제어 프레임인지를 구분하는 데 사용됩니다.
  • 트레일러(Trailer): 프레임의 끝에 위치하며, 오류 검출을 위한 FCS(Frame Check Sequence) 등의 정보가 포함됩니다.

이러한 구조 덕분에 수신 호스트는 프레임의 종류와 내용을 정확히 파악하고, 오류가 발생했을 경우 이를 검출할 수 있습니다.

토큰 버스 프레임의 구조
토큰 버스 프레임의 Frame Control 필드

1-2. LLC 프레임 캡슐화

캡슐화(encapsulation)는 하위 계층에서 상위 계층의 데이터를 처리하기 위해 메타 정보를 덧붙이는 과정입니다.
토큰 버스에서는 다음과 같은 절차로 캡슐화가 이루어집니다:

  1. LLC 계층에서 내려온 LLC 프레임은 MAC 계층으로 전달됩니다.
  2. MAC 계층은 LLC 프레임의 좌우에 헤더와 트레일러를 덧붙여 토큰 버스 프레임을 완성합니다.
  3. 완성된 프레임은 물리 계층을 통해 수신 호스트로 전송됩니다.
  4. 수신 측 MAC 계층은 헤더와 트레일러를 제거하고, LLC 프레임만 상위 계층으로 전달합니다.

이 과정은 데이터 전송의 신뢰성과 무결성을 보장하는 데 필수적입니다.

토큰 버스 프레임의 Data 필드


2. 토큰 링 (Token Ring)

2-1. 프레임 구조

토큰 링 네트워크에서는 프레임 구조가 더욱 정교하게 구성되어 있으며, 모든 노드가 순차적으로 연결된 링 구조 내에서 데이터를 순환시킵니다.

프레임은 다음과 같은 필드들로 구성됩니다:

  • Start Delimiter / End Delimiter: 프레임의 시작과 끝을 구분해주는 특수한 비트 패턴으로, 프레임 단위의 명확한 식별을 가능하게 합니다.
  • Access Control: 우선순위 제어, 토큰 보유 여부, 예약 정보 등을 담고 있어 링 내 전송 순서를 조율합니다.
  • Frame Control: 프레임이 LLC 데이터 전송용인지 제어용 프레임인지 구분하는 데 사용됩니다.
  • Frame Status: 수신 호스트가 정상 수신 여부를 송신 호스트에 알리기 위한 응답 정보로, 프레임의 맨 마지막에 위치합니다.

토큰 링 프레임의 구조

2-2. LLC 프레임 캡슐화

토큰 링의 캡슐화 절차 역시 토큰 버스와 유사하지만, 더 많은 제어 필드가 포함된다는 점에서 차이가 있습니다.

  1. LLC 계층에서 전송할 데이터가 MAC 계층으로 전달됩니다.
  2. MAC 계층은 토큰 링 프레임 포맷에 따라 LLC 프레임을 감싸는 캡슐화 작업을 수행합니다.
  3. 이후 프레임은 물리 계층을 통해 링을 따라 순환하며 수신 호스트에 도달합니다.
  4. 수신 MAC 계층은 프레임을 해체하고 LLC 프레임만 상위로 전달합니다.

토큰 링 프레임의 Data 필드

 


3. 핵심 필드 요약

필드명  설명
Frame Control 데이터/제어 프레임 구분
Start/End Delimiter 프레임 경계 구분
Access Control 우선순위 및 토큰 제어
Frame Status 수신 호스트의 응답 상태 표시 (토큰 링 전용)

 

Access Control 필드
Frame Control 필드
Frame Status 필드


결론

토큰 기반 MAC 방식에서는 데이터 전송의 질서와 신뢰성을 보장하기 위해 프레임 구조가 매우 정교하게 설계되어 있습니다.

  • 토큰 버스는 물리적으로는 버스형 구조이지만 논리적으로는 순환 구조를 채택하여 효율적인 통신을 지원합니다.
  • 토큰 링은 링 구조의 특성을 살려 데이터 충돌 없이 전송이 가능하며, 프레임 내부에 포함된 다양한 제어 필드를 통해 네트워크 운영의 정밀성을 확보합니다.

오늘날에는 대부분의 LAN 환경이 고속 이더넷 기반으로 전환되었지만, 이러한 전통적인 MAC 프로토콜의 이해는 네트워크의 근본 원리와 구조를 이해하는 데 여전히 중요한 기반이 됩니다.

데이터 링크 계층은 네트워크 계층과 물리 계층 사이에서 데이터의 전송 신뢰성을 확보하는 중요한 계층으로, 내부적으로는 MAC(Media Access Control) 계층LLC(Logical Link Control) 계층으로 구분된다. 이 글에서는 MAC 계층의 역할과, 대표적인 MAC 방식인 이더넷(Ethernet)의 작동 원리를 중점적으로 살펴본다.


1. MAC 계층과 IEEE 802 표준

1.1 데이터 링크 계층의 세분화

데이터 링크 계층은 데이터 전송의 제어와 오류 감지, 물리 매체 접근 제어를 위해 두 개의 하위 계층으로 나뉜다.

  • MAC 계층 (Media Access Control)
    데이터 전송 시 누가, 언제 물리 매체에 접근할지를 제어하며, 충돌 회피 및 재전송 기능을 담당한다.
  • LLC 계층 (Logical Link Control)
    네트워크 계층과의 인터페이스를 제공하고, 오류 제어나 흐름 제어를 수행한다.
  • MAC과 LLC 계층의 관계

이러한 구조는 IEEE 802 시리즈 표준에 명확히 정의되어 있으며, 각 기술에 따라 별도의 MAC 계층 표준이 마련되어 있다.

표준 번호  내용
IEEE 802.1 LAN 전반의 표준 구조 정의
IEEE 802.2 LLC 계층 정의
IEEE 802.3 유선 이더넷의 MAC 계층 정의
IEEE 802.4 토큰 버스 방식 정의
IEEE 802.5 토큰 링 방식 정의

IEEE 802 시리즈의 계층 구조


2. 공유 매체 접근 방식: CSMA/CD

공유된 전송 매체에서는 다수의 호스트가 동시에 데이터를 송신할 수 있다. 이때 충돌이 발생할 가능성을 최소화하고, 발생한 충돌에 대해 효과적으로 대응하기 위해 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 방식이 사용된다.

2.1 CSMA/CD의 개요

  • Carrier Sense: 전송 매체 사용 여부를 사전 감지
  • Multiple Access: 모든 노드가 매체에 접근 가능
  • Collision Detection: 충돌 발생 시 이를 감지하고, 재전송 처리 수행

이더넷은 이러한 CSMA/CD 방식 기반으로 설계되어 있으며, 이는 공유 환경에서 충돌을 제어하는 핵심 기술이다.

2.2 다양한 CSMA 변형 방식

방식  특징
1-persistent CSMA 매체가 비어 있으면 즉시 전송
Non-persistent CSMA 매체가 비어도 일정 시간 지연 후 재시도
p-persistent CSMA 일정 확률로 전송을 시도 (주로 슬로티드 채널에서 사용됨)

공유 버스에서의 데이터 전송


3. 이더넷(Ethernet)과 MAC 구조

3.1 이더넷의 프레임 구조 및 캡슐화

이더넷에서 송수신되는 데이터는 프레임(Frame) 단위로 구성되며, MAC 계층에서 다음과 같은 정보가 추가된다.

  • 출발지 및 목적지 MAC 주소
  • 타입 필드 (상위 계층 프로토콜 식별)
  • 오류 검출 코드 (CRC 등)

이러한 MAC 프레임은 LLC 계층의 데이터 부분을 감싸는 형태로 구성되며, 전송 오류나 충돌에 대한 제어를 포함한다.

이더넷 프레임의 구조
이더넷 프레임의 Data 필드

3.2 이더넷 전송 구조: 허브와 스위치

  • 허브(Hub)
    단순 신호 증폭 및 분배 기능을 수행하며, 연결된 모든 포트로 데이터를 브로드캐스트한다. 내부 구조는 공유 버스 기반이다.
  • 스위치(Switch)
    목적지 MAC 주소를 기반으로 프레임을 특정 포트에만 전송하는 장비이다. 포트 간 충돌을 방지할 수 있어 고속의 네트워크 환경 구성에 적합하다.

허브와 스위치


4. 토큰 기반 MAC 방식

토큰(Token) 방식은 네트워크 내 노드 간의 질서 있는 통신 순서를 보장하기 위해 사용됩니다. 이 방식에서는 전송 권한을 나타내는 토큰이라는 특수한 제어 프레임이 네트워크를 순환하며, 해당 토큰을 보유한 노드만 데이터 전송이 가능합니다. 이로써 충돌 없이 안정적인 전송이 가능해집니다.

4.1 토큰 버스 (Token Bus)

토큰 버스논리적으로는 링 구조, 물리적으로는 버스형 구조를 따릅니다.
즉, 물리적인 연결은 선형적인 버스 형태로 되어 있지만, 논리적으로는 특정 순서에 따라 토큰이 순환합니다.

  • 전송 권한 제어 방식: 토큰은 논리적으로 정해진 순서대로 노드 간에 전달되며, 토큰을 받은 노드만 데이터 전송이 가능합니다.
  • 충돌 방지: 한 번에 하나의 노드만 전송할 수 있기 때문에 충돌이 발생하지 않습니다.
  • 적용 사례: 산업 자동화 시스템, 초기 LAN 구조 (예: IEEE 802.4 표준)
항목 설명
논리적 구조 링 형태
물리적 구조 버스 형태
충돌 가능성 없음
단점 토큰 분실, 복구 지연 시 네트워크 성능 저하 가능
토큰 버스

 


4.2 토큰 링 (Token Ring)

토큰 링물리적 구조와 논리적 구조 모두 링 형태로 이루어진 네트워크입니다. 각 노드는 인접한 노드와 직접 연결되어 있으며, 토큰은 일방향으로 순환합니다.

  • 전송 권한 제어 방식: 토큰을 수신한 노드가 전송 권한을 가지며, 데이터를 보낼 필요가 없으면 그대로 다음 노드로 토큰을 전달합니다.
  • 충돌 회피: 하나의 토큰만 존재하기 때문에 동시 전송이 불가능, 즉 충돌이 원천적으로 발생하지 않습니다.
  • 프레임 전파 방식: 데이터 프레임은 링을 따라 전송되며, 수신 노드가 확인하고 해당 데이터를 회수하는 구조입니다.
  • 대표 표준: IEEE 802.5
항목 설명
논리/물리 구조 모두 링 형태
전송 권한 토큰을 보유한 노드
충돌 가능성 없음
단점 노드 고장 시 전체 네트워크 영향, 구조 변경 어려움
토큰 링

CSMA/CD vs. 토큰 방식 비교

항목 CSMA/CD (이더넷) 토큰 버스 / 토큰 링
충돌 가능성 있음 (감지 후 재전송) 없음 (토큰 기반)
전송 방식 경쟁 기반 순차 전송 (제어된 접근)
성능 경합 발생 시 저하 토큰 회전 지연 발생 가능
적용 환경 범용, 고속 LAN 산업 제어망, 특수 목적 LAN

요약

  • 데이터 링크 계층은 물리 매체 접근을 제어하는 MAC 계층과, 상위 계층과의 연계를 담당하는 LLC 계층으로 구성된다.
  • CSMA/CD는 공유 매체 환경에서 충돌을 감지하고 복구하는 이더넷의 핵심 기술이다.
  • 이더넷의 구조는 외형상 스타형이지만, 허브 사용 시 내부적으로는 공유 버스 방식으로 동작하며, 스위치 사용 시에는 충돌 없이 개별 전송이 가능하다.
  • 이러한 MAC 계층의 설계와 프로토콜은 IEEE 802 표준 시리즈에 따라 엄격히 규정되어 있으며, 오늘날 대부분의 유선 LAN 환경은 이더넷 기반으로 구성되어 있다.

 

 

1. 데이터 전송 방식

네트워크는 다양한 방식으로 데이터를 주고받습니다. 각각의 방식은 목적과 사용 환경에 따라 선택됩니다.

🔷 1-1. 컴퓨터 네트워크의 효과

컴퓨터를 네트워크로 연결하면 다음과 같은 이점을 누릴 수 있어요:

  1. 자원 공유 (프린터, 저장 공간 등)
  2. 병렬 처리로 성능 향상
  3. 중복 저장으로 신뢰성 향상

🔷 1-2. 전송과 교환의 개념

  • 전송(Transmission): 하나의 호스트에서 다른 호스트로 데이터를 직접 보내는 행위.
  • 교환(Switching): 여러 호스트가 공유하는 네트워크 환경에서 중간 장비(스위치 등)를 거쳐 데이터를 전달하는 구조.

💡 예시: 호스트 A → B → C → D 로 데이터가 전달될 경우, 중간의 B, C는 교환 역할을 함.

전송과 교환


🔷 1-3. 점대점 방식 (Point-to-Point)

송신자와 수신자 간에 직접 연결된 전용 회선을 사용하는 구조입니다.

📌 특징:

  • 연결 수가 많을수록 성능은 좋아지지만 비용이 높아짐.
  • 연결 수가 적으면 매체를 공유하게 되어 네트워크 혼잡 가능성 증가.

📍구조 유형:

유형 설명

스타형(Star) 중앙에 하나의 중심 장비(허브 등)를 통해 통신
링형(Ring) 모든 노드가 링(원형) 구조로 연결
완전형(Fully Connected) 모든 노드가 서로 직접 연결
불규칙형(Irregular) 네트워크가 필요에 따라 임의로 구성됨

점대점 방식


🔷 1-4. 브로드캐스팅 방식 (Broadcasting)

한 호스트가 전송한 데이터가 네트워크 내 모든 호스트에 전달되는 방식입니다.
주로 LAN(Local Area Network)에서 사용되며, 별도의 교환 장비 없이도 동작할 수 있습니다.

📍구조 유형:

유형 설명

버스형(Bus) 하나의 전송선로(버스)에 여러 노드가 연결되어 통신
링형(Ring) 브로드캐스트 구조지만 데이터가 링을 따라 전달됨

브로드캐스팅 방식


🔷 1-5. 멀티포인트 통신

여러 호스트가 동시에 하나의 링크를 공유하여 통신하는 방식입니다.

통신 방식 설명

유니캐스팅 (Unicasting) 1:1 전송 (예: 웹 브라우징, 이메일)
브로드캐스팅 (Broadcasting) 1:N 전송, 모든 노드에게 전송
멀티캐스팅 (Multicasting) 1:선택된 일부 노드에게만 전송
멀티포인트 유니캐스팅 1:N 전송이지만 개별적으로 여러 번 전송

2. 오류 제어 (Error Control)

데이터 전송 중에 발생할 수 있는 오류를 탐지하고 복구하는 기술입니다.

🔷 2-1. 전송 오류의 유형

  • 프레임 오류: 전송 중 데이터가 손상되는 경우
  • 프레임 분실: 데이터가 도착하지 않는 경우
  • 중복 수신: 동일한 프레임이 두 번 이상 수신되는 경우

🔷 2-2. 오류 처리 방식

상황 처리 방식

정상 수신 수신 호스트가 송신자에게 긍정 응답(ACK) 전송
프레임 오류 수신 호스트가 부정 응답(NAK) 전송 → 송신자가 재전송
응답 없음 (프레임 분실) 송신 호스트가 타임아웃 후 재전송 수행
⚠️ 중복 수신 방지 프레임마다 고유 순서번호를 부여해 구분

정상적인 데이터 전송
프레임 분실 오류


🔷 2-3. 순서 번호 (Sequence Number)

  • 프레임마다 고유 번호 부여 → 중복 수신 방지
  • 수신 측은 순서대로 수신 여부를 판단 가능
  • 긍정 응답 분실


  • 긍정 응답 도착

🔷 2-4. 흐름 제어 (Flow Control)

송신 속도와 수신 속도의 균형을 맞춰 네트워크 과부하를 방지하는 기술입니다.

📌 만약 송신자가 너무 빠르게 데이터를 보내면?
→ 수신자의 버퍼가 가득 차서 데이터가 유실될 위험이 있음.

➡ 해결 방법: 수신자가 감당할 수 있는 만큼만 전송하도록 제어


📝 정리 요약

  • 데이터 전송 방식에는 유니캐스팅(1:1), 브로드캐스팅(1:전체), 멀티캐스팅(1:선택)이 있으며, 멀티포인트 유니캐스팅은 1:N 방식의 반복 전송이다.
  • 브로드캐스팅 방식은 간편하지만 호스트 수가 많아질수록 트래픽이 급격히 증가한다.
  • 오류 제어응답 프레임, 순서 번호, 타임아웃, 그리고 흐름 제어를 통해 이루어지며, 안정적인 데이터 전송을 위해 꼭 필요한 기능이다.

1. 네트워크의 기초 용어

1.1 주요 개념 및 정의

  • 인터페이스: 서로 다른 시스템 또는 계층 간의 상호 작용을 위한 연결 방식
  • 전송 매체: 데이터를 전달하는 물리적 또는 무선 경로
  • 프로토콜: 데이터 교환을 위한 규칙과 절차를 정의하는 표준
  • 네트워크: 전송 매체를 통해 연결된 시스템들의 모음
  • 인터넷: 전 세계적으로 연결된 네트워크의 집합
  • 표준화: 네트워크 기술 및 프로토콜의 일관성을 유지하기 위한 과정

1.2 네트워크에서 사용되는 주요 시스템 용어

  • 노드(Node): 네트워크에 연결된 모든 장치 (예: 컴퓨터, 라우터, 스위치 등)
  • 호스트(Host): 자체적인 컴퓨팅 기능을 갖춘 네트워크 장치
  • 클라이언트(Client): 네트워크에서 특정 서비스를 요청하는 시스템
  • 서버(Server): 클라이언트에게 서비스를 제공하는 시스템

2. 네트워크의 기능

2.1 계층 모델

(1) OSI 7계층 모델

ISO(국제표준화기구)는 네트워크의 표준화를 위해 OSI(Open System Interconnection) 7계층 모델을 정의함. 이 모델은 네트워크 통신을 7개의 계층으로 나누어 설명함.

계층 역할

물리 계층 데이터의 물리적 전송 (케이블, 신호, 전기적 특성)
데이터 링크 계층 데이터 전송 중 오류 감지 및 재전송 기능 제공
네트워크 계층 데이터 패킷을 목적지까지 올바르게 라우팅 (IP 포함)
전송 계층 송신 및 수신 간의 신뢰성 있는 데이터 전송 (TCP, UDP)
세션 계층 통신 세션의 설정, 유지 및 종료 관리
표현 계층 데이터의 형식 변환 (압축, 암호화, 인코딩)
응용 계층 사용자와 직접 상호 작용하는 애플리케이션 서비스 제공 (FTP, HTTP)

OSI 7계층 모델

(2) 프로토콜과 인터페이스

  • 프로토콜(Protocol): 서로 다른 호스트의 동일 계층 간 통신을 위한 규칙 (예: TCP/IP, HTTP, FTP)
  • 인터페이스(Interface): 같은 호스트 내 상하위 계층 간의 통신 방식
  • 서비스(Service): 하위 계층이 상위 계층에 제공하는 기능

(3) 인터넷 계층 구조

인터넷 프로토콜 스택은 OSI 모델과 유사하지만, 계층을 다르게 분류함.

  • 네트워크 계층: IP(Internet Protocol)를 사용하여 데이터 패킷을 전송
  • 전송 계층: TCP(신뢰성 있는 연결) 또는 UDP(빠른 전송) 사용
  • 응용 계층: FTP, HTTP, SMTP 등 다양한 네트워크 서비스 제공

2.2 FTP(File Transfer Protocol)의 개념

  • FTP(파일 전송 프로토콜): TCP/IP 네트워크에서 파일을 교환하기 위해 1971년에 개발된 프로토콜.
  • 클라이언트-서버 모델을 기반으로 동작하며, 명령어 채널과 데이터 채널을 통해 파일을 주고받음.

3. 요약

  • 네트워크는 전송 매체를 통해 연결된 시스템들의 모음으로 정의됨.
  • OSI 7계층 모델은 네트워크 통신을 7단계로 나누어 설명하며, 각 계층은 특정 기능을 수행함.
  • 프로토콜은 서로 다른 시스템 간의 데이터 교환 규칙이며, 인터페이스는 같은 시스템 내 계층 간의 통신 규칙을 의미함.
  • FTP는 파일 전송을 위한 대표적인 네트워크 프로토콜 중 하나임.

+ Recent posts