안녕하세요~ 마무입니다. 오늘은 "네트워크 인터넷 브라우저", "네트워크란", "인터넷이란 무엇인가", "브라우저란" "URL 구조", "LAN"에 대해서 포스트할 겁니다.
이 포스트를 다 읽으시면
인터넷, 브라우저, 네트워크, LAN, 모뎀, URL, 광케이블 에 대해서 확실하게 알게 되며,
이 포스트를 다 읽으시면
인터넷, 브라우저, 네트워크, LAN, 모뎀, URL, 광케이블 에 대해서 확실하게 알게 되며,
인터넷을 바라보는 관점이 완전히 달라지게 됩니다!
네트워크의 전반적인 어마어마한 용어들이 엄청 나올텐데, 더 세부적인 정보들은 다른 포스트에서 다룰 것으로, 이 포스트는 네트워크와 인터넷의 전체적인 흐름을 본다고 생각하고 읽어주세요!
--목차--
1. 네트워크도 통신이다.
i)1L, 물리계층(Physical Layer), 1,2,3,4,5,6,7계층을 나누는 이유
2. 여러대가 통신이 되면, 그게 네트워크다.
i)2L, 데이터링크 계층(Datalink Layer)
3. 전 세계의 네트워크가 연결된 것이 인터넷이다.
i)3L, 네트워크 계층(Network Layer)와 IP
ii)4L, 전송계층(Transport Layer)과 TCP/UDP
4. 가정집에서의 네트워크와 외부 네트워크 연결구조
5. 사람들이 생각했던 인터넷의 정체(브라우저를 이용해 서버에 접속)
i)URL뜻, 구조(도메인, 더블 슬래시, 콜론, scheme)의미
ii)정리
---------
여기서 못 찾은 정보는
리눅스 독학 페이지 : https://mamu2830.blogspot.com/p/blog-page_13.html
운영체제 독학 페이지 : https://mamu2830.blogspot.com/p/blog-page_14.html
네트워크 독학 페이지 : https://mamu2830.blogspot.com/p/blog-page_15.html
에서 찾아보세요!
1. 네트워크도 통신
네트워크를 제대로 공부하려면, "네트워크도 통신"이라는 사실부터 자각을 해야합니다.
무슨소리냐면 대부분의 사람들은 "통신"하면 전화나 무전같은 것을 떠올리며 구시대적인 것으로 생각하고, "네트워크"라고 하면 뭔가 컴퓨터의 고급 기술이 적용된 신시대적인 것으로 생각하며 서로 다른 기술로 착각한다는 것이죠.
하지만 실상은 그냥 여러대의 컴퓨터가 서로 통신하기 위해 연결되면 그게 네트워크입니다.
i)물리계층(Physical Layer)
자. A컴퓨터와 B컴퓨터가 있습니다.
둘이 통신을 하려면 당연히 물리적인 선으로 연결이 되야겠죠?(물론 현재는 무전기술이 많이 발전했지만, 빠르고 정확한 정보를 전달하려면 유선이야 합니다)
이렇게 둘이 물리적인 선으로 연결이 됐으면, 이제 서로 통신을 할 수 있습니다.
자 아직 컴퓨터라는 것에 "통신"이라는 단어가 어색하기 느껴지시면,
컴퓨터란 단어를 전화기로 바꿔보세요. 그러면 통신이라는 말이 어색하지 않으실 겁니다.
이렇게 선으로 연결돼, 컴퓨터 데이터를 전기적 신호 또는 광신호로 바꿔서 상대방에게 전달하는 "물리적 기술과 장비들을 다루는 영역을" 첫 번째 단계라해서 "1계층(1L)" 또는
"물리 계층(physical layer)"이라고 하고 사용합니다.
왜 이렇게 컴퓨터 기술들을 "1계층"와 같이 나눠서 구분하냐면, 그렇게 해야 기술들을 더 세분화할 수 있고, 특정 문제가 발생했을 때 세분화 덕에 더 빨리 점검 및 고칠 수 있기 때문입니다.
생각해보세요, 우리도 피부에 관련된 질병은 피부과를 가고, 코, 눈, 입, 귀에 관련된 곳은 이비인후과를 가듯이 질병과 관련된 분야들을 세부적으로 구분하였기 때문에 더 전문적으로 점검 및 치료할 수 있는 거잖요? 컴퓨터기술도 마찬가지라는 겁니다.
2. 여러대가 통신이 되면, 그게 네트워크다
자 그럼 이번엔 컴퓨터가 2대가 아니라, 4대라고 쳐봅시다.
4대의 컴퓨터들이 모두 각각 "통신"을 하기 위해, 이렇게 "그물(net)"처럼 연결이 됐죠? 그래서 이런식으로 다수의 컴퓨터들이 연결돼 통신할 수 있는 환경을, "그물(net)"처럼 형성돼 "작동(work)"한다 해서 "네트워크(Network)"라고 부르는 겁니다.
물론 이렇게 다수의 컴퓨터와 연결이 되면, 각 컴퓨터들을 구분해야하지 않겠습니까?
서로 다른 컴퓨터들을 어떻게 구분할까요? 컴퓨터 기종? 아니죠 같은 회사의 같은 기종의 기기 여러대가 같은 네트워크에 속할수도 있잖아요~
그래서 "모든 통신 기기"들은 서로를 구분할 수 있는 겹치지 않는 유일한 번호인 "MAC(Media Access Control)주소(Address)"를 가집니다.
그래서 각 기기들이 MAC주소로 구분되고, 서로 통신을 할 수 있는 것이죠.
i)데이터링크 계층(Datalink Layer)
그런데 이렇게 네트워크를 구성하면, 네트워크로 연결된 컴퓨터들이 많아질수록 선이 엄청 많이 필요하게 됩니다(지금은 4대라서 3! = 6개만 필요하지만, 8대가 되면 7!만큼 필요하죠.
100대면? 99!개의 선이...)
그래서 이런 선의 낭비를 줄이기 위해 등장한 장치들이 바로 "허브, 스위치"이고, 이 장치들을 이용해
이렇게 선의 낭비를 줄인 효율적인 구성이 가능해집니다.
하지만 이렇게 스위치, 허브내로 모든 컴퓨터 선들이 연결되니, 각 컴퓨터들의 데이터들이 한 곳으로 모여 충돌하기에 여러 문제가 생깁니다.(순서는 어떻게 할지, 동시에 들어오는 데이터들의 충돌은 어떻게 할지 등등)
그래서 당연히! 이런 충돌을 피하고 데이터들의 통신을 원할하게 하는 2계층에 사용되는 "어떤 기술들"이 있으니 그 기술들에는 이제 "이더넷(CSMA/CD), 토큰링 같은 기술들이"이 있습니다.
또한 이렇게 "한 구역 범위(Local Area)"인 "네트워크(Network)"를 우리는 "LAN(Local Area Network)"이라고 합니다.
그리고 이런 LAN 네트워크를 구성하기 위해 사용되는 선을 우린 "LAN 선"이라고 합니다.
한 가정집에선, 모뎀에 "LAN선으로 연결된 컴퓨터들"과 모뎀에 "LAN선으로 연결된 공유기", 그리고 공유기가 만들어 낸 "WIFI에 접속한 휴대폰들", 그리고 모뎀에 연결된 "셋톱박스에 HDMI로 연결된 TV"까지, 이 모든게 다 LAN 네트워크에 속한 기기들이라고 보시면 되는 겁니다!
이렇듯 한 네트워크에 속한 여러 컴퓨터들의 "데이터(Data)"들을 어떻게 효율적으로 "연결(링크, link)"하여 통신하게 하느냐의 기술들과 기계들을 다루는 영역을 우린 "2계층(2L)"이자, "데이터링크 계층(Datalink layer)"라고 부릅니다.
3. 전 세계의 네트워크가 연결된 것이 인터넷이다.
그런데 사실 이 세상은 모든 컴퓨터들이 연결이 돼 있잖아요? 과연 어떻게 가능할 것일까요?
한번 단순하게 2개의 네트워크만 있다고 치고, 2계층 장비인 스위치 2개로 네트워크를 연결해보겠습니다.
이렇게 2계층인 스위치로 서로 다른 네트워크를 연결하면 이건 "ABCDEFGH"라는 하나의 네트워크가 됩니다.
왜냐면 2계층(데이터링크 계층)은 모든 데이터들이 링크(연결)되는 계층이기 때문이죠.
여기까지만 보면 뭐가 문제냐 싶겠지만, 원래 "같은 네트워크에 속한 모든 기기"는 모르는 컴퓨터의 이름(주소)를 알아내기 위해, 연결된(같은 네트워크에 속한) "모든(broad)" 컴퓨터들에게 'X컴퓨터 주소가 뭐야?'라는 "질문을 던지는(cast)", "브로드캐스팅(Broadcasting, 방송)"을 하거든요?
그런데 컴퓨터든 스위치든, "브로드캐스팅(Broadcasting)으로 알아낸 주소"를 일정 시간이 지나면 까먹습니다. 그래서 일정한 시간마다 다시 브로드캐스팅을 하기에 트래픽이 계속 발생됩니다.
여기서 "트래픽(Traffic)"은 영어의 뜻 "도로에 존재하는 자동차들의 수"처럼 "통신망에 흐르는 데이터의 양"이라고 보시면 됩니다.
문제는!! 전 세계 모든 컴퓨터들을 2계층 장비인 스위치로만 구성을 한다면,
전 세계 모든 기기들이 같은 네트워크에 속하게 될 것이고, 같은 네트워크에 속한 전세계 컴퓨터들이 특정 시간마다 브로드캐스팅을 계속 보내 발생되는 엄청난 트래픽에 의해 네트워크가 마비가 될 겁니다.
생각해보세요 "전 세계 모든 사람"들이 같은 방에서 0.000000001초마다(전세계의 인터넷이 되는 기기가 3000억개라고 쳤을 때)
"X이름이 머야!!!!?"라고 소리친다면... 그걸 듣고있는 사람은 미쳐버리겠죠..?
이와같이, 한 네트워크에 수 많은 컴퓨터들이 속하게 되면 통신이 불가능할 정도로 어마어마한 트래픽이 발생하기에, 네트워크를 나눠야 합니다.
i)네트워크 계층(Network Layer)
자 이렇듯 2계층만으로 모든 네트워크를 구성하면, 통신이 마비되기에 네트워크를 나눠주는 기기를 도입하는데 그 기계가 바로 그 유명한 "라우터(Router)"입니다.
이 "라우터(Router)"라는 기계는 네트워크와 네트워크 사이에 딱 껴서, 네트워크를 구분하고, 또 연결해줍니다.
이렇게 말이죠.
라우터를 사용하면, 2계층 장비인 스위치와 다르게 "ABCD네트워크"와 "EFGH네트워크"가 구분이 됩니다.
또한 "라우터(Router)"는 다른 네트워크까지의 최단 거리를 계산해서 목적지 네트워크까지의 최단 "길(Route)"을 "아는 녀석(er)"입니다. 그래서 "Router"라고 불리는 것입니다.
다른 네트워크까지의 최단 거리를 계산해 알고 있다는 것은
이렇게 "네트워크 A에 속한 어떤 컴퓨터"가 "네트워크 F에 속한 어떤 컴퓨터"와 통신하려고 할 때, 주황색 1번 길은 라우터 1개를 거쳐가고, 주황색 2번 길은 라우터 2개를 거쳐가죠?
이 때, "네트워크 A와 연결된 라우터"는 '주황색 1번으로 보내는 방법이 훨씬 네트워크 F까지 가까우니(빠르니), 1번 루트로 보내야겠어'라고 판단하고
1번 방향으로 네트워크 A의 컴퓨터 패킷(네트워크 계층의 데이터 단위)을 보낸다는 것이죠.
이처럼 "라우터(Router)"는 네트워크를 나눠주는 것 뿐만 아니라, 빠른 통신을 위한 최적의 방법도 계산해주기에 네트워크는 "라우터로 시작해 라우터로 끝난다"라 해도 과언이 아니며, 이런식으로 전 세계 수~~많은 라우터와 라우터들이 연결되어 전세계 모든 네트워크가 연결이 된 것이 바로!! "인터네트워크(Internetwork)"이고 줄여서 "인터넷(Internet)"입니다.
그런데 여러분, "라우터(router)"가 어떻게 길을 찾으며, 각각의 네트워크를 구분할까요?
다시 말해서 우리야 지금 매우 적은 수의 네트워크를 A,B,C,D 이렇게 임의로 이름을 붙여 예시로 들었기에 구분이 가능했던 것이지, 전세계 수~ 많은 네트워크들이 연결된 인터넷에선 어떻게 구분하고, 가장 빠른 길을 찾았냐는 거죠.
그래서 바로 현실에서의 주소처럼, 인터넷에서의 구분을 위한 주소가 있으니 그것이 바로 그 유명한 "IP주소(또는 번호)(Internet Protocol Address)"라고 합니다.
우리 현실에서도 건물 뿐만 아니라 도로에도 주소가 있듯이, 인터넷에서도 "컴퓨터들" 뿐만 아니라, "라우터"와 "라우터와 라우터 사이의 연결된 선"에도 IP번호가 2개씩 할당됩니다.
굳이 예시를 들자면 "라우터"에 할애되는 IP는 "사거리 주소"고, "라우터와 라우터의 연결된 선"에 할애되는 2개의 IP는 "특정 거리의 출발 주소"와 "끝나는 주소"에 해당하는 거라고 볼 수 있죠.
즉 "IP주소"를 할당한 인터넷 모습은
대략 이런 모습인 것이죠(라우터와 라우터사이의 공인 IP는 임의로 제가 막 적은겁니다, 네트워크 A인 경우 정확힌 게이트웨이, 브로드캐스트 IP를 제외한 254개 입니다, 192.168.1.22/30은 실수예요ㅠㅠ)
보시면 많은 기기들이 속한 네트워크 뿐만 아니라, 라우터, 심지어 라우터와 라우터 사이의 선 양 끝에도 IP가 1개씩 할당된 걸 볼 수 있죠?
이런식으로 인터넷에선 IP주소로 모든 것이 구분이 되고 통신을 하기에, 인터넷을 사용하려면 반드시 IP주소를 할당받아야 하는 겁니다.
아마 네트워크 공부를 많이 안 해보신 분들은, 이 IP가 할당된 그림만 보고도 벌써 울렁증이 오실텐데...
음..하지만 사실 저것이 진정한 네트워크의 모습이자, "네트워크관리사"나 "CCNA"와 같은 네트워크 엔지니어가 되기위해 공부하는 과정입니다... 앞으로 여러분들이 반드시 마주해야할 미래라는 거죠...
하지만 걱정하지마세요! 제가 차근차근 쉽게 알려드릴테니! 나중엔 익숙해지실 겁니다~
지금은 저 토나오는 사진을 자세히 보진 말구, 그런가보다~ 하고 넘어가세요!
이처럼 "네트워크와 네트워크 사이의 통신에서 사용되는 기술들과, 장비를 다루는 영역"을 "3계층(3L)", "네트워크 계층(Network Layer)"라고 합니다.
자 그런데 여러분들, "같은 네트워크(2계층{데이터 링크 계층})"에서도 각각의 컴퓨터들의 데이터들이 충돌이나 혼선을 빚지않게 해주는 기술(이더넷, CSMA/CD)이 있었듯이,
"다른 네트워크와의 통신(3계층, 네트워크 계층)"에도 수 많은 다른 네트워크와의 통신에서 데이터의 충돌 및 혼선을 빚지 않게 해주고, 목적지까지 데이터를 잘 전달하게 해주는 "기술"이 당연히! 있습니다.
그리고 "컴퓨터 공학"에선 이런 기술들을 주로 "프로토콜(Protocol)"이라고 합니다.
"프로토콜"은 "정해진 규칙 및 약속" 이런 뜻인데... 프로토콜에 대한 자세한건 프로토콜 포스트에서 다루겠습니다.
지금은 그냥 "프로토콜 = 기술"이라고 받아들이시고 넘어가시면 되겠습니다.
2계층에서 사용되는 기술인 "이더넷(CSMA/CD)"라는 것도 사실은 프로토콜이며, 이 프로토콜이란 표현은 2, 3계층 뿐만 아니라 모든 계층에서 사용이 됩니다.
그리고 "3계층(네트워크 계층)인 인터넷(Internet)"에서 네트워크들을 구분하고, 데이터를 효율적인 형태인 "패킷(Packet)"으로 나눠주는 기술을 인터넷에서 사용하는 프로토콜이라 하여 "IP(Internet Protocol)"라고 합니다.
그리고 이 "IP(Internet Protocol)"에서 사용되는 주소를 "IP 주소, 번호(Internet Protocol Address)"라고 하는 겁니다.
ii)4L, 전송계층(Transport Layer)과 TCP/UDP
하지만 네트워크를 구분하고 데이터를 패킷으로 만드는 것은 "IP(Internet Protocol)"로 해결이 됐지만, 또 다른 문제가 생겼습니다.
전세계의 모든 네트워크 장비들이 연결된 "인터넷"은 간단히 "IP"만으로 뚝딱!하고 "2계층"처럼 쉽게 통신을 할 수가 없었던 것이죠.
왜냐면 목적지까지의 길(route)이 한 개가 아니기 때문입니다.
수~~~~~~~~~~~~~~~~~~~~~많은 라우터들이 연결돼 있는 인터넷은 특정 네트워크까지 패킷을 보내는 방법에 엄청나게 많은 경우의 수가 있죠.
그래서 데이터를 일정한 크기로 나눠 만든 "패킷들"이 목적지까지 나눠져서 가다가, 중간에 특정 길에 문제가 생겨 끊기는 경우 패킷이 소실되는 겁니다.
그래서 기기 종류와 상관없이 네트워크에 접속한 모든 기기들에게 데이터를 안전하게 전송할 수 있는 "기술"이 개발됐으니.. 그것이 바로 그 유명한 "TCP(Transmission Control Protocol)"와 "UDP(User Datagram Protocol)"입니다.
자세한건, 프로토콜 포스트에서 다루도록 하겠습니다...
OSI 7계층과 프로토콜: https://mamu2830.blogspot.com/2020/06/osi-7.html
이렇듯 "데이터를 어떻게 목적지까지 전송(Transport)할지"에 대한 기술과 장비를 다루는 영역을 "4계층(4L)", "전송계층(Transport Layer)"이라고 부릅니다.
이처럼 "네트워크 계층의 IP"와 "트랜스포트 계층의 TCP"는 인터넷에서 필수라고 할 만큼 중요한 기술이여서 "TCP/IP"로 묶어서 부릅니다.
4. 가정집에서의 네트워크와 외부 네트워크 연결구조
자 그러면 이런 질문이 나올 겁니다.
'네트워크가 라우터(router)라는 장비로 구분이 된다면, 가정집에는 라우터가 어딨나요?'
라고 말이죠.
훌륭한 질문입니다!
사실 인터넷에 "라우터(Router)"라는 것을 검색해보시면
이렇게 CISCO회사의 라우터와 같이 덩치큰 기기가 나오는데요, 이런 기기들은 이제
비싸서 가정용으로 쓰긴 과분하고...
우리나라에선 보통 "통신사(KT, SKT, LG)"에서 인터넷을 신청하면 설치해주는
이렇게 생긴 "모뎀(MODEM)"이 "라우터" 역할을 합니다.
아까 2계층(데이터링크 계층)에서 나온 그림의
정 가운데 있는 이 "모뎀(MODEM)"이 라우터 역할을 해주기 때문에
이런 가정집 네트워크가 구성이 가능했던 것입니다.
물론 원래 이 "MODEM"이란, "변조"를 해주는 기계의 "MODulator"와 "복조"를 해주는 기계의 "DEMulator"의 합성어 입니다.
그냥 쉽게 "변조와 복조"를 해주는 기계입니다만, 요즘은 가정집의 모뎀(MODEM)이 라우터 기능도 가지고 있는 경우가 많습니다.
"단순한 모뎀"인지, "라우터 기능을 가지고 있는 모뎀"인지는 뒤를 보시면
이렇게 LAN포트가 여러개 달려있으면, 라우터 기능이 있구나! 생각하시면 됩니다.
그럼 또 이런 생각이 들죠
'그럼 우리집 라우터(모뎀)와 다른 라우터가 연결되는 선은 어디있지?'
라는 의문이 말이죠.
그 의문의 해답은!!! 위의 모뎀을 자세히 보시면!
이렇게 "OPTICAL(광, 빛을 이용한)회선"이 있습니다!
다들 "광통신"이라는 말을 들어보셨을 건데요, "빛신호"가 지나가는 "광섬유 케이블(Fiber-optic cable)"을 통해 매우 빠른 통신을 하는 것을 말합니다.
LAN에 속한 기기들의 전기적인 신호로 데이터를 이 모뎀에 보내면, 그 전기적신호를 이 모뎀에서 광신호로 바꿔서 이 광섬유 케이블을 통해 매우 빠르게 다른 라우터로 보내는 겁니다 빛의 속도는 전기보다 훠~~~~~~일씬 빠르니까요!
이 광섬유 케이블을 따라가시면, 분명 집 밖 어디론가 이어질 겁니다.
한번 밖을 나가서 하늘을 바라보세요, 그러면 평소에는 의식하지 않았던
많은 선들이 연결돼 있는 전봇대가 보이실 겁니다.
그리고 좀 더 자세히 둘러보시면, 운이 좋을 시
이렇게 광 섬유케이블 이라고 써있는 것도 보실 수 있습니다 ㅎㅎ
이런 "광섬유케이블"들이 전봇대를 이용해 또 다른 전봇대로 이어지고, 그렇게 다른 지역까지 연결돼 통신이 가능한 것이죠.
즉 한국에서 저희들은 "SKT, LG, KT"와 같은 통신사들이 한국 전역에 설치한 통신망(라우터들의 집합체)를 이용해 인터넷에 접속한다는 것이죠.
그래서~~~저희들은 "SKT, LG, KT 통신사"들이 구축한 통신망을 이용해 인터넷을 접속하니 통신사에서 특정 사이트에 대해 접근 못하게 막아놓으면, 접속할 수 없는 것이죠.
이런 심화 질문도 생길 수 있습니다.
'아니 회사들이 구축한 통신망을 이용해 인터넷에 접속한다면, 각 회사들의 통신망이 다를텐데 어떻게 인터넷이 연결되는거지?' 라고 말이죠.
그건 이제 "네트워크 엔지니어"가 "BGP(border gateway protocol)"와 같은 프로토콜을 이용해, 특정 라우터에서 다른 통신사 회사의 망과 연결을 합니다.
이런식으로 전세계 회사들의 라우터들이 연결이 되는 것이죠.
물론 이런 질문도 있을 수 있습니다.
"저희 집 주변엔 전봇대가 없는데요????"
그건 광케이블이 땅에 묻혀있어서 그렇습니다. 도심 같은 경우, 공간활용적인 부분에서 전봇대를 치우고 땅속에 광케이블을 까는 경우가 많거든요!
그리고 그런 지역인 경우
잘 찾아보시면 이런 종이가 붙어있는 곳이 어딘가 분명 있을 겁니다.
그럼 이 질문도 나와야죠!(에고 질문이 참 많다..)
"그럼 핸드폰의 LTE(4G), 3G의 통신은 어떻게 되는 건가요?"
그건 여러분의 핸드폰의 전화와 비슷한 원리입니다!
(출처 : https://ko.wikipedia.org/wiki/%EA%B8%B0%EC%A7%80%EA%B5%AD)
바로 각 지역마다 있는 이렇게 생긴 기지국에서 LTE의 데이터를 받은 다음, 여기서 기지국 라우터를 통해 인터넷에 접속하는 것이죠!
5. 사람들이 생각했던 인터넷의 정체(브라우저를 이용해 서버에 접속)
자 그럼 수 많은 사람들이 "착각하고 있던 인터넷의 정체"는 뭐였을까요?
생각보다 많은 사람들이
이렇게 생긴 "브라우저(Browser) 프로그램"을 "인터넷"이라고 착각했을 겁니다.
뭐 사실 이렇게 착각하는게 완전히 틀린 건 아닙니다. 이 브라우저를 통해 인터넷에 접속하여, 전세계와 상호작용하고, 실제로도 브라우저를 통해 인터넷을 사용하니까요!
하지만, 정확히 말하자면 이 "브라우저(Browser)"란 "Browse"란 단어의 뜻인 "살짝 훑어보다" 뜻대로, 전세계가 연결된 "인터넷"에 있는 무수히 많은 정보속에서 "유저가 원하는 정보만 훑어서(Browse) 찾아주는 녀석(er)"입니다.
브라우저 프로그램을 키면 가장 먼저 나오는게 뭡니까?
바로 이 검색창이죠? 여기서 우리가 원하는 정보를 검색하면, 이 구글의 크롬이란 브라우저가 인터넷에서 당신이 적은 정보와 관련된 정보를 훑어가지고 당신에게 주루룩 보여주는 겁니다.
그래서 정확히는 인터넷과 브라우저가 같은 개념이 아닙니다.
i)URL과 도메인이란
자 우리는 "목차 3"에서 네트워크와 인터넷의 정체를 알았습니다.
그리고 인터넷을 통해 다른 곳과 통신을 하려면 "IP주소가 필요"하다는 것도 알았죠.
그런데 우리는 브라우저(크롬, 익스플로러, 사파리, 파이어폭스 등등)을 통해 인터넷에 접속할 때, "IP번호"를 몰라도 통신을 잘만하지 않았습니까?
다시 말해서 IP몰라도 브라우저에 "네이버"라치면 뚝~딱하고 네이버 사이트가 나온다는 것이죠.
이걸 이해하기 위해선 먼저 "URL과 도메인"이란 개념을 알아야합니다.
"URL(Uniform Resource Locator)"이란 전세계에서 "통일된(Uniform)"형식의, 컴퓨터 "자원(Resource)" "위치를 알려주는 녀석(Locator)"입니다.
다시 말하자면, 모든 컴퓨터에 대한 데이터의 위치를 알려주는 정보라는 것이죠.
"우리와 컴퓨터"는 이 "URL"을 보고, '아 어떤 컴퓨터의 어떤 이름의 파일이구나!' 를 알 수 있습니다!
뭔소리인가 싶죠???
한번 아~~~무 사이트의 아무곳이나 들어가보세요.
막막하실까봐 제가 예시를 드리죠.
https://mamu2830.blogspot.com/2019/12/find.html
제 사이트의 "리눅스 find"에 대한 걸 정리한 포스트의 URL입니다.
위와 같은 형태가 바로 "URL"입니다.
다시말해서
이 전체가 "URL"이라는 것이죠.
그리고 이 URL은 또 여러 요소로 이루어져 있습니다.
먼저
맨 앞의 "https"는 알 사람들은 다 아는 특정 컴퓨터의 웹사이트에 접속할 때 사용하는
"http"에 보안성을 강화한 프로토콜입니다.
그리고 ":"는 프로토콜이라는 것을 구분하기 위한 "콜론"입니다.
이렇게 리눅스에서도 그렇고, 각 요소들을 구분하기 위해 콜론을 사용하는 건
컴퓨터공학에서 흔합니다.
그래서 다 합친
"https:"란 "https프로토콜을 이용해 ~에 접속하겠다"란 뜻입니다.
말 그대로 특정 프로토콜을 이용해 구체적으로 어떤 곳에 어떤식으로 접속하겠다는 의미
라서, 이 부분(https:)을 "구체적인 계획"이란 뜻의 "scheme"이라 합니다.
그리고 "mamu2830.blogspot.com"이란 "blogspot.com"회사의 "mamu2830"이라는 컴퓨터란 뜻으로
이처럼 회사의 특정 컴퓨터(서버)와 같이 "일정한 영역(Domain)"을 나타내기에
"mamu2830.blogspot.com"와 같은 형태를 "도메인 네임(Domain name) 또는 도메인"이라고 합니다.
그리고 이 도메인이란 "IP주소"를 대신합니다.
만약 제 "mamu2830"이란 컴퓨터 IP가 "192.168.1.4"라고 치면, "mamu2830.blogspot.com" == 192.168.1.4 인 것이죠.
더 자세한 도메인네임과 DNS에 대한 개념은 다른포스트에서 다루도록 하겠습니다.
그냥 여기선 IP을 사용하긴 까다로우니, 이름을 붙여서 대신 사용한다라고만 알아두세요!
그리고 이 도메인네임 앞의
"//"란 "IP주소"나 IP와 같은 의미인 "도메인네임"의 시작 부분을 구분하기 위한 것으로,
"URL의 규칙(rfc3986, https://tools.ietf.org/html/rfc3986#section-3.2)"입니다.
이 "//"는 IP와 같은 역할의 무언가의 시작부분을 구분할 때만 사용하는 것으로,
IP정보가 필요없는 프로토콜을 사용할 때는 붙이지 않습니다
ex) mailto:somebody@mail.somehost.com
지금 당장 아무 브라우저나 켜서(익스플로러든 크롬이든) 네이버 웹사이트에 들어가보세요!
맨 위를 보시면 www.naver.com/ 이렇게 "www"로 시작하는 걸 볼 수 있을겁니다.
이건 이제 "naver.com"이라는 회사의 웹사이트를 담당하는 "www"이란 서버라는 뜻입니다.
사실 웹사이트를 담당하는 서버의 이름은 회사맘대로 지을 수 있지만, 국제적으로 "www(World wide Web)"을 쓰도록 권고하고 있어서, 보통 웹사이트를 담당하는 서버는 "www"란 이름을 붙입니다.
이제 자기가 아는 사이트를 다 검색해서 봐보세요!
이렇게 구글 웹사이트도 "www"로 시작하고요
하다못해 이런 롤 전적 검색 사이트도 "www"로 시작합니다.
이번엔 한번 "네이버의 뉴스" 사이트로 가보세요!
이렇게 이번엔 맨 앞에 "news"로 시작하는 걸 볼 수 있는데, 저것도 마찬가지로
"naver.com"이란 회사의 "news"란 서버란 뜻이죠!
그래서 이처럼 보통 "서버"는 하나의 컴퓨터가 아닌 엄청나게 많은 컴퓨터들로 구성이 되어 있습니다.
하나의 컴퓨터로 모든 서버 역할을 하는 것은 위험하고 많은 데이터를 처리하기 때문에 과부하까지 걸리죠.
자 마지막으로
이 구조는 사실 리눅스를 배워보신분들은 다 삘이 오실겁니다.
"유닉스/리눅스"에서 쓰이는 "파일시스템 계층구조"죠!
리눅스 계층구조가 이해가 안 되시는 분들은 어짜피 언젠가 배울 리눅스 잠깐 미리 배운다 생각하고
https://mamu2830.blogspot.com/2019/08/blog-post_14.html
이곳의 목차 2인 "cd"부분을 보고오시길 바랍니다.
ii)정리
자 그럼 이제 URL의 구조가 딱 눈에 들어오지 않나요!!!!?
총 정리해보자면
"https://mamu2830.blogspot.com/2019/12/find.html"의 뜻은
"https"라는 프로토콜을 이용해서, "mamu2830.blogspot.com"이란 컴퓨터의 "/2019/12/find.html"이란 파일에 접근한다
라는 뜻인 겁니다.
참고로 "find.html"의 "html"은 "HTML(HyperText Markup Language)"로 파일을 해석하라는 "파일 확장자"입니다.
즉!!!
컴퓨터 비전공자분들이 생각하시던 "인터넷"이란
"브라우저를 통해 손쉽게 서버에 접속하던 행위"였다는 것입니다!!
하.. 이번 포스트는 "파일시스템 총정리 포스트" 다음으로 오래걸린 포스트였네요.
대략 하루에 7시간씩 5일이 걸렸습니다..
그렇기에 꼭 도움이 됐으면 좋겠구ㅠㅠ 도움이 되셨으면 좋아요, 따뜻한 댓글, 팔로우 해주시면 저에게 정말! 큰! 힘이 됩니다!!!!
최대한 틀린 정보가 없길 바라며 체크를 엄청 했지만, 너무 방대한 정보를 최대한 압축해본거라, 틀린 정보가 있을 수도 있을 것 같습니다. 틀린 정보를 발견해주시면 알려주세요!
그럼 다음에 더 좋은 퀄리티의 포스트로 뵙겠습니다!
대학교에서 영어원서만 보고 이해 안되고 교수님은 가르치다가 중간에 노가리 까시고ㅋ 이해 안되다 이글을보니 이해가 너무 잘되요 감사해요
답글삭제ㅋㅋㅋㅋㅋ너무나 공감이 잘 되는 상황이네요 ㅠ 도움이 돼 다행입니다!
삭제좋은 글 잘 읽었습니다. 정말 유익하네요
답글삭제도움이 돼 정말 다행입니다!!
삭제선생님에게 배웠던 내용들을 스스로 정리하고 이를 순서에 맞게 배치하는데에 얼마나 시간과 노력이 드는지 알고있기에 이렇게 잘 준비해주신거 보면 정말 감사합니다 ㅠㅠㅠ 저도 이렇게 잘 정리된 지식으로 남을 도울 수 있으면 좋겠네요
답글삭제크흡... 저의 노력을 알아주시다니... 너무나 감동입니다!! 작참새님도 분명 머지않은 미래에 원하는 바를 이룰거라 확신합니다!
삭제허허;;; 지리네요 자료가 감사합니다
답글삭제하핳... 도움이 돼 다행입니다~!
삭제글을 읽을 때마다 감탄합니다 어쩜 이렇게 이해가 잘 가도록 글을 써주시는지 ㅠㅜㅠㅜㅠㅜ 정말 감사합니다!!!!!
답글삭제정~~말 많은 노력을 투자했던 포스트들 중 하나였기에, 이해가 잘 됐다니 더욱 다행입니다!! 따뜻한 댓글 감사해요!!
삭제드디어 인터넷 계층 이해 .. 진짜 학교에서 여러 번 배워도 어려웠는데 바로 이해가 가네요! 감사합니다
답글삭제정말 노력을 많이 했던 글이었기에, 도움이 돼 정말 다행입니다!! 늘 따뜻한 댓글 감사합니다!
삭제감사합니다. 어떤 자료들 보다 이해가 잘 되었습니다 !
답글삭제