현재 사용하는 모델은 TCP/IP Updated 입니다!
결국 위에 Application, Presentation, Session 부분만 합쳐져서 사용을 하고 있는 셈
✔️ Application layer는 어플리케이션 개발자에 의해 컨트롤 되지만, 나머지 계층들은 OS에 의해 컨트롤된다.
🚀 Network application
운영체제의 Transport Layer에서 제공하는 API를 활용해서 통신 가능한 프로그램을 만드는 것을 말함.
= 소켓프로그래밍 만으로도 서버와 클라이언트를 나눠서 프로그램 실행 가능
= 누구나 자신만의 Application Layer 인코더와 디코더를 만들 수 있다.
= 누구나 자신만의 Application Layer 프로토콜을 만들어서 사용할 수 있다는 것
ex) HTTP를 통해서 알아보자 !
당연히 데이터 전송이 클라이언트 측일 수도 있음.
그리고 당연히, 우리는 전송하기도, 수신하기도 하니까 인코더와 디코더를 모두 가지고 있음
위에서는 생략했지만 어플리케이션 레이어 프로토콜이 데이터를 보낼 때 정의하는 게 몇가지가 있음
등등
application layer 와 transport layer protocol 사이에 있는 소프트웨어 인터페이스임
✔️ 어플리케이션과 네트워크 사이의 API
✔️ 프로세스는 소켓으로 메세지를 보내고 받는다
그렇담 서버와 클라이언트 패러다임은 무엇??
1. 서버
2. 클라이언트
Host를 구분짓는 Identifier
메세지를 받으려면 프로세스는 반드시 IP주소가 있어야 함 !
정의에서도 알 수 있듯이 IP주소는 host만 구분할 수 있다. 프로세스까지 구분하려면 Port번호까지 있어야 함.