일반적으로 복잡하고 큰 시스템의 기능은 특정 단위의 모듈로 나누어 설계한다.
모듈화
장점 : 컴퓨터에 하드디스크가 고장났다고 새로 사지는 않는다
장점
1. 복잡하고 큰 시스템을 기능별로 작게 구분함으로써, 전체 시스템을 이해하기 쉽고, 시스템을 설계 및 구현하기에도 용이하다.
2. 모듈간의 표준 인터페이스가 단순하면 모듈의 독립성을 향상시킬 수 있으며, 시스템 구조를 단순화 시킬 수 있다.
3. 대칭 구조에서는 동일 계층 사이의 프로토콜을 단순화 시킬 수 있음
4. 특정 모듈의 외부 인터페이스가 변하지 않으면, 내부 기능의 변화가 전체 시스템의 동작에 영향을 미치지 않음
호스트를 유일하게 구분하는 용도로 사용
주소 표현
: 여러 호스트가 연결된 환경에서 특정 호스트끼리 통신하려면,
: 상대방을 구분할 수 있는 방법이 필요하며, 이를 구분하기 위해 이름을 부여하는 것을 주소 체계라고 한다.
주소의 활용도를 높이기 위해서 구조적 정보를 포함
: 전화번호 – 국가코드(82) – 지역번호(042) – 번호
: 주민등록번호 – 생년월일 및 성별
1:다 통신을 지원하기 위한 주소도 존재한다.
: 네트워크 전체 호스트에 전달하는 브로드캐스팅 (재난안전문자)
: 특정 사용자를 그룹으로 묶어서 전달하는 멀티캐스팅 (온라인강의)
전송 과정에서 데이터 분실, 변형 등의 오류에 대한 데이터
복구
수신자가 빠르게 도착하는 데이터를 처리하지 못하는 문제
를 해결
: 프로토콜은 계층 구조로 이루어져 있고, 하위 계층이 상위 계층에 서비스를 제공하는 방식으로 동작하며, 프리미티브 형태로 구현된다.
: 계층 구조 프로토콜에서 하위 계층이 상위 계층에 서비스를 제공하는 서비스의 종류에는 연결형과 비연결형이 있다
연결형 서비스
연결 설정 단계 / 데이터 전송 단계 / 연결 해제 단계 의 3단계로 서비스를 제공한다.
ex) 전화통화 서비스
비연결형 서비스
연결 설정 및 해제 단계없이 데이터를 전송한다. 전송할 데이터가 있으면 바로 목적지 호스트로 전송한다.
ex) 문자메시지 서비스
프리미티브는 하위 계층을 사용하는 방법을 정형화 한 것
: 클라이언트에서 서버로 전달되는 요청은 Request와 Indication이 되고,
: 서버에서 클라이언트로 전달되는 응답은 Response와 Confirm이 된다
컴퓨터 네트워크에서는 계층 구조로 모듈화된 프로토콜 스택을 사용하며, ISO가 확립한 OSI 7 계층 모델은 개방된 데이터 통신 환경에 적합한 계층 구현모델의 표준이다.
: 연결된 두 호스트는 각각 7개의 계층으로 구성된 모듈을 따라 데이터 송수신이 가능하다.
: 데이터가 하위 계층으로 내려갈 때는 각 계층의 프로토콜에서 정의한 헤더 정보가 추가되며, 데이터가 상위 계층으로 올라갈 때는 순차적으로 헤더 정보를 제거하고 해석한다.
용어 정리
– 계층 n프로토콜 : 계층 n 모듈끼리 사용하는 통신 규칙
– 동료 프로세스 : 동일 계층에 위치한 통신 양단 프로세스
– 인터페이스 : 상/하위 계층 사이의 접속 방법
– 서비스 : 상위 계층이 하위 계층을 사용하는 방법
중개 기능
계층별 기능
시스템 공간 (1~4 계층)
사용자 공간 (5~7 계층)
프로토콜 : TCP, UDP, IP 프로토콜을 이용하지만, 이들의 동작을 도와주기 위한 프로토콜이 추가적으로 필요하다.