네트워크 개념
네트워크(Network)는 Net와 Work의 합성어로, 그물을 짜는 행위, 즉 그물처럼 연결된 상태를 뜻한다.
1960년대, 미국에서 하나의 거대한 메인 프레임의 성능을 다수의 사람이 동시에 활용할 수 있도록 하기 위해 여럭 대의 단말기를 메인 프레임과 전화선으로 연결한 것이 네트워크의 시작이 되었다.
회선 교환 방식(Circuit Exchange Method)은 데이터를 교환하기 위해 1:1로 연결된 데이터 통로(회선)를 만들고 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식이다. 전화는 일대일로 데이터를 교환하고, 전화 간 통화 중에는 다른 상대와 전화통화가 불가능하다. 따라서 음성전화 시스템에는 회선 교환 방식이 주로 사용된다.
패킷 교환 방식(Packet Exchange Method)은 데이터를 패킷이라는 작은 단위로 나누고, 헤더라는 정보를 붙여 데이터를 교환하는 방식이다. 헤더에는 송수신 포트번호, 패킷 순서 번호, 데이터 시작 위치, 한번에 전송할 수 있는 데이터 양 등이 포함된다. 여기서 패킷(Packet)은 소포라는 뜻으로, 패킷이라는 택배 물품에 헤더라는 송장을 붙여 보내는 개념으로 생각하면 된다. 패킷 교환 방식은 필요한 만큼만 회선을 이용하며 같은 회선을 다른 사용자도 함께 사용할 수 있다. 패킷이 손상될 경우에는 데이터 전체를 다시 보내지 않고 손상된 패킷만 보낼 수 있다.
네트워크 프로토콜과 계층
프로토콜(Protocol)은 패킷을 전송하기 위한 규칙으로, 정해진 규칙을 따르기 때문에 통신이 가능 해 진다.
HTTP(Hypertext Transfer Protocol)은 웹서버와 웹브라우저가 패킷을 교환할 때 사용하는 프로토콜이다. 이 외에도 DNS, FRP, SSL/TLS, TCP, UDP, SNMP, IEEE, ARP 등 매우 많은 프로토콜이 존재한다.
송신 기기와 수신 기기 사이에서 주고 받는 데이터는 각 계층(Layer) 별로 처리된다. 여기서 '계층 별로 처리된다'는 것은 한 계층에서의 처리가 완료되면 임무를 다음 계층으로 전달하는 것을 말한다.
대표적인 두 가지 계층으로 TCP/IP 참조 모델과 OSI 참조 모델이 있다.
TCP/IP 참조 모델은 1970년대 미국 방위 고등 연구 계획국(DARPA)이 개발한 계층 구조 모델로, 4계 계층으로 구성되어 있다.
OSI 7 참조 모델은 1984년 국제 표준화 기구(ISO)에서 개발한 계층 구조 모델로, 7계 계층으로 구성되어 있다.
업계에서는 주로 5계층 모델을 사용한다.
네트워크 기기
각 계층 별로 존재하는 프로토콜에 따라 데이터를 전송하는 네트워크 기기가 다르다.
L1 (1계층)
NIC(Network Interface Card)는 PC나 서버를 네트워크에 연결해주는 하드웨어이다. NIC는 PC나 서버의 슬롯에 장착형, USB 포트형, 메인보드의 슬롯에 장착하거나 온보드로 부착된 형태가 있다.
허브(Hub)는 전달받은 패킷(비트)의 복사본을 포트에 연결된 다른 모든 기기로 전송한다. 연결된 기기들이 네트워크 대역폭(Bandwidth)을 나눠서 쓰기 때문에 데이터 전송 성능이 떨어진다. 여기서 대역폭은 네트워크 회선이 초당 처리할 수 있는 비트의 양, bps(bit per second)을 말한다. 예를 들어 대역폭이 100mbps인 회선으로 허브에 5대 PC를 연결하면 PC 당 20mbps 대역폭만 사용할 수 있다.
AP(Access Point)는 패킷을 전파로 바꿔서 송출하는 기기로, 무선과 유선 사이의 다리 역할을 수행한다. 따라서 무선 Wifi 네트워크 환경에 반드시 필요한 네트워크 기기이다.
L2 (2계층)
MAC(Media Access Control) Address는 컴퓨터들이 서로 데이터를 전송하기 위해 사용하는 물리적 주소로 NIC에 내장되어 있다. 그 기기만의 고유번호, 식별번호 등 기기를 구분하기 위한 주소로 사용된다.
이더넷(Ethernet)은 네트워크 환경에서 데이터를 주고 받기 위한 가장 대표적인 기술 규격으로, 1980년에 상용화되었다. 이는 UTP(Unshielded Twisted Pair) 케이블로 단말기와 네트워크 기기를 연결한다.
L2 스위치는 단말기가 보낸 패킷(프레임)의 헤더에 있는 MAC Address를 보고 같은 네트워크의 다른 단말기로 패킷을 전송하는 것으로, 이더넷 규격을 사용하기 때문에 이더넷 스위치 라고도 부른다.
L3 (3계층)
IP(Internet Protocol) Address는 서로 다른 네트워크에 연결되어 있는 컴퓨터들이 데이터를 전송하기 위해 사용하는 논리적 주소로 OS 상에서 설정한 주소이다.
Public IP Address는 공인 IP 주소로, 네트워크와 외부의 네트워크가 통신하기 위해 사용한다.
Private IP Address는 사설 IP 주소로, 같은 네트워크 안에서 통신하기 위해 사용한다.
라우터(Router)는 단말기가 보낸 패킷(IP 패킷)의 헤더에 있는 IP Address를 보고 다른 네트워크의 다른 단말기로 패킷을 전송한다.
L4 (4계층)
L4 스위치는 IP 주소와 포트 번호를 참조하여 트래픽을 분산해 서버로 전송하는 로드 밸런싱 기기이다. 로드 밸런싱(Load Balancing)은 들어오는 트래픽을 둘 이상의 서버로 분산해서 전송하여 부하를 분산하는 것을 말한다. 여기서 트래픽(Traffic)은 서버와 네트워크 장치에서 일정 시간 내에 흐르는 데이터 양을 말한다.
방화벽(Firewall)은 IP 주소와 포트 번호를 참조하여 통신을 허가하거나 차단하는 기기이다. 미리 정의된 보안 규칙에 따라 들어오고 나가는 트레픽을 제어할 수 있다.
L7 (7계층)
L7 스위치는 IP 주소와 포트번호, 애플리케이션 콘텐츠 정보들을 참조해서 로드 밸런싱하는 기기이다. 여기서 애플리케이션 콘텐츠 정보는 URL, 파일명, 콘텐츠의 문자열 등을 말한다.
웹방화벽(Web Application Firewall)은 웹 애플리케이션 서버를 안전하게 보호하는 기기이다. 클라이언트와 서버 사이에서 교환되는 데이터를 애플리케이션 레벨(7계층)에서 상세히 검사하고 조치한다. 여기서는 블랙리스트, 화이트리스트, 웹 트래픽 분석 등 다양한 보안 기능을 제공한다.
블랙리스트는 리스트에 있는 IP를 제외하고 모두 통신을 허용한다.
반면 화이트리스트는 리스트에 있는 IP만 통신을 허용한다.
웹 트래픽 분석은 사용자가 서버로 보내는 트래픽을 분석하여 정책에 따라 조치하는 것을 말한다. XSS(Cross-Site Scripting)은 애플리케이션에 악성 스크립트를 심어두고 사용자가 접속하면 공격해서 정보를 갈취하는 것을 말한다. SQL Injection은 악성 SQL을 실행하여 데이터베이스 정보를 조작(데이터 수정 혹은 삭제)하는 것을 말한다.
네트워크 형태
LAN
LAN(Local Area Network)는 근거리 통신망으로, 가정이나 기업 내부 등 한정된 범위의 네트워크를 말한다. 이는 클라이언트 기기와 L2 스위치로 구성되어 있다.
WAN
WAN(Wide Area Network)는 원거리 통신망으로, 물리적으로 거리가 매우 떨어진 곳의 네트워크를 연결한다. 다수의 WAN이 모인 인터넷(Internet)은 모든 컴퓨터를 하나의 통신망 안에 연결하고자 하는 International Network이다. 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 공간을 월드와이드웹(World Wide Web)이라고 한다. WAN은 LAN 환경에 L3 스위치를 추가해서 구성된다.
VPN
VPN(Virtual Private Network)은 인터넷 상에서 가상의 전용 선을 만들어 통신할 수 있게 하는 기술이다. 특정 네트워크들만을 위한 정용 WAN으로 Peer to Peer, 1:1로 연결하고 이 구간의 통신은 암호화한다. 예를 들어, 기업 본사 LAN과 지사 LAN을 연결할 때 인터넷을 거치지 않고 이 두 네트워크만의 전용 WAN을 VPN으로 구성할 수 있다.
DMZ
DMZ(DeMilitarized Zone)은 비무장지대를 뜻하는 말로, 외부 네트워크(외부망)와 내부 네트워크(내부망)의 중간 지점을 말한다. 내부망에는 존재하나 외부망에서 접근할 수 없는 영역으로, 외부망에 있는 해커의 공격으로부터 기업의 중요한 서버와 클라이언트를 보호하기 위해 사용한다.
일반적인 네트워크의 전체적인 구성은 다음과 같다.
'IT 인프라' 카테고리의 다른 글
[IT 인프라] 클라우드(Cloud) (0) | 2024.05.13 |
---|---|
[IT 인프라] 온프레미스(On-premise) (0) | 2024.05.13 |
[IT 인프라] 데이터베이스(Database) (0) | 2024.05.11 |
[IT 인프라] 스토리지(Storage) (0) | 2024.05.10 |
[IT 인프라] 서버(Server) (0) | 2024.05.08 |