* 성공과 실패를 결정하는 1%의 네트워크 원리를 정리한 글입니다.
1.2 웹 서버의 IP 주소를 DNS 서버에 조회한다.
1. IP 주소의 기본
브라우저는 URL을 해독, HTTP 메시지를 만들지만, 이를 네트워크에 송출하는 기능은 없다.
따라서 OS가 메시지를 웹 서버에 송출한다.
이때 메시지를 웹 서버에 보내기 위해 도메인을 IP로 변환한다.
- TCP/IP
- 서브넷이란 작은 네트워크를 라우터로 연결하여 자체 네트워크를 만드는 것
- 따라서 서브넷 주소 → 호스트 주소 로 주소가 이어지며 이 두 개를 합친 것을 IP 주소라 한다.
- 따라서 IP 주소를 찾을때도 클라이언트 → 수신 서브넷 → 수신 라우터 → 허브 → 송신 라우터 → 송신 서브넷 → 서버 로 움직임
- 넷마스크
- IP 는 32비트로 구성되어 있지만(IPv4) 이 중 어느 값이 네트워크 번호고 어느 값이 호스트 번호인지 나와 있지않아서 넷마스크로 이를 구분해야함.
- 넷마스크넷마스크가 1인 경우는 네트워크 주소, 0인 경우는 호스트 주소로 판단함.
- 넷마스크의 1 갯수를 이진수로 표현해서 24, 25 등으로 표현하기도 함.
- 서브넷이란 작은 네트워크를 라우터로 연결하여 자체 네트워크를 만드는 것
- 호스트 번호의 0과 1
- 만약 호스트 번호가 모두 0이면 서브넷의 주소만을 가르키는 것이고
- 호스트 번호가 모두 1이면 서브넷 안에 있는 모든 기기에 패킷을 보내는 브로드캐스트를 나타냄.
2. 도메인 명과 IP 주소를 구분하여 사용하는 이유
가상호스트가 아닌 경우 URL에 IP를 써도 정상 작동함.
도메인을 메인이 아니라 IP가 메인인 이유는 IP의 데이터가 훨씬 적기 때문이다.
3. Socket 라이브러리가 IP 주소를 찾는 기능을 제공한다
- 리졸버
- DNS에 조회 메시지를 보내고 응답 메시지를 받는 과정에서 DNS 클라이언트에 해당하는 것이 DNS 리졸버이다.
- 또한 이렇게 IP 조사를 하는 것은 네임 레졸루션이라고 한다.
- 레졸버는 Socket 라이브러리에 들어있는 부품화된 프로그램이다.
- Socket 라이브러리
- OS에 있는 네트워크 프로그램 모음집
4. 리졸버를 이용하여 DNS 서버를 조회한다.
💡 <메모리 주소==변수> = gethostbyname(”www.lab.cyber.co.kr”)
- 메모리 주소 → 리졸버 프로그램 이름 → 원하는 도메인을 쓰면 리졸버가 해당 메모리 주소에 IP를 준다.
관련 기술 면접 질문
더보기
TCP/UDP 의 차이는?
- UDP
- UDP(User Datagram Protocol)은 비연결지향형 프로토콜이다.
- 흐름제어, 오류제어를 하지 않는다.
- 따라서 속도가 빠르다.
- DNS에서 사용한다.
- TCP
- TCP(Transmission Control Protocol)은 연결지향형 프로토콜이다.
- 신뢰성과 순차적인 전달을 보장한다.
- point to point, 양방향 전송을 보장한다.
IPv4 IPv6 의 차이는?
IPv4는 32비트, IPv6는 128비트로 이루어져 IPv6가 훨씬 많은 양을 다룬다.
IPv4 는 4자리, 2^8을 사용했고 IPv6는 8자리, 2^16을 사용한다.
IPv4
255.255.255.1
IPv6
2001:0DB8:0000:0000:0000:0000:1428:57ab
또한 IPv6 는 호스트 주소 자동 설정, 패킷 크기 확장, 효율적인 라우팅 등의 추가 기능이 탑재되었다.
가상호스팅이란?
하나의 서버로 여러 개의 도메인 이름을 호스팅하는 방식
'CS > Computer Science' 카테고리의 다른 글
Same-Origin Policy : 동일 출처 정책 (0) | 2022.02.14 |
---|---|
CSR과 SSR의 차이 (0) | 2022.01.23 |
네트워크 1.1 HTTP 리퀘스트 메시지를 작성한다. (0) | 2021.12.27 |
웹사이트 렌더링은 어떻게 되는가? (2) | 2021.12.10 |
OSI 7계층이란? (0) | 2021.11.29 |