🎯 Achievement Goals
- 계층 구조의 개념: 계층적 모듈 구조
계층적 모듈 구조
모듈화
- 크고 복잡한 시스템을 기능별로 여러 개의 작고 단순한 모듈로 독립화
- 모듈 사이의 적절한 인터페이스가 필요
계층 구조
- 상위 모듈이 하위 모듈에게 서비스 요청
- 하위 모듈은 서비스를 실행하고 그 결과를 상위 모듈에 통보
계충 구조의 장점
- 전체 시스템을 이해하기 쉽고, 설계 및 구현이 용이
- 모듈간의 표준 인터페이스가 단순하면 모듈의 독립성을 향상시킬 수 있으며, 이는 시스템 구조를 단순화시키는 장점이 된다.
- 대칭 구조에서는 동일 계층 사이의 인터페이스인 프로토콜을 단순화 시킬 수 있다.
- 특정 모듈의 외부 인터페이스가 변하지 않으면 내부 기능의 변화가 전체 시스템의 동작에 영향을 미치지 않는다.
프로토콜 설계 시 고려 사항
주소 표현, 오류 제어, 흐름 제어, 데이터 전달 방식
주소 표현
- 주소의 역할: 서로를 구분
- 주소의 활용도를 높이기 위하여 구조적 정보를 포함 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 주소)
- 패킷: 전송 데이터의 명칭
- 혼잡 제어: 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미침