서로 떨어져 있는 개체가 있을 때 특정한 목적을 위해 서로 소통을 할때 언제,무엇을,어떻게 할것인지 등에 대해서 미리 합의를 하는 것이라고 정의할 수 있다.
네트워크 application을 지원하는 protocol
ex)FTP(파일교환), SMTP(메세지), HTTP(웹서비스)
process와 process간의 데이터를 잘 전송 될 수 있게 해주는 protocol
ex) TCP,UDP
source(sender)로 부터 목적지까지 Routing을 잘 진행되게 해주는 protocol
ex) IP,routing protocols
이웃한 Network 요소들사이에서 data를 잘 전달하게 해주는 protocol
ex) Ethernet, 802.11(Wifi)
진짜 물리적으로 어떻게 보낼 것 인지? 어떤 형태의 신호로 변환해서 보내야 할까를 정의하는 protocol
layer란 protocol의 집합체이다
각각의 layer은 순서가 변경되서는 안된다. 상위 layer는 하위 layer의 서비스를 제공받는 것에 의존하기에 절대 순서가 변경되서는 안된다.
presentation,session 두개의 layer가 추가되어 있는 모델
Presentation: 서로 데이터의 형태가 다른데 어떻게 변형을 할 것인지, 암호화, 압축 등은 어떻게 진행 할 것인지에 대한 약속
Session: 연결되어 있다가 끊겼을 때 다시 복구를 시킬 때 어떠한 방식으로 진행 할 것인지에 대한 약속
OSI는 Reference model(참조형 모델)이고 TCP/IP는 현실에서 실제로 사용되고 있는 모델이다.
OSI에서 새로운 layer 2개가 있지만, TCP/IP에서 존재하지 않는 것이 아니라 각각 Application, Transport layer 부분에서 담당을 하고 있다.
Encapsulation: 각 layer의 기능을 담은 header들을 계속 붙여주는 과정
Decapsulation: layer에서 header들을 정보를 보고 처리를 하는 과정