네트워크 공부한 내용 정리 2

📅 TIL #137




🎯 Achievement Goals

  1. 계층 구조의 개념: 계층적 모듈 구조







계층적 모듈 구조


모듈화

  • 크고 복잡한 시스템을 기능별로 여러 개의 작고 단순한 모듈로 독립화
  • 모듈 사이의 적절한 인터페이스가 필요

계층 구조

  • 상위 모듈이 하위 모듈에게 서비스 요청
  • 하위 모듈은 서비스를 실행하고 그 결과를 상위 모듈에 통보

계충 구조의 장점

  • 전체 시스템을 이해하기 쉽고, 설계 및 구현이 용이
  • 모듈간의 표준 인터페이스가 단순하면 모듈의 독립성을 향상시킬 수 있으며, 이는 시스템 구조를 단순화시키는 장점이 된다.
  • 대칭 구조에서는 동일 계층 사이의 인터페이스인 프로토콜을 단순화 시킬 수 있다.
  • 특정 모듈의 외부 인터페이스가 변하지 않으면 내부 기능의 변화가 전체 시스템의 동작에 영향을 미치지 않는다.

프로토콜 설계 시 고려 사항

주소 표현, 오류 제어, 흐름 제어, 데이터 전달 방식

주소 표현

  • 주소의 역할: 서로를 구분
  • 주소의 활용도를 높이기 위하여 구조적 정보를 포함 ex) 국가 코드, 지역코드, 주민번호
  • 1:N 통신을 지원 ex) 브로드캐스팅(모든 호스트에게 데이터 전달), 멀티캐스팅(특정 호스트에게)

오류 제어

  • 데이터 변형 오류: 데이터가 깨져서 수신자에게 도착
  • 데이터 분실 오류: 데이터가 수신자에게 도착하지 못함
  • 오류 제어는 데이터 링크 계층의 주요 기능으로 재전송 방식을 사용함

흐름 제어

  • 수신자의 처리 능력에 비해 너무 빨리 데이터를 전송하지 못하도록 제어
  • 수신 버퍼가 부족하면 수신자는 데이터를 분실 처리함

데이터 전달 방식

  • 단방향: 데이터를 한쪽 방향으로만 전송
  • 전이중: 데이터를 양쪽에서 동시에 전송
  • 반이중: 양방향으로 전송할 수 있지만, 특정 시점에서는 한쪽 방향으로만 전송

서비스 프리미티브

프리미티브의 종류와 기능

  • 연결형 서비스: 데이터 전송 전에 미리 연결을 설정하는 방식
  • 비연결형 서비스: DATA
  • 서비스 프리미티브의 기능

프리미티브의 동작 원리

각 단계 구조 예시: CONNECT.Requst - DATA.Request - DISCONNECT.Request

CONNECT.Request ⇒ CONNECT.Indication ⇒ CONNECT.Response ⇒ CONNECT.Confirm

OSI 7 계층 모델

용어 정의

  • 계층 n 프로토콜: 계층 n 모듈끼리 사용하는 통신 규칙
  • 동료 프로세스: 동일 계층에 위치한 통신 양단 프로세스
  • 인터페이스: 상하위 계층 사이의 접속 방법
  • 서비스: 상위 계층이 하위 계층을 사용하는 방법

중개 기능은 네트워크 계층까지 있다. (Low Level)

계층별 기능

물리 계층

  • 데이터 전송 속도, 클록 동기화 방법, 물리적 연결 형태 등

데이터 링크 계층

  • 물리 계층의 물리적 전송 오류 문제를 해결
  • 프레임: 전송 데이터의 명칭

네트워크 계층

  • 데이터의 전송 경로를 결정
  • 호스트 구분을 위한 주소 개념 필요 (예: IP 주소)
  • 패킷: 전송 데이터의 명칭
  • 혼잡 제어: 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미침