본문 바로가기
프로그래밍

프로그래밍 「 추천 편」IP 주소는 어떻게 작동합니까?

by grapedoukan 2023. 6. 13.
728x90

네트워킹은 세상이 소통하는 방식입니다. 장치 간에 교환되는 패킷 및 프레임은 웹 페이지, 서비스 및 데이터에서 모든 것을 제공합니다. 매년 우리는 점점 더 많은 온라인 활동을 하고 있으며 IoT 및 가전 제품과 함께 점점 더 많은 장치가 사용되고 있습니다. 따라서 모든 수준의 개발자는 패킷이 A 지점에서 B 지점으로 이동하는 방법에 대한 기본 사항을 이해하는 것이 중요합니다.

네트워크 인터페이스

주택은 주소를 사용합니다. 주소는 건물이 어디에 있는지 누구에게나 설명하는 표준화된 문자열입니다.

"톰은 6749 Main St에 산다".

모든 개인은 위의 정보를 사용하여 동일한 위치에 올 수 있습니다.

컴퓨터에는 IP 주소라는 표준화된 시스템도 있습니다.

IP 주소에는 두 가지 종류가 있지만 간단히 하기 위해 IP 버전 4를 사용합니다.

"Tom의 컴퓨터는 홈 네트워크에 있습니다."

다음과 같이 번역될 수 있습니다.

174.89.220.14

네트워크 인터페이스에서 이 주소를 제공합니다. 아래에서 이더넷 네트워크 enp0s1에서 내 PC가 192.168.64.2로 알려져 있음을 알 수 있습니다.

모든 서버에는 IP 주소가 있습니다. 서버 또는 컴퓨터에 연결할 수 있는지 확인하려면 ping 명령을 사용할 수 있습니다.

이 경우 우리 컴퓨터는 "이봐! Example.com, 여기 있니"라고 말했고, Example.com "네, 여기 있습니다"라고 4번 외쳤다. Example.com 에는 93.184.216.34의 자체 IP 주소도 있습니다.

서버의 IP 주소를 검색하려면 nslookup 명령을 사용할 수 있습니다.

이제 컴퓨터는 Example.com 찾을 수 있는 위치를 어떻게 알 수 있습니까?

Tom은 6749 Main St에 살고 있습니다.

Example.com 93.184.216.34에 살고 있습니다.

인터넷이 나오기 전에는 옐로우 페이지를 사용하여 개인이 마을에 사는 곳을 찾을 수 있습니다. 매년 마을은 이 정보를 실제 책으로 출판할 수 있습니다. 컴퓨터의 경우 도메인 이름 서버 또는 줄여서 DNS라고 하는 유사한 것이 있습니다.

DNS 서버는 호스트 이름을 확인하고 해당 서버를 찾을 수 있는 위치를 컴퓨터에 알려줍니다.

컴퓨터의 DNS 서버는 다음 명령을 사용하여 찾을 수 있습니다.

인터넷에는 많은 DNS 서버가 있습니다. 따라서 컴퓨터가 DNS 서버와 통신하고 "Example.com 찾고 싶습니다"라고 말하면 DNS 서버는 "Example.com 주소 93.184.216.34에 살고 있습니다"라고 응답합니다.

이제 이전에 Tom의 집을 방문한 적이 있으면 나중에 그의 집에 가는 방법을 기억할 수 있습니다. 컴퓨터에도 이와 같은 메모리가 있습니다. 인터넷에 접속할 때마다 컴퓨터는 외부 DNS 서버에 의존하기 전에 먼저 호스트 파일을 확인합니다.

고양이 /etc/hosts

원하는 경우 호스트 파일에 고유한 항목을 추가하여 트래픽을 다른 주소로 리디렉션할 수 있습니다.

여기서는 대신 example.com 의 IP 주소로 연결하도록 notexample.com 수정했습니다!

여기에서 우리는 그것이 작동하고 notexample이 example.com 의 IP 주소로 확인되었음을 알 수 있습니다. 이것은 웹 브라우저에서도 작동합니다.

tshark와 같은 패킷 스니핑 도구를 사용하면 ping할 때 교환되는 개별 패킷을 볼 수 example.com.

각 패킷은 표준화된 바이트 문자열로 나뉩니다. Ping 명령에 대한 위키피디아 기사는 다음과 같이 보여줍니다.

https://en.wikipedia.org/wiki/Ping_(networking_utility)

WireShark와 같은 도구를 사용하면 교환되는 RAW 바이트도 볼 수 있습니다.

728x90