Image
Image

도메인 과 도메인네임서비스(DNS)에 대해

이번시간에는 앞으로 개발하게될 웹사이트의 집주소가 될 도메인과 도메인정보를 서비스해주는 DNS란 녀석에 대해 알아보겠습니다.

먼저 도메인(Domain)에 대해서 알아볼까용?
이미 용어에 대해 아시는분도 계실거고 아니면 용어자체가 생소하실분도 계시겠지만 도메인은 이미 이 강의를 듣고 계시는 모든분들이
알고 계시는 것이겠죠.

naver.com , daum.net , mixedcode.com 모 이런형태부터해서 www.naver.com ,www.mixedcode.com 이런형태도 있고 저희 집사람이
로켓배송이 너무좋다하여 다른것은 다 건들어도 좋은데 쿠팡만은 시비걸지말라는
http://coupang.com 이런주소도 있겠죠. ^^
(가끔 재미를 위해서 간접광고도 들어가니 시비를 걸진 마세요.. ^^; )

간단히 도메인이 우리들에게 보여지는 형태들을 나열해보았습니다.

그럼 도메인은 무엇이고 용도는 무엇일까요?
이미 눈치채셨겠지만 도메인은 웹사이트의 주소, 즉 집주소,인터넷상에서 웹사이트를 찾기위한 고유한 문자형주소체계를 말합니다.
오프라인상에 존재하는 모든 주택들이 고유한 집주소가 있는거랑 비슷합니다.
사람과 물건들이 특정집을 찾아가긴 위해서는 다양한 방법들이 있게지만 가장 확실한 방법은 집주소를 알면되겠죠..
차량 네비게이션에서도 집찾기 힘들면 주소를 찍으면 가장확실한것처럼요.

보통 웹사이트를 찾기위해 웹브라우저 주소입력란에 도메인 주소를 입력하면 아래와 같은 형태가 되어 나타나죠.
이를 전문용어로 URL(Uniform Resource Locator ) 이라고합니다.

잠시 URL의 모두의 백과사전 위키에 정의된 내용을 살펴보죠.
URL
(Uniform Resource Locator, 문화어: 파일식별자, 유일자원지시기)은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다.
흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.

https://ko.wikipedia.org/wiki/URL

http://www.mixedcode.com

여기서 http는 통신방식(규칙)을 말하며 www 는 호스트(host)라 말하고 mixedcode.com이 실제 도메인주소라고 말합니다.
일단 URL 체계에 대해서는 추후 다시 논하고요. 도메인으로 돌아가서


그럼 도메인은 왜 생겨났을까요?

도메인은 사람들을 위해 생겨났습니다.
웹사이트를 보거나 SNS 카톡을 하거나 메일을 확인하거나 하는 행위를 보통 우리는 "인터넷을 한다" 라고 표현합니다.
원래 인터넷이란것은 컴퓨터와 컴퓨터,컴퓨터내에 있는 소트웨어와 소프트웨어간 네트워크상에서 통신에 의해서 서로 정보를 주고받는 모든행위를 뜻합니다.

인터넷은 Internet = Inter + Networking 의 결합어입니다.
위말에서도 알수있듯이 특정공간(International한공간 또는 상호간 또는 정해진 특정공간) 내에서 컴퓨터간 통신을 한다는 의미입니다.

본격적으로 컴퓨터와 하드웨어 애기를 좀더 하도록 하겠습니다.
컴퓨터와 컴퓨터간 통신을 하려면 하드웨어적으로는 컴퓨터내에 통신용부품(일명 랜카드,무선랜카드 등등)이 필요하고요.
통신이 가능한 모든 컴퓨터내에 존재하는 통신용부품((유.무선랜카드)은 부품 제조당시 전세계적으로 유니크함을 부여받을수 있는
맥어드레스(MAC Address) 하드웨어 제품번호(주소)를 부여받고 제품이 만들어집니다.
마치 대형마트에 가보면 모든 상품에는 바코드가 찍혀있는것처럼요..차이점은 마트 상품바코드는 유니크하지는 않습니다. 

통신용부품에는 반드시 전세계적으로 유일한 통신하드웨어 제품번호 체계인 맥어드레스란것이 존재합니다.
여러분의 노트북/PC/태블릿/스마트폰에는 통신용부품이 모두 존재하고요. 그부품들은 모두 맥어드레스를 보유하고있습니다.
자,우리의 컴퓨터에 있는 맥어드레스를 먼저 확인해보시죠.

윈도우 o/s 실행>cmd 치기고 엔터키 누르시면 까만 도스창이 뜨고요. ipconfig /all 이라고 명령어를 치고 엔터를 쳐보세요.




제컴퓨터는 O/S가 윈도우10인데요. 일반 노트북용 유선랜카드 1개와 무선랜카드 1개가 있고
각각의 물리적 주소로 나타나는 맥주소(맥어드레스)는 "6C-29-95-03-2C-86" 와 "18-67-BO-DO-28-26" 임을 확인할수 있습니다.
문자숫자조합 2자리가 모두 6개씩 12자리체계이네요. 암호같이 생겨서 외우기도 어렵겠네요..

통신용부품에 부여된 맥어드레스는 두가지 의미가 있습니다.
제품을 구분할수있는 제품고유번호의 의미(제조사/생산정보 확인용)와 전세계적으로 하드웨어의 유니크함을 부여받는것이죠.



"웹사이트는 인터넷이다."
"인터넷은 통신이다." 
"통신은 컴퓨터간 연결이다."


이런 멋진말을 한사람이 있죠.

제가 한말입니다. ㅋㅋ
결국은 웹사이트 개발을 이해하려면 인터넷과 통신과 컴퓨터를 어느정도는 이해를 해야한다는 말입니다.

그래서 본격적으로 통신에 대해 조금더 알아볼께요.
이제 통신용부품만 컴퓨터에 있으면 통신이 가능하겠죠?
불행히도 그렇지 않습니다.
통신용 부품으로 통신하려면 통신망이란게 있어야합니다. 컴퓨터가 혼자 놀게 아니고 여러 컴퓨터간 연결하여 놀거면
통신용 부품이  통신망(인터넷망,인트라넷망,학교망,사설망)에 접속하게 되고 통신망내에서는 통신부품과 통신장비간 라우팅이란게 발생합니다.

라우팅이란 통신부품 과 통신장비들끼리 정보를 주고받고 통신하는 일을말합니다. 
통신장비들끼리 통신하면서 어딘가를 찾아가는 모든과정을 라우팅(Routing)이라고 하죠.
그런데 문제는 통신장비,부품간 라우팅을 할때 서로간 유니크한 고유번호를 사용해서 서로를 구분하는데 방금 말했던 맥어드레스 구조는 라우팅이란 일을
하기에는 적합하지 않아서 통신망환경에서 컴퓨터간 또는 통신장비(부품)간 통신하기에 최적화된 주소체계를 만들어 사용하게 됩니다.

그게 많은분들이 알고계시는 "아이피 어드레스(IP Address)"입니다.

통신망에서는 컴퓨터나 통신장비(부품)간 통신할떄는 맥어드레스를 사용하지 않고 일반적으로 라우팅에 최적화된 주소체계인 IP어드레스(Address)를 사용합니다.
IP어드레스에 대해  자세히 이야기 하기전에 아래 그림으로 방금까지 컴퓨터,통신부품(맥어드레스),통신망(인터넷망),라우팅,IP주소 등 애기했던내용들을
정리해보고 넘어가겠습니다.


인터넷은 통신이고 웹사이트는 인터넷 통신망을 통해 사용자 컴퓨터와 웹사이트 서비스를 제공하는 서버컴퓨터랑 통신을 통해
서버컴퓨터에서 존재하는 웹사이트내용(웹페이지)을  사용자컴퓨터의 웹브라우저에 전달하여 보여집니다.

서버컴퓨터에 대해서는 개발이후 서비스 배포 강의시 더 자세히 다르겠습니다.

사용자컴퓨터(PC,노트북,태블릿,스마트폰...)와 서버컴퓨터간 통신뿐만 아니라 일반 사용자 컴퓨터간 통신을 할때는
컴퓨터마다 IP주소를 가지고 있어야합니다.

IP주소는 컴퓨터간 통신시 반드시 필요한 통신망내에서 컴퓨터와 컴퓨터를 구분해줄수 있는 유일한 키 또는 주소로 사용됩니다.
컴퓨터들끼리는 통신시 통신망내에서 고유한 서로의 IP 주소를 가지고 구분하고 식별합니다.

실제 인터넷이나 통신할때는 맥어드레스가 아닌 아이피주소를 이용해 컴퓨터간 통신하는데
그런데 아이피 주소란게 보통은 숫자3자리와 마침표로 구분되어지는 4자리 숫자체계를 사용하죠.
"111,123,222,101" 와 같이요.. 위에 도스창 그림을 봐도 IP주소 체계를 쉽게 알수 있습니다.

컴퓨터간에는 통신망에서 라우팅할때는 아이피주소가 좋지만 사람들이 아이피주소를 사용하기는 어렵습니다.
사람들은 그 네자리 숫자를 외우고 다니기에는 한두개도 아니고 기억하기가 매우 어렵기 떄문입니다.
그래서 웹사이트를 서비스하는 서버컴퓨터들의 주소는 IP주소와는 별개로(IP주소포함) Human Friendly한 문자주소체계를 이용해
웹사이트 서비스 제공 서버컴퓨터 주소를 만들어 사용하게 되었습니다.
그것이  "naver.com","mixedcode.com" 과같은 도메인(Domain) 주소 인것입니다.

예를 들어 네이버 웹사이트 주소는 아이피주소로 111.201.107.214 이고 다음웹사이트는  주소는 222.122,225.111 이라고 한다면
사람들은 몇개의 아이피 주소로된 웹사이트 주소를 기억할수 있을까요?
네이버 웹사이트 아이피주소 111.201.107.214 를 naver.com 으로 다음웹사이트 아이피주소 222.122,225.111 를 daum.net 이렇게 바꿔부르고
문자체계인 도메인으로 주소를 입력해도 아이피로 변환되어 컴퓨터간 통신할수 있으면 훨씬 편하겠죠?
한마디로 인간들의 기억의 한계를 지원하기위해 만들어진것이 도메인 주소체계라 할수 있죠?? 그런가요??

여기까지 이해하신분들은 대단하신분들이구요.
이해안되시는분들은 그냥 지나치셔도 됩니다. 왜? 여러분들은 전문가가 아니니까요? ㅎㅎ

너무 딱딱해지는듯 하니 여름하늘 한번 처다보고

좀 정리해볼께요.
인터넷 통신환경에서 컴퓨터간 실제 통신할때  사용되는  숫자 주소체계인 IP주소와  인간들의 기억력에 도움을 주기위해 생겨난 문자 주소체계인 도메인주소는
상호 맵핑되는 구조를 가집니다.
즉,도메인주소는 IP주소와 맵핑된다는 거죠.
굳이 아이피를 외우지 않고 도메인만 알면 자동으로 통신과정중에 IP로 변환되어 컴퓨터간 통신할수 있게 자동화 처리해주는 서비스를
DNS(도메인 네임 서비스= Domain Name Service) 라고합니다.
그리고 DNS서비스를 제공하는 서버컴퓨터가 있는데 이를 DNS서버라고 합니다.
아래그림은 사용자 컴퓨터 브라우저에서  특정 도메인을 입력하면 그도메인의 실제 IP주소를 알려주는 DNS서버의 역할을 보여줍니다. 



세상에는 무수한 도메인주소가 있죠..
이제는 너무 많아서 사용하고 싶은 도메인 네임은 거의 없다고 보셔도될듯합니다.
도메인 주소가 많기에 IP와 도메인주소의 맵핑정보를 보유하고 관리해주는 DNS서버도 여러분들 모르게 무지하게 많습니다.
아래 그램은 DNS서비스 개념도입니다.  이해되시는분들은 이제 웹사이트나 웹시스템 개발은 다하신거나 다름없습니다.
왜냐하면 웹사이트는 인터넷이고 인터넷은 통신이기 때문에 통신구조와 방식을 이해하셨으면 반절은 끝난것이죠...




어찌보면 일반인분들에게는 이번 교육프로그램에서 이번 강의가 가장 어려운 과정일것이라 생각됩니다.
컴퓨터/통신/네트워크 이런개념은 인터넷기반 웹시스템 개발에 기본이긴 하지만 이런 개념의 이해없이는 향후 배울 WWW,HTTP,HTML 의
개념이해에도 사실 다소 영향이 있습니다.

그래서 요즘 웹프로그래머들은 풀스택(Full Stack Developer) 개발자에 가깝습니다.
웹의 특성상 ICT 전분야에 관련된 기술을 어느정도는 모두 알기에 요즘처럼 기술은 쉬어지고 다양해지고 빠르게 변화하는 시대에 가장 어울리는
풀스택개발자는 바로 웹개발자가 아닌가 하는 저의 소견입니다.

한때는 웹개발자를 무시하던 때도 있었죠..
요즘은 절대 그렇지 않습니다.
갈수록 기술은 쉬어지고 다양해지고 빠르게 변화하고 있습니다. 웹개발자는 이런 시대에 최적화된 직군이라 할수 있습니다.

사심이 너무 들어갔군요.. ^^ 흠흠..


오늘 공부한 내용에 대한 다소 어려울수 있는 단어/개념은 추후 짬짬이 관련 링크를 걸어 더 공부하고 싶으신분들은
관련링크를 참조해 되도록이면 이해해보려 노력해보세요.

이번 강의는 너무 어려울수 있는 내용인지라.. 궁금한게 있으시고 이해안되시면 댓글 많이 달아주시고요.
잠시 몇일 쉬셨다가 다시 강의를 읽어보시면 새롭게 다가오실거라 생각됩니다.

즐거운주말 보내세요..
감사합니다.


======================================

대표이미지소개 : 삼성SDS 멀티캠퍼스 김종덕 강사님 동네 꽃 사진 
촬영스토리: 산책하며 펜탁스 50mm 수동렌즈, 100mm 수동렌즈로 촬영한 꽃 사진
출처 : 삼성SDS 멀티캠퍼스 전임강사 김종덕 강사님 페이스북
https://www.facebook.com/profile.php?id=100000177031492


Image

댓글목록

Image