[번외] 네트워크 용어
네트워크 계층
네트워크 계층은 네트워크 통신을 관리하고 데이터의 경로를 결정하는 역할을 한다. 일반적으로 OSI 모델과 TCP/IP 모델 두 가지 주요 네트워크 모델이 사용된다.
OSI 모델 (Open Systems Interconnection model)
- 물리 계층 (Physical Layer): 실제 하드웨어 전송 매체 (케이블, 전파 등)이다.
- 데이터 링크 계층 (Data Link Layer): 물리적 링크 상의 데이터 전송 (MAC 주소, 스위칭 등)을 담당한다.
- 네트워크 계층 (Network Layer): 경로 설정 및 논리적 주소 지정 (IP 주소, 라우팅)을 담당한다.
- 전송 계층 (Transport Layer): 종단 간 통신 및 데이터 전송 관리를 담당한다. (TCP, UDP)
- 세션 계층 (Session Layer): 통신 세션 관리를 담당한다. (세션 설정, 유지, 종료)
- 표현 계층 (Presentation Layer): 데이터 표현 형식 변환을 담당한다. (암호화, 인코딩)
- 응용 계층 (Application Layer): 최종 사용자 애플리케이션 및 프로토콜을 포함한다. (HTTP, FTP)
TCP/IP 모델
- 네트워크 인터페이스 계층 (Network Interface Layer): 물리 계층과 데이터 링크 계층을 포함한다.
- 인터넷 계층 (Internet Layer): 네트워크 계층에 해당한다. (IP 프로토콜 등)
- 전송 계층 (Transport Layer): OSI 모델의 전송 계층과 유사하다. (TCP, UDP)
- 응용 계층 (Application Layer): OSI 모델의 세션, 표현, 응용 계층을 포함한다. (HTTP, FTP 등)
DNS 작동 원리
DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환하는 시스템이다. 사람이 읽을 수 있는 도메인 이름(www.example.com)을 컴퓨터가 이해할 수 있는 IP 주소(192.0.2.1)로 변환한다.
DNS 작동 원리
- 도메인 이름 입력: 사용자가 브라우저에 도메인 이름(www.example.com)을 입력한다.
- 로컬 DNS 캐시 확인: 브라우저와 운영 체제는 먼저 로컬 DNS 캐시를 확인하여 해당 도메인의 IP 주소가 있는지 확인한다.
- 재귀적 DNS 쿼리:
- 재귀적 DNS 서버: 요청을 받은 재귀적 DNS 서버는 로컬 캐시에 IP 주소가 없으면, 루트 네임서버에 쿼리를 보낸다.
- 루트 네임서버: 루트 네임서버는 최상위 도메인(TLD) 네임서버(.com, .org 등)의 주소를 반환한다.
- TLD 네임서버: TLD 네임서버는 권한 있는 네임서버의 주소를 반환한다.
- 권한 있는 네임서버: 권한 있는 네임서버는 도메인의 실제 IP 주소를 반환한다.
- IP 주소 반환: 재귀적 DNS 서버는 최종적으로 IP 주소를 클라이언트에게 반환하고, 이 정보를 로컬 캐시에 저장한다.
- 웹사이트 접속: 브라우저는 반환된 IP 주소를 사용하여 해당 웹사이트에 접속한다.
NAT 작동 원리
NAT(Network Address Translation)는 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷과의 통신을 가능하게 하는 기술이다.
NAT 종류 및 작동 원리
- Static NAT: 하나의 사설 IP 주소를 하나의 공인 IP 주소로 변환한다.
- 예: 192.168.1.2 ↔ 203.0.113.2
- Dynamic NAT: 사설 IP 주소를 공인 IP 주소 풀(pool)에서 동적으로 변환한다.
- 예: 192.168.1.2 ↔ 203.0.113.3, 192.168.1.3 ↔ 203.0.113.4
- PAT (Port Address Translation): 여러 사설 IP 주소를 하나의 공인 IP 주소와 여러 포트 번호로 변환한다.
- 예: 192.168.1.2:12345 ↔ 203.0.113.2:54321, 192.168.1.3:12346 ↔ 203.0.113.2:54322
DHCP
DHCP(Dynamic Host Configuration Protocol)는 네트워크에서 동적으로 IP 주소와 기타 네트워크 설정을 자동으로 할당하는 프로토콜이다.
DHCP 작동 원리
- Discover: 클라이언트가 네트워크에 연결되면 DHCP Discover 메시지를 브로드캐스트로 보낸다.
- Offer: DHCP 서버는 사용 가능한 IP 주소를 제공하는 DHCP Offer 메시지를 응답한다.
- Request: 클라이언트는 제공된 IP 주소를 요청하는 DHCP Request 메시지를 보낸다.
- Acknowledge: DHCP 서버는 IP 주소 할당을 확인하는 DHCP Acknowledge 메시지를 보낸다.
패킷 (Packet)
패킷은 네트워크에서 데이터를 전송하는 기본 단위이다. 패킷은 데이터와 제어 정보를 포함하며, 네트워크를 통해 전송되기 위해 데이터를 작은 조각으로 나눈 것이다. 패킷은 데이터 전송의 효율성과 신뢰성을 높이기 위해 사용된다.
패킷의 구조
- 헤더 (Header):
- 출발지 주소 (Source Address): 패킷을 보낸 장치의 IP 주소이다.
- 목적지 주소 (Destination Address): 패킷을 받을 장치의 IP 주소이다.
- 프로토콜 정보: 패킷이 어떤 프로토콜을 사용하는지 나타낸다. 예를 들어, TCP, UDP 등.
- 시퀀스 번호 (Sequence Number): 패킷의 순서를 나타내며, 패킷이 올바른 순서로 재조립되도록 돕는다.
- 타임 투 리브 (Time to Live, TTL): 패킷이 네트워크에서 얼마나 오래 머물 수 있는지를 나타내며, 무한히 전송되는 것을 방지한다.
- 페이로드 (Payload):
- 실제 전송되는 데이터이다. 이 부분에는 사용자가 전송하려는 메시지나 파일의 일부가 포함된다.
- 트레일러 (Trailer):
- 데이터 전송의 무결성을 확인하기 위한 오류 검출 정보가 포함된다. 예를 들어, CRC (Cyclic Redundancy Check) 값 등이 있다.
패킷 전송 과정
- 데이터 분할: 전송하려는 데이터를 패킷 단위로 분할한다.
- 헤더 추가: 각 패킷에 출발지 주소, 목적지 주소 등의 제어 정보를 추가한다.
- 전송: 패킷을 네트워크를 통해 전송한다.
- 라우팅: 라우터는 패킷의 목적지 주소를 기반으로 최적의 경로를 결정하여 패킷을 전달한다.
- 재조립: 수신 측에서 패킷을 수신하고, 시퀀스 번호를 기반으로 원래의 데이터로 재조립한다.
- 오류 검출 및 수정: 트레일러의 오류 검출 정보를 사용하여 데이터의 무결성을 확인하고, 필요한 경우 재전송을 요청한다.
패킷의 장점
- 효율적인 네트워크 사용: 데이터가 작은 단위로 나뉘어 전송되므로, 네트워크 자원을 효율적으로 사용할 수 있다.
- 신뢰성: 각 패킷이 독립적으로 전송되며, 손실된 패킷은 재전송이 가능하다.
- 혼잡 제어: 네트워크 혼잡을 줄이기 위해 패킷 전송 속도를 조절할 수 있다.
패킷과 관련된 용어
- 프레임 (Frame): 데이터 링크 계층에서 사용되는 패킷의 하위 단위로, 패킷의 데이터를 포함하며, 네트워크의 물리적 매체를 통해 전송된다.
- 세그먼트 (Segment): 전송 계층에서 사용되는 용어로, 대규모 데이터를 전송하기 위해 패킷보다 큰 단위로 나눈 데이터이다. 주로 TCP에서 사용된다.
- 데이터그램 (Datagram): 비연결형 네트워크 서비스에서 사용되는 패킷의 한 형태로, 주로 UDP에서 사용된다.
MAC 주소 (MAC Address)
MAC 주소(Media Access Control Address)는 네트워크 인터페이스 카드(NIC)에 할당된 고유 식별자이다. MAC 주소는 장치 제조 시 하드웨어에 내장되며, 이더넷 및 와이파이 네트워크에서 사용된다.
MAC 주소의 특징
- 길이: 48비트(6바이트)로 구성된다.
- 표기법: 일반적으로 6개의 2자리 16진수로 표기되며, 각 숫자는 콜론(:) 또는 하이픈(-)으로 구분된다. 예:
00:1A:2B:3C:4D:5E
또는00-1A-2B-3C-4D-5E
. - 고유성: 세계적으로 유일하며, 제조업체에 의해 관리된다. 각 제조업체는 OUI(Organizationally Unique Identifier)라는 고유 식별자를 가지고 있다.
방화벽 (Firewall)
방화벽은 네트워크 보안을 위해 설계된 장치나 소프트웨어로, 네트워크 트래픽을 모니터링하고 제어한다.
방화벽의 주요 기능
- 트래픽 필터링: 특정 IP 주소, 포트 번호, 프로토콜에 따라 트래픽을 허용하거나 차단한다.
- 액세스 제어: 네트워크 내부와 외부 간의 액세스를 제어하여 불법적인 접근을 방지한다.
- 로깅 및 감사: 트래픽을 모니터링하고 기록하여 보안 사고를 분석하고 대응할 수 있도록 한다.
- 침입 방지: 알려진 공격 패턴을 감지하고 차단하여 네트워크를 보호한다.
방화벽의 유형
- 하드웨어 방화벽: 물리적인 장치로, 대규모 네트워크에서 사용된다.
- 소프트웨어 방화벽: 운영 체제에 내장되거나 별도로 설치되는 프로그램으로, 개인용 컴퓨터나 서버에서 사용된다.
라우팅 (Routing)
라우팅은 네트워크 패킷을 목적지까지 전달하기 위해 경로를 결정하는 과정이다. 라우터는 이 과정에서 중요한 역할을 한다.
라우팅의 기본 요소
- 라우팅 테이블: 라우터는 라우팅 테이블을 사용하여 목적지 네트워크에 대한 최적의 경로를 결정한다. 라우팅 테이블은 네트워크 주소와 그에 해당하는 넥스트 홉(next hop)을 포함한다.
- 정적 라우팅: 관리자가 수동으로 설정한 경로를 사용한다. 작은 네트워크에서 주로 사용된다.
- 동적 라우팅: 라우팅 프로토콜을 사용하여 자동으로 경로를 설정하고 업데이트한다. 대규모 네트워크에서 주로 사용된다.
주요 라우팅 프로토콜
- RIP (Routing Information Protocol): 거리 벡터(distance vector) 기반의 라우팅 프로토콜이다.
- OSPF (Open Shortest Path First): 링크 상태(link state) 기반의 라우팅 프로토
콜이다.
- BGP (Border Gateway Protocol): 주로 인터넷에서 사용되는 경로 벡터(path vector) 기반의 라우팅 프로토콜이다.
서브넷팅 (Subnetting)
서브넷팅은 하나의 IP 네트워크를 여러 개의 작은 서브네트워크로 나누는 과정이다. 서브넷팅은 네트워크 관리와 효율적인 IP 주소 사용을 위해 중요하다.
서브넷팅의 주요 개념
- 서브넷 마스크 (Subnet Mask): 네트워크 부분과 호스트 부분을 구분하는 데 사용된다. 예: 255.255.255.0
- CIDR 표기법: IP 주소와 서브넷 마스크를 함께 나타내는 방식이다. 예: 192.168.1.0/24
- 서브넷 계산: 서브넷 마스크를 사용하여 네트워크 주소, 브로드캐스트 주소, 호스트 범위를 계산한다.
서브넷팅의 장점
- 네트워크 트래픽 감소: 서브넷 간의 트래픽을 분리하여 충돌 도메인을 줄인다.
- 보안 강화: 서브넷별로 다른 보안 정책을 적용할 수 있다.
- IP 주소 관리 용이성: IP 주소를 효율적으로 분배하고 사용한다.
VLAN
VLAN(Virtual Local Area Network)는 물리적으로 동일한 네트워크에 있는 장치들을 논리적으로 구분하여 관리하는 기술이다.
VLAN 특징 및 작동 원리
- 목적: 보안 강화, 트래픽 관리, 네트워크 관리 용이성.
- VLAN 태그: VLAN을 구분하기 위해 이더넷 프레임에 VLAN 태그를 추가한다.
- VLAN ID: 각 VLAN은 고유한 VLAN ID를 가진다. (1-4094)
- VLAN 트렁킹: 여러 VLAN 트래픽을 하나의 물리적 링크를 통해 전송한다. 주로 스위치 간 연결에 사용된다.
VPN (Virtual Private Network)
VPN은 공용 네트워크(예: 인터넷)를 통해 안전하게 사설 네트워크를 구축하는 기술이다.
VPN의 주요 기능
- 암호화: 데이터 전송 시 암호화를 통해 도청을 방지한다.
- 터널링: 공용 네트워크를 통해 사설 네트워크 간의 안전한 통신을 가능하게 한다.
- 인증: 사용자 및 장치의 신원을 확인하여 무단 접근을 방지한다.
VPN의 유형
- 사이트 간 VPN (Site-to-Site VPN): 두 개 이상의 네트워크를 연결한다. 주로 기업 간의 네트워크 연결에 사용된다.
- 원격 접속 VPN (Remote Access VPN): 개별 사용자가 원격으로 사설 네트워크에 접속할 수 있게 한다. 재택근무 시 주로 사용된다.
VPN 프로토콜
- PPTP (Point-to-Point Tunneling Protocol): 설정이 간단하지만 보안이 상대적으로 낮다.
- L2TP (Layer 2 Tunneling Protocol): 보안이 강화된 터널링 프로토콜이다.
- IPsec (Internet Protocol Security): 안전한 IP 통신을 위한 프로토콜 모음이다.
- OpenVPN: 오픈 소스 VPN 프로토콜로, 높은 보안성과 유연성을 제공한다.