728x90
320x100
OSI 7계층과 TCP/IP
- OSI 7계층 : 사용자에게 전달되기까지 데이터의 흐름을 역할별로 나누어 단계화함. 층마다 흐르는 데이터의 형태가 변한다.
- 현대 네트워크 프로토콜이 대부분 실제로 TCP/IP 규약을 따름에 따라서, OSI 7계층은 실제보단 개념적이고 형상화된 모형이라고 이해하면 됨.
- TCP/IP : 현대 네트워크 대부분을 이루고 있는 프로토콜 스택.
- 대부분 TCP/IP와 이더넷으로 이루어져 있는데, 이론보다는 실용성에 중점을 둔 프로토콜.
- TCP 와 IP는 별도 계층에서 동작하는 프로토콜이지만, 함께 사용하고 있어 프로토콜 묶음 → TCP/IP 프로토콜 스택이라고 부른다.
- 4계층으로 구분한다.
* 1계층 → Layer 1 → L1 이라고 부릅니다. 편하게 쓰기 위해 이 글에서도 자주 사용할 예정이니 헷갈리지 마세용
나눠놓은 이유?
OSI 7계층과 TCP/IP 스택은 네트워크에서 가장 기본적이고 동시에 필수적인 개념이다. 네트워크를 계층별로 나눠놓은 개념이기 때문에, 복잡한 네트워크를 이해할 수 있다.
흐름 파악이 쉽다 → 이해가 쉽다
단계별로 나뉘어있다 → 이해 및 개발, 유지보수가 쉽다
과거에는 통신용 규약이 표준화되지 않았고 각 벤더에서 별도로 개발했기 때문에 호환되지 않는 시스템이나 애플리케이션이 많았고 통신이 불가능했습니다. 이를 하나의 규약으로 통합하려는 노력이 현재의 OSI 7계층으로 남아 있습니다. OSI 7계층이 네트워크 동작을 나누어 이해하고 개발하는 데 많은 도움이 되므로 네트워크의 주요 레퍼런스 모델로 활용되고 있지만 현재는 대부분의 프로토콜이 TCP/IP 프로토콜 스택 기반으로 되어 있습니다.
OSI 7계층
- 국제 표준화 기구인 ISO(International Standardization Organization)에서 개발한 모델.
- 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명
- 각 계층은 서로 독립적
- Encapsulation (캡슐화) : 데이터를 전송할 때 계층을 지날 때 마다 인식할 수 있는 헤더를 붙이는 과정
- Decapsulation : 수신된 데이터가 계층을 지날 때 마다 헤더가 벗겨짐
- 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공한다.(캡슐화)
- 계층을 지날 때 마다 해당 계층의 기능과 관련된 제어 정보가 포함된 헤더(Header)가 붙는다.
- 1~4계층 : 하위 계층(Lower Layer) / Data Flow Layer
- 5~7계층 : 상위 계층(Upper Layer) / Application Layer
각 계층별 프로토콜과 전송 단위, 장비를 정리하면 위와 같다.
이제 각 계층이 어떤 일을 하는지 더 자세히 알아보자.
(각 프로토콜에 대해서는 해당 내용을 더 자세히 다룰 때 볼 예정이며, 지금은 계층별 역할에 집중)
1계층 : 물리 계층 (Physical Layer)
* 2 계층 데이터 링크 계층의 전송 단위는 프레임(Frame)
- 역할
- 물리적 연결과 관련된 정보 → 통신 케이블로 전기 신호 전달
- ONLY 데이터 전달 (데이터의 종류, 상태, 에러 주소 등의 개념 X)
- 각 계층을 타고 전달된 데이터를 비트(Bit, 전기적인 신호)로 변환시켜 통신
- PDU(단위)
- 비트(Bit) → 흔히 아는 0/1 의 On/Off
- 장비
- 허브(Hub), 리피터(Repeater), 케이블(Cable), 커넥터(Connector) 등
2계층 : 데이터 링크 계층 (Data Link Layer)
* 3계층 네트워크 계층의 전송 단위는 패킷(Packet)
- 역할
- MAC 주소 부여, 노드 간 오류제어, 흐름제어, 회선제어 (cf. L2 오류제어: 노드간 / L4 오류제어: 단대단)
- 전기 신호를 모아 데이터 형태로 처리
- L1을 통해 송수신되는 정보의 오류, 흐름 관리 → 주소 확인 후 제대로 보냈는지 등 검사 후 데이터 처리
- L1이 전달에 초점이라면, L2는 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는데 초점
- 주소 → MAC 주소 사용 (MAC address: 물리적 주소, 네트워크 인터페이스* 에 고유 할당)
- PDU(단위)
- 프레임(Frame) → MAC주소와 제어정보 전송
- 프로토콜
- LAN : ETHERNET, IEEE802(2)
- WAN : PPP(Point-to-Point Protocol), HDLC(High-Level Data Link Control), SLIP 등
- 장비
- L2 스위치, 브리지
* 네트워크 인터페이스 카드(Network Interface Card) 또는 네트워크 인터페이스 컨트롤러(Network Interface Controller) :
보통 NIC으로 부릅니다. PC나 서버에서 네트워크를 연결해주는 카드나 인터페이스를 지칭합니다.
✏️ 관련 포스팅
3계층 : 네트워크 계층 (Network Layer)
* 4계층 전송 계층의 전송 단위는 세그먼트(Segment)
- 역할
- IP주소 부여, 라우팅
- 논리적인 주소(IP주소) 정의 (cf. L2 MAC 주소 : 물리 주소 / L3 IP 주소 : 논리 주소)
- 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)
- 자신이 속한 네트워크와 외부 네트워크를 구분하고, 외부 네트워크로 가는 경로 지정
- 라우터가 IP 주소를 사용해 경로설정 → 해당 경로로 패킷 전송
- 패킷을 전달하는 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단 제공
- PDU(단위)
- 패킷(Packet)
- 프로토콜
- 장비
- 라우터, L3 스위치(라우터와 같은 역할)
ICMP, ICMP?
ICMP(Internet Control Message Protocol) : IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜, Ping 유틸리티 구현
IGMP(Internet Group Management Protocol) : 호스트와 인접 라우터가 멀티캐스트를 구성하는데 사용되는 프로토콜
✏️ 관련 포스팅
4계층 : 전송 계층 (Transport Layer)
* 5 계층 세션 계층의 전송 단위는 데이터(Data)
- 역할
- 종단 간(End-to-End) 신뢰성 있고 정확한 데이터 전송 → 오류제어 / 흐름제어 / 혼잡제어
- 하위 계층(Lower Layer / Data Flow Layer) 의 마지막으로, 아래 계층에서 받은 데이터를 합쳐 L5로 던져준다.
- 아래 L1~3에서 데이터를 올바른 위치로 보내고 신호를 잘 만들어 보내는데 집중했다면,
L4는 해당 데이터들이 정상적으로 잘 보내지도록 확인 - 데이터를 분할해 패킷에 실어 보내다보면 유실되거나 순서가 바뀔 수 있다.
→ L4에서 바로잡아주는 역할 - 유실되면 재전송 요청(오류제어) / 순서가 바뀌면 바로잡음
- 패킷에 보내는 순서 : 시퀀스 번호(Sequence Number, seq)
- 받는 순서 : ACK 번호(Acknowlaedgement Number, ack number)
- PDU(단위)
- 세그먼트(Segment)
- 프로토콜
- 장비
- 로드 밸런서, 방화벽
흐름제어 : 수신자의 처리 능력을 고려해 데이터 송신량을 조절
혼잡제어 : 네트워크가 혼잡할 때 보내는 데이터의 양을 조정
TCP : 신뢰성 있는 연결 지향적 통신을 위해 사용
UDP : 신뢰성 없는 데이터 전송을 위해 사용
✏️ 관련 포스팅
5계층 : 세션 계층 (Session Layer)
- 역할
- 통신장치 간 상호작용 및 동기화
- 세션(데이터 교환)의 설정, 유지, 종료, 복구 등의 세션 관리 : 연결을 성립하도록 도와주고, 연결이 안정적으로 유지되도록 관리한다. 작업 완료 후에는 이 연결을 끊는다.
- TCP/IP 세션을 만들고 없애는 책임
- PDU(단위)
- 데이터(Data)
- 프로토콜
- NetBIOS(Network Basic Input/Output System), RPC(Remote Procedure Call, 원격 프로시저 호출) 등
6계층 : 표현 계층 (Presentation Layer)
- 역할
- 데이터의 형식 변환(인코딩), 암호화, 압축 등과 같은 데이터 표현 담당
- 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능
- PDU(단위)
- 데이터(Data)
- 프로토콜
- JPEG, MPEG, SSL/TLS(Secure Sockets Layer/Transport Layer Security) 등
7계층 : 애플리케이션 계층 (Application Layer)
- 역할
- 사용자와 상호 작용하는 응용 프로그램과 사용자 인터페이스 제공
- 애플리케이션 프로세스를 정의하고 서비스를 수행한다.
- 소프트웨어의 UI나 사용자 입·출력 정의
- PDU(단위)
- 데이터(Data)
- 프로토콜
- HTTP(HyperText Transfer Protocol), HTTPS(HTTP Secure), SMTP(Simple Mail Transfer Protocol), FTP(File Transfer Protocol), POP3(Post Office Protocol Ver3), IMAP(Internet Messaging Access Protocol), Telnet
TCP/IP 프로토콜 스택
- 위에서 설명한 대로 이론보다는 실용성에 중점을 둔 프로토콜
1. 네트워크 인터페이스 계층 (Network Interface Layer)
- OSI 모델의 물리 및 데이터 링크 계층에 해당
- 네트워크 하드웨어와 상호 작용하며, 물리적인 데이터 전송을 처리
- Ethernet, Wi-Fi, PPP(Point-to-Point Protocol) 등
2. 인터넷 계층 (Internet Layer)
- OSI 모델의 네트워크 계층에 해당
- 주소 지정, 라우팅
- IP, ICMP
3. 전송 계층 (Transport Layer)
- OSI 모델의 전송 계층에 해당
- TCP/UDP
4. 응용 계층 (Application Layer)
- OSI 모델의 세션, 표현, 응용 계층에 해당
- 사용자와 직접 상호 작용하는 응용 프로그램
- HTTP, HTTPS, FTP, DNS, SMTP 등 다양한 응용 프로토콜
참고
⌜IT 엔지니어를 위한 네트워크 입문⌟ 길벗, 2023
[1장] 네트워크 시작하기 | 1.3 OSI 7계층과 TCP/IP, 1.4 OSI 7계층별 이해하기 (p.25~35)
* 책을 참고해 필요한 내용을 정리한 것이므로, 책의 내용과 다를 수 있습니다.
300x250
반응형
GitHub 댓글