Computer Science/Network

[Network] 공유기

LeeJaeJun 2023. 12. 22. 23:44
728x90
반응형

- 공유기

  • 일반적인 인터넷 공유기는 NAT(Network Address Translation)기술이 적용된 장치입니다. (NAT는 사설 IP 주소와 공인 IP 주소 간의 매핑을 수행하여 사설 네트워크에서 인터넷에 접속할 수 있도록 합니다. 공인 IP주소를 공유)
  • 보통 주소와 포트번호를 모두 제어합니다.(port도 translation합니다.) (주소 변환 -> IP주소 변환)
  • 인터넷 IP 주소 부족 문제를 해결해줍니다.
  • 패킷 필터링 방화벽과 비슷한 보안성을 제공합니다.(Symmetric 방식)

 

- 공유기의 작동원리

  1. 무선 신호 송수신: 공유기는 무선 통신을 사용하여 장치들 간에 데이터를 송수신합니다. 공유기는 내장된 무선 안테나를 통해 라디오 주파수를 발생시켜서 무선 신호를 생성하고, 무선 장치들과 통신합니다. 무선 신호는 Wi-Fi 표준을 준수하며, 일반적으로 2.4GHz 또는 5GHz 주파수 대역을 사용합니다.
  2. 네트워크 관리: 공유기는 네트워크 관리 기능을 수행하여 장치들이 인터넷에 안정적으로 접속할 수 있도록 합니다. 이를 위해 공유기는 DHCP(Dynamic Host Configuration Protocol)를 사용하여 IP 주소를 동적으로 할당하고, NAT(Network Address Translation)을 통해 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷에 연결합니다.
  3. 패킷 라우팅: 공유기는 패킷 라우팅을 통해 데이터를 전달합니다. 패킷은 인터넷을 통해 전송되는 데이터의 작은 조각이며, 공유기는 목적지 장치로 패킷을 전달하기 위해 IP 주소를 확인하고, 이를 위해 라우팅 테이블을 사용합니다.
  4. 보안 기능: 공유기는 보안 기능을 제공하여 네트워크를 보호합니다. 대부분의 공유기는 방화벽을 내장하고 있어 외부에서의 불법적인 접근을 차단합니다. 또한, Wi-Fi 암호화 기술인 WPA/WPA2 또는 최신의 WPA3를 지원하여 무선 네트워크의 보안을 강화합니다.
  5. 다중 장치 지원: 공유기는 다수의 장치가 동시에 인터넷에 접속할 수 있도록 지원합니다. 공유기는 네트워크 대역폭을 적절히 분배하여 각 장치에 안정적인 인터넷 속도를 제공합니다.

 

- 공유기 구조에 따른 분류

1. Cone NAT

Cone NAT는 사설 IP 주소와 공인 IP 주소 간의 매핑을 수행하는데, 이때 외부 네트워크에서 사설 IP 주소로의 접근을 가능하게 해줍니다.

Host 단위로 외부포트를 지정합니다.

  1. 내부 장치의 초기 통신: 내부 장치가 외부 네트워크에 처음으로 통신을 시도하면, Cone NAT는 해당 장치의 사설 IP 주소와 포트 번호를 기록합니다.
  2. 포트 매핑: Cone NAT는 사설 IP 주소와 포트 번호를 공인 IP 주소와 포트 번호로 매핑하여 연결을 수립합니다. 이때, 내부 장치의 포트 번호는 공인 IP 주소와 연결된 포트 번호로 변환됩니다.
  3. 패킷 전달: 이후, 외부에서 내부 장치로의 통신 요청이 발생하면 Cone NAT는 해당 요청을 받아들이고, 내부 장치로 전달합니다. 이를 위해 Cone NAT는 사설 IP 주소와 포트 번호를 참조하여 패킷을 올바른 내부 장치로 전송합니다.
  4. 이후 통신: 한 번 연결된 내부 장치와 외부 장치 간의 통신은 Cone NAT에 의해 가능하며, 외부에서 내부로의 통신은 사설 IP 주소와 연결된 포트 번호를 통해 가능합니다.

Cone NAT는 내부 장치가 외부 네트워크에 대해 비대칭적인 통신을 수행할 수 있도록 지원하므로, 온라인 게임, P2P 파일 공유 등의 응용 프로그램에서 유용하게 사용될 수 있습니다.

서브 타입으로는 Full Cone NAT와 Restricted Cone NAT가 있습니다. 이 둘은 다음과 같은 차이점을 지닙니다.

 

  1. 접속 가능성:
    • Full Cone NAT: Full Cone NAT은 외부에서 내부로의 접속을 용이하게 합니다. 한 번 내부 장치와 외부 장치 간에 통신이 수립되면, 외부 장치는 내부 장치에 대해 어떤 포트와 IP 주소를 사용하더라도 통신이 가능합니다. 따라서 Full Cone NAT는 외부 장치에 대한 접속을 제한하지 않습니다.
    • Restricted Cone NAT: Restricted Cone NAT은 외부에서 내부로의 접속을 제한합니다. 한 번 내부 장치와 외부 장치 간에 통신이 수립되면, 외부 장치는 내부 장치에 대해 고정된 IP 주소와 포트 번호만을 사용하여 통신이 가능합니다. 다른 외부 장치는 해당 내부 장치에 접속할 수 없습니다.
  2. 외부 접속 가능성:
    • Full Cone NAT: Full Cone NAT은 외부에서 내부 장치로의 접속을 용이하게 합니다. 외부에서 내부 장치로의 통신을 시도할 때, Full Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 확인하여 해당 장치로 패킷을 전달합니다. 따라서 외부에서 내부로의 통신은 비교적 쉽게 가능합니다.
    • Restricted Cone NAT: Restricted Cone NAT은 외부에서 내부 장치로의 접속을 제한합니다. 외부에서 내부 장치로의 통신을 시도할 때, Restricted Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 확인하고, 사설 IP 주소가 이미 연결된 경우에만 통신을 허용합니다. 다른 사설 IP 주소로의 접속은 허용되지 않습니다.

Full Cone NAT는 외부 장치에 대한 접속과 내부 장치로의 통신을 자유롭게 허용하는 반면, Restricted Cone NAT는 외부 장치의 접속과 내부 장치로의 통신을 제한하여 보안을 강화합니다.

 

 

2. Symmetric NAT

 

사설 IP 주소와 공인 IP 주소 간의 매핑을 수행하여 사설 네트워크에서 인터넷에 접속할 수 있도록 합니다. TCP 세션마다 외부 포트를 지정합니다.

  1. 내부 장치의 초기 통신: 내부 장치가 외부 네트워크에 처음으로 통신을 시도하면, Symmetric NAT는 해당 장치의 사설 IP 주소와 포트 번호를 기록합니다.
  2. 포트 매핑: Symmetric NAT는 사설 IP 주소와 포트 번호를 공인 IP 주소와 다른 포트 번호로 매핑하여 연결을 수립합니다. 이때, 내부 장치의 포트 번호는 공인 IP 주소와 연결된 다른 포트 번호로 변환됩니다.
  3. 패킷 전달: Symmetric NAT는 내부 장치의 통신 요청에 대해 고유한 매핑을 생성합니다. 따라서 외부에서 내부 장치로의 통신 요청이 발생하면, Symmetric NAT는 해당 요청을 받아들이고 내부 장치로 전달합니다. 이때, Symmetric NAT는 요청한 외부 주소와 포트 번호를 확인하여 매핑된 내부 주소와 포트 번호를 참조합니다.
  4. 이후 통신: Symmetric NAT는 내부 장치와 외부 장치 간의 통신을 위해 고유한 매핑을 유지합니다. 따라서 동일한 내부 장치에서 외부로의 통신이 발생할 때마다 다른 공인 IP 주소와 포트 번호를 사용하게 됩니다.

Symmetric NAT는 내부 장치마다 고유한 매핑을 생성하므로, 외부에서 내부로의 통신이 제한적입니다. 즉, 특정 외부 장치가 내부 장치에 접속하려면, 내부 장치가 먼저 해당 외부 장치에 대한 통신을 시도한 후에야 외부에서 내부로의 통신이 가능해집니다. 이러한 특성은 Symmetric NAT를 사용하는 환경에서 P2P 통신이나 온라인 게임 같은 응용 프로그램에서 문제를 일으킬 수 있습니다.

Symmetric NAT는 주로 보안상의 이유로 사용되거나, 사설 네트워크의 안전성을 높이기 위해 도입될 수 있습니다.

 

- Cone NAT와 Symmetric NAT의 차이

  1. 통신 특성:
    • Cone NAT: Cone NAT는 외부에서 내부로의 통신을 용이하게 합니다. 내부 장치가 처음으로 외부로의 통신을 시도하면, Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 기록하고, 외부에서 해당 장치로의 통신을 허용합니다. 이후에는 외부 장치가 내부 장치에 대해 통신을 시도할 때, 기록된 매핑을 사용하여 내부로의 통신을 허용합니다.(다른 애와 연결한 기록을 통해 제 3의 서버가 직접 접속 가능)
    • Symmetric NAT: Symmetric NAT는 내부와 외부 간의 통신에 대해 고유한 매핑을 생성합니다. 내부 장치의 통신 요청마다 다른 공인 IP 주소와 포트 번호를 사용하여 외부로부터의 통신을 수행합니다. 따라서 외부 장치가 내부 장치에 접속하려면, 내부 장치가 먼저 해당 외부 장치에 대한 통신을 시도한 후에야 외부에서 내부로의 통신이 가능해집니다.
  2. 외부 접속 가능성:
    • Cone NAT: Cone NAT는 외부에서 내부 장치로의 접속을 용이하게 합니다. 외부 장치가 내부 장치에 대해 통신을 시도할 때, Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 확인하여 해당 장치로 패킷을 전달합니다. 따라서 외부에서 내부로의 통신은 비교적 쉽게 가능합니다.
    • Symmetric NAT: Symmetric NAT는 외부에서 내부 장치로의 접속을 제한합니다. 외부 장치가 내부 장치에 대해 통신을 시도할 때, Symmetric NAT는 내부 장치의 고유한 매핑을 확인하여 해당 장치로 패킷을 전달합니다. 따라서 외부에서 내부로의 통신은 내부 장치가 먼저 해당 외부 장치에 대한 통신을 시도한 경우에만 가능합니다.
  3. 대칭성:
    • Cone NAT: Cone NAT는 내부와 외부 간의 통신에 대해 비대칭적인 매핑을 생성하지 않습니다. 내부 장치의 사설 IP 주소와 포트 번호는 공인 IP 주소와 포트 번호로 고정적으로 매핑됩니다.
    • Symmetric NAT: Symmetric NAT는 내부와 외부 간의 통신에 대해 대칭적인 매핑을 생성합니다. 내부 장치의 사설 IP 주소와 포트 번호는 외부 통신 대상에 따라 다른 공인 IP 주소와 포트 번호로 매핑됩니다. 즉, 동일한 내부 장치에서 다른 외부 통신을 시도하면 다른 매핑이 생성됩니다.

요약하면, Cone NAT는 외부에서 내부로의 접속을 용이하게 하며, 내부 장치 간의 통신도 허용합니다. 반면에 Symmetric NAT는 외부에서 내부로의 접속을 제한하고, 내부 장치 간의 통신을 막습니다. Symmetric NAT는 IP 주소와 포트 번호의 대칭적인 매핑을 사용하여 보안을 강화하고, 네트워크 리소스를 효율적으로 관리할 수 있도록 도와줍니다.

 

- NAT table 상에서의 차이점

  1. Symmetric NAT:
    • NAT 테이블 항목: Symmetric NAT에서는 내부 장치의 사설 IP 주소와 포트 번호를 기반으로 매핑된 공인 IP 주소와 포트 번호가 NAT 테이블에 기록됩니다.
    • 접속 가능성: Symmetric NAT는 외부에서 내부로의 접속을 제한합니다. 내부 장치가 외부로의 통신을 시도한 경우, Symmetric NAT는 내부 장치의 고유한 매핑을 생성하고 이를 NAT 테이블에 저장합니다. 외부 장치가 내부 장치에 접속하려면, 내부 장치가 먼저 해당 외부 장치에 대한 통신을 시도한 후에야 외부에서 내부로의 통신이 가능해집니다.(External Port, Remote IP, Remote Port 등을 다 따짐)
  2. Full Cone NAT:
    • NAT 테이블 항목: Full Cone NAT에서는 내부 장치의 사설 IP 주소와 포트 번호를 기반으로 매핑된 공인 IP 주소와 포트 번호가 NAT 테이블에 기록됩니다.
    • 접속 가능성: Full Cone NAT는 외부에서 내부로의 접속을 용이하게 합니다. 내부 장치가 외부로의 통신을 시도하면, Full Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 기록하고, 외부에서 해당 내부 장치로의 통신을 허용합니다. 이후에는 외부 장치가 내부 장치에 대해 통신을 시도할 때, 기록된 매핑을 사용하여 내부로의 통신을 허용합니다.(Full Cone에서는 Remote IP가 뭐든 다 상관없이 External Port만 맞으면 된다.)
  3. IP Restricted Cone NAT:
    • NAT 테이블 항목: IP Restricted Cone NAT에서는 내부 장치의 사설 IP 주소와 포트 번호를 기반으로 매핑된 공인 IP 주소와 포트 번호가 NAT 테이블에 기록됩니다. 또한, 첫 번째 외부 통신 요청 시 해당 외부 주소와 포트 번호도 NAT 테이블에 저장됩니다.
    • 접속 가능성: IP Restricted Cone NAT는 내부 장치에 대한 접속을 특정한 외부 주소와 포트 번호에서 제한합니다. 내부 장치가 외부로의 통신을 시도하면, IP Restricted Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 기록하고, 외부에서 해당 내부 장치로의 접속을 첫 번째 외부 통신에서 사용된 주소에서만 허용합니다.(External Port + Remote IP)
  4. Port Restricted Cone NAT:
    • NAT 테이블 항목: Port Restricted Cone NAT에서는 내부 장치의 사설 IP 주소와 포트 번호를 기반으로 매핑된 공인 IP 주소와 포트 번호가 NAT 테이블에 기록됩니다. 또한, 첫 번째 외부 통신 요청 시 해당 외부 주소와 포트 번호도 NAT 테이블에 저장됩니다.
    • 접속 가능성: Port Restricted Cone NAT는 내부 장치에 대한 접속을 특정한 외부 주소와 포트 번호에서 제한합니다. 내부 장치가 외부로의 통신을 시도하면, Port Restricted Cone NAT는 내부 장치의 사설 IP 주소와 포트 번호를 기록하고, 외부에서 해당 내부 장치로의 접속을 첫 번째 외부 통신에서 사용된 주소와 포트 번호에서만허용합니다.(External Port+ Remote IP + Remote Port)

요약하면, Symmetric NAT는 내부와 외부 간의 통신을 제한하고, Full Cone NAT는 외부에서 내부로의 접속을 용이하게 하며, IP Restricted Cone NAT와 Port Restricted Cone NAT는 외부에서 내부로의 접속을 특정한 주소와 포트 번호에서만 허용합니다. 이에 따라 각 NAT 형태에서 NAT 테이블에 저장되는 매핑 정보와 접속 가능성이 달라집니다

728x90
반응형