OSI 참조 모델은 통신에 필요한 기능을 7개의 계층으로 나누고 기능을 분할함
복잡해 지기 쉬운 네트워크 프로토콜을 단순화하기 위한 것
각 계층은 하위층으로부터 특정 서비스를 받아 상위층에 특정 서비스를 제공
상위층과 하위층 사이에서
서비스를 주고 받을 때의 약속을 '인터페이스' 라고 함
통신 상대가 같은 계층과 서비스를 주고 받을때의 약속을
'프로토콜'이라고 함
프로토콜의 계층화는 소프트웨어를 개발할 때의 모듈화와 비슷
모듈화
- 어떤 기계를 실행하는 덩어리를 모듈이라고 하고,
그것을 개발할 때의 부품으로써 이용하는 것
OSI 참조 모델의 경우
제 1층에서 제 7층까지 7개의 모듈을 만들어 각각을 서로 연결하여 통신하는것이 이상적
계층화하면 각 계층을 독립적으로 취급할 수 있다는 장점
시스템의 한 계층을 변경하더라도 시스템 전체에 영향을 미치지 않기 떄문에
확장성이나 유연성이 뛰어난 시스템을 구축할 수 있음
통신 기능이 분할되어 있기 때문에
각 계층의 프로토콜을 설치하기 쉽고 책임이 명확해짐
지나치게 모듈화하면 처리가 어려워지고,
각 모듈에서 비슷한 처리를 해야 한다는 단점 이 있음
7 애플리케이션층
6 프리젠테이션층
5 세션층
4 트랜스포트층
3 네트워크층
2 데이터 링크층
1 물리층
OSI 참조 모델에서는 각 계층에서 무엇을 할 것이라는 "역할"을 정의
각 계층의 "역할"을 정의하고 잇는 것이 "프로토콜"
"프로토콜"이라는 약속, 그 내용은 "사양"
프로토콜의 "사양"에 준거한 제품 및 통신 수단을 이용
OSI 참조 모델은 어디까지나 "모델"로,
각 계층의 대표적인 역할을 정한 것일 뿐
프로토콜이나 인터페이스의 상세 내용을 정해 놓은 것은 아님
OSI 참조 모델은 프로토콜을 설계하거나 학습할 때의 "가이드라인"인 것
상세 내용을 알고 싶은 경우는 개별 프로토콜의 사양서를 읽을 필요가 있음
대부분의 통신 프로토콜은 이 OSI 참조 모델에 적용시켜봄으로써
전체 통신 기능 중에서 해당 프로토콜이 어디에 위치하는지
대표적인 역할은 무엇인지를 알 수 있음
이용되는 애플리케이션 중에서 통신과 관련된 부분을 정해 놓고 있음
파일 전송이나 전자메일, 원격 로그인(가상 단말) 등을 실현하기 위한 프로토콜
애플리케이션이 취급하는 정보를 통신에 적합한 데이터 형식으로 만들거나
하위층으로부터 올라온 데이터를 상위층이 처리할 수 있는 데이터 형식으로 변환하는 등
데이터 형식과 관련된 책임을 지고 있음
기기 고유의 데이터 표현 형식(데이터 포맷) 등을
네트워크 공통의 데이터 형식으로 변환하는 역할
동일한 비트열이라도 기기가 다르면 다른 의미로 해석될 가능성이 있는데
이러한 무결성을 책임짐
수신처 애플리케이션에게 데이터를 확실하게 보내는 역할
통신을 수행하는 양쪽 노드에서만 처리되고 중간에 있는 라우터에서는 처리되지 않음
데이터를 수신처까지 보내는 역할
수신처는 여러 개의 네트워크가 라우터로 연결된 곳에 있는 경우도 있음
이러한 경우를 처리하기 위한 주소 체계를 결정하거나
어느 경로를 사용할 것인지 등과 같이 경로를 선택하는 역할
물리층에서 직접적으로 연결된 노드 간, 통신이 가능하게 하는 역할
0과 1로 된 숫자열을 의미가 있는 덩어리(프레임)로 나누어
상대방에게 전달(프레임의 생성과 수신)