📌 네트워크를 잘 이해하기 위해서는 OSI 7계층과 TCP/IP 4계층을 필수로 공부해야 한다.
ARPANET에서 TCP/IP 4계층으로 정리하고, OSI 7계층으로 세분화 되면서 네트워크의 동작을 나누어 설명한다. 이를 도식화 하면 아래의 그림과 같다.
두 계층 모델 모두 물리적인 계층에 가까운 부분을 👇 하위 계층(Lower Layer) 라고 부르며, 개발자가 직접 전하게 되는 애플리케이션에 가까운 부분을 👆 상위 계층(Upper Layer) 라고 부른다.
따라서 애플리케이션을 개발하는 개발자는 하향식 네트워크를 바라보게 되며, 애플리케이션 계층을 OSI 7계층에서는 7계층, 물리 계층을 1계층으로 명명한다.
물리 계층 : 주로 물리적 연결과 관련된 정보를 정의한다. 전기 신호를 전달하는데 초점을 두고, 들어온 전기 신호를 그대로 전달하는 것이 목적
데이터 링크 계층 : 물리 계층에서 들어온 전기 신호를 모아 알아 볼 수 있는 데이터 형태로 처리.
주소 정보를 정의하고 출발지, 도착지 주소를 확인 후 데이터 처리를 수행.
네트워크 계층 : IP 주소와 같은 논리적인 주소를 정의. 또한 라우터를 통해 정의한 IP주소를 이해하고, 사용해 최적의 경로를 찾아 패킷을 전송.
전송 계층 : 하위 계층에서 신호와 데이터를 올바른 위치로 보내고 신호를 만드는데 집중했다면, 전송 계층에서는 해당 데이터들이 실제로 정상적으로 보내지는지 확인하는 역활. 네트워크 계층에서 사용되는 패킷은 유실되거나 순서가 바뀌는 경우가 있는 데, 이를 바로 잡아주는 역활도 한다.
세션 계층 : 세션 계층은 양 끝 단의 프로세스가 연결을 성립하도록 도와주고, 작업을 마친 후에는 연결을 끊는 역활.
프레젠테이션(표현)계층 : 일종의 번역기 같은 역활을 수행한다. MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이루어진다.
애플리케이션(응용)계층 : 애플리케이션 프로세스를 정의하고, 애플리케이션 서비스를 수행한다. 이 계층에서는 사용되는 프로토콜은 다양한 종류가 있지만, 대표적으로 HTTP, FTP, SMTP 등이 있다.