#8) OSI 7계층, TCP/IP 4계층
OSI 모델
Open System Interconnection의 약자로, 개방형 시스템을 뜻한다.
국제 표준기구 ISO (Internet Organization for Standardization)에서 개발하였다.
서로 다른 컴퓨터 간 통신에서, 네트워크 구조나 하드웨어 종류에 상관없이
통신할 수 있도록 제안된 개방 통신 모델이다.
(초기의 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었다.)
TCP/IP 모델
미국 국방부에서 정의한 네트워크 통신 표준 모델이다.
실제 인터넷 환경에 적합하도록 설계되었기 때문에, OSI 모델에 비해 더 단순하고 실용적이다.
특히 인터넷 통신을 위해 최적화되어 있으며, 실제 네트워크 장비와 프로토콜 개발에 널리 사용되고 있다.
OSI 7 계층 (OSI 7 Layer)
* 7계층으로 나눈 이유?
통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다.
특정한 곳에 이상이 생기면 다른 단계의 장비 또는 소프트웨어를 건드리지 않고 문제의 단계만 고칠 수 있다.
1층 : 물리계층 (Physical Layer)
통신을 위해서는 먼저 물리적인 장치로 연결되어있어야 한다.
물리적인 매체(LAN, 케이블 등)을 통해 비트 스트림을 전송한다.
- 허브 : 케이블 하나를 여러 개로 나누는 장치
- 리피터 : 신호를 증폭하는 장치
2층 : 데이터링크 계층 (Data Link Layer)
물리적으로 연결해도 물리계층에서는 단순하게 데이터를 전달만 하기에 데이터 상에 문제가 발생해도 알 수 없다.
데이터 시작과 끝 부분에 제어 정보를 추가하여 에러를 확인하고 제어한다.
또한 Mac 주소를 할당하여 네트워크 장비들을 식별한다.
즉 데이터링크란, 오류를 감지하고 제어하며, 연결이 잘 안 되면 재전송하면서 데이터를 잘 연결해주는 역할을 한다.
- 브리지 : 케이블을 2개 이상 꽂아서 서로 성격이 다른 네트워크를 연결하거나, 하나가 오류가 생겨도 다른 쪽에서 신호를 커버하는 등 데이터 흐름을 조정할 수 있는 장치이다.
3층 : 네트워크 계층 (Data Link Layer)
데이터를 보내는 곳과 받는 곳, 우편이라면 주소를 관리하고 주소에 맞게 전달하는 역할이 필요하다.
우편이 많은 곳은 집배원을 많이 배치하고 물류 센터를 만들고 유통망 관리도 해야한다.
이런 우체국 역할을 하는 것이 네트워크 계층이다.
데이터를 전송하는 스위칭 기능과 데이터 전송을 위한 최적의 경로를 결정하는 라우팅 기능을 제공한다.
- 라우터 : 데이터 통로를 열고 닫는 기능을 가진 장치이다. 이 장치로 최적화된 경로를 설정할 수 있다. 모뎀까지 들어온 데이터를 무선 경로로 보내면 그것이 라우터이다. L3스위치라고도 한다.
4층 : 전송 계층 (Transport Layer)
데이터가 우리집 컴퓨터에 도착했다고 바로 읽을 수는 없다.
컴퓨터 내부에서도 데이터 전송이 이루어져야 한다.
LAN 케이블이 달린 모뎀에서 메모리까지 도달하는 과정이 필요하다.
장치 내부 사이에 연결이 잘 안 될 수도 있다.
전송 계층은 데이터를 내부 간 연결하거나 해제하고, 신뢰성 있는 데이터를 전송하는 기능을 한다.
port 번호, 전송 방식(TCP/UDP) 결정 >> TCP 헤더 붙음
- TCP : 신뢰성, 연결지향적(패킷 교환), 느림, 1:1 통신
- UDP : 비신뢰성, 비연결성(데이터그램), 빠름, 1:1 / 1:N / N:N
5층 : 세션 계층 (Session Layer)
데이터가 무사히 메모리까지 도착했다고 바로 어떤 데이터인지 알 수는 없다.
통신 데이터는 0과 1로 이루어진 전기 신호이기 때문에 우리가 알 수 있도록 변형해야 한다.
이러한 변형을 하려면 일단 컴퓨터와 대화를 해야한다.
이러한 통신 세션을 관리한다.
- API, Socket
6층 : 표현 계층 (Presentation Layer)
대화를 통해 요청된 사항들을 실제로 표현해야 한다.
전기적 신호를 JPG, MP4 파일 등으로 바꾸는 작업이다.
이러한 파일은 필요에 따라 압축이 가능하고 보안 기능(암호화)를 넣을 수도 있다.
이 계층에서 전기적 신호는 우리가 알 수 있는 형태로 바뀐다.
데이터를 변환, 인코딩, 압축, 암호화, 복호화를 수행하여 상위 계층인 응용 계층이 이해할 수 있는 데이터로 가공한다.
- JPEG, MPEG, GIF, ASCII 등
7층 : 응용 계층 (Application Layer)
최종 목적지로, 사용자와 통신할 수 있는 응용 서비스를 수행한다.
- FTP, HTTP, Telnet 등
TCP/IP 4 계층 모델
네트워크 전송 시 데이터 표준을 정리한 것이 OSI 7계층이라고 한다면,
이를 실제 사용하는 인터넷 표준이 TCP/IP 4계층이다.
1층 : 네트워크 연결 계층(Network Access Layer)
실제 데이터인 프레임 송수신 역할을 위한 계층이다.
- OSI 7계층의 물리계층(1)과 데이터 링크 계층(2)에 해당한다.
- TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당한다.
- 물리적인 주소로 MAC을 사용한다.
- LAN, 패킷망 등에 사용된다.
2층 : 인터넷 계층(Internet Layer)
데이터 전송을 위한 논리적 주소 및 경로 지정을 위한 계층이다.
- OSI 7계층의 네트워크 계층(3)에 해당한다.
- 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공
- 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공
- 프로토콜 종류 – IP, ARP, RARP
3층 : 전송 계층(Transport Layer)
호스트 간 송수신을 위한 계층이다.
- OSI 7계층의 전송 계층(4)에 해당
- IP와 Port를 이용하여 프로세스와 통신
- 애플리케이션 계층의 세션과 데이터그램(datagram) 통신서비스 제공
- 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당
- 프로토콜 종류 – TCP, UDP
4층 : 응용 계층(Application Layer)
응용프로그램끼리의 데이터 송수신을 위한 계층이다.
- OSI 7계층의 세션 계층(5), 표현 계층(6), 응용 계층(7)에 해당한다.
- 프로그램(브라우저)가 직접 인터액트하는 레이어. 데이터를 처음으로 받는곳
- 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 제공
- 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜을 정의
- HTTP, SMTP등의 프로토콜
- TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
- 프로토콜 종류 – FTP, HTTP, SSH 등

틀린 부분 있을 수 있으니 말씀해주시면 감사하겠습니다!
참고 :
https://velog.io/@dongs52/OSI-7계층-vs-TCP-4계층
https://velog.io/@ryalya/iOS-CS-Study-네트워크-OSI-7-Layer-개념-및-기능-TCPIP-4계층-개념-및-기능
https://blog.naver.com/lumin_star/223652242096
https://westahn.com/osi-7-%ea%b3%84%ec%b8%b5%ec%9d%b4%eb%9e%80/