Protocol에 대해 알아보자. 프로토콜은 통신할 때 각 네트워크 참여자의 데이터 전송 형식을 맞춰줘서 의사 소통 과정에서의 혼동을 제거하기 위한 통신 규격이다. 가장 널리 알려진게 http protocol인데, 통신에는 이거 하나만 있지 않다.

우리가 인터넷에서 다른 컴퓨터와 데이터를 주고 받을 때 사용하는 프로토콜이 TCP/IP 프로토콜이다. url을 입력하고, 해당 url의 서버에 도달해, 데이터를 가져와 렌더링하기까지가 전부 TCP/IP 를 따르는 과정임.

위의 url을 입력하고 응답으로 받은 데이터를 랜더링할 때까지 데이터가 4계층에 거쳐 만들어지고, 다시 그 4계층을 반대로 거치는 과정이 일어난다.

응용(http) > 전송(tcp) > 인터넷(ip) > 이더넷(MAC, ARP) > 인터넷(ip) > 전송(tcp) > 응용(http)

이 과정에서 각 단계마다 캡슐화가 일어난다. 데이터가 다음 계층에 의해 감싸짐.

편지를 편지봉투에 넣고, 이걸 봉인하고.. 하는 것과 유사하다.

받을 때는 당연히 역캡슐화가 일어남. 택배 상자를 까고, 편지봉투를 뜯고..

1. 데이터 생성 (응용 계층)

사용자의 어플리케이션이 데이터를 생성한다. 보통 인터넷에서는 브라우저가 시발점이 되는데, 데이터를 요청하기 위해 http 데이터를 생성한다.

이 http에도 형식이 존재하고, 이 역시 프로토콜이라고 볼 수 있음.

(header, body등이 존재)

2. 전송(tcp) (전송 계층)

생성된 데이터는 이를 필요로 하는 사람에게 전송되어야 하는데, 이를 위해 어디로 데이터를 보내는지 그 목적지를 입력하는 과정이 필요하다.