네트워크 모델이라 함은 우리가 한 컴퓨터에서 다른 컴퓨터로 데이터를 보낼 때 쓰이는 네트워크 소프트웨어의 아키텍쳐임. 데이터는 송신 컴퓨터에서 5계층부터 1계층까지의 인코딩 과정을 거쳐 인터넷 망을 통해 수신 컴퓨터에 도달하며, 수신 컴퓨터에서는 반대로 1계층부터 5계층까지의 디코딩 과정을 거쳐 데이터를 읽는다.
1 - Physical Layer : 디지털 신호를 아날로그 신호로 변환하여 전송(하드웨어에 구현. PHY칩)
2 - Data Link Layer : 전송하는 데이터의 시작과 끝 부분에 구분자를 붙여 데이터 단위를 식별할 수 있도록 함(하드웨어에 구현. 랜카드)
3 - Networt Layer : 목적지 컴퓨터의 ip 주소를 보내는 데이터 구조체에 추가함(소프트웨어에 구현. OS 커널)
4 - Transport Layer : 목적지 프로세스의 port 주소를 보내는 데이터 구조체에 추가함(소프트웨어 구현. OS 커널)
5 - Application Layer : 종단의 송신, 수신 프로그램에서 정의한 프로토콜(HTTP)
* 기존 OSI 7 Layer 는 TCP/IP 모델로 대체되었으며. OSI 7 Layer 중 Session Layer(5계층), Presentation Layer(6계층), Application Layer(7계층)이 TCP/IP 모델의 Application Layer로 구현되어있다.
* TCP/IP 소켓 프로그래밍(네트워크 프로그래밍)을 한다는 것은 운영체제의 4계층 전송계층 API 를 사용하여 네트워크 통신을 한다는 것이다.
* 대표적인 Application Layer 프로토콜은 HTTP 이다.