가자미의 개발이야기
[네트워크] 어플리케이션 본문
a. 네트워킹 어플리케이션 제작
서로 다른 엔드시스템에서 네트워크를 통해 소통하며 작동한다.
일반적으로 네트워크에 대해 몰라도 어플리케이션 제작 가능
b. 클라이언트-서버 구조
서버 : 항상 연결, 영구적 IP주소, 더 많은 양을 처리하기 위해선 데이터 센터 구비
클라이언트 : 간헐적으로 연결, 다이나믹 IP주소 사용(위치에 따라 변경), 직접 통신하진 않음. 통신의 시작
c. P2P(peer to peer) 구조
항상 연결된 서버가 없는 구조.
엔드시스템끼리 직접 통신 가능
자가확장성(self-scalability) : 더 많은 peer가 참여하면 처리 능력도 높아진다.
peer들이 연결됐다가 해제됐다가 빈번. 관리 어렵고 IP주소가 자주 바뀜
d. 프로세스
어플리케이션 프로그램이 호스트에서 실행되는 것을 프로세스라 함.
동일한 호스트 내에서 두 프로세스가 소통할 때 : inter-process communication
다른 호스트끼리 프로세스들이 소통할 때 : exchanging messages
e. 소켓
소켓은 쉽게 API로 이해하자.
소켓은 어플리케이션 하위 계층(네트워크 링크...)를 몰라도 호스트끼리 연결될 수 있게 돕는다.
메세지만 내가 작성하고 나머지 연결하는 일은 소켓이 한다.
f. 포트넘버
IP는 호스트의 위치를 나타내는 주소라고 했다.
그런데 호스트에도 다양한 프로세스가 존재하는데
내가 받은 메시지가 어떤 프로세스에 줘야하는 지는 포트넘버를 통해 이뤄진다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] DNS (0) | 2021.03.25 |
---|---|
[네트워크] 쿠키, 캐쉬, 이메일 (0) | 2021.03.16 |
[네트워크] 어플리케이션 프로토콜 (0) | 2021.03.16 |
[네트워크] 프로토콜 (0) | 2021.03.09 |
[네트워크] 1. 네트워크 구조와 인터넷 (0) | 2021.03.02 |