1. OSI 모델이란?
컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공한다. 일반적으로 하위 계층들은 하드웨어로, 상위 계층들은 소프트웨어로 구현된다.
1.1 7계층으로 나눈 이유
통신이 일어나는 과정을 단계별로 파악할수 있고, 특정한 곳에 이상이 생기면 이상을 탐지하기 쉽고, 이상이 생긴 단계만 고칠수 있기 때문이다
1.2. 계층단계
- 물리 계층
- 네트워크의 기본 하드웨어 전송기술로 구성
- 높은 수준의 기능의 논리데이터 구조를 기초로 한다
- 하드웨어 기술이 접목되어있어 OSI 아키텍쳐중 가장 복잡한 계층이며 필수적이다
- 전송단위는 Bit이다
- 리피터, 케이블, 허브
- 데이터 링크 계층
- Point to Point 간 신뢰성 있는 전송을 보장하기 위한 계층
- 네트워크 위의 개체들 간 데이터를 전달한다.
- 물리계층에서 발생할 수 있는 오류를 찾아내고 수정하는데 필요한 기능적, 절차적 수단을 제공한다.
- 주소값은 물리적으로 할당받는다.(MAC address)
- 네트워크 브릿지나 스위치 등이 이계층에서 동작한다. (Ethernet)
- 전송단위는 Frame
- 네트 워크 계층
- 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공
- 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다
- IP부여, 경로설정(Route)
- 전송단위는 Datagram(Packet)
- 전송 계층
- 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.
- TCP/UDP프로토콜을 사용한다.
- 전송 단위는 Segment이다.
- 여기까지가 물리 계층이라고 한다.
- 세션 계층
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
- TCP/IP 세션을 만들고 없애는 책임을 진다.
- 통신을 하기 위한 세션을 확립/유지/중단
- 표현 계층
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다.
- 인코딩이나 암호화등의 동작이 이루어진다.
- 송신층과 수신측 사이에서 데이터의 형식(png, jpg, webp 등등) 을 정해준다.
- 응용 계층
- 응용 계층(Application layer)은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
- DHCP, DNS, FTP, HTTP