(항상 잘못된 정보가 포함되어 있을수 있습니다)
(잘못된 정보가 있다면 댓글로 피드백 부탁드리겠습니다)
네트워크 통신을하는 구조를 7개의 개층으로 분리하여 각 계층간 상호작동하는 방식을 정해 놓은것 이다.
국제 표준화기구인 ISO가 1984년 발표했다.
컴퓨터 통신 구조의 모델과 앞으로 개발될 프로토콜의 뼈대를 제공하기 위해 개발된 참조 모데일이기 때문에 이 계층 모델을 알면 네트워크 구성을 예측하고 이해할수 있다.
또한 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 단계만 고칠수 있다.
- 7계층 - Application Layer - 구글 크롬, 이메일, 데이터베이스 관리
- 6계층 - Presentation Layer - 인코딩, 디코딩, 암/복호화
- 5계층 - Session Layer
- 4계층 - Transport Layer - 방화벽, 프록시서버
- 3계층 - Network Layer - 라우터
- 2계층 - DataLink Layer - MAC주소, 브리지 및 스위치
- 1계층 - Physical Layer - 전압, 허브, 네트워크어댑터, 중계기 및 케이블
아주 과거에는 네트워크 장비 제조사마다 서로 다른 프로토콜을 사용하였고
이런 다른제조사의 장비를 연결하려면 별도의 어댑터나, 변환기를 사용해야하는 등 문제가 있었다.
각각의 제조사의 컴퓨터라도 네트워킹이 가능한 지침이 필요했고, 원할한 네트워킹이 가능하도록 규약 즉 프로토콜을 만들게 된것이다.
OSI 7계층의 특징중 하나는 캡슐화와 역 캡슐화다.
데이터를 전송할땐 캡슐화, 받을땐 역캡슐화가 이루어 진다.
데이터를 보낼때 사용자 데이터가 각 계층을 지나면서 하위 계층은 상위 계층으로부터 온 정보를 데이터로 취급하며, 자신의 특성을 담은 정보를 붙히는 과정을 거친다.
이 정보를 헤더라고 한다.
이렇게 아래 계층으로 내려가면서 헤더를 붙여 나가는것을 캡슐화 라고 한다.
데이터를 받는쪽에선 이런 헤더를 하나씩 제거해 나가는데, 이것을 역캡슐화 라고 한다

이 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다.
웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션은 통신을 하기 위해 애플리케이션 계층에 의지한다.
그러나 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아니다.
소프트웨어 애플리케이션이 통신을 하기 위해 의존하는 계층이다.
HTTP가 바로 이 계층에 속해 있다.
이 계층은 주로 데이터를 준비하는 역할을 한다.
Application Layer으로 부터 전달 받거나 전달할 데이터들의 인코딩/디코딩을 하고 데이터를 안전하게 사용해야 하는 경우에는 암/복호화 하기도 한다.
이 역할을 함으로써 7계층에 부담을 덜어준다.
- 인코딩 - 사람이 인지할수 있는 데이터를 컴퓨터가 이해할수 있는 데이터로 바꾸는것
- 디코딩 - 컴퓨터가 이해할수 있는 데이터를 사람이 인징할수 있는 데이터로 바꾸는것
이 계층은 통신을하는 통신장치간의 연결을 설정하고, 관리 및 종료하는것을 담당한다.
Session - 사용자가 네트워크 통신을 위해 상호 작용하는 동안의 일련의 활동
또한 세션 계층은 데이터 전송을 체크포인트와 동기화한다.
예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정하고.
50MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능하다.
체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 한다.
이 계층에서는 하는 역할은 다음과 같다.
TCP-Segment로 분할
UDP-datagram로 분할
TCP/UDP가 바로 이 계층에 속해 있다.
이 계층은 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다.
Transport 계층의 작은 단위에서 더 작은 단위인 패킷 이라는 더 작은 단위로 세분화 해서 보내고 다시 조립하고 한다.
- 패킷을 사용 하는이유
상상력을 발휘해보자
아주 큰 데이터를 보내게 되면 데이터를 주고 받는 컴퓨터의 회선을 길게 쭉 차지할것이다.
만약 다른컴퓨터가 데이터를 주고 받으려고 시도하면 해당 회선이 길게 꽉 차서 사용하지 못할것이다.
이는 두대 이상의 컴퓨터가 관련된경우 실용적이지 않게 된다.
그래서 이렇게 아주 긴 데이터를 아주 자잘하게 잘라서 보내는 것이다.
그렇게되면 회선 사이사이에 공간이 생길거고 그 공간에 또 다른 패킷을 보낼수 있으니
동시에 여러 데이터를 주고 받을수 있을것이다.
또한 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는다 이를 라우팅이라고 한다.
IP주소를 사용하여 데이터를 전송한다.
- 라우팅
어떤 네트워크 안에서 통신 데이터를 짜여진 알고리즘에 의해 최대한 빠르게 보낼 최적의 경로를 선택하는 과정
물리적인 네트워크 기기 사이에 데이터 전송을 담당하는 계층
패킷을 더 작은 단위인 프레임 단위로 세분화 한다.
또한 컴퓨터간의 맥 주소를 가지고 통신한다
- 맥주소
컴퓨터간의 데이터를 전송하기 위한 물리적 주소
전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송 하는 계층
중계기 및 케이블, 스위치 등 물리적 장비를 포함한다.
데이터는 0과 1의 비트, 즉 On, Off의 전기적 신호 상태로 이루어 진다.