728x90
반응형

네트워크나 네트워크 간 연결의 목적은 사용자에게 서비스를 제공하는 것

 

Q1. 각 응용 프로그램들이 서비스 요청과 서비스 제공의 두 기능을 모두 할 수 있어야 하는가 아니면 둘 중에 하나만 가능해야 하는가?

A1. 클라이언트(client)라는 응용 프로그램을 로컬 측에서 동작시켜 원격 응용 프로그램에다 서비스 요청을 하고,
서버(server)라는 응용 프로그램을 원격에서 동작시켜 요청을 수신한 뒤 서비스를 제공하도록 하는 것

응용 프로그램은 요청자(클라이언트) 또는 제공자(서버)가 됨

 

Q2. 서버는 특정 클라이언트에만 서비스를 제공해야 하는가, 어떤 클라이언트에도 서비스를 제공해야 하는가

A2. 특정 클라이언트가 아니라 어떤 클라이언트에게도 서비스를 제공해야 함, 서버 클라이언트 관계는 일-대-다

 

클라이언트는 순차적이거나 동시적으로 수행될 수 있다.
오늘날 대부분의 컴퓨터는 동시에 수행될 수 있는 두 개 이상의 동시 클라이언트를 허용한다.

 

비연결형 순차 서버 UDP: 서버가 한 번에 하나의 요청만 처리함

연결 중심 동시 서버 TCP(or SCTP): 요청이 몇 개의 세그먼트로 도착하는 바이트 스트림, 응답도 몇 개의 세그먼트를 차지함

 

소켓 인터페이스

클라이언트 프로세스가 어떻게 서버 프로세스와 통신할 수 있을까?

컴퓨터 프로그램은 컴퓨터가 해야 할 일을 지정하는 미리 정의된 명령들의 집합이다.

컴퓨터 프로그램은 수학적인 동작을 위한 명령 집합, 문자열 처리를 위한 명령 집합, 입출력 접속을 위한 명령 집합을 가짐

다른 기계에서 수행되는 다른 프로그램과 통신할 수 있는 프로그램을 필요로 한다면,

전송 계층에게 연결을 설정하고, 다른 기계로 데이터를 송수신하고, 연결을 종료하는 명령들의 새로운 집합이 필요하다.

이러한 종류의 명령들을 보통 인터페이스라고 부른다.

- 인터페이스: 두 개체 사이의 상호작용을 위해 설계된 명령들의 집합

 

통신을 위해 설계된 여러 인터페이스 중 공통: 소켓 인터페이스(socket interface), 전송 계층 인터페이스(TLI: Transport Layer Interface), 스트림(STREAM)

 

peer-to-peer(P2P): 여러 클라이언트가 각각 연결을 만들고 대용량 파일을 내려받는 대신, 서버가 각 클라이언트로 하여금 파일의 일부를 내려 받고 이를 서로 공유하도록 하는 것

서버 장치에 많은 부하를 야기하는 파일 전송과 같은 영역에서 유용함

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90

+ Recent posts