1. 계층 구조의 개념

1.1 계층적 모듈 구조

1) 모듈화의 개념

  • 복잡한 시스템을 기능별로 모듈화하면 구조가 단순해짐
  • 프로그래밍 언어에서는 함수 개념을 사용해 전체 프로그램을 모듈화함

2) 계층 구조의 장점

  • 시스템을 이해하고 설계, 구현하기 쉬움
  • 모듈 간 표준 인터페이스가 단순하면 독립성이 향상됨
  • 동일 계층 간 인터페이스(프로토콜)를 단순화할 수 있음
  • 특정 모듈의 외부 인터페이스가 변하지 않으면 내부 기능 변화가 전체 시스템에 영향을 미치지 않음

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

2.1 주요 요소

  • 주소 표현: 데이터를 올바른 목적지로 전달하는 방식
  • 오류 제어: 데이터 변형 오류와 데이터 분실 오류를 감지하고 복구하는 기능
  • 흐름 제어: 송신 호스트가 과도한 속도로 데이터를 전송하지 않도록 조절하는 기능
  • 데이터 전달 방식: 단방향, 전이중, 반이중

3. 서비스 프리미티브

3.1 개념

서비스 프리미티브(Service Primitives)는 계층 구조 프로토콜에서 하위 계층이 상위 계층에 제공하는 서비스의 인터페이스를 의미함. 네트워크에서는 특정 계층이 다른 계층과 상호작용할 때 표준화된 명령어를 사용하여 데이터를 요청하고 응답함.

3.2 서비스 유형

  • 연결형 서비스: 데이터 전송 전에 연결을 설정하고, 전송이 끝나면 연결을 해제하는 방식
    • 예: TCP (Transmission Control Protocol)
    • 연결 설정 → 데이터 전송 → 연결 해제의 3단계 과정
  • 비연결형 서비스: 데이터가 독립적으로 목적지로 전송되는 방식
    • 예: UDP (User Datagram Protocol)
    • 각 데이터 패킷이 개별적으로 처리됨

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

서비스 프리미티브는 네트워크 계층 간 데이터 전송을 제어하는 4가지 주요 명령어로 이루어짐.

  1. Request (요청): 상위 계층이 하위 계층에 특정 서비스를 요청함
    • 예: CONNECT.Request (연결 설정 요청), DATA.Request (데이터 전송 요청)
  2. Indication (알림): 하위 계층이 요청을 수락했음을 상위 계층에 알림
    • 예: CONNECT.Indication, DATA.Indication
  3. Response (응답): 요청을 받은 대상이 응답을 보냄
    • 예: CONNECT.Response, DATA.Response
  4. Confirm (확인): 응답을 받은 송신 측에서 최종 확인을 수행
    • 예: CONNECT.Confirm, DATA.Confirm

4. 요약

  • 네트워크는 계층 구조를 통해 모듈화되어 동작하며, 각 계층은 독립적인 기능을 수행함.
  • 서비스 프리미티브는 네트워크 계층 간 데이터를 주고받기 위한 표준 명령어 세트로, Request, Indication, Response, Confirm의 과정을 거침.
  • 연결형 서비스는 TCP처럼 데이터 전송 전에 연결을 설정하고, 비연결형 서비스는 UDP처럼 개별 데이터 패킷을 독립적으로 전송함.

+ Recent posts