네트워크 기술

문딤·2022년 9월 16일
0

NAT/PAT

NAT

NAT는 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해 사용한다.
💨 외부망과 내부망을 나눠주는 기능을 한다.

NAT 특징

  • 내부에서 외부로 통신이 가능
  • 외부에서 내부로 통신 불가

NAT 장점

  • 하나의 공인IP로 여러 사설 IP를 사용가능. 절약
  • 사내망 IP주소를 외부로 알리지 않음으로서 외부로부터 침입/공격 차단

사설 IP 대역
1. A CLASS ( 0.0.0.0 ~ 127.255.255.255 )-사설 IP 대역 : 10.0.0.0 ~ 10.255.255.255
2. B CLASS ( 128.0.0.0 ~ 191.255.255.255 )-사설 IP 대역 : 172.16.0.0 ~ 172.31.255.255
3. C CLASS ( 0.0.0.0 ~ 127.255.255.255 )-사설 IP 대역 : 192.168.0.0 ~ 192.168.255.255

NAT 종류

Static NAT
사설IP와 공인 IP를 1:1 매핑
외부-내부 IP개수가 같음. IP 갯수 부족.

Dynamic NAT
다수 공인 IP와 다수 사설 IP매핑

PAT(Port Address Translation)

  • 다수 공인 IP와 다수 사설 IP 매핑 => 1개 공인 IP에 port를 구분하여 사설 PC를 구분
  • 공인 IP 1개에 사설 IP주소 여러개를 매핑한다.

ex)김인턴에 외부통신 하기위해서는 공인 IP가 필요하다.
하지만 여러사원들이 사설 IP를 사용하고 있다.
1. 사설(내부) --> 공인(외부)

  • 김인턴은 (사설) 192.168.0.2:60000 IP를 이용하여 외부에 서비스를 요청한다.
  • 외부로 패킷이 나가기전에 라우터에서 해당 IP를 (공인)120.160.10.123:60000 IP로 변환하여 내보낸다.
  1. 공인(외부) --> 사설(내부)
  • 외부에서 내부의 김사원 PC에 서비스 요청하려고 하는데 해당 LAN구간에 할당된 공인 IP는 1개이다. 이때 PORT 를 사용하여 사설 PC를 구분한다.
  • 외부에서 공인120.160.10.123 IP로 서비스요청할때 PORT를 60000으로 설정하여 보낸다.
    ex) 집에서 회사pc로 원격을 붙을때 뒤에 포트붙여서 접속한다. (192.168.123.56:4442)
  • 라우터에서 외부 120.160.10.123:60000 과 매핑된 사설 IP 192.168.0.2 로 패킷을 보낸다. (포트포워딩) ex) 이 매핑설정을 보통 iptime에서 해주어야 매핑되는 사설아이피를 찾아간다.

DNS

도메인이란?

도메인은 웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소이다.
도메인을 이용해서 한눈에 파악하기 힘든 IP 주소를 보다 분명하게 나타낼 수 있다.
만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있다.
도로명 주소를 대신해서, 우리는 상호나 건물의 이름을 찾아 갈 수도 있는 것처럼 말이다.

DNS(Domain Name System)이란?

네트워크 상에 존재하는 모든 PC는 IP 주소가 있다.
그러나 모든 IP 주소가 도메인 이름을 가지는 것은 아니다.
로컬 PC를 나타내는 127.0.0.1 은 localhost 로 사용할 수 있지만, 그 외의 모든 도메인 이름은 일정 기간 동안 대여하여 사용한다.

💨 도메인 이름과 IP 주소를 매핑하는 방법은?

  • 브라우저의 검색창에 도메인 이름을 입력하여 해당 사이트로 이동하기 위해서는, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요하다.
  • 네트워크에는 이것을 위한 서버가 별도로 있다.
  • 이 서버가 바로 DNS 서버이다.

EX) 참고 : www(호스팅 주소) + 이름.com(도메인) -> 뒷부분을 도메인이라고 함

◻ DNS(Domain Name Server)는 할당된 도메인 영역에 대한 정보를 가지고 있는 서버로, 주로 도메인을 IP주소로 변환하는 역할을 한다.

+@ 결론

도메인은 IP 주소를 대신하여 사용하는 주소이다.
DNS라는 시스템을 이용해서 IP와 도메인을 매칭한다.
DNS란 웹사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템이다.
DNS 시스템 안에서 IP와 도메인 매칭을 하는 역할을 하는 것이 DNS 서버이다.
DNS 서버와 네임서버는 같은 의미이다.

GSLB(Global Server Load Balancing)

GSLB?

DNS 서비스의 발전된 형태이다.(LB역활을 하긴 함.)

비즈니스 연속성 및 재해 복구에 사용되는 기술들의 집합이다. GSLB의 목표로는

disaster recovery(재난 복구)
실패에 대해 대체할 수 있는 서버를 제공한다.

load sharing(부하 분산)
많은 트래픽을 여러 서버로 분산시킨다.

performance(성능)
client의 위치나 네트워크를 기반으로 최적의 성능을 낼 서버를 선택해준다.

가 존재한다. 지능적 DNS 서비스라고 부르기도 한다.

GSLB VS DNS

주요 기술

  1. Health Check

◻ 등록된 호스트 들에 대해 주기적으로 health check 수행
◻ 호스트가 실패할 경우 DNS 응답에서 해당 호스트 제거
◻ 실패한 호스트로의 접근을 막아 서버의 가용성을 높일 수 있다

  1. TTL

◻ DNS에서 권한을 가진 네임서버는 특정 레코드에 대해서 TTL을 설정할 수 있다
◻ 캐시 네임서버는 TTL시간 동안 캐시에 저장하고, Client로 부터 요청이 오면 캐시에 저장된 값을 반환한다.
◻ TTL값이 너무 길면 GSLB의 상태 정보가 제때 동기화되지 못한다.
◻ TTL값이 너무 짧으면 네임서버에 가해지는 부담이 커진다.

  1. 네트워크 거리 & 지역

◻ 주기적으로 성능을 측정하고 그 결과를 저장한다
◻ DNS 질의에 대해 지리적으로 가까운 서버를 반환하거나 네트워크 거리가 가까운 서버를 반환한다
◻ 지리적으로 가까운 서버는 RTT(Round Trip Time)도 짧기 때문에 동일한 결과를 반환하는 경우가 많다고 한다.

동작 과정

GSLB는 Local name server와 Second Level name server 사이에 위치한다.
GSLB가 들어갔을 때 동작은 다음과 같다.

  1. 사용자가 www.example.com에 접속하기 위해 Local DNS 서버로 DNS Query를 보낸다.

  2. DNS Query는 Root DNS, .com DNS를 거쳐 GSLB로 보내진다.

  3. GSLB는 DNS Proxy로 동작하며, 따라서 이 DNS Query를 그대로 example.com DNS 서버로 전달한다.

  4. example.com DNS 서버는 www.example.com에 대한 IP주소 1.1.1.1과 2.2.2.2가 미리 등록되어 있어 그 값을 GSLB로 전달해 준다.

  5. GSLB는 정책들을 통해 1.1.1.1과 2.2.2.2중 최적의 사이트를 결정하고 TTL을 작은 값으로 변경해준다 (캐싱을 적용하기 위해 TTL설정을 해준다고 생각하면 됨).

  6. GSLB의 정책을 통해 웹서버 IP 1.1.1.1과 변경된 TTL값이 Local DNS로 전달된다.

  7. Local DNS 가 사용자 단말에 값 전달

  8. 사용자는 www.example.com의 IP 주소 1.1.1.1로 HTTP GET을 보낸다.

DHCP

DHCP의 정의

DHCP는 ‘Dynamic Host Configuration Protocol(동적 호스트 구성 프로토콜)’의 약자로, IP 네트워크에 사용되는 네트워크 프로토콜이다.
DHCP는 IP 주소 및 기타 통신 매개변수를 네트워크에 연결된 장치에 자동으로 할당한다.
대부분의 가정용 네트워크에서는 라우터가 IP 주소를 장치에 할당하는 DHCP 서버의 역할을 한다.

DHCP는 네트워크 관리자가 해야 할 작업을 간소화한다.
DHCP 사용 없이는 수동으로 IP 주소를 할당해야 하는데, DHCP 설정 없이 수동으로 IP 주소를 할당하면 비효울적이고 시간이 지나치게 많이 소요되며 오류가 발생할 가능성이 높다.

DHCP의 장단점

장점

◻ 신뢰성 높은 DHCP IP 주소 구성: DHCP는 동일한 IP 주소를 이용하는 두 명의 사용자 사이의 충돌을 방지하도록 도와준다. 이러한 충돌이 발생하는 경우 두 명의 사용자 모두 인터넷에 연결하지 못하게 됩니다. DHCP는 자동으로 이러한 충돌을 방지할 수 있다는 장점이 있습니다.

◻ 높은 이동성: DHCP는 높은 이동성을 보장하며 사용자는 네트워크 범위 내에서 어디서든지 모바일 장치를 이용할 수 있습니다.

◻ 효율적인 네트워크 관리: DHCP를 사용하면 별도의 IP 할당 서버가 필요하지 않아 네트워크 관리 효율성이 개선됩니다.

◻ IP 체계의 유연성: DHCP를 이용하면 최종 사용자에게 지장을 주지 않으면서 IP 주소 체계를 손쉽게 변경할 수 있습니다.

보안 문제

DHCP에 다양한 장점이 있기는 하지만 보안 문제가 발생할 수 있다는 단점도 있다. DHCP는 아무런 인증 과정을 거치지 않기 때문에 사이버 공격에 취약하다.

◻ 승인받지 않은 DHCP 서버가 잘못된 정보를 클라이언트에게 제공할 수 있습니다.

◻ 승인받지 않은 클라이언트가 DHCP 서버를 가로채 리소스에 대한 접근 권한을 얻을 수도 있습니다.

◻ 악성 클라이언트가 DHCP 리소스를 소모시킬 수 있습니다.

이러한 보안 문제는 디도스 공격(DDoS) 및 중간자 공격으로 이어질 수 있으며, 허위 사이트나 악성 사이트로 사용자를 리디렉션하는 DNS 스푸핑이 발생할 수도 있다.
하지만 릴레이 에이전트 정보 옵션을 이용하고 DHCP 메시지를 태그 지정하면 이러한 위협을 방지할 수 있다. 또한 DHCP를 보호하기 위해 네트워크 액세스 제어를 이용하는 방법도 있습니다.

보다 견고한 인터넷 보안을 위해서는 VPN을 이용할 것을 권장하는데, VPN을 이용하면 실제 IP 주소를 암호화해 디도스 공격을 방지할 수 있으며, DNS 스푸핑도 방지할 수 있다. 특히 공격에 취약한 미보안 공용 와이파이를 사용하는 경우에는 VPN으로 위협을 미리 방지하는 것이 좋다.

참고

https://velog.io/@minthug94_/DHCP
https://ckddn9496.tistory.com/33

profile
풀스택개발자가 될래요

0개의 댓글