인터넷과 그에 관련된 표준기구
인터넷은 소수의 기술 전문가들이 비공식적인 협력을 통해 수년 간 개발되고, 규정되며, 관리해왔다.
- IETF(Internet Engineering Task Force, 국제 인터넷 표준화)</aside>
- <aside> 🌐 핵심 기술의 대부분은 IETF라고 불리며 운영되는 연합체에서 개발됐다. 인터넷의 작동방식을 설계하고 기술 표준 문서를 만드는 단체로, 기술적인 사양을 정기회의나 RFC라는 문서로 상세히 논의한다.
- RFC(Request For Comments)</aside>
- <aside> 🌐 Internet과 TCP/IP에 대한 제안, 접수된 일련의 조사결과, 측정, 아이디어, 기술, 관찰 뉴스, 표준 등의 종합체
- ICANN(Internet Corporation for Assigned Names and Numbers, 국제 인터넷 주소 관리기구)</aside>
- <aside> 🌐 인터넷의 기술적인 조정을 담당한다. 도메인 이름, IP주소, 프로토컬 정보 등의 인터넷을 작동하기 위한 고유 이름과 번호 할당의 권한을 *도메인 네임 등록 대행업체(AWS, 가비아 등)*에 승인한다.
도메인 네임 시스템(DNS)
DNS는 계층적 명명체계를 제공한다. 지정된 사용목적 이외에는 도메인 등록을 할 수 없었다. 즉, 실 사용자가 사용목적과 일치한 업무를 하는지 확인을 거쳐야 했었다. 하지만 도메인 등록 대행 경쟁이 과열화로 인해 최근에는 일부 최상위 도메인은 그런 확인절차 없이 수수료만 내면 등록해 주고 있다.
도메인 이름은 논리적인 구조를 따라야 하지만 지리적 의미를 담진 않는다.
🌐 IBM은 많은 국가에서 운영되는 기업이지만, 회사의 모든 컴퓨터는 *ibm.com*을 포함한다. 단일 컴퓨터로 여러 도메인에 서비스를 제공할 수 있으며, 호스팅서비스를 제공하는 회사들의 흔한 방식이다. 반대로 페이스북이나 아마존 같은 많은 컴퓨터가 단일 도메인에 서비스를 제공하는 경우도 있다.
도메인 네임에 지리적 제약이 없다고는 하지만 예외적인 부분이 있는데 국가코드가 이에 해당한다.
IP주소
네트워크와 연결된 각각의 컴퓨터는 IP주소를 통해 통신하며, IPv4 주소는 32비트의 고유한 값을 가진다. 즉, 인터넷 전체에서 하나의 IP주소는 하나의 컴퓨터 만 사용할 수 있다.
ICANN에서 블록 단위로 할당하며, 해당 블록을 받은 기관에서 나눠서 할당한다. IP주소는 [ ].[ ].[ ].[ ] 형태로 [ ]안에는 000부터 255까지의 십진수가 들어간다. 즉, 약 43억 개의 호스트를 만들 수 있다.
- NAT(Network Address Translation, 네트워크 주소 변환)</aside>
- <aside> 🌐 단일 외부 IP주소를 여러 내부 IP주소에 서비스해서 공공 IP주소를 절약하고 장치내부의 하드웨어와 소프트웨어가 양방향 변환처리 하여 공개된 인터넷과 사설망 사이에 방화벽을 설치하여 외부 공격으로부터 사용자의 통신망을 보호하는 기능으로 작용한다.
이 역시 도메인 이름처럼 지리적 의미가 전혀 없다. IP주소값이 인접해 있어도 거리상 아무런 연관이 없다. 그러므로 IP주소의 숫자 만으로 사용자의 위치정보를 알아 낼 방법은 없다. 그러나 DNS 역방향 조회를 지원해 도메인 이름으로 어떤 용도의 사이트인지를 통해 추측 정도는 할 수 있다.
루트 서버
DNS에서 제공하는 서비스 중 도메인 네임을 IP주소로 변환하는 것이 가장 중요한데, TLD는 모든 TLD의 IP주소를 알고있는 RNS에 의해 처리된다.
- RNS(Root Name Server, 루트네임서버)</aside>
- <aside> 🌐 인터넷의 DNS 로트 존으로, 루트 존의 레코드의 요청에 직접 응답하고 적절한 최상위 도메인(TLD)에 대해 권한있는 네임 목록을 반환함으로써 다른 요청에 응답한다.
DNS는 검색에 효율적인 알고리즘을 사용하는데, 최상위에서 처음 실행한 쿼리를 통해 대부분의 주소를 고려해야할 대상 목록에서 제거한다. 검색이 트리구조를 따라 내려갈 때 매번 각 단계별로 이러한 패턴이 반복해서 적용된다. 최근에 조회한 이름과 주소를 캐시(cache)에 저장해 같은 요청의 응답속도를 단축시킨다. 명령 프롬포트(cmd) 등에서 nslookup a.root-server.net 를 입력해 확인해 볼 수 있다.
이론상 루트서버가 하나만 있다고 생각할 수 있는데, 그럴경우 루트서버가 단일 장애 지점(single point of failute)이 될 수 있기 때문에, 이러한 시스템에 적용하기 나쁜 발상이다. 그래서 전세계에 13개의 루트서버가 있고, 서로 멀리 떨어져 여러대의 컴퓨터로 구성되어 있으며, 단일 컴퓨터 처럼 작동하지만 가까운 컴퓨터에 요청을 라우팅하는 프로토컬을 사용한다.
루트서버는 여러 종류의 하드웨어에서 다양한 소프트웨어 시스템을 실행하기 때문에 버그나 바이러스 등으로 부터 덜 취약하지만 조직화된 공격을 받을 때 불운한 사고가 곂치면 최악의 경우 서버 전체가 다운될 가능성이 있다.
자신만의 도메인 등록
'항해' 카테고리의 다른 글
RestController , Controller (0) | 2022.06.10 |
---|---|
cs 36 , 37 (0) | 2022.06.08 |
뽀스트맨 쓰는법 (0) | 2022.06.03 |
cs 스터디 24~25 (0) | 2022.06.01 |
JWT (0) | 2022.05.31 |