Client Server Architecture 소개
클라이언트 서버 아키텍처란 다음과 같이 리소스를 사용하는 앱(클라이언트)와 리소스가 존재하는 곳(서버)를 분리시키는 모델을 의미하며, 2-tier 아키텍처라고도 부른다. 이때, 클라이언트는 웹/앱을 이용하는 사용자를 뜻하며, 클라이언트는 네이버나 구글과 같은 웹 브라우저를 통해서 서버에 원하는 데이터를 요청한다. 이렇듯 브라우저는 클라이언트가 이용하는 도구로써 사용자와 상호작용을 하게 된다. 그리고 서버는 클라이언트의 요청을 처리해서 응답한다.
아래 그림을 쇼핑몰이라고 하면 클라이언트는 쇼핑몰 웹사이트를 통해서 결제, 상품 조회 기능 등을 사용할 수 있고, 클라이언트가 특정 의류 상품을 클릭하면 서버에서는 의류의 상품 정보를 보내준다.
3-tier Architecture
서버 뒤쪽에 데이터베이스라고 하는 리소스를 저장하는 공간을 따로 두는 것을 3-tier Architecture라고 한다. 그래서 서버는 리소스를 전달해주는 역할만 하고, 실제 리소스는 리소스가 저장되어있는 데이터베이스에서 꺼내온다.
Inside the computer
아래는 컴퓨터의 마더보드를 단순하고, 직관적으로 나타낸 다이어그램이다.
여기서 I/O 버스와 연결된 확장 슬롯 중에 특정 슬롯은 네트워크 어댑터와 연결되어 있고, 네트워크 어댑터는 외부의 네트워크 통신 장치(LAN 선, 와이파이 등)과 연결되어 있다. 그렇게 네트워크에서 넘어온 정보가 어댑터를 거쳐서 I/O 버스로 들어온다. 그러면 I/O 버스에서 I/O 브릿지를 거쳐서 메모리 버스를 통해 메인 메모리에 적재된다. 이렇게 메인 메모리에 적재된 데이터는 메모리 버스와 시스템 버스를 통해서 CPU와 소통한다.
그리고 정확히 이 반대의 절차를 거쳐서 CPU에서 메인 메모리의 정보를 외부 네트워크로 보낼 수 있다. 또한 마찬가지 방식으로 외부의 보조저장장치, 그래픽 장치, USB 장치 등과 소통할 수 있다.
정리하면, 컴퓨터가 디스크와 소통하는 절차와 동일하게 네트워크와도 소통한다는 점을 기억하자.
인용
https://velog.io/@bining/%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EC%99%80-%EC%84%9C%EB%B2%84
'컴퓨터 사이언스 > Network' 카테고리의 다른 글
소켓 인터페이스를 위해 도움을 주는 함수들 (0) | 2023.11.19 |
---|---|
소켓 인터페이스 (0) | 2023.11.18 |
스위칭 허브와 공유기의 차이 + ipTIME 사용 팁 (0) | 2023.11.17 |
Hub, Switch, Router의 차이 (0) | 2023.11.17 |
Bridge, Switch (0) | 2023.11.17 |