컴퓨터공학/컴퓨터망

[컴퓨터망] Application Layer

NIMHO 2022. 7. 9. 21:32
728x90

복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.

Client-server Paradigm

  • 네트워크 또는 internetwork의 목적은 사용자에게 서비스를 제공하는 것이다.
  • 로컬 사이트의 사용자는 원격 사이트의 컴퓨터에서 서비스를 받기를 원한다.
  • 이 목적을 달성하기 위해서 두 개의 프로그램을 실행한다.
    • 로컬 컴퓨터는 원격 컴퓨터에서 서비스를 요청하기 위해 프로그램을 실행한다.
    • 원격 컴퓨터는 요청한 프로그램에 서비스를 제공하기 위해 프로그램을 실행한다.
  • 이것은 인터넷으로 연결된 두 대의 컴퓨터가 각각 서비스를 제공하기 위해 그리고 서비스를 요청하기 위해 각각 프로그램을 실행해야 한다는 것을 의미한다.

 

Server types

Server types

iterative : 같은 것 여러 번 실행하는 것
concurrent : 동시에 여러 번 (ex. 17대 1로 싸우기)

 

Connectionless Iterative server

Connectionless iterative server

 

Connection-oriented concurrent server

Connection-oriented concurrent server

서버가 동시에 많은 client에게 서비스를 제공할 수 있다.
client에서 server로 전송하면 각각을 전담해주는 process가 있어서 그쪽으로 들어간다.
interface는 두 엔티티 사이의 상호작용을 위해 설계된 명령어 집합이다.

 

Socket interface

Relation between the operating system and the TCP/IP suite

Concept of socket

Concepts of sockets

통신 채널을 사용하려면 응용 프로그램(client 또는 서버)이 운영 체제에 소켓 생성을 요청해야 한다.
그러면 응용 프로그램은 데이터를 보내고 받기 위해 소켓에 연결할 수 있다.
데이터 통신이 일어나려면 통신의 한쪽 끝에 각각 한 쌍의 소켓이 필요하다.

Socket types
Connectionless iterative communication using UDP
Flow diagram for connection-oriented, concurrent communication (TCP)
Status of parent and child processes with respect to the socket
Variable used in echo client and echo sever using TCP

 

Peer-to-Peer Paradigm (client server)

  • 오늘날 인터넷에서 사용할 수 있는 대부분의 응용 프로그램이 client-server 패러다임을 사용한다.
  • 하지만 최근에 P2P(Peer-to-Peer) 패러다임을 사용하는 아이디어가 일부 관심을 끌고 있다.
  • 이 패러다임에서 두 대의 peer 컴퓨터는 서로 통신하여 서비스를 교환할 수 있다.
  • client-server 패러다임이 서버 시스템에 많은 부하를 가할 수 있는 파일 전송과 같은 일부 영역에서 흥미롭다.
  • 그러나, 우리는 P2P 패러다임이 client-server 패러다임을 무시하지 않는다.
728x90