네트워크 란?
컴퓨터 혹은 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계
네트워크의 대표적인 기능들
- 애플리케이션 목적에 맞는 통신 방법 제공
- 신뢰할 수 있는 데이터 전송 방법 제공
- 네트워크 간의 최적의 통신 경로 결정
- 목적지로 데이터 전송
- 노드 사이의 데이터 전송
네트워크 프로토콜
통신 기능이 제대로 동작하기 위해 통신 참여자들 사이에 약속된 통신 규약
위의 네트워크 기능과 역할이 많아 하나의 프로토콜로 정의하기 어렵다.
**모듈화** 를 통해 기능 별로 분리해서 관리한다.
OSI model( 7 layers )
네트워크가 수행하는 역할(기능) 별로 계층적 구조를 가지게 만들어 범용적인 네트워크 구조를 만드는 것.
*TCP/IP* 스택 ( 4 layer )은 인터넷에 특화된 네트워크 구조이다.
가장 아래부터 L1 ~ L7 으로 불린다. 각 layer 에 맞게 프로토콜이 세분화돼서 구현.
각 layer 에서 사용하는 프로토콜들은 하위 layer 에서 사용한 프로토콜이 제공하는 기능을 사용하여 동작한다.
L7 ( applicationn layer ) : 애플리케이션 목적에 맞는 통신 방법 제공
ex ) HTTP, DNS, SMTP, FTP
파일 업로드 시 FTP 프로토콜
이메일 전송 시 SMTP 프로토콜
사용자에게 웹 을 보여주기 위해서는 HTTP 프로토콜
.com 처럼 도메인을 IP 주소로 변환할려면 DNS 프로토콜
실제 데이터가 오가는지는 L7 에서의 관심사가 아니다. 그 데이터가 오가는 기능을 이용한 여러 프로토콜을 사용하는것이 L7 의 목적이다.
L6 ( presentation layer ) : 애플리케이션 간의 통신에서 메시지 포맷을 관리
인코딩 <> 디코딩 , 암호화 <> 복호화, 압축 <> 압축 풀기
L5 ( session layer ) : 애플리케이션 간의 통신에서 세션을 관리
RPC ( remote procedure call ) 가 세션 layer 에서 동작한다.
rpc - 네트워크를 통해 서로 다른 프로세스 혹은 시스템에서 함수나 프로시저를 호출 할 수 있도록 만드는 메커니즘
프로세스 간의 논리적 연결 담당. 포트 번호를 기반으로 연결.
중단 및 오류 발생 시 해당 지점에서 다시 통신 시작할 수 있도록 동기화 ( 동기점 설정 )
데이터 전송과 관련한 세션을 유지 시켜주는 계층이다.
세션 보안을 위한 SSL/TLS 같은 프로토콜이 존재
이 L5~L7까지는 애플리케이션과 과련한 기능을 담당한다.
L4 ( Transport layer )
- 애플리케이션 간의 실제 통신 담당
- 목적지 애플리케이션으로 데이터 전송
- 안정이고 실회할 수 있지만 오버헤드가 더 클 수 있는 프로토콜이 TCP
- 안정적이지는 않지만 더 빠르게 데이터를 보내는 프로토콜이 UDP
- 목적지 애플리케이션에 데이터를 전송하기 위해서 어떤 프로토콜을 쓸지 결정하는 layer 이다.
- 실제 목적지까지 찾아가게 하는 기능을 만드는 것은 네트워크 layer이다.
L3 ( Network layer )
- 호스트 간의 통신 담당 (IP 주소 활용)
- 목적지 호스트로 데이터 전송
- 네트워크 간의 최적의 경로 결정
네트워크를 담당하는 라우터들도 네트워크 구조를 이루고 있어야 호스트 간 통신이 가능하다.
L3에서 대표적인 프로토콜이 IP 프로토콜이다.
이 계층에서도 전체적인 경로를 담당하는거지 실제 노드와 라우터 간에 어떻게 상호작용하는지까지 아는게 아니다. 이것은 그 아래 계층에서 이루어진다.
L2 ( Data link layer )
- 직접 연결된 노드 간의 통신 담당
- MAC 주소 기반 통신 (ARP)
Mac 주소 기반으로 통신하기 때문에 네트워크 계층의 IP주소를 MAC 주소로 변환해주어야한다. 이때 사용하는 프로토콜이 ARP 프로토콜이다.
L1 (Physical layer)
물리적 매개체를 통해서 데이터를 bits 단위로 전송하는 역할을 한다.
라우터 - 통신을 돕는 장치
통신을 돕는 역할이기 때문에 L1 ~ L3 까지의 프로토콜을 구현되어 있다.
통신시 L7 >> L1 순으로 시작한다.
1. L7 ~ L1 까지 필요한 처리를 하며 데이터를 포장한다.
2. L1까지 내려와 포장이 끝나면 라우터가 포장된 데이터 ( 패킷 ) 을 받는다.
3.다시 라우터는 본인이 가지고 있는 L1 ~ L3 까지의 계층을 올라가면서 L3 에서 다시 목적지 호스트를 찾는다.
4. 라우터 내에서 다시 L3 ~ L1 으로 최종 목적지 호스트를 기준으로 다시 패킷을 포장한다.
5. 이제 라우터에 다시 데이터를 목적지에 보내고 도착하면 L1 ~ L7 레이어까지 올라가면서 포장된 데이터를 뜯으면서
최종적으로 L7 애플리케이션에 도달하면서 통신에 성공한다.
TCP/IP 모델 ( 4 layers )
인터넷 프로토콜 스택이다. OSI 7계층을 변형하여 인터넷 통신에 주로 사용되지는 모델이다.
- OSI 의 application, presentation, session 을 하나의 application 계층으로 관리
- OSI 의 data link, physics 계층을 하나의 access 계층을 관리
- OSI 의 network 계층을 internet 계층으로 관리
주요 계층별 기능은 OSI 와 흡사하다.
L4 ( application layer )
- 데이터 형식, 인터페이스, 애플리케이션 통신 담당
- 애플리케이션 내에서의 요청 데이터를 생성 및 수신 후 처리
주요 사용 프로토콜 :
- HTTP/HTTPS : 웹 페이지 통신
- SMTP : 이메일 통신
- FTP : 파일 통신
- DNS : 도메인 을 IP 주소로 변환해주는 프로토콩
- SSH : 원격 기능 관련 프로토콜
L3 전송 계층 (Transport Layer)
역할:
프로세스 간 통신을 담당.
데이터의 신뢰성, 흐름 제어, 오류 복구 관리.
데이터를 세그먼트로 나누고, 수신 측에서 재조립
TCP (Transmission Control Protocol):
- 연결형 프로토콜.
- 신뢰성과 순서 보장.
- 재전송 및 오류 복구 기능.
UDP (User Datagram Protocol):
- 비연결형 프로토콜.
- 빠르지만 신뢰성 낮음.
L2 (Internet layer)
- 호스트 간 통신 담당
- 데이터를 패킷 단위로 나누어 IP 주소로 경로 전달이 가능하도록한다.
- 라우팅 기능으로 최적 경로 설정 수행
주요 사용 프로토콜
- IP : 데이터 전달을 위한 주소 지정 및 라우팅 역할
- ICMP : 네트워크 에러 확인 및 메시지 전송 역할
- ARP : IP 주소를 MAC 주소로 변환
- RARP :: MAC 을 IP 주소로 변환
L1 (Network Access layer)
- 데이터 전송을 위한 물리적 연결 관리
- LAN, WAN 네트워크와 같은 물리적 네트워크에서 프레임 전송
- 하드웨어와의 통신 가능
- 실제 데이터를 다음 노드로 보낸다.
주요 사용 프로토콜
- ETHERNET : 유선 LAN
- Wi-Fi : 무선 LAN
MAC 주소 기반 통신이 이루어진다.
'네트워크' 카테고리의 다른 글
Reliable 와 TCP 프로토콜의 차이점 (0) | 2024.11.24 |
---|---|
TCP/UDP 프로토콜 (0) | 2024.11.23 |