1. 클라이언트(Client) - 서버 아키텍쳐(Server Architecture)
- 클라이언트 : 리소스를 사용하는 주체를 의미한다
- 서버 : 리소스를 전달해 주는 역활을 한다
- 데이터베이스 : 리소스를 저장하는 공간이다
※ 아키텍쳐(Architecture) : 컴퓨터 시스템의 구성을 의미한다
1) 2-Tier 아키텍쳐
- 클라이언트와 서버를 분리하여 리소스를 사용하는 방법이다
- 클라이언트가 요청 후 서버가 리소스를 제공한다
2) 3-Tier 아키텍쳐
- 클라이언트 - 서버 - 데이터베이스 로 분리하여 리소스를 운영하는 방법이다
※ 클라이언트 영역의 개발을 프론트엔드라고 한다
※ 서버와 데이터베이스 영역의 개발을 백엔드라고 한다
※ 데이터 동기화와 같은 서버와 서버 간의 통신을 inter-server commucation 이라고 한다
2. 클라이언트 - 서버 통신
1) 프로토콜(Protocol)
- 통신 시스템이 데이터를 교환하기 위해 사용하는 컴퓨터 간 통신의 규약이다
- 클라이언트와 서버는 HTTP라는 프로토콜을 이용하여 정보를 주고 받는다
- 호스트의 계층 사이에는 인터페이스(Interface)라는 규칙이 존재한다
- 하위 계층이 상위 계층에 제공하는 인터페이스를 서비스(Service)라고 한다
더보기
■ OSI 7 Layer
- 특징이 다른 여러 호스트를 서로 연결하여 통신하기 위하여 표준화한 연결 방식
- 국제 표준화 단체(ISO, International Standard Organization)에서 제안
- 네트워크에 연결된 호스트가 갖추어야 할 기능을 7개 계층으로 상세히 정의
- 각 계층은 고유의 기능을 수행하며, 하위의 계층은 바로 위의 계층에 서비스를 제공한다
- 특징이 다른 여러 호스트를 서로 연결하여 통신하기 위하여 표준화한 연결 방식
- 국제 표준화 단체(ISO, International Standard Organization)에서 제안
- 네트워크에 연결된 호스트가 갖추어야 할 기능을 7개 계층으로 상세히 정의
- 각 계층은 고유의 기능을 수행하며, 하위의 계층은 바로 위의 계층에 서비스를 제공한다
- 호스트의 계층 사이에는 인터페이스(Interface)라는 규칙이 존재한다
- 하위 계층이 상위 계층에 제공하는 인터페이스를 서비스(Service)라고 한다
더보기▶ OSI 7 Layer 계층별 기능
- 응용 계층(Application Layer)
▷ 사용자의 다양한 네트워크 응용 환경을 지원한다
▷ 한정된 범위가 아닌 광범위 환경을 지원한다
- 표현 계층(Presentation Layer)
▷ 전송되는 데이터의 의미(Semantic)를 올바르게 표현하는 방법(Sintax)을 제공한다
▷ 정보를 교환하는 시스템이 표준화된 방법으로 데이터를 인식할 수 있도록 한다
▷ 주요 기능은 압축(Compression)과 암호화(Encrypt)가 있다
→ 압축은 데이터의 양을 줄여 준다
→ 암호화는 외부의 침입에서 데이터를 보호한다
- 세션 계층(Session Layer0
▷ 전송계층과 유사하지만 더 상위의 논리적 연결이다
▷ 응용 환경에서의 사용자 간의 대화(Dialog) 개념의 연결로 사용된다
- 전송 계층(Transport Layer)
▷ 송신 프로세스와 수신 프로세스 간의 연결(Connection) 기능을 제공한다
▷ 프로세스 간의 안전한 데이터 전송을 지원한다
▷ 4 Layer까지의 기능은 운영체제에서 시스템 콜(Syatem Call) 형태로 상위 계층에 제공한다
▷ 5~7 Layer의 기능은 사용자 프로그램으로 작성되어 상위 계층에 제공한다
※ 프로세스(Processs)
→ 일이 처리되는 과정이나 공정
→ 주어진 일을 해결하기 위한 목적으로 수행되는 순서가 정해져 있는 절차
→ 컴퓨터에서 실행 중인 프로그램
- 네트워크 계층(Network Layer)
▷ 송신 데이터가 수신 호스트까지 도착하는 과정에 올바른 경로를 선택하도록 지원한다
▷ 일반적으로 라우터(Router)가 수행한다
▷ 네트워크 부하가 증가하여 특정 지역에 혼잡(Congestion)이 발생할 경우에도 지원한다
- 데이터링크 계층(Data Link Layer)
▷ 물리 계층으로 데이터를 전송하는 과정에서 잡음과 같은 외부 요인에 의해 오류가 발생할 수 있다
▷ 물리적 전송 오류를 감지하는 기능을 제공하여 송수신 호스트가 오류를 인지할 수 있게 한다
▷ 컴퓨터 네트워크에서 오류가 발생할 경우 원 데이터를 재전송(Retransmission)하는 방법으로 오류 제어(Error Control)를 한다
※ 물리적 오류 종류
→ 데이터가 도착하지 못하는 데이터 분실의 물리적 오류
→ 데이터 내용이 깨져서 도착하는 데이터 분실의 물리적 오류
- 물리 계층 (Physical Layer)
▷ 네트워크에서 호스트가 데이터를 정송하기 위해서는 반드시 전송 매체로 연결되어 있어야 한다
▷ 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 제공한다
2) API(Application Programming Interface)
- 클라이언트가 데이터에 편리하게 접근수 있도록 서버에서 정의한 규칙이다
- 클라이언트 - 서버 - 데이터베이스를 연결해 주는 역활을 한다
- 프로그램 내에서 실행을 위하여 특정 서브루틴에 연결을 제공하는 함수를 호출한다
- 한 개의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위하여 연결되어야 하는 프로그램 모듈을 가지고 있다
'Network' 카테고리의 다른 글
네트워크 - REST API (0) | 2022.08.16 |
---|---|
네트워크 - HTTP (0) | 2022.06.08 |
네트워크 - 브라우져(Browser) (0) | 2022.06.08 |