Network Basic - IP Address & DNS

IP Address

IP 주소는 Network Address 와 Host Address 로 구성되어 있으며, 32 bit로 4 byte 데이터이다.


예를들어, 10.11.12.13 이라는 IP Address 는 아래와 같이 구성되어있다.

10.11.12.0 → 00001010.00001011.00001100. ( Network Address )

0.0.0.13 → 00001101 (Host Address)


전체 IP Address 를 32비트로 보면 아래와 같이 나타낼 수 있다.

10.11.12.13 → 00001010.00001011.00001100.00001101


하나의 8비트 섹션을 옥텟(octet)이라 부른다.


Subnet Mask

TCP/IP 프로토콜에 의해 Host 가 로컬 서브넷에 있는지 아니면 원격 네트워크에 있는지를 확인하는 데 사용된다.

10.11.12.13 → 00001010.00001011.00001100.00001101

255.255.255.0 → 11111111.11111111.11111111.00000000


이는 10.11.12.0/24 를 의미한다.

24 는 24 bit 를 의미하는데 앞서 255.255.255.0 은 8bit.8bit.8bit.0 을 의미한다.

따라서, 8bit * 3 = 24bit 을 의미하며, 8bit 이라는 의미는 더이상 해당 옥텟에 host 부여가 불가능하다는 의미이다. 따라서 해당 네트워크의 호스트가 부여가능한 IP range 는 10.11.12.1 ~ 10.11.12.254 범위를 의미한다.

여기서, 10.11.12.0 과 10.11.12.255 는 포함되지 않는다.

호스트 번호 부분의 비트 값이 모두 0 또는 1인 경우는 특별한 의미를 가진다.

모두 0 → 서브넷 자체를 가리킨다. (10.11.12.0 → 00001010.00001011.00001100.00000000

모두 1 → 서브넷에 있는 기기 전체에 패킷을 보내는 브로드캐스트 를 나타낸다.
(10.11.12.255 → 00001010.00001011.00001100.11111111)


Broadcast?

Broadcasting 이란 네트워크의 모든 Host 에 대해서 응답을 요청하지 않고 오로지 메세지를 송신하는 것을 의미한다. 네트워크에 있는 하나의 Host 가 다른 모든 Host 에게 동시에 data packet 을 송신한다. 송신자는 수신자의 주소를 나타내지 않는다. - 오직 하나의 수신자 ( IP address 를 알고있는 ) 에 data packet 을 송신하는 Unicast 와 다르다. Broadcasting 의 장점은 여러번에 걸쳐서 데이터를 전송하는 것이 아니라 한 번에 데이터를 전송할 수 있다.


Domain 과 IP Address

TCP/IP 네트워크는 IP 주소로 통신 상대를 지정하므로 IP 주소를 모르면 상대에게 메시지를 전달할 수 없다.

IP 주소는 4바이트로 32비트의 크기지만 도메인명은 최대 255바이트의 가변 데이터다.

따라서 4바이트를 취급하는 것이 최대 255바이트의 가변 데이터를 취급하는 것보다 훨씬 효율적이다.


Name Resolution

웹 브라우저는 DNS Resolver 를 통해서 DNS Server 에 Domain 과 함께 요청하고 IP 를 응답 받는 Socket 통신을 한다. 해당 통신은 OS 내부의 프로토콜 스택을 이용해서 진행된다.

웹 브라우저 (어플리케이션) -> DNS Resolver (Socket Library) -> OS 프로토콜 스택 -> LAN 어댑터 -> DNS 서버 에 요청 (Domain Name 과 함께)

DNS 서버 -> LAN 어댑터 -> OS 프로토콜 스택 -> DNS Resolver (Socket Library) 응답 받은 IP 를 메모리에 저장 -> 웹 브라우저 (어플리케이션)

Mac OS nameserver 확인 

host command 를 통한 방법

/etc/resolv.conf 확인

댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째