Open Systems Interconnection Reference Model로 간단하게 말하면 네크워크에서 통신이 일어나는 과정을 7단계로 나눈 모델을 의미한다.
💡 각 계층은 L(Layer)로 줄여서 L1, L2 등으로 부를 수 있다.
통신이 일어나는 과정을 단계별로 파악하여 흐름을 한 눈에 알아볼 수 있다. 그러므로 특정한 단계에 문제가 생기면 문제가 생긴 단계만 건들여서 고칠 수 있기 때문이다.
계층이라는 표현에서도 알 수 있듯 상하구조를 갖고 있어 상위 계층의 프로토콜이 정상적으로 동작하기 위해서는 하위 계층들이 모두 정상적으로 동작해야한다.
위와 같은 이유로 유지보수 측면에서 엄청난 강점을 가지고 있다.
💡 모든 파일과 프로그램은 0과 1의 나열이며, L1과 L2는 하드웨어다.
물리 계층은 실제 장치(컴퓨터)들을 연결하기 위해 필요한 계층으로 주로 전기적, 기능적, 기계적인 특성을 이용해 통신 케이블로 데이터를 전송한다.
통신 단위는 비트(bit)이며 0과 1로 나타내는 전기적으로 On, Off라고 생각하면 이해하기 쉽다.
전선이 통과시킬 수 있는 주파수의 범위는 한정적이기 때문에 0과 1의 나열을 아날로그 신호로 바꿔 전선으로 흘려 보내고(encoding), 데이터를 받는 기기가 아날로그 신호를 받으면 0과 1의 나열로 해석(decoding)한다.
데이터를 전기적인 신호로 변환하여 주고받는 기능만 하고, 대표적인 장비로 허브, 리피터 등이 있다.
PHY칩에 L1 기술이 구현되어 있다고 한다.
물리 계층을 통해 송수신되는 데이터의 오류와 흐름을 관리하는 계층으로, 안전하고 신뢰할 수 있는 데이터 전달을 수행할 수 있도록 도와주는 역할을 하는 계층이다.
MAC 주소를 가지고 통신하며, 브릿지나 스위치를 통해 물리 계층에서 받은 데이터를 전달한다.
Mac 주소란, 컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소이다.
통신 단위는 프레임(frame)이고 데이터가 오류나 손실없이 전송됨을 보장하기 위해 흐름제어, 오류제어, 순서제어, 오류검출 등의 기능을 수행한다.
Framing은 데이터 링크 계층의 작업중 하나로 원본 데이터의 앞뒤에 1111, 0000등으로 감싸는 작업을 의미한다.
랜카드에 L2 기술이 구현되어 있다고 한다.
데이터를 목적지 까지 가장 안전하고 빠르게 전달하는 라우팅 이라는 기능을 담당한다.
즉, 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는것이 이 계층일 역할이다.
라우팅이란, 목적지 까지 빠르고 안전하게 데이터를 전송하기 위해 알고리즘을 통해 최적의 경로를 설정하고 패킷을 교환하는것을 말한다.
패킷이란, 컴퓨터간 데이터를 주고 받을 때 네트워크를 통해 흘러가는 데이터 조각으로 IP헤더를 추가하여 만들어진 것을 IP패킷이라고 한다. IP헤더에 출발지 IP, 목적지 IP 등 여러 정보가 포함되어 있다.
💡 IP(Internet Protocol)주소란 최종 목적지 까지 가기 위한 논리적 주소이다.
사용자들이 데이터를 주고 받을 수 있는 계층으로, 송신자와 수신자 사이에 신뢰성 있는 데이터를 주고 받을 수 있게 보장한다.
상위 계층이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주며 패킷의 헤더에 포트번호도 포함되어 있다.
대표하는 프로토콜로 연결형인 TCP와 비연결형인 UDP가 있다.
TCP는 Transmission Control Protocol로 패킷의 손실, 중복, 순서를 제어하며 IP의 신뢰성 없는 서비스에 TCP를 활용하여 신뢰성을 보장한다.
TCP는 3way handshake 과정을 통해 연결 및 데이터를 수신받고,
4way handshake 과정을 통해 연결을 종료한다.
UDP는 User Datagram Protocol로 비연결형이며 데이터를 보내기만 하기 때문에 신뢰성이 낮을 수 있지만 속도가 매우 빠르다.
순서화되지 않은 Datagram을 제공하는데 DNS, 영상 데이터 전송등이 있다.
응용 프로세스가 통신을 관리하기 위한 방법을 제공하고, 데이터가 통신하기 위한 논리적인 연결을 담당하는 계층이다.
세션 설정, 유지, 종료, 복구 기능이 존재하고, 세션 복구는 매우 유용한 기능이다.(운영체제가 해준다고한다.)
세션 복구는 특정 데이터를 전송하는 도중 네크워크가 끊겨도 끊겼던 구간부터 다시 데이터 전송을 가능하게 해주는 기능이다.
SSH, TLS가 대표적인 프로토콜이고 전송 단위는 데이터이다.
데이터의 변환, 압축, 암호화가 이뤄지는 계층으로 MIME(Multipurpose Internet Mail Extensions)인코딩, 암호화 등의 동작이 표현 계층에서 이뤄진다.
최상위층으로 응용 서비스(응용 프로그램 또는 어플리케이션)를 사용하여 응용 서비스를 수행하는 계층이다.
즉, 사용자에게 직접 제공되는 서비스나 프로그램은 대부분 응용 계층에 해당한다.
대표적인 응용 계층 프로토콜
구조를 이해하는것도 힘든데 만든사람은 대단한 것 같다.
나무위키 - OSI 모형
CodingbotPark - OSI 7 Layer
히히의 OSI 7 Layer
주소창에 도메인을 입력시 일어나는 일