-
인터넷, IP 주소, DNS
-
안녕하세요. 저는 Paola이고 Microsoft의 소프트웨어 엔지니어예요.
인터넷이 어떻게 작동하는지 함께 이야기해봐요.
-
제 일은 서로 이야기할 수 있는
네트워크에 의존하지만
-
1970년대에는
이를 위한 표준방식이 없었습니다.
-
Vint Cerf와 Bob Kahn은 인터네트워킹
프로토콜을 발명하여
-
커뮤니케이션을 가능하게 만들었습니다.
이 발명은 우리가 지금 인터넷이라 부르는 것의
-
기초가 되었습니다. 인터넷은 망들의 망이며
전 세계 수 십 억개의 기기를
-
모두 연결합니다. 그래서, 와이파이를 통해
랩톱 또는 전화기로 연결되고,
-
그 와이파이 연결은 인터넷 사업자 (또는 ISP)와
연결되며, 그 ISP는 여러분을
-
모두 서로 연결된 수십 만개의
네트워크를 통해
-
전 세계 수십 억대의 기기에 연결합니다.
대부분의 사람들이 인식하지 못하는 한 가지는
-
인터넷은 정말로 프로토콜 집합으로 표현되는
디자인 철학이자 아키텍처라는 점입니다.
-
프로토콜은 잘 알려진
규칙과 표준의 집합이고
-
만약 모든 당사자들이 사용하기로 동의하면
문제없이 소통할 수 있게 됩니다.
-
인터넷이 실제로 어떻게 작동하는지는
덜 중요합니다. 이 디자인 철학이
-
새로운 커뮤니케이션 기술을 채택하고 흡수하게
허용했다는 사실이 더 중요합니다.
-
이것은 새로운 기술이 프로토콜만 알면
인터넷을 사용할 수 있기 때문입니다.
-
인터넷 상의 여러 기기
모두는 각자의 고유 주소를 갖습니다.
-
인터넷 상의 주소는 전화번호 또는
거리 주소와 마찬가지로, 그냥 번호이고,
-
각 컴퓨터 또는 네트워크의 말단에 있는
기기마다 고유합니다. 이것은
-
대부분의 집과 회사가 우편주소를 갖는 방식과
유사합니다. 우편으로 편지를 받았을 때
-
누가 그 편지를 보냈는지는 알 필요가 없지만, 그들의
주소는 알아야 하고,
-
그 편지가 우편체계를 통해 목적지로 잘 전달되게
그 주소가 제대로 잘 적는 방법을 알아야 합니다.
-
인터넷 상의 컴퓨터 주소체계 역시 이와 유사하고,
이는 인터넷 통신에서 사용되는 가장 중요한 프로토콜 중
-
하나의 일부를 형성합니다.
이것을 인터넷 프로토콜 또는 IP라 부르죠.
-
컴퓨터 주소는 IP 주소라고 부릅니다.
웹사이트 방문은
-
여러분의 컴퓨터가 다른 컴퓨터에게 정보를 요청하는 것과
같습니다. 여러분의 컴퓨터는 메시지를
-
다른 컴퓨터의 IP 주소로 보내고 또한
자기의 주소도 함께 보내,
-
다른 컴퓨터가 답장을 보낼 곳을 알게 합니다.
여러분은 IP 주소를 본 적이 있을 거예요.
-
그냥 여러 개의 숫자입니다. 이러한 숫자는 위계체계로
구성되어 있어요. 집주소가
-
국가, 도시, 거리, 집 번호로 구성된 것과 마찬가지로
IP 주소도 여러 부분으로 되어 있어요.
-
모든 디지털 데이터와 마찬가지로, 이러한 숫자 각각은
비트로 나타냅니다. 전통적인 IP 주소는 32비트
-
길이이고 주소의 각 부분은 8비트로 되어 있어요.
앞쪽의 숫자들은 일반적으로 기기의 국가와
-
지역 네트워크를 나타내요. 그 다음 서브네트워크가
나오고 마지막으로는 특정 기기의
-
주소가 나옵니다. 이 버전의 IP 주소는 IPv4라고
부르고. 이것은
-
1973년에 설계되어 80년대 초에 널리 채택되었으며,
인터넷에 연결된 기기에 대해 40억개
-
이상의 고유 주소를 제공합니다.
하지만 인터넷은
-
Vint Cerf가 상상했던 것보다 훨씬 더 큰 인기를
누리고 있으며 40억개의 고유 주소로는
-
충분하지 않게 되었습니다. 지금은 IPv6라고 불리는
더 긴 IP 주소 형식으로 전환하는 중이며,
-
이 더 긴 주소 형식은 주소 당 128 비트를 사용하고
340 언데실리언 이상의
-
고유 번호를 제공합니다. 이것은 지구 상의 모래알
하나 하나마다 IP 고유 주소를 부여하더라도
-
충분한 숫자입니다. 대부분의 사용자는
인터넷 주소를 본적도 없고 관심도 없습니다.
-
도메인 이름 체계 또는 DNS라 부르는 시스템은
www.example.com과 같은 이름을 해당 주소에
-
연결시킵니다. 여러분의 컴퓨터는 DNS를 사용하여
도메인 이름을 찾고 여러분의 컴퓨터를
-
인터넷의 목적지로 연결하는데 사용한
관련 IP 주소를 얻습니다.
-
그건 이렇게 된단 말이야: (목소리 1)
"안녕하세요. 저는 www.code.org로 가고 싶어요"
-
(목소리 2) "음, 네 저는 그 도메인의 IP 주소를
몰라요. 주위에 물어 볼께요.
-
안녕, code.org로 어떻게 가야하는 지 알아요?" (목소리 3)
"네, 알아요. 174.129.14.120이예요."
-
(목소리 2) "오 오케이, 좋아요, 감사합니다. 저는
그 번호를 적어놓고 나중에 다시 필요한 경우에
-
대비해 저장해 놓을 거예요. 안녕하세요. 여기 찾고 계셨던
주소예요." (목소리 1) "훌륭해요! 감사합니다."
-
그래서 우리는 수십 억개의 기기를 위한 시스템을
어떻게 설계하여 수십 억개의 웹사이트 중 어느 하나를
-
찾아낼까요? 한 개의 DNS 서버로는 모든 기기에서
나오는 요청을 모두 처리할 수 없어요.
-
답은 DNS 서버를 분산된 위계체계로 연결하고
구역 별로 나누고,
-
.org, .com, .net 등과 같은 메이저 도메인에
책임을 나누는 것입니다.
-
DNS는 원래 정부와 교육기관을 위한 개방형,
공공 커뮤니테이션 프로토콜로
-
만들어졌습니다. 그 개방성으로 인해,
DNS는 사이버 공격에 취약합니다.
-
DNS 스푸핑이 공격의 예입니다. 그것은
해커가 DNS 서버로 들어와 그것을 변경하여
-
도메인 이름을 틀린 IP 주소에 매칭시키는
것입니다. 이렇게 하여 해커는 사람들을
-
가짜 웹사이트로 가게 합니다. 이런 일이
일어나면, 여러분은 그 가짜 웹사이트를
-
진짜인줄 알고 사용하기 때문에 더 많은 문제에
노출될 수 있습니다.
-
인터넷은 엄청나게 크고 매일 더 커지고 있습니다.
하지만 도메인 이름체계와 인터넷 프로토콜은
-
인터넷이 어느 만큼 성장하는지
상관 없이 확장성 있게 설계됩니다.