DevOps

용어 정리

NAT란?

NAT (Network Address Translation)

  • IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술
  • 왜 NAT를 이용할까?
    • 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용해서 인터넷에 접속하기 위함
    • IPv4의 주소 부족 문제를 해결하기 위한 방법으로 고려되었으며, 주로 사설 네트워크 주소를 사용하는 망에서 외부의 공인망과의 통신을 위해서 네트워크 주소를 변환하는 것
    • 공인망과 사설망 사이에 방화벽을 설치해 외부 공격으로부터 사용자의 통신망을 보호하는 기본적인 수단으로 활용할 수 있다.
      • 왜?
        • 외부와 연결하는 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP 주소만 외부로 알려지게 하고, 내부에는 사설 IP 주소만 사용하도록 해 필요 시 서로를 변환시켜준다.
        • 따라서 외부 침입자가 공격하기 위해서는 사설망 내부 사설 IP 주소를 알아야하기에 공격이 불가능해진다.
  • 즉, 내부 망에서는 사설 IP로 통신, 외부망과의 통신 시에는 공인 IP 주소로 자동 변환하는 것을 NAT

Foreground, Background

  • Foreground 작업
    입력한 명령어 실행 결과가 나올 때 까지 기다리는 방식이 포어그라운드
    유저와 상호작용하게 되는 프로세스
  • Background 작업
    눈에 안보이는 형태로 돌아가는 프로세스
    화면 뒤에서 프로그램이 돌아감. 데몬 느낌

 

서브넷

하나의 네트워크가 분할되어 나누어진 작은 네트워크
Subnetting을 통해 분할되며, Subnet Mask를 통해 서브네팅이 가능해짐.

  • 서브넷이 왜 필요한가?
    • 네트워크를 운영중인 서비스의 규모에 맞게 분할하여 사용하기 위한 기술
    • 낭비되는 IP 주소 자원을 최소화하려는 목적
    • 네트워크 규모 축소를 통한 부하 절감