Protocol이란 무엇인가?
서로 떨어져 있는 개체가 있을 때 특정한 목적을 위해 서로 소통을 할때 언제,무엇을,어떻게 할것인지 등에 대해서 미리 합의를 하는 것
Internet protocol stack
Application layer
네트워크 application을 지원하는 protocol
ex)FTP(파일교환), SMTP(메세지), HTTP(웹서비스)
Transport layer
process와 process간의 데이터를 잘 전송 될 수 있게 해주는 protocol
ex) TCP,UDP
Network layer
source(sender)로 부터 목적지까지 Routing을 잘 진행되게 해주는 protocol
ex) IP,routing protocols
Link layer
이웃한 Network 요소들사이에서 data를 잘 전달하게 해주는 protocol
ex) Ethernet, 802.11(Wifi)
Physical layer
진짜 물리적으로 어떻게 보낼 것 인지? 어떤 형태의 신호로 변환해서 보내야 할까를 정의하는 protocol
layer란 protocol의 집합체이다
각각의 layer은 순서가 변경되서는 안된다. 상위 layer는 하위 layer의 서비스를 제공받는 것에 의존하기에 절대 순서가 변경되서는 안된다.
ISO/OSI reference model(세계적인 표준모델)
presentation,session 두개의 layer가 추가되어 있는 모델
Presentation: 서로 데이터의 형태가 다른데 어떻게 변형을 할 것인지, 암호화, 압축 등은 어떻게 진행 할 것인지에 대한 약속
Session: 연결되어 있다가 끊겼을 때 다시 복구를 시킬 때 어떠한 방식으로 진행 할 것인지에 대한 약속
OSI는 Reference model(참조형 모델)이고 TCP/IP는 현실에서 실제로 사용되고 있는 모델이다.
OSI에서 새로운 layer 2개가 있지만, TCP/IP에서 존재하지 않는 것이 아니라 각각 Application, Transport layer 부분에서 담당을 하고 있다.
Layer로 나눠서 진행하면 좋은점
- Layer별로 나뉘어져 있기에 각 부분의 기능만을 발전 시킬수 있다.
- 새로운 protocol 시스템이 들어 올 경우 기존에 있던 layer와 체계적으로 맞춰주면 돌아가는 것에 문제가 없다.
Layer로 나눠서 진행하면 안좋은점
- 전체적으로 봤을 때 만약 문제가 발생 시 원인이 어디서 발생했는지 알 수가 없다.
- 서로간의 정보들의 공유할 수 없다.
- 자기 일만 처리하고 하위 layer에서 어떤 방식으로 일을 처리하는지에 대해서 잘 알지 못하기 때문에 최적화/효율성 측면에서 떨어 질 수있다.
개념정리
Encapsulation: 각 layer의 기능을 담은 header들을 계속 붙여주는 과정
Decapsulation: layer에서 header들을 정보를 보고 처리를 하는 과정
'Network' 카테고리의 다른 글
컴퓨터네트워크_Web, HTTP (0) | 2022.05.04 |
---|---|
컴퓨터네트워크_Application layer (0) | 2022.05.04 |
컴퓨터네트워크_Delay, loss, throughput in Network (0) | 2022.04.30 |
컴퓨터네트워크_Network core (0) | 2022.04.30 |
컴퓨터네트워크_intro (0) | 2022.04.30 |