네트워크 애플리케이션 개발의 중심은 다른 종단 시스템에서 동작하고 네트워크를 통해 서로 통신하는 프로그램을 작성하는 것이다.
항상 켜져있는 호스트를 서버라고 하는데, 이 서비스는 클라이언트라는 다른 많은 호스트의 요청을 받는다. 클라이언트 호스트에서 실행되는 브라우저가 항상 켜진 웹 서버로 서비스를 요청하는 웹 애플리케이션이다.
클라이언트-서버 구조는 서버가 고정 IP주소(집주소라고 생각하면 됨)라는 잘 알려진 주소를 갖는다.
p2p구조는 서버가 없고 우리집 컴퓨터가 다른집 컴퓨터에게 요청한다고 생각하면되고, 토렌트, 블록체인이 그 예시이다. 업로드 속도가 느려서 ISP에 우호적이지 않다.