1. Computer Science / / 2022. 8. 17. 18:01

[네트워크] IP주소(IPv4, IPv6, ::) / 액세스 포인트(AP) / DHCP / DNS / URL

✅ 핵심개념

IP주소(IPv4, IPv6, ::) / 액세스 포인트(AP) / DHCP / DNS / URL

 

 인터넷

프로그래밍을 통해 명령줄에서 실행하는 프로그램만 작성할 수 있는 것은 아닙니다.

인터넷에서 실행되는 코드도 작성할 수 있습니다.

인터넷이 동작할 수 있도록 많은 다양한 시스템들과 프로토콜(Protocol, 통신 규칙)들이 갖추어져 있고, 모든 인터넷 요소들이 더불어 동작해야 사람들이 인터넷을 효과적으로 사용할 수 있습니다.

인터넷에는 어떤 시스템이고 어떻게 동작하는지를 이해하면 인터넷에 대한 이해를 전반적으로 높일 수 있을 것입니다.

 

IP주소

인터넷상에 있는 장치들은 IP 주소(Internet Protocol Address)를 할당 받는다.

IP 주소는 인터넷에 연결된 장치들을 식별할 수 있도록 해주고, 인터넷상의 다른 장치들이 특정 장치를 찾을 수 있도록 해줍니다

IP 주소는 203.253.15.17 와 같이 #.#.#.# 의 형태입니다.  (각 #은 10진수로는 0부터 255까지의 숫자이고 2진수로는 8자리의 숫자)

따라서 IP 주소는 32비트로 표현 가능한 약 40억 개의 공인된 주소를 쓸 수 있습니다.

하지만 인터넷에 연결된 장치들이 많아지면서 40억 개의 주소가 점점 부족하게 되었습니다.

이 문제를 해결하기 위한 대책 중의 하나로, 어떤 장치들에게는 사설 IP 주소를 할당하여 하나의 공인된 IP 주소를 공유할 수 있도록 합니다.

또한, 정보가 인터넷을 가로질러 전송될 때, 어디에서 정보를 보냈으며 어디로 보내는지를 인터넷이 알 수 있도록 IP 주소를 사용합니다.

정보에 대한 반송 주소와 도착 주소가 있다는 점에서, 실제 우편을 보내는 것과 매우 비슷

 

그러나 IoT 장치 등 인터넷 장치들의 숫자가 폭발적으로 증가할 것을 대비하는 대책으로, IPv4라고 불리는 32bit IP 주소 방식을 IPv6라고 불리는 128bit IP 주소 방식으로 대체하도록 했습니다.

(가장 최근 버전은 IPv6로, 기존의 IPv4 프로토콜을 대체하기 위한 것)

 

▶️ IPv4 시스템

IP 주소는 마침표로 구분된 4개의 10진수로 표현 / 각 숫자는 0부터 255까지의 10진수입니다(8bit공간)

숫자 4개의 형태로 각각 8bit 값을 나타냄

각 IPv4 주소는 32bit이며, 최대 2^32개의 주소가 존재할 수 있습니다. 이는 약 43억 개의 주소입니다.

 

-> 사용 가능한 IP 주소를 늘리기 위해 IPv6 표준이 개발되었습니다.

 

▶️ IPv6 시스템

IP 주소는 콜론으로 구분된 8개의 숫자로 구성

각 숫자를 10진수로 표현하지 않고, 16bit 숫자를 0000부터 fffff까지의 16진수로 표현

af21:10a8:1253:abd3:3019:0c2e:0b80:12a0 와 같이 #:#:#:#:#:#:#:# 형태

 

각각 16bit 정보를 갖고 있는 8개의 숫자로 구성되므로, 각 IPv6주소는 128bit를 저장하며, 이는 340 × 10억 × 10억 × 10억 × 10억 개보다도 더 많은 IP 주소를 만들 수 있다.

현재 쓰이는 주소들의 개수보다 훨씬 더 많기 때문에, 많은 IPv6 주소들은 8개의 구성 숫자들 사이에 0들을 포함하고 있다

축약해서 쓰는 경우, IPv6 주소는 16진수 앞에 오는 0들을 생략하고 0이 연속으로 오게 되면 그것들을 생략하면서 ::’을 쓴다

예를 들어, IP 주소 28aa:0000:0000:0000:0000:0000:0018:a5b2는 0들을 ::으로 대체하여 28aa::18:a5b2로 축약

축약할 때 각 주소마다 ::은 하나만 있어야 함

 

출처 : 컴퓨터과학 교양강좌:CS50

▶️사설 IP주소

인터넷 상의 모든 IP 주소들이 다 접근 가능한 것은 아니다 

사설 IP 주소라고 알려진 어떤 주소들은 특정 로컬 네트워크 내에서 사용되도록 따로 떼어놓습니다. 로컬 네트워크에 있는 컴퓨터들은 사설 IP 주소를 이용하여 다른 컴퓨터와 통신할 수 있지만, 이 네트워크 밖에 있는 컴퓨터들이 접근할 수는 없습니다.

보통, 사설 IP 주소를 갖는 장치들은 공인 IP 주소를 공유합니다. 이렇게 하면 IPv4 표준에서 필요한 공용 IP 주소의 개수를 줄일 수 있습니다. 10.#.#.#, 172.16.#.# - 172.31.#.#, 192.168.#.# 의 형태를 같은 주소들은 사설 IP 주소로 쓰기 위해 따로 떼어놓은 것입니다.

IP 주소 127.0.0.1은 다른 장치에 연결하는 것이 아니라, 사용자가 현재 사용하고 있는 장치에 연결하는 주소입니다.

이러한 이유로, 이 주소를 로컬호스트(localhost)라고 부릅니다.

 

 

 

 

 

인터넷에 연결하기

인터넷에 장치 하나를 연결하기 위해서는 몇몇 단계들이 필요합니다.

무선 장치(노트북이나 휴대폰)를 인터넷에 연결하기 위해서는, 먼저 액세스 포인트(AP)에 무선으로 연결해야 합니다.

많은 인터넷 사용자들이 볼 때 액세스 포인트는 무선 공유기의 형태로 보이게 되는데 무선 공유기 역시 액세스 포인트의 한 종류입니다.

이 액세스 포인트는 스위치에 연결되고, 스위치는 라우터에 연결되고, 라우터는 인터넷의 나머지 부분과 연결됩니다.

 

우리가 인터넷을 사용하는 과정에서 DHCP와 DNS는 특별히 중요한 역할을 담당합니다. 

▶️ DHCP는 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol)을 의미하며, 컴퓨터에 IP 주소를 할당하는 일

한 때, 네트워크 관리자가 각 컴퓨터에게 수작업으로 IP 주소를 할당해줘야 했습니다. 하지만 DHCP가 이 과정을 자동으로 해줍니다.

또한, 방문하고자 하는 모든 웹사이트의 IP 주소를 인터넷을 사용하는 모든 사람들이 기억하기는 어렵습니다.

 

대부분의 사람들은 IP주소를 기억하는 대신 웹 페이지에 접속하기 위해 텍스트로 된 주소(예를 들어 google.com)를 웹 브라우저에 입력합니다.

이 주소를 URL(Uniform Resource Locator) 혹은 도메인 주소라고 부릅니다.

 

▶️ DNS는 도메인 이름 시스템(Domain Name System)을 의미하며, URL을 받아서 IP 주소로 변환해주는 일을 합니다.

 

사용자가 웹 브라우저에 URL을 치면, DNS 서버는 먼저 URL을 보고 어느 IP 주소를 나타내는 것인지 알아냅니다.

 

 

✅ 이외의 프로토콜

그 외의 몇몇 프로토콜은 인터넷상에서 효과적으로 통신하는 것을 보장합니다. 

TCP는 전송 제어 프로토콜을 의미하며, 인터넷으로 보내진 모든 데이터 패킷이 전송되도록 보장하고, 인터넷을 통해 전송되는 정보 패킷이 어떤 서비스를 위한 것인지(웹 검색, 이메일 등) 알 수 있도록 보장합니다. 

HTTP는 하이퍼텍스트 전송 프로토콜이며, 웹 브라우저들과 서버들이 통신할 수 있도록 도와주는 또 다른 프로토콜입니다.

 

✅출처

www.edwith.org/cs50

 

728x90

'1. Computer Science' 카테고리의 다른 글

[네트워크] TCP, IP  (0) 2022.08.17
[네트워크] Router  (0) 2022.08.17
[네트워크] DNS, DHCP  (0) 2022.08.17
ASCII, 유니코드, RGB  (0) 2022.08.17
2진법 (bit / byte)  (0) 2022.08.17
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유