
1. OSI 7계층 이란?
OSI 7계층은 네트워크에서 통신이 일어나는 과정을 7단계에 모듈로 나눈 것을 말합니다.
OSI는 Open Systems Interconnection의 약자로 개방형 시스템이라는 뜻입니다.

1.1 OSI 7계층은 왜 필요할까?
이게 그럼 왜필요한 것인가~!
일상 생활에서 많은 물건들이 어떤 참조 모델을 통해서 생성되고 유지보수됩니다.
ex)
- 소주병 뚜껑과 막걸리 뚜겅은 규격이 같다.
- A회사 타이어를 사용하던 자동차가 B타이어로 교체해서 운행이 가능하다.
- 하나의 휴대폰에 여러가지 케이스를 교체해서 낄수 있다.
간단하게 말해 서로 통신할 수 있게 서로가 알아들을 수 있는 규칙을 정한 겁니다.
만약 A회사와 B회사가 통신하기위한 통일된 규칙이 없다면 통신 규격이 달라서 통신을 할 수가 없었을 겁니다.
그리하여 1984년 국제표준화 기구(ISO)가 OSI7계층을 발표하게 된것입니다!
7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.(모듈화)
예를들어보자
PC방에서 게임을 하는데 연결이 끊겼다.
이때 어디에 문제가 있는지 OSI 7계층으로 확인해보자.
1. 모든 PC가 문제가 있다면 라우터의 문제(3계층 네트워크 계층) 이거나 광랜을 제공하는 회사의 회선 문제(1계층 물리 계층) 일것이다.
2. 하나의 PC만 문제가 있고 롤 소프트웨어에 문제가 있다면 (7계층 어플리케이션 계층) 문제일 것이다.
3. 롤 소프트웨어에 문제가 없고, 스위치에 문제가 있다면(2계층 데이터링크 계층) 문제일 것이다.
이렇게 계층개념을 알고있으면 무심코 자리이동이나 pc방을 옮길일이 줄어들 것이다.
2. OSI 7계층 단계

1계층 - 물리계층 (Physical Layer)
- 실제 장치를 연결하기 위한 전기적 및 물리적 세부 사항을 정의한 계층이다.
- 인터넷 케이블,라우터 스위치 등의 전기적 신호가 물리적인 장치에 의해 통신 하는 계층이다.
- 이 계층에서는 단지 데이터를 전달만 할 뿐 전송하려는(또는 받으려는) 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않고 단지 데이터를 전기적인 신호로 변환해서 주고 받는 기능만 할 뿐이다.
- 하드웨어적인 특성을 가지고 있다.
- 단위는 비트이다.


장비: 통신 케이블, 리피터, 허브
2계층 데이터 링크 계층(Data Link Layer)
- 데이터 링크 계층은 직접 연결된 서로 다른 2개의 네트워킹 장치 간의 데이터 전송을 담당하는 계층을 말한다.
- 이 계층에서 전송되는 데이터를 프레임(frame)이라고 한다.
- 이 계층에서 사용되는 다양한 프로토콜들은 용도에 따라 프레임의 종류, 길이 등의 정보를 정의한다.
- MAC(Media Access Control)이라고 하는 매체 접근을 제어하는 기능을 합니다.
MAC : 컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소
- 48 비트 길이의 주소를 가짐.
- MAC 주소 (MAC Address)
- 물리 주소(Physical Address)
- 하드웨어 (Hardware Address)
- Burned-in Address
- 하드웨어와 소프트웨어 두가지 특성을 모두 지닌다.
주요 역할
- 프레이밍(Framing) : 물리계층을 통해 수신한 신호를 조합하여 프레임 단위의 정해진 크기의 데이터 유닛으로 만들어 처리해준다.
- 흐름제어(Flow Control): 송신 측과 수신 측 간에 데이터를 주고받을 때, 너무 많거나, 너무 적게 데이터를 송수신하지 않도록 데이터 흐름을 적절히 제어해준다.
- 오류제어(Error Control) : 프레임 전송 시에 발생한 오류를 복원하거나 재전송해준다.
- 접근제어(Access Control): 매체 상에 통신 주체 (장치)가 여럿 존재할 때, 데이터 전송 여부를 결정
- 동기화(Synchronization): 프레임 구분자 (특별한 비트패턴)
아파트 정문에 아파트 경비원이 서있다고 합시다.
그럼 경비원은 목적지가 어디인 사람이 오면 이쪽으로 가라 저쪽으로 가라 해줍니다. 이러한 일을 해주는 것을 통신에서는 네트워크 계층의 IP프로토콜이 하는일입니다. 데이터링크는 그런 걸 신경쓰지 않습니다. 갈래길이 있는 경비원에게 까지만 안내를 하는게 데이터 링크 입니다.
이게 메인 역할이고 이 사람이 쓰러지지 않고, 사고가 나지 않게 해주는 여러 역할들도 해줍니다.
장비: 브리지, L2 스위치
3계층 네트워크 계층 (Network Layer)
- 네트워크의 핵심인 라우팅(데이터가 가야 할 길을 찾는 기능)의 대부분이 3계층인 네트워크 계층에서 작동합니다.
- 이 계층은 여러 대의 라우터들을 바탕으로 데이터를 패킷 단위로 잘게 쪼개어 전송하는 층위에 해당합니다.
- 데이터가 전송될 수 있는 수 많은 경우의 수 중 가장 효율적인 라우팅이 방법을 찾는 것 또한 이 단계에서 가능해집니다.
한마디로 말하면 패킷을 네트워크 간의 IP를 통해 효과적으로 데이터를 전달하는 계층을 말합니다.
주요역할
- 패킷 전달 (Packet Forwarding) : 종단 간 (end-to-end)의 패킷 전달을 수행.
- 라우팅(Routing): 종단 간 패킷을 전송할 때, 라우팅 프로토콜을 기반으로 가장 효율적인 경로를 선택하여 패킷을 전송할 수 있게 함
- 논리적인 주소(Logical Addres) 사용 : IP주소를 사용하여 사용자 데이터를 목적지 장치까지 전달. 즉 전송 계층으로부터 받은 데이터에 송수신 장치의 IP 주소들을 포함하는 IP 프로토콜 헤더를 붙여 캡슐화를 수행한 후 패킷을 전송
철수와 영희가 동일한 LAN에 연결되어 있다고 가정하고, 철수가 영희에게 메시지를 보내려 한다고 생각해 보겠습니다. 철수는 영희와 동일한 네트워크에 있으므로 네트워크를 통해 직접 영희의 컴퓨터에 메시지를 보낼 수 있을 것입니다. 하지만 영희가 몇 km 떨어진 다른 LAN에 연결되어 있다면 철수의 메시지에 주소를 붙인 후 영희의 네트워크에 보내야 영희의 컴퓨터에 도달할 것입니다. 이것이 네트워크 계층의 프로세스입니다.
주요 프로토콜: IP, ARP, ICMP 등
장비: 라우터, L3 스위치가 있다.
4계층 전송 계층 (Transport Layer)
- 데이터의 전송을 담당하는 계층입니다.
- Port 번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스 까지 데이터가 도달하게 하는 모듈입니다.
- 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공할 수 있으며 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할을 합니다.
- 데이터의 단위는 TCP일 경우 세그먼트(segment)단위, UDP일 경우 user datagram 입니다.
전송계층의 특징은 신뢰성/정확성과 효율성으로 구분할 수 있습니다.
- 신뢰성/정확성: 데이터를 목적지에 문제없이 전달하는 것
- 효율성: 데이터를 빠르고 효율적으로 전달하는 것
여기서 신뢰할 수 있고 정확한 데이터를 전달하는 통신을 연결형 통신이라고 하고,
연결형 통신: 신뢰성/정확성이 우선인 통신이라서 여러 번 확인하고 보내는, 상대편과 확인해가며 통신하는 방식
효율적으로 데이터를 전달하는 통신을 비연결형 통신이라고 합니다.
비연결형 통신: 효율성이 우선인 통신이므로 확인 절차 없이 일방적으로 데이터를 전송하는 방식
연결형 통신 프로토콜에는 TCP가 사용 되고
비연결형 통신 프로토콜에는 UDP가 사용됩니다.

- TCP : 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 수신 여부를 확인하며 ‘가상회선 패킷 교환 방식’을 사용합니다.
- UDP: 순서를 보장하지 않고 수신여부를 확인하지 않으며 단순히 데이터만 주는 ‘데이터 패킷 교환 방식’을 사용합니다.
✅ 5계층부터는 애플리케이션에 관련된 층이라고 볼 수 있다.
물리 ~ 전송 계층까지는 주된기능이 단순히 데이터를 전달하는 것이였다면
세션계층에서 응용 계층까지의 상위계층의 주된 기능은 데이터를 송수하는 양쪽의 종점 컴퓨터 내의 프로세스간의 통신 프로토콜이라 할 수 있다.
- 주요 프로토콜 : TCP, UDP
- 주요 장비 : L4 Switch
5계층 세션 계층 (Session Layer)
- 컴퓨터끼리 통신을 하기위해 세션을 만드는 계층입니다.
- 애플리케이션간에 세션을 구축하고 관리하며 종료시키는 역할을 합니다.
- 단위는 데이터(Data) 또는 메세지(Message)입니다.
6계층 표현 계층 (Presentation Layer)
- 데이터의 형식을 정의하는 계층
- 각각의 애플리케이션들이 정보를 서로 잘 통신할 수 있도록 필터하고 변환하는 층이라고 설명할 수 있습니다.
- 응용계층으로부터 넘겨받은 데이터를 세션계층이 다룰 수 있는 형태로 바꾸고 반대로 세션계층에서 넘겨받은 데이터를 응용계층에서 넘겨받은 데이터를 응용계층이 이해할 수 있는 형태로 바꾸고 전달하는 일을 담당합니다.
- 데이터 변환의 대표적인 것이 인코딩, 디코딩과 암호화입니다.
- 단위는 데이터(Data) 또는 메세지(Message)입니다.
7계층 응용 계층 (Application Layer)
사용자가 네트워크에 접근할 수 있도록 인터페이스를 제공하는 계층입니다.
사용자에게 가장 직접적으로 보이는 부분이 바로 이 응용 계층에 해당하는 것입니다. 구글의 크롬과 같은 브라우저나 스카이프, 아웃룩 등의 응용프로그램이 이 응용 계층에서 동작합니다.
3. OSI 모델 vs TCP/IP 모델
- 사실 현대의 인터넷은 OSI 모델이 아니라 TCP/IP 모델을 따르고 있습니다.
- TCP/IP 모델도 OSI 모델과 마찬가지로 네트워크 시스템에 대한 모델입니다.
- 현대의 인터넷이 TCP/IP 모델을 따르는 이유
- 우선, 아무래도 간결함이 큰 차이인 것 같다. 그렇기에 구분이 모호한 전송-세션-표현 등을 그룹화한 이점이 있다. (반대로, SSL과 같은 HTTPS 통신을 설명하려면 OSI 7계층이 좀 더 유리할 수 있다.)
- 또한, TCP/IP 프로토콜이 OSI 모델보다 먼저 개발되었기에, OSI 7계층이 이를 완벽하게 반영하진 않을거라 추측된다.
- 그리고, TCP/IP는 실제 인터넷 통신을 반영하기에 현실적이며, 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수하다.
4. OSI 7계층 쉽게 외우는 방법

Reference
https://www.youtube.com/watch?v=1pfTxp25MA8&t=51s
https://jhnyang.tistory.com/category/별걸다하는 IT/네트워크소켓통신
https://onecoin-life.com/19
https://abangpa1ace.tistory.com/147