NAT & PAT
[ NAT (Network Address Translation) ]
NAT는 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 통해 인터넷에 접속한다.
IP 패킷이 트래픽 라우팅 장비를 거치면서 이동할 때, 헤더에 있는 IP 정보를 변환하는 작업이다.
즉, 외부망과 내부망을 나눠주는 기능을 한다. 하나의 공인 IP로 여러 사설 IP 사용 가능하다.
내부에서 외부로 통신이 가능하나, 그 반대는 불가하다.
사내망 IP 주소를 외부로 알리지 않아 외부로부터의 침입과 공격을 차단할 수 있다.
[ PAT (Port Address Translation) ]
공인 IP 주소 1개에 사설 IP 주소 여러개를 매핑하는 것이다.
변환된 IP 주소로는 사내망 호스트들을 구분할 수 없기 때문에 포트 번호를 부여하여 구분한다.
송신 노드 하나가 네트워크에 연결된 수신 가능한 모든 노드에 데이터를 전송한다.
DNS
네트워크 상에서 컴퓨터들은 IP주소를 이용하여 서로를 구별하고 통신한다. 사람들이 네트워크를 통해 원격의 컴퓨터에 접속하기 위해서는 IP주소를 이용하여야 하지만, 숫자의 연속인 IP주소를 일일이 외울 수 없기 때문에 쉽게 기억할 수 있는 도메인 주소 체계가 만들어졌다.
바로 DNS (Domain Name System)은 도메인 이름의 수직적 체계를 말한다.
예를 들어, 127.127.127.1237이라는 IP가 있다고 했을 때, moonlab.com이라는 이름을 지어 도메인 주소로 지정할 수 있다.
GSLB
GSLB(Glboal Server Load Balancing)이란 DNS 서비스의 발전된 형태이다.
비즈니스 연속성 및 재해 복구에 사용되는 기술들의 집합이라고 할 수 있다.
아래는 GSLB의 특징이다.
- GSLB는 서버의 상태를 모니터링 하기 때문에 실패한 서버의 IP는 응답(Converting Domain to IP response) 에서 제외하므로, 유저는 서비스를 계속해서 이용할 수 있다.
- 서버의 로드(상태)를 모니터링하기 때문에 트래픽이 몰리지 않은 서버의 IP를 반환해주며 DNS보다 정교한 로드밸런싱이 가능하다.
- 각 지역별로 서버에 대한 레이턴시(latency) 정보를 가지고 있기 때문에 해당 유저로부터 레이턴시가 적은 서버의 IP를 반환해준다.
GSLB의 주요 기능은 다음과 같다.
1. Health Check
- 등록된 호스트 들에 대해 주기적으로 health check 요청
- 호스트가 실패할 경우 DNS 응답에서 해당 서버 제외
- 실패한 서버에 대한 접근을 막아 서버의 가용성을 높이고, 사전 장애 방지
2. TTL
- DNS에서 권한을 가진 네임서버는 특정 레코드에 대해서 TTL(Time To Live)을 설정
- 캐시 네임서버는 TTL시간 동안 캐시에 저장하고, Client로 부터 요청이 오면 캐시에 저장된 값을 반환
- TTL값이 너무 길면 GSLB의 상태 정보 동기화 실패
- TTL값이 너무 짧으면 네임서버에 가해지는 부담 증가
3. 네트워크 거리 & 지역
- 주기적으로 성능을 측정하고 그 결과를 저장
- DNS 질의에 대해 지리적으로 가까운 서버를 반환하거나 네트워크 거리가 가까운 서버를 반환
- 지리적으로 가까운 서버는 RTT(Round Trip Time)도 짧기 때문에 동일한 결과를 반환
DHCP
유무선 IP 환경에서 단말의 IP 주소, 서브넷 마스크, IP 주소, DNS 서버 IP 주소, 임대기간(Lease Time) 등의 다양한 네트워크 정보를 DHCP 서버가 PC와 같은 이용자 단말에 자동으로 할당해 주는 프로토콜이다.
이용자가 네트워크 정보를 직접 설정할 필요 없이 자동으로 그 설정이 가능하기 때문에 네트워크 관리의 용이성을 제공한다는 장점이 있다. 반면, 서버가 다운되면 네트워크 사용이 불가능하다.
[ DHCP 할당 과정]
- DHCP Discovery : DHCP 서버 찾는 메시지를 서브넷으로 브로드 캐스팅한다.
- DHCP Offer : DHCP가 메시지 받으면 클라이언트에게 서버 자신의 IP 주소를 알려준다.
- DHCP Request : 하나 또는 여러 응답 중, 자신에게 가장 최적의 서버를 선택하고, DHCP 요청 메시지 보낸다.
- DHCP Ack : 해당 메시지를 받은 서버는 확인의 메시지를 클라이언트에 보낸다.
참고
| https://losskatsu.github.io/os-kernel/dhcp/
| https://ckddn9496.tistory.com/33
'Network' 카테고리의 다른 글
7) 로드밸런서 (2) | 2022.09.14 |
---|---|
6) 라우터 (2) | 2022.09.12 |
5) 스위치 (0) | 2022.09.09 |
4) 네트워크 통신 (0) | 2022.09.07 |
3-2) 네트워크 구성요소 (0) | 2022.09.05 |