네트워크
네트워크는 컴퓨터와 컴퓨터가 연결되어 서로 정보를 주고 받을 수 있는 물리적인 인프라를 말한다. 이러한 네트워크는 하드웨어와 운영체제 그리고 응용 소프트웨어의 결합으로 동작하며 표준화된 규격을 통해 정의되어 있다.
분류
네트워크는 LAN, MAN, WAN 순으로 분류된다. LAN이 가장작은단위, WAN이 가장 큰
단위이다.
LAN
LAN(local area network, 근거리 통신망)은 MAN, WAN보다 높은 안정성, 속도를 가진다. 소규모네트워크(집,사무실)이며 보통 허브나 스위치로 연결된 네트워크를 말한다.
MAN
MAN(metropolitan area network, 대도시 통신망)은 도시와 도시의 통신망을 뜻하며 2개 이상의 LAN이 연결되어 구성된다. 라우터,브리지 등으로 연결된다.
WAN
WAN(wide area network, 광역 통신망)은 국가와 국가와의 통신망을 뜻하며 인터넷이라고도 한다. 수많은 라우터를 거쳐 다른 국가와도 연결되는 범위를 말한다.
프로토콜
프로토콜은 컴퓨터와 컴퓨터간에 데이터를 주고 받기 위한 일련의 규격을 말하는 것으로 대표적인 프로토콜은 다음과 같다.
- TCP/IP: 오늘날 컴퓨터 네트워크의 기본 프로토콜. 인터넷도 TCP/IP 기반.
- HTTP: 월드와이드웹의 기본 프로토콜.
- SMTP: email 을 주고받기 위한 기본 프로토콜.(pop3, IMAP도 있음)
- FTP: 파일전송 프로토콜.
OSI 7계층
OSI 7계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델이다.
- 계층을 지날 때 마다 헤더(Header)가 붙는데, 이것은 해당 계층의 기능과 관련된 제어 정보가 포함 되어 있다.
- 송신측 : 목적지가 정해지면 Encapsulation 과정을 통해 데이터가 만들어진다.
- Encapsulation(캡슐화) : 데이터가 하위 계층으로 넘어오면서 header가 붙는 과정
- 수신측 : 데이터를 받으면 Decapsulation 과정을 통해 데이터를 확인한다.
- Decapsulation(역캡슐화) : 추가 정보를 제거하고 수신지의 계층까지의 응용 데이터만을 상위 계층으로 보내는 과정
- 데이터 통신을 하는데 있어 PDU를 표준으로 통신한다.
계층을 나눈 이유
1. 각 계층은 독립적인 역할을 부여 받아 동작하므로 문제 발생 시 현상에 따라 원인 파악이 용이하다.
2. 각 계층에서의 작업을 시각적으로 표현할 수 있다.
Physical Layer(L1)
- 전기적, 기계적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 역할을 수행한다.
- 전송 단위 : bit
- 장비
- 허브 & 리피터 : 하나의 네트워크망 안에서 전기신호를 재생하고 증폭시키는 역할
- 케이블 : 물리적으로 전기신호를 전송하는 역할
DataLink Layer(L2)
- 같은 네트워크에 있는 여러대의 컴퓨터들간의 데이터를 전송하는 역할을 수행한다.
- 스위치로 들어오는 각각의 데이터들에 대해 header와 tailer 비트를 넣어줘서 데이터간 구분이 가능하도록 작업해주는데 이를 프레이밍이라고 한다.
- 물리적 계층을 통한 데이터 전송에 신뢰성을 보장한다.
- 물리적인 장치를 식별하는데 사용할 수 있는 주소 지정 체계인 mac을 부여한다.
- 프로토콜 : MAC, Lan, Wifi
- 전송 단위 : frame
- 장비
- 브리지 : 하나의 네트워크망 안에서 서로 다른 LAN을 연결
- 스위치(L2)
- 일반적으로 부르는 스위치
- 목적지의 MAC 주소를 가지고 있는 포트에만 프레임을 전송한다.
- 동일 네트워크간 열결만 가능
Network Layer(L3)
- 목적지 네트워크 주소(IP)를 정하고, 그에 따른 경로(Route)를 선택하고, 경로에 따라 패킷을 전달해 주는 역할을 수행한다.
- 라우팅을 통해 패킷의 최적 이동경로를 결정하고 포워딩으로 패킷을 다음 라우터에 전송한다.
- 프로토콜 : IP, ICMP(ping 체크)
- 전송 단위 : packet
- 장비
- 라우터
- 라우팅 알고리즘을 통해 패킷의 목적지까지의 경로 설정
- 서로 다른 네트워크의 다양한 스위치를 상호 연결하여 더 넓은 네트워크를 형성
- L3 스위치
- L2 스위치에 라우터 기능이 추가
- IP 주소를 기반으로 패킷 전송 및 네트워크 연결
- 라우터와 거의 동일
Transport Layer(L4)
- EndPoint의 사용자들이 신뢰성 있는 데이터를 주고받게 해주는 역할을 수행한다.
- 오류 검출 및 복구, 흐름 제어와 중복 검사 등을 수행할 수 있다.
- header에 포트 번호가 포함되어 있다.
- 전송 단위 : segment
- 대표적인 프로토콜 : TCP, UDP
- 장비
- L4 스위치
- L3 스위치에 로드밸런서(트래픽 분산 장치) 추가
- IP 주소 및 TCP/UDP를 기반으로 트래픽을 로드밸런싱
Session Layer(L5)
- 네트워크 상 양쪽 연결을 관리하고 연결을 지속시켜주는 계층으로서 세션 생성, 유지, 종료, 전송 중단 시 복구 기능 등을 수행한다.
- TCP/IP 세션을 만들고 없앨 수 있다.
- 프로토콜 : TLS, SSH
- 전송 단위 : data
Presentation Layer(L6)
- 송신 측과 수신 측 사이에서 데이터의 형식(png, jpg 등)을 정해준다.
- 응용 계층으로부터 받은 데이터를 읽을 수 있는 형식으로 변환한다.
- 데이터의 인코딩, 디코딩, 암호화, 복호화 등의 기능을 수행한다.
- 확장자의 개념이 여기서 사용된다.
- 프로토콜 : JPEG, MPEG, ASCII, MIDI
- 전송단위 : data
Application Layer(L7)
- 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 네트워크에 연결하는 역할을 수행한다.
- 사용자로부터 정보를 입력받아 하위 계층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달한다.
- 프로토콜 : HTTP, DNS, SMTP
- 전송단위 : data
- 장비
- L7 스위치
- IP 주소 및 TCP/UDP뿐만 아니라 페이로드까지 분석해 로드밸런싱 가능. 즉 패킷의 내용들(url, 캐시, 쿠키)를 분석해 요청을 분배.
- 방화벽(WAF) 기능을 포함하여 악성 요청을 필터링하거나 인증 및 접근 제어를 수행 가능
TCP/IP 4계층
TCP/IP 4계층은 현재 인터넷에서 사용되는 프로토콜로, 좀 더 실무적이면서 프로토콜 중심으로 단순화된 모델이라고 볼 수 있다. OSI 7 계층보다 TCP/IP 4계층을 더 많이 사용한다.