[컴퓨터네크워크] - Application Layer

September 3, 2023

Network

컴퓨터네트워크-한양대학교 | 이석복 강의를 수강하며 기록한 포스팅입니다.

Top-down 방식으로 Application Layer부터 공부해보자.

어플리케이션 레이어

클라이언트와 서버 사이에 라우터들이 있지만, 라우터들은 신경쓸 필요가 없다. 단순히 반대편에 있는 프로세스와 프로세스 간의 통신이라는 것만 생각하면 된다. 중간에 네트워크가 어떻게 생겼는지 알 필요는 없다. 왜냐하면, application 계층은 클라이언트-서버에만 존재하고, 라우터에는 application 계층이 존재하지 않기 때문이다. (라우터에는 네트워크층까지만 존재한다.)

네트워크 애플리케이션이라는 것은 network edge에 있는 서버와 클라이언트 간의 통신을 이야기한다.

서버와 클라이언트의 특징을 알아보자면...

서버는

클라이언트는

다시 말하자면, 결국 어플리케이션 간에 의사소통 한다는 것은, 서버 어플리케이션 프로세스와 클라이언트 어플리케이션 프로세스간의 통신인데, 서버와 클라이언트 간에 반대편 socket의 주소를 알아야 의사소통을 할 수 있다.

주소의 역할을 하는 것이 IP 주소와 Port 주소이다.

IP 주소는 어떤 컴퓨터인지를 지칭하는 것이고, Port는 컴퓨터 내에서 어떤 프로세스인지를 지칭하는 것이다.

Application 계층은 어떤 Transport service를 필요로 할까?

계층이라는 개념의 중요한 점 중 하나는 하위계층에서 상위계층으로 하위계층에 있었던 기능을 제공한다는 것이다. 즉, Application Layer는 하위계층인 Transport Layer에서 제공하는 기능을 받는다.

Application layer는 Transport Layer로부터 다음 아래, 네 가지의 기능을 필요로한다.

하지만 실제로 Transport layer에서 제공하는 것은 data integrity뿐이다. (TCP를 통해서 제공)

HTTP

HTTP Connection

참고 자료 - HTTP Persistent Connection

Socket Programming

두 가지 소켓

TCP socket connection setup

TCP socket connection setup

⬅ 이전 포스트
다이나믹 프로그래밍 | JavaScript
다음 포스트 ➡️
DFS | JavaScript