내가 아는 OSI 7 Layer에 대한 키워드는 네트워크 통신을 7단계로 구분한 것이고, 4층과 7층이 가장 중요하다는 것. 그럼 4층과 7층에 뭐길래 제일 중요하다는 건지 간단히 알아보자.
OSI 7계층, OSI 7 Layer라고도 한다. 네트워크 통신이 일어나는 과정을 7단계로 나눈, ISO가 정의한 네트워크 모델이다. (여담: TCP/IP는 4계층이라고 한다.)
아래에서부터 1 ~ 7 단계로 구성되어 있다. 7개로 나눠진 통신 시스템은 다음 계층이 이전 계층 위에 스택되는 구조.
각 계층을 지날때마다 각 계층에서 Header가 붙어 나오고, 데이터를 수신하는 측은 역순으로 이 헤더를 분석하게 된다고.
DDoS같은 공격은 이 계층들 중 특정 계층을 표적으로 하는 공격이라 한다.
현대 인터넷은 OSI 모델을 엄격하게 따르진 않지만, OSI 모델은 여전히 문제 분석 및 원인 분리에 도움이 될 수 있다.
계층도대로 보자면 1층은 아예 랜케이블이 지나가는 레벨이고, 우리가 보는 영역은 제일 마지막인 7층이라는 말이 된다. 그리고 그 사이를 눈썹 휘날리게 오가는 것이 아마 4층인 듯 하다.
우리가 쓰는 계층! 사용자의 데이터와 직접 상호작용 하는 유일한 계층이다.
우리가 쓰는 웹 애플리케이션들은 통신을 개시하려면 이 응용프로그램(애플리케이션) 계층에 의지해야 된다고. 애플리케이션 계층은 소프트웨어가 사용자에게 의미있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 수행.
이 계층의 프로토콜은 HTTP뿐만 아니라 SMTP(이메일 통신을 가능하게 하는 프로토콜), POP3 등도 포함.
전송하는 데이터의 표현방식을 결정하는 계층. 7층으로부터 전달받거나 전송하는 데이터의 인코딩, 디코딩이 일어남.
파일 인코딩, 명령어 포장, 압축, 암호화 등의 작업을 하는 계층. 7층에서 받은 데이터를 5층으로 전송하기 전 압축하여 데이터의 양을 최소화, 통신 속도와 효율을 높이는 역할을 하기도.
두 기기 사이의 통신을 시작, 종료하는 일을 담당하는 계층.
(세션은 통신이 시작될 때 부터 종료될 때까지의 시간을 말한다.)
액세스 포인트 간의 프로세스 및 통신하는 호스트 간의 연결 유지. TCP/IP 세션 체결, 4층에서 결정된 포트번호를 기반으로 통신 세션
구성!
API, Socket이 이 계층에 속한다.
포트번호, 전송방식(TCP/UDP) 결정 -> 이 계층에서 송수신지 포트번호를 담은 TCP 헤더를 붙여준다.
데이터를 전송, 전송 속도 조절, 오류 발생 부분은 다시 맞춰주는 계층.
일반적으로 TCP 프로토콜을 주로 사용하고, 데이터를 전송받은 경우, 이 계층에서 데이터를 합산하여 세션 계층(5층)으로 보내준다.
두 지점 간의 신뢰성 있는 데이터를 주고 받게 해주는 역할.
데이터를 목적지까지 빠르고 안전하게 전달하는 계층. 라우터를 통해 경로 선택, IP 지정하고 경로(Route)에 따라 패킷 전달 -> 이 계층에서 IP 헤더가 붙는다.
서로 다른
두 네트워크 간 데이터 전송을 수월하게 하는 역할. 같은 네트워크 상에 있는 경우 이 계층이 필요하지 않다.
이 계층이 데이터가 표적에 도착하기 위한 최상의 물리적 경로를 찾는 것이 '라우팅'. 네트워크 라우팅
전송 단위: 패킷
3층과 비슷하지만, 동일 네트워크 상에 있는 경우 이 계층을 통해 전송된다. 종단간 통신을 하는 계층.
이 계층에서 MAC Address를 부여하고 인트라 네트워크 통신에서 재전송, 흐름제어, 오류제어를 수행한다.
안전한 정보전달 수행을 위해 CRC(순환 중복 검사) 기반의 오류 제어와 흐름 제어가 필요하다고.
장비: 브릿지, 스위치, 이더넷 등 (부여한 MAC Address를 여기서 사용)
전송 단위: 프레임
랜선이 깔리는 계층. 전기, 기계적 특성을 이용해서 전송하는 물리적인 장비 계층.
전기적 신호(0,1)로 변환해서 주고받는 기능만 한다. 전송되는 데이터의 내용이나 에러 여부는 체크하지 않음.
이 계층의 장비
전송 단위: Bit (0,1 상태)
캡슐화라는 작업을 한다. encapsulation. 레이어를 탈 수록 데이터가 변화하는데, 어떤 변화를 하는지 보면 좋을 것.
TCP로 대표되는 계층과 IP로 대표되는 계층. 전송 계층과 네트워크 계층을 위주로 보면 될 것.