OSI 7계층
표준화된 통신용 규약으로, 네트워크 동작을 나누어 이해하고 개발하는데 필수적인 개념이다.
Last updated
표준화된 통신용 규약으로, 네트워크 동작을 나누어 이해하고 개발하는데 필수적인 개념이다.
Last updated
OSI 7계층을 한눈에 그림으로 나타내면 아래와 같다.
각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용해 동작한다.
데이터의 앞쪽에 붙는 것은 헤더이고, 뒤쪽에 붙는 것은 트레일러이다.
1~4계층의 경우 데이터 플로 (하위) 계층, 5~7계층의 경우 애플리케이션 (상위) 계층으로 크게 분류할 수 있다.
데이터 플로 계층에서는 데이터를 목적지까지 잘 전달하는 데에 초점을 맞추고, 애플리케이션 계층에서는 데이터를 잘 표현하는 데에 초점을 맞춘다.
데이터를 전송하고자 할 때 가장 상위 계층(7계층)의 데이터부터 하위로 내려보내면서 데이터를 분할하기도 하고 헤더를 붙이기도 한다.
여기서 붙이는 헤더는 받는 쪽에서 확인해야 할 정보이다.
헤더는 현재 계층에서 정의하는 정보와 상위 프로토콜 지시자를 포함해야 한다. 상위 프로토콜 지시자를 포함해야 디캡슐레이션 시에 어떤 상위 계층 프로토콜로 보내야 할 지 알 수 있다.
4계층 프로토콜의 경우 Sequence Number, ACK 정보와 포트 번호를 헤더에 담는다.
3계층 프로토콜의 경우 출발지/도착지 IP 주소와 프로토콜 번호를 헤더에 담는다.
2계층 프로토콜의 경우 출발지/도착지 MAC 주소와 이더타입을 헤더에 담는다.
전기 신호를 받게 되면 이를 데이터 형태로 만들어 2계층으로 올려보내고, 2계층에서는 목적지가 자신이라면 2계층 헤더를 벗겨내고 남은 데이터만 3계층으로 올려보낸다.
3계층에서도 마찬가지로 헤더를 확인하여 본인에게 요청이 온 게 맞는지 확인 후 맞다면 3계층 헤더를 벗겨내고 남은 데이터만 4계층으로 올려보낸다.
최종적으로 목적지 애플리케이션은 순수한 메시지만 받게 된다.