데이터 링크 계층은 신뢰성 있는 데이터 전송을 보장하기 위해 다양한 기술을 포함하고 있으며, 앞서 살펴본 기본적인 오류 제어 및 흐름 제어 기법 외에도 보다 효율적인 전송을 위한 고급 프로토콜들이 존재한다. 본 글에서는 슬라이딩 윈도우 방식과 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를 보내므로 보다 빠른 오류 복구가 가능하다.

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

결론

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

 

1. 데이터 링크 계층의 역할과 구성

데이터 링크 계층은 컴퓨터 네트워크에서 물리 계층과 네트워크 계층 사이의 중간 계층으로, 인접한 노드 간의 신뢰성 있는 데이터 전송을 담당한다. 이 계층은 물리적인 오류가 발생할 수 있는 전송 매체에서 데이터를 정확하게 전달하기 위해 오류 제어, 흐름 제어, 프레임화, 주소 지정 등의 기능을 수행한다.

데이터는 상위 계층에서 전송되기 전, 물리 주소(MAC 주소)와 제어 정보를 포함한 헤더(header)가 앞부분에 추가되고, 오류 검출을 위한 정보가 담긴 트레일러(trailer)가 뒷부분에 추가되어 전송된다.

데이터 링크 프로토콜

데이터 링크 계층에서 사용되는 프로토콜은 크게 문자 지향 방식비트 지향 방식으로 구분된다.

데이터 링크 계층 프로토콜의 기초

(1) BSC (Binary Synchronous Communication)

  • 문자 지향 동기 방식으로, 데이터를 문자 단위로 전송한다.
  • 반이중 방식(Half Duplex)을 사용한다.
  • 전송 제어 문자로는 SOH, STX, ETX, ETB, EOT, ENQ, DLE 등이 있다.
  • 점대점(Point-to-Point) 연결 방식에서는 주소 개념이 불필요하나, 멀티드롭(Multi-drop) 방식에서는 각 호스트 주소가 필요하다.

(2) HDLC (High-level Data Link Control)

  • 비트 지향 방식으로, 비트 단위로 데이터를 전송하며 전이중 통신을 지원한다.
  • 신뢰성과 속도가 뛰어나며 고속 통신에 적합하다.
  • 비트 스터핑(Bit Stuffing) 기능을 제공하여 데이터 내 플래그 오인을 방지한다.
    • HDLC에서 프레임 시작과 끝을 나타내는 플래그는 01111110으로 고정되어 있다.
    • 전송 데이터 중에 ‘1’이 5번 연속될 경우, 송신 측은 자동으로 ‘0’을 삽입하고, 수신 측은 이를 제거함으로써 플래그와 혼동되는 것을 방지한다.

2. 프레임(Frame)의 종류

데이터 링크 계층에서 전송 오류를 해결하기 위해 다양한 종류의 프레임이 사용된다.

  • 정보 프레임 (I-Frame): 상위 계층에서 받은 데이터를 전송하기 위한 프레임으로, 순서 번호와 송·수신 주소 정보를 포함한다.
  • 긍정 응답 프레임 (ACK-Frame): 수신 측이 데이터를 정상적으로 수신하였음을 송신 측에 알리는 프레임이다.
  • 부정 응답 프레임 (NAK-Frame): 수신 측에서 오류가 발생한 경우 송신 측에 재전송을 요청하는 프레임이다.

3. 오류 제어 및 흐름 제어

1) 오류 제어(Error Control)

오류 제어는 데이터 전송 중 발생할 수 있는 오류를 탐지하고 수정하는 기능을 말한다. 방식은 다음과 같이 구분된다.

  • 전진 오류 수정 (FEC, Forward Error Correction): 송신 측이 제어 비트를 추가하여 전송하며, 수신 측이 이를 이용해 오류를 수정한다. 재전송이 필요 없다는 장점이 있다.
  • 후진 오류 수정 (BEC, Backward Error Correction): 오류가 발생했을 경우 수신 측이 재전송을 요청하며, 이를 위해 역채널이 필요하다.

오류의 주요 원인은 다음과 같다.

  • 감쇠(Attenuation): 거리 증가에 따라 신호가 약해지는 현상
  • 지연 왜곡(Delay Distortion): 주파수에 따라 전송 속도가 달라져 발생하는 신호 손상
  • 백색 잡음(White Noise): 열에 의한 랜덤한 신호 간섭
  • 상호변조 잡음(Intermodulation Noise): 서로 다른 주파수 간의 간섭
  • 누화 잡음(Crosstalk Noise): 인접한 회선 간 전자기 유도
  • 충격성 잡음(Impulse Noise): 외부 충격이나 기계적 진동 등으로 인한 잡음

2) 흐름 제어(Flow Control)

흐름 제어는 송신 측의 데이터 전송 속도를 조절하여 수신 측의 처리 능력을 초과하지 않도록 하는 기능이다.

정지-대기(Stop-and-Wait) 프로토콜

  • 송신 측은 하나의 프레임을 전송한 후, 수신 측의 ACK 응답을 받은 후에 다음 프레임을 전송한다.
  • 수신 측의 버퍼 크기가 제한적인 경우 효과적이다.
  • 흐름 제어 및 오류 제어가 동시에 적용된다.
  • 정지-대기 프로토콜

단방향 프로토콜 (Unidirectional Protocol)

  • 프레임이 단일 방향으로만 전송된다.
  • 오류 제어와 흐름 제어 모두 지원해야 한다.
  • 오류 상황에 따라 NAK 프레임, 타임아웃 기능 등을 이용하여 복구한다.
  • NAK가 없는 경우


  • NAK가 없는 경우 2
  • NAK가 있는 경우


  • NAK가 있는 경우 2

4. 통신 프로토콜의 개념과 기능

1) 통신 프로토콜의 정의

통신 프로토콜(Communication Protocol)은 네트워크 상의 다양한 장비들이 서로 데이터를 원활하게 주고받기 위해 정한 일련의 규칙이다. 하드웨어와 소프트웨어, 그리고 이들 사이의 데이터 교환 절차를 모두 포함한다.

프로토콜의 구성 요소는 다음과 같다.

  • 구문(Syntax): 데이터 형식, 부호화 방식, 신호 수준 등을 정의
  • 의미(Semantics): 제어 정보 및 상호 동작 방식 정의
  • 시간(Timing): 통신 속도, 메시지 전송 순서 등을 정의

2) 통신 프로토콜의 주요 기능

  1. 단편화와 재결합(Fragmentation & Reassembly)
    데이터를 일정 크기로 나누어 전송하고, 수신 측에서 이를 다시 원래의 데이터로 조합함
  2. 캡슐화(Encapsulation)
    데이터에 주소, 오류 검출 정보 등을 포함시켜 전송하는 과정
  3. 오류 제어(Error Control)
    전송 중 발생하는 오류를 검출하고 정정함
  4. 흐름 제어(Flow Control)
    송·수신 속도를 조절하여 수신 측의 과부하 방지
  5. 순서 제어(Sequencing)
    데이터 블록에 전송 순서를 부여하여 순차적 수신 보장
  6. 동기화(Synchronization)
    송·수신 장치 간의 타이밍을 일치시켜 데이터 손실 방지
  7. 주소지정(Addressing)
    데이터를 정확한 목적지로 전달하기 위한 주소 정보 부여
  8. 다중화(Multiplexing)
    하나의 물리 채널을 여러 사용자 또는 데이터가 공유할 수 있도록 함
  9. 경로 제어(Routing)
    최적의 데이터 전송 경로를 설정
  10. 전송 서비스
    데이터 전송 시 제공되는 부가 기능 (우선순위, 서비스 등급, 보안 등)

3) 통신 프로토콜의 전송 방식

프로토콜은 데이터 프레임 구성 방식에 따라 다음과 같이 분류된다.

  • 문자 전송 방식: 전송 제어 문자를 이용해 시작과 끝을 구분 (예: BSC)
  • 바이트 방식: 헤더에 문자 개수 및 상태 정보를 포함 (예: DDCM)
  • 비트 방식: 특정 비트 패턴으로 프레임의 경계를 구분 (예: HDLC, SDLC, LAPB)

1. 계층 구조의 개념

1) 계층적 모듈 구조

  • 복잡한 시스템을 기능별로 나누어 모듈화하면 전체 구조가 단순해지고 유지보수가 용이해집니다.
  • 프로그래밍에서는 함수 개념을 활용해 프로그램을 모듈화하며, 네트워크에서는 계층별 모듈이 유기적으로 연결되어 동작합니다.
  • 계층 구조를 적용하면 시스템 내 한 부분에 문제가 발생하더라도 전체 시스템을 교체할 필요 없이 해당 부분만 수정할 수 있습니다.

2) 계층 구조의 특징과 장점

  • 특정 모듈이 다른 모듈에 서비스를 제공하는 방식으로, 네트워크에서도 독립적인 기능을 수행하는 모듈들이 계층적으로 연결됩니다.
  • 장점
    • 전체 시스템을 이해하고 설계하기 쉽습니다.
    • 모듈 간 표준 인터페이스를 단순하게 유지하면 독립성이 향상됩니다.
    • 특정 모듈의 외부 인터페이스가 변경되지 않는 한, 내부 기능 변화가 시스템 전체에 영향을 주지 않습니다.
    • 대칭 구조에서는 동일 계층 간 통신(프로토콜)을 단순화할 수 있습니다.

2. 프로토콜 설계 시 고려사항

1) 주소 표현

  • 주소는 통신에서 장치를 식별하는 역할을 하며, 구조적 정보를 포함해야 활용도가 높아집니다.
    • 예: 전화번호(국가 코드 - 지역 코드 - 번호), 주민번호(YYMMDD-XXXXXXX)
  • 네트워크에서는 1:다(One-to-Many) 통신을 지원하는 방식이 존재합니다.
    • 브로드캐스팅(Broadcasting): 모든 호스트에게 데이터 전달
    • 멀티캐스팅(Multicasting): 특정 그룹의 호스트에게만 데이터 전달

2) 오류 제어

  • 데이터 변형 오류: 데이터가 손상된 상태로 도착
  • 데이터 분실 오류: 데이터가 목적지에 도착하지 않음
  • 오류 제어 기능: 통신 프로토콜에서 필수적인 요소로, 오류 감지 및 복구를 수행합니다.

3) 흐름 제어

  • 송신 호스트가 너무 빠르게 데이터를 전송하면 수신 호스트가 처리하지 못해 논리적 데이터 분실 오류가 발생할 수 있습니다.
  • 이를 방지하기 위해 흐름 제어 기능을 적용하여 전송 속도를 조절합니다.

4) 데이터 전달 방식

  • 단방향 통신(Simplex): 한쪽 방향으로만 데이터 전송 (예: TV, 라디오)
  • 반이중 통신(Half Duplex): 한 번에 한 방향으로만 데이터 전송 (예: 워키토키)
  • 전이중 통신(Full Duplex): 송신과 수신이 동시에 이루어짐 (예: 전화 통화)

3. 서비스 프리미티브

1) 서비스 프리미티브의 개념

  • 계층 구조 프로토콜에서 하위 계층이 상위 계층에 제공하는 서비스를 의미하며, 연결형 서비스비연결형 서비스로 나뉩니다.
    • 연결형 서비스(Connection-oriented): 데이터 전송 전 연결을 설정하고, 순서대로 데이터를 전달하며 신뢰성을 보장합니다.
    • 비연결형 서비스(Connectionless): 별도의 연결 설정 없이 각 데이터를 독립적으로 전송합니다.

2) 서비스 프리미티브의 동작 원리

  1. Request: 서비스 요청 (예: 연결 설정, 데이터 전송, 연결 해제)
  2. Indication: 상대방에게 해당 요청을 알림
  3. Response: 요청에 대한 응답 (예: 연결 승인, 데이터 수신 확인)
  4. Confirm: 응답에 대한 최종 확인

서비스 프리미티브의 동작원리


4. OSI 7계층 모델

1) OSI 모델 개요

OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7개의 계층으로 나누어 정의한 참조 모델입니다.

주요 용어 정의

  • 계층 n 프로토콜: 동일 계층 간의 통신 규칙
  • 동료 프로세스(Peer Process): 같은 계층에서 통신하는 양 단의 프로세스
  • 인터페이스: 상하위 계층 간의 접속 방법
  • 서비스: 상위 계층이 하위 계층을 사용하는 방식

헤더 정보 처리 방식

  • 송신 측: 데이터가 상위 계층 → 하위 계층으로 내려가며 헤더가 추가됨.
  • 수신 측: 데이터가 하위 계층 → 상위 계층으로 올라가며 헤더가 제거됨.

2) 계층별 기능

계층역할
1. 물리 계층(Physical) 물리적 신호 변환, 케이블 및 하드웨어 인터페이스
2. 데이터 링크 계층(Data Link) 데이터 프레임 전송, 오류 검출 및 수정
3. 네트워크 계층(Network) 경로 설정(라우팅), IP 주소 관리
4. 전송 계층(Transport) 프로세스 간 데이터 전송, 신뢰성 보장
5. 세션 계층(Session) 대화 제어, 연결 관리
6. 표현 계층(Presentation) 데이터 변환(인코딩, 암호화, 압축)
7. 응용 계층(Application) 사용자 응용 프로그램과 네트워크 연결 (예: FTP, 이메일)

5. TCP/IP 모델

1) 구현 환경

  • 시스템 공간(계층 1~4): 운영체제 커널에서 동작
    • TCP: 신뢰성 있는 연결형 서비스 제공
    • UDP: 빠른 전송이 필요한 비연결형 서비스 제공
    • IP: 패킷의 경로 설정 및 전송 기능
  • 사용자 공간(계층 5~7): 애플리케이션에서 동작
    • 소켓을 통해 TCP/UDP 기능을 사용

2) 주요 프로토콜

  • TCP/UDP: 데이터 전송을 담당하는 프로토콜
  • IP: 네트워크 계층에서 데이터 패킷 전송 담당
  • ICMP: 네트워크 오류 메시지 전송 (IP 패킷에 포함됨)
  • ARP/RARP
    • ARP(Address Resolution Protocol): IP 주소를 MAC 주소로 변환
    • RARP(Reverse ARP): MAC 주소를 IP 주소로 변환

6. 요약

  • 네트워크는 계층 구조를 기반으로 동작하며, 이는 시스템을 설계 및 유지보수하기 쉽게 만듭니다.
  • 프로토콜 설계 시 흐름 제어, 오류 제어, 주소 표현 등의 요소를 고려해야 합니다.
  • OSI 7계층 모델은 네트워크 통신을 구조적으로 이해하는 데 필수적인 개념입니다.
  • TCP/IP 모델은 실제 인터넷에서 사용되는 프로토콜 모델로, OSI 모델보다 단순한 구조를 가집니다.
  • ARP는 IP 주소 → MAC 주소 변환, RARP는 MAC 주소 → IP 주소 변환 기능을 수행합니다.
  • ICMP는 네트워크 오류 메시지를 전송하는 프로토콜로, 네트워크 진단(예: Ping) 등에 활용됩니다.

키워드

  • 인터페이스: 시스템과 전송 매체의 연결 지점에 대한 규격 (예: RS-232C, USB)
  • 프로토콜: 컴퓨터 간 정보를 주고받을 때의 통신 방법에 대한 규칙과 약속
  • 도메인 네임과 호스트 네임: 도메인은 그룹 개념이고, 호스트는 그룹에 속한 컴퓨터나 시스템을 의미함

1. 네트워크 관련 기초 용어와 네트워크 기능

1) 네트워크 관련 기초 용어

  • 네트워크: 전송 매체로 연결된 시스템의 모음
  • 시스템: 내부 규칙에 따라 능동적으로 동작하는 대상 (예: 컴퓨터, 자동차, 마이크로 프로세서, 운영체제 등)
  • 경제성: 데이터를 수집 후 가공·처리하여 정보를 생성할 때 비용 절감 가능성
  • 인터넷: 전 세계 네트워크가 유기적으로 연결된 통합 네트워크
    • 주요 프로토콜: IP(Internet Protocol)
  • 표준화: 서로 다른 시스템이 상호 연동해 동작하기 위한 통일된 연동 형식
  • 전송 매체: 시스템이 서로 데이터를 전달하기 위한 물리적인 전송 수단
  • 프로토콜: 전송 매체를 통해 데이터를 교환할 때의 통신 규칙

2) 시스템의 구분

  • 노드(Node): 인터넷에 연결된 시스템
  • 서버(Server): 서비스를 제공하는 시스템
  • 호스트(Host): 컴퓨팅 기능이 있는 시스템
  • 클라이언트(Client): 서비스를 요청하는 시스템
  •  

클라이언트와 서버

3) 네트워크의 기능

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

  • 프로토콜: 컴퓨터 간 정보 교환을 위한 통신 규칙
  • 인터페이스: 같은 호스트 내 상하위 계층 간 규칙
  • 서비스: 하위 계층이 상위 계층에 제공하는 인터페이스
  •  

프로토콜과 인터페이스

(2) 인터네트워킹

  • 네트워크 간 연결
  • 게이트웨이(Gateway): 네트워크 연결을 담당하는 시스템
    • 리피터(Repeater): 신호 증폭 (물리 계층 지원)
    • 브리지(Bridge): 네트워크 구분 및 데이터 필터링 (데이터 링크 계층 지원)
    • 라우터(Router): 네트워크 계층 지원, 데이터 패킷 전달

(3) 데이터의 단위

  • APDU: 응용 계층 데이터 단위
  • PPDU: 표현 계층 데이터 단위
  • SPDU: 세션 계층 데이터 단위
  • TPDU: 전송 계층 데이터 단위
    • 세그먼트(Segment): TCP 프로토콜에서 사용
    • 데이터그램(Datagram): UDP 프로토콜에서 사용
  • NPDU: 네트워크 계층 데이터 단위 (일반적으로 패킷)
  • DPDU: 데이터 링크 계층 데이터 단위 (일반적으로 프레임)

2. 네트워크 주소 표현

1) 주소와 이름

  • 식별자(Identifier): 시스템 간 고유한 값
    • 유일성: 각 시스템은 고유한 값 필요
    • 확장성: 확장성을 보장하여 주소 체계 유지
    • 편리성: 내부 처리 구조를 효율적으로 운영 가능
    • 정보 함축성: 응용 환경에 필요한 정보 포함 (예: 주민등록번호)
  • 주소(Address): 기계가 처리하기 쉬운 숫자로 구성된 고유 식별자
  • 이름(Name): 사람이 기억하기 쉬운 문자열 (예: 도메인 네임)

2) 네트워크 주소 체계

  • 도메인 네임과 호스트 네임
    • 도메인: 그룹 개념, 호스트: 개별 시스템
    • 호스트 네임은 이름, 도메인 네임은 성과 유사한 개념
  • IP 주소
    • IPv4: 32비트 주소 체계 (예: 127.0.0.1)
    • IPv6: 128비트 확장형 주소 체계, 기존 IPv4의 주소 부족 문제 해결
    • IPv4 주소 클래스
      • A 클래스: 8비트 네트워크 ID, 24비트 호스트 ID
      • B 클래스: 16비트 네트워크 ID, 16비트 호스트 ID
      • C 클래스: 24비트 네트워크 ID, 8비트 호스트 ID
    • Reserved IP 주소 (지정된 IP 주소)
      • 0.0.0.0: 모든 IP를 의미
      • 127.0.0.1: 루프백 주소 (자기 자신을 의미)
  •  

호스트 이름과 IP주소의 변환

3) 주소 정보 관리

  • FQDN(Fully Qualified Domain Name): 호스트 이름과 도메인 이름을 함께 표기 (예: www.google.com)
  • 호스트 파일: 초기에는 고정된 파일을 통해 이름-주소 매핑 (예: /etc/hosts)
  • DNS(Domain Name System): 도메인 네임을 IP 주소로 변환하는 시스템

4) 기타 주소

  • MAC 주소: 네트워크 인터페이스 카드(NIC)에 내장된 고유 주소
    • IP 주소를 MAC 주소로 변환하는 ARP(Address Resolution Protocol) 사용
  • 포트 주소: 호스트 내 특정 프로세스를 식별하는 번호 (예: HTTP는 80번 포트)
  • 메일 주소: 이메일 시스템에서 사용자 식별 (예: example@domain.com)

요약

  • 네트워크는 전송 매체로 연결된 시스템의 모음
  • 프로토콜은 컴퓨터 간 통신을 위한 규칙과 약속
  • 인터넷은 전 세계 네트워크가 연결된 통합 네트워크
  • IP 주소는 네트워크에서 시스템을 식별하는 주소 체계 (IPv4, IPv6)
  • MAC 주소는 물리적 장치의 고유 주소
  • 포트 주소는 특정 서비스(프로세스)를 식별하기 위한 번호
  • DNS는 도메인 네임을 IP 주소로 변환하는 시스템

 

1. OSI 참조 모델

1) OSI 7계층 모델의 개념

OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7개의 계층으로 나누어 설계된 개념적인 모델이다. 각 계층은 특정한 역할을 수행하며, 계층 간에는 정해진 인터페이스를 통해 데이터를 주고받는다.

(1) 주요 용어 정의

  • 계층 n 프로토콜: 같은 계층(n계층)에 있는 장치들끼리 데이터를 주고받을 때 사용하는 통신 규칙.
  • 동료 프로세스(Peer Process): 네트워크 양단에서 동일 계층에서 실행되는 프로세스.
  • 인터페이스(Interface): 상위 계층과 하위 계층 간의 연결 방식.
  • 서비스(Service): 하위 계층이 상위 계층에 제공하는 기능.

(2) 데이터 흐름과 헤더 정보

  • 송신 측: 데이터를 전송할 때, 각 계층에서 헤더(Header)를 추가하여 하위 계층으로 전달.
  • 수신 측: 데이터를 받을 때, 각 계층에서 헤더를 제거하면서 상위 계층으로 전달.
  • 이를 캡슐화(Encapsulation) 및 역캡슐화(Decapsulation) 과정이라고 한다.
  •  

OSI 7계층 모델의 동작

(3) OSI 7계층의 중개 기능

OSI 모델에서는 네트워크 경로를 설정하고 데이터를 전달하는 기능이 포함된다.

  • 라우팅(Routing): 네트워크 계층에서 최적의 데이터 경로를 결정하는 기능.
  • 데이터 전송 및 오류 제어: 데이터 링크 계층에서 오류 검출 및 수정 기능을 수행.
  •  

중개 기능


2) OSI 7계층별 기능

각 계층은 특정한 역할을 담당하며, 계층 간 협력을 통해 안정적인 네트워크 통신이 가능하다.

계층 번호 계층 이름 주요 기능

7 응용 계층(Application) 최종 사용자와 직접 상호작용 (HTTP, FTP, SMTP)
6 표현 계층(Presentation) 데이터 변환, 암호화, 압축 (JPEG, ASCII, SSL)
5 세션 계층(Session) 연결 설정 및 유지 (RPC, NetBIOS)
4 전송 계층(Transport) 신뢰성 있는 데이터 전송 (TCP, UDP)
3 네트워크 계층(Network) IP 주소 지정 및 경로 설정 (IP, ICMP, ARP)
2 데이터 링크 계층(Data Link) 프레임 전송 및 오류 제어 (MAC, Ethernet)
1 물리 계층(Physical) 실제 신호 전송 (UTP, 광케이블)

OSI 모델은 시스템 공간(1~4계층)과 사용자 공간(5~7계층) 으로 나뉘며, 하위 계층이 상위 계층에 서비스를 제공하는 구조로 동작한다.


2. TCP/IP 모델

TCP/IP 모델은 실제 인터넷에서 사용되는 실용적인 네트워크 모델로, OSI 모델보다 간결하게 4계층으로 구성된다.

1) TCP/IP 계층 구조

OSI 모델과 달리 TCP/IP 모델은 계층을 합쳐 4개의 계층으로 구성된다.

TCP/IP 계층 OSI 계층 대응 주요 프로토콜

응용 계층 (Application) 응용, 표현, 세션 계층 (7~5) HTTP, FTP, SMTP, DNS
전송 계층 (Transport) 전송 계층 (4) TCP(연결형), UDP(비연결형)
인터넷 계층 (Internet) 네트워크 계층 (3) IP, ICMP, ARP
네트워크 액세스 계층 (Network Access) 데이터 링크, 물리 계층 (2~1) 이더넷, Wi-Fi

TCP/IP 구현 환경

2) TCP와 UDP의 차이

  • TCP(Transmission Control Protocol)
    • 연결형 서비스 제공 (3-way handshake를 통한 연결 설정).
    • 데이터의 신뢰성 보장 (패킷 손실 시 재전송).
    • 웹 브라우징, 이메일, 파일 전송 등 신뢰성이 중요한 서비스에 사용됨.
  • UDP(User Datagram Protocol)
    • 비연결형 서비스 제공 (별도의 연결 설정 과정 없음).
    • 빠른 전송이 가능하지만 데이터 손실 발생 가능.
    • 실시간 스트리밍, 온라인 게임, VoIP 등 지연 시간이 중요한 서비스에 사용됨.
  •  

TCP/IP 계층 구조

3) TCP/IP 모델의 주요 프로토콜

(1) ARP(Address Resolution Protocol)와 RARP(Reverse ARP)

  • ARP: 네트워크에서 IP 주소를 물리 주소(MAC 주소)로 변환하는 프로토콜.
    • 예: 호스트가 특정 IP 주소로 패킷을 전송하려면 해당 IP에 해당하는 MAC 주소를 알아야 함.
    • 이를 위해 ARP 요청을 보내고, 해당 호스트가 응답하면 MAC 주소를 획득.
  • RARP: ARP와 반대로 물리 주소(MAC 주소)를 IP 주소로 변환하는 프로토콜.
    • IP 주소가 없는 장치(예: 디스크 없는 워크스테이션)가 부팅 시 IP를 할당받을 때 사용됨.

(2) ICMP(Internet Control Message Protocol)

  • 네트워크에서 오류 메시지를 전달하는 프로토콜.
  • 주로 핑(Ping) 명령에 사용되며, 패킷이 정상적으로 전송되지 않았을 경우 오류 정보를 제공.
  • 주요 기능:
    • Echo Request / Reply: 연결 확인 (Ping 테스트).
    • Destination Unreachable: 목적지 도달 불가.
    • Time Exceeded: TTL(Time to Live) 초과로 패킷 폐기.
    • Redirect: 더 나은 경로로 변경 요청.

3. OSI 모델 vs TCP/IP 모델 비교

비교 항목 OSI 모델 TCP/IP 모델

계층 수 7계층 4계층
개념적 모델 이론적인 참조 모델 실질적인 구현 모델
설계 기반 독립적인 계층 설계 인터넷 프로토콜 기반
사용 프로토콜 다양한 프로토콜 포함 TCP, UDP, IP 등 인터넷 표준 프로토콜 중심
활용 네트워크 개념 학습 및 연구 목적 실제 인터넷 및 네트워크 구현

4. 정리 및 요약

  • OSI 7계층 모델은 네트워크 통신을 7개의 계층으로 나누어 각각의 역할을 수행하며, 시스템 공간(계층 1~4)과 사용자 공간(계층 5~7) 으로 구성된다.
  • TCP/IP 모델은 실제 인터넷에서 사용되는 네트워크 모델로, 4계층 구조를 가진다.
  • ARP와 RARP는 IP와 MAC 주소 변환에 사용되며, ICMP는 네트워크 오류 메시지를 전달하는 역할을 한다.

1. 인터네트워킹

1.1 네트워크 연결 장비

  • 게이트웨이(Gateway): 서로 다른 네트워크 간 데이터 변환 및 통신을 지원
  • 리피터(Repeater): 물리 계층에서 신호를 증폭하여 전송 거리 연장
  • 브리지(Bridge): 데이터 링크 계층에서 네트워크를 연결하고 트래픽을 관리
  • 라우터(Router): 네트워크 계층에서 최적의 경로를 선택하여 데이터 패킷 전송

2. 프로토콜 및 데이터 단위

2.1 데이터 단위

  • APDU (Application Protocol Data Unit): 응용 계층 데이터 단위
  • PPDU (Presentation Protocol Data Unit): 표현 계층 데이터 단위
  • SPDU (Session Protocol Data Unit): 세션 계층 데이터 단위
  • TPDU (Transport Protocol Data Unit): 전송 계층 데이터 단위
    • 세그먼트(Segment): TCP에서 사용
    • 데이터그램(Datagram): UDP에서 사용
  • NPDU (Network Protocol Data Unit): 네트워크 계층 데이터 단위 (패킷)
  • DPDU (Data Link Protocol Data Unit): 데이터 링크 계층 데이터 단위 (프레임)

3. 네트워크 주소 체계

3.1 IP 주소

  • IPv4: 32비트 주소 체계 사용
  • IPv6: 128비트 주소 체계 사용 (IPv4 확장 버전)

3.2 호스트 이름과 주소 변환

  • DNS(Domain Name System): 호스트 이름과 IP 주소 간 변환 수행
  • 호스트 이름 구조: <호스트>.<단체이름>.<단체종류>.<국가도메인> 형식

3.3 주소 정보 관리

  • 호스트 파일(Hosts File): 호스트 이름과 IP 주소 매핑 정보를 저장하는 텍스트 파일

4. 요약

  • 게이트웨이는 네트워크 간 통신을 연결하고, 리피터는 신호 증폭, 브리지는 네트워크 세그먼트 연결, 라우터는 데이터 패킷을 최적의 경로로 전달함.
  • 데이터 단위는 계층별로 다르며, TCP는 세그먼트, UDP는 데이터그램, 네트워크 계층은 패킷, 데이터 링크 계층은 프레임을 사용함.
  • IPv4는 32비트, IPv6는 128비트 주소 체계를 사용하며, DNS를 통해 호스트 이름과 IP 주소 변환이 이루어짐.

+ Recent posts