◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
OSI (Open Systems Interconnection)
OSI 7 계층 모델이란?
OSI 7 계층 모델은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.
→ 즉 컴퓨터와 컴퓨터가 통신하는데 필요한 과정을 7단계로 나눈거다.
국제표준화기구(ISO)에서 1970년대 후반에 개발한 모델로, 컴퓨터 네트워크 통신을 계층으로 나누어 개념적으로 설명한다.
현재의 인터넷 환경에서는 주로 TCP/IP 모델이 채택되지만, OSI 모델은 여전히 교육 및 이해의 목적으로 사용되고 있다.
OSI 7 계층을 나눈이유는?
통신이 일어나는 과정이 단계별로 파악할 수 있다.
통신 흐름을 한눈에 알아보기 쉽고, 이해하기 쉽다.
7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있다.
OSI 7 계층
[L7] | 7계층 | 응용 계층 | (Application Layer) |
[L6] | 6계층 | 표현 계층 | (Presentation Layer) |
[L5] | 5계층 | 세션 계층 | (Session Layer) |
[L4] | 4계층 | 전송 계층 | (Transport Layer) |
[L3] | 3계층 | 네트워크 계층 | (Network Layer) |
[L2] | 2계층 | 데이터 링크 계층 | (Data Link Layer) |
[L1] | 1계층 | 물리 계층 | (Physical Layer) |
물리 계층 (1층)
Physical Layer [L1]
[단위: Bit] 물리 매체를 통한 네트워크 통신
물리 계층에서는 전기적, 기계적, 물리적 특성에 집중한다.
물리적인 매체(케이블, 허브 등)를 통해 비트를 전송하는 역할을 한다.
예시) 허브 (Hub), 리피터 (Repeater), 케이블 (Cable)
데이터 링크 계층 (2층)
Data Link Layer [L2]
[단위: Frame] 프레임(Frame) 흐름 제어 및 오류 제어
(물리 계층을 통해 연결된 네트워크를) 데이터 링크 계층은 두 시스템을 보다 효율적이고 안전하게 연결하는 데 집중한다.
데이터 링크 계층에서의 연결을 광범위한 인터넷 연결이 아닌, 인접한 장치 간의 통신이다.
교실에서 디바이스끼리 연결 (✅),
해외에 있는 디바이스에 연결(❌)
데이터 링크 계층은 패킷을 프레임(Frame)이라고 불리는 더 작은 조각으로 세분화한다.
데이터 프레임 전송을 담당하며, 프레임의 생성, 주소 지정, 오류 감지 및 수정, 그리고 흐름 제어를 수행한다.
Data Link Layer의 역할
- 프레이밍 (Framing): 프레임 생성
- 주소 할당, 확인 (Mac Address)
- 실패 감지 (CSMA/CD, CSMA/CA)
- 오류 감지 (CRC)
🖼️ 프레임(Frame)이란?
프레임(Frame)은 데이터 링크 계층에서 사용되는 기본적인 단위로, 네트워크에서 데이터를 전송할 때 사용된다.
프레임은 일종의 데이터 패킷으로 생각할 수 있다.
🏠 MAC Address란?
MAC (Media Access Control)는 디바이스(컴퓨터)를 식별하기 위한 고유한 주소이다.
이것은 데이터 링크 계층에서 사용되며, 네트워크에 연결된 각 네트워크 장치에 할당된다.
MAC 주소 길이: 48비트
예시) 00:1A:2B:3C:4D:5E
🔌 Ethernet (이더넷) 이란?
일반적으로 사무실, 학교, PC방 등의 LAN(근거리 통신망) 환경에서 데이터를 주고 받기 위해 활용되는 기술 규격이다.
1980년에 상용화 되었으니 꽤 오래된 방식이나 현재도 건재하게 버티고 있다.
허브, 스위치와 같은 장비에 연결된 같은 네트워크 안의 컴퓨터끼리 데이터를 주고 받을 때 사용되며,
유선 인터넷이 된다면 이더넷을 쓰는 환경이라고 생각하면 된다.
Ethernet의 프레임 형식
8 Byte
|
6 Byte
|
6 Byte
|
2 Byte
|
46~ 1500 Byte
|
4 Byte
|
P
|
DA
|
SA
|
T
|
Information
|
CRC
|
P : Preamble (프리앰블)
DA : Destination Mac Address
SA: Source Mac Address
T: Ethernet Type
CRC: Cyclic Redundancy Check Code
🌐 LAN 이란?
LAN (Local Area Network) 좁은 공간(빌딩, 캠퍼스 등등)에서 배치된 네트워크.
LAN 외에 다른 네트워크
– Metropolitan Area Network (MAN)
– Wide Area Network (WAN)
예시) 허브 (Hub), 네트워크 스위치(Network Switch), 브리지(Bridge)
네트워크 계층 (3층)
Network Layer [L3]
[단위: Packet] 라우팅과 패킷 전송을 담당
컴퓨터 네트워크에서 패킷을 목적지까지 전달하는 역할을 담당한다.
IP 주소를 사용하여 다른 네트워크 간의 통신을 관리한다
(인터넷 프로토콜 IPv4 및 IPv6가 주로 네트워크 계층 프로토콜로 사용된다)
주로 라우팅, 패킷 전달, IP 주소 할당 등의 기능을 수행한다.
라우터 등이 동작하는 계층이다.
예시) 라우터(Router), IP 주소 할당 장치(DHCP Server), 네트워크 주소 변환기(NAT), 방화벽(Firewall)
전송 계층 (4층)
Transport Layer [L4]
신뢰성 있는 데이터 전송: 패킷의 손실이나 오류의 제어와 원활한 복구
통신하는 응용 프로그램 간에 신뢰성 있는 데이터 전송을 담당한다.
전송 계층은 데이터 패킷이 손실이나 오류 없이 올바른 순서로 도착하는 것이나 데이터 패킷을 원활하게 복구하는 것에 중점을 둔다.
TCP(신뢰성 있는 통신)와 UDP(비연결형 통신)는 여기에 속한다.
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
전송 계층은 상위 계층에서 받은 데이터를 세그먼트(segment)라 불리는 작은 단위로 분할한다.
그리고 목적지에서 재조립하여 데이터의 신뢰성과 효율성을 보장한다.
TCP와 UDP의 비교
TCP | UDP | |
연결 | 연결 | 비연결 |
연결 방식 | 연결을 설정하고 데이터를 안정적으로 전송한 다음, 연결을 종료 | 연결 설정 과정이 없이 데이터를 전송 |
신뢰성 | 높다 | 낮다 |
속도 | 느리다 | 빠르다 |
데이터 손실 | 거의 손실 없다. 데이터가 손실되거나 손상된 경우에 재전송을 통해 안정적인 통신을 제공합니다. |
손실이 있을 수 있다. 데이터를 전송하고 받는 것에 중점을 두며, 손실이나 순서 변경에 대한 보장이 없다. |
통신 방식 | 양방향 통신(Full Duplex Communication) 클라이언트와 서버가 동시에 데이터를 주고 받는다. |
일방향 통신(One-way Communication) |
헤더 크기 | 상대적으로 큰 헤더 크기를 가지고 있다. (연결 설정 및 관리, 에러 복구 등을 위한 정보를 담고있다) |
작은 헤더 크기를 가지고 있다. (기본적인 헤더 정보만을 가지고 있기 때문에 상대적으로 경량) |
사용 예시 | 파일 전송, 이메일 전송 | 동영상 스트리밍 |
Physical Layer(1계층) ~ Transport Layer(4계층)의 주된 기능은 데이터를 전달하는 것이다.
5계층부터는 데이터를 송수신하는 양쪽 종점 컴퓨터 내의 프로세스들 간의 통신 프로토콜이라 할 수 있다.
세션 계층 (5층)
Session Layer [L5]
두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층.
통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다..
여기서 세션을 설정, 유지, 종료하는 역할을 수행합니다.
세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.
또한 세션 계층은 데이터 전송을 체크포인트와 동기화합니다.
예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있다.
52MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능하다.
즉, 50MB의 데이터만 더 전송하면 된다. 체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 한다.
표현 계층 (6층)
Presentation Layer [L6]
표현 계층에서는 데이터의 형식을 변환하고 암호화/복호화를 담당한다.
데이터를 애플리케이션 계층에서 사용할 수 있는 형식으로 변환한다.
서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 표현 계층 은 수신 장치의 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당한다.
예를 들어 하이퍼텍스트 마크업 언어(HTML), JavaScript 객체 표기법(JSON), 쉼표로 구분된 값(CSV)은 모두 프레젠테이션 계층의 데이터 구조를 설명하는 모델링 언어입니다.
응용 계층 (7층)
Application Layer [L7]
이 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다. (유저와 가장 가까운 층)
전송된 메일, 사진, 동영상 등이 크롬이나 사파리 등의 응용프로그램을 통해 사용자가 눈으로 확인할 수 있는 과정이며, 이 데이터들은 해당되는 프로토콜(HTTP, FTP, SMTP 등)에 의해 처리된다.
예를 들어 브라우저는 HTTPS을 사용하여 통신할 수 있고, 이메일 클라이언트는 POP3및 SMTP를 사용하여 통신할 수 있다.
'네트워크' 카테고리의 다른 글
[네트워크] HTTP와 HTTPS 차이점 및 개념 쉽게 정리 (1) | 2024.03.01 |
---|---|
[네트워크] SSL/TLS 쉽게 개념 및 특징 정리 (0) | 2024.03.01 |
[네트워크] RESTful API란? 쉽게 개념 및 특징 정리 (REST와 REST API) (0) | 2024.02.27 |
[네트워크] URI, URL, URN 아주 쉽게 정리 (리소스의 개념) (0) | 2024.02.26 |
[네트워크] 네트워크 전달 방식 쉽게 이해하기 (Packet Switching, Circuit Switching) (1) | 2024.02.25 |