안녕하세요! 우리는 흔히 사용하는 크롬(Chrome)이나 인터넷 익스플로러(Internet Explorer)를 이용하여 네이버나 구글 즉, 인터넷 웹 사이트에 접속을 하죠. 우리는 본인의 컴퓨터를 이용해 크롬 아이콘을 더블 클릭하고 주소창에 www.google.com 과 같은 인터넷 주소(?)를 입력하거나 여기 왼쪽에 있는 파란글자인 하이퍼링크를 클릭하는 방법으로 손쉽게 웹 사이트에 접속을 할 수 있습니다.
사실 우리가 이렇게 손쉽게 웹 사이트에 접속하고 우리의 눈에 보이기까지 기술적으로 다양한 과정들이 숨어 있는데요.
'인터넷에 연결되는 과정' 시리즈 포스팅에서는 인터넷에 연결되기까지 과연 어떤 과정들이 숨어 있는지 살펴보도록 하겠습니다!
이 글은 그 첫번째 단계로 관련개념인 IP에 대해 알아봅시다.
IP와 IP주소
본격적인 설명에 들어가기에 앞서, 어떤 식으로 설명이 진행될지 알려드리려고 합니다.
저는 여러분들이 해당 용어나 개념을 잘 이해할 수 있도록
첫번째, 우선 논문이나 보고서등 전문적인 글에서 정의한 문장들을 가져오고
두번째, 그 문장의 의미가 무엇인지 하나하나 풀어나아가는 방법을 이용해 설명을 진행하겠습니다.
앞으로 이어질 내용에서
굵은글자 효과를 가지고 있는 문장들은 전문적인 글에서 정의한 문장을 가져온 것이고
'풀어서 이해해보기 : ' 부분은 해당 문장의 의미를 저와 함께 천천히 이해해보는 것임을 알려드립니다!
그럼 설명 시작하겠습니다 :)
우선 한문장으로 설명된 IP의 사전적 정의부터 살펴 봅시다.
'IP는 Internet Protocol의 약자로 네트워크 계층에서 두 장치 간의 데이터 전송경로를 정해주는 역할을 하는 프로토콜'
풀어서 이해해보기 : 정의부터 정말 여러운 용어들이 많이 나왔죠. 네트워크 계층은 뭘까.. 프로토콜은 뭘까.. 전혀 몰라도 괜찮습니다! 구체적인 용어의 뜻은 추후 포스팅에서 다루도록 할테니 너무 걱정하지 않아도 됩니다. 곧 네트워크 계층과 프로토콜을 다룬 재미있는 포스팅으로 찾아뵙도록할게요. '인터넷에 연결되는 과정' 시리즈 포스팅에서는 우선 IP가 어떤 친구인지 이해해보도록 합시다.
쉬운 이해를 위해 어려운 전문용어를 한번 지워보면
'IP는 두 장치 간의 데이터 전송경로를 정해주는 역할을 하는 무언가(프로토콜)' 라는 것을 알 수 있을 것 같아요.
두 장치 간의 데이터 전송경로를 정해주는 역할을 한다라... 아직 잘 감이 안오는데요. 감이 안오는 이유는 어떻게 하면 두 장치 간의 데이터 전송경로를 정해줄 수 있는 것일까? 라는 의문 때문에 그런것 같아요. 추후에 이어지는 설명을 보면서 이 의문에 대한 답을 찾아가 보도록 합시다. 꼭 이 의문을 기억해주세요!
이어서 정말 조금 더 구체적인 정의에 대해 살펴 봅시다.
IP주소를 통해 전산망에 연결된 컴퓨터 등의 장치들이 통신을 주고받을 수 있다.
인터넷이라는 전산망에 연결된 장치들은 통신하기 위해 모두 고유한 IP주소를 가지고 있어야 한다.
풀어서 이해해보기 : 흠 조금 감이 오시나요? 이 문장에서는 'IP주소'라는 말이 적혀있네요. IP라는 것은 'IP는 두 장치 간의 데이터 전송경로를 정해주는 역할을 하는 무언가' 였으니까 IP주소는 'IP는 두 장치 간의 데이터 전송경로를 정해주는 역할을 하는 무언가의 주소' 라고 생각해도 좋을것 같아요. 여기서 IP주소의 또 다른 역할이 등장했네요. 바로, 전산망에 연결된 장치들이 통신을 할 수 있게 해준다는 것 인데요. 지금까지 내용들을 한번 되짚어 보면, IP주소는 두 장치간의 데이터 전송경로를 정해주고 통신을 주고 받을 수 있게 해준다! 라고 생각할 수 있을 것 같아요.
한번 다음과 같은 그림을 보고 더 자세히 생각해 봅시다!
우리는 어딘가에 있는 집에 살고 있습니다. 모든 집에는 집의 위치를 나타내는 '집 주소'가 있는데요. 이 '집 주소' 를 이용해서 편지나 택배를 어디로 가져가야할지 확실하게 알 수 있죠.
한번 A집에서 B집으로 편지를 보내는 상황을 상상해봅시다. 편지를 B집에게 보내기위해 A집에서는 편지에 'A집에서 보내는 편지가 B집으로 도착하게 해줘!' 라는 글을 적어서 우체통에 넣었다고 해봅시다. 그러면 우체국의 집배원은 해당 주소를 보고 B집이 있는 위치로 정확하게 편지를 배달할 수 있게 되겠죠. 이처럼 주소라는 것은 해당 집의 위치를 특정해주고 조금 더 쉽게 말해 집이 정확하게 어디에 있는지 알려줍니다. 이로써 편지를 어느 집에서 어느 집으로 보내야 할지 즉, 두 집 간 편지의 전송경로를 결정할 수 있게 해주고 편지를 주고 받을 수 있게해줍니다. 아하! 두 집의 고유한 주소가 존재한다면 이를 통해서 편지의 전송경로를 하나로 특정할 수 있는 것 입니다. 이로써 앞서 언급했던 '어떻게 하면 두 장치 간의 데이터 전송경로를 정해줄 수 있는 것일까?'에 대한 의문이 풀렸네요. 바로 전송할 위치의 주소와 전송 받을 위치의 주소를 각각 고유하게 가지고 있으면 되는 것이었습니다!
똑같이 인터넷이라는 세상에 있는 장치(집)들이 데이터(편지)를 주고 받기위해서는 해당 장치(집)들의 위치를 알려주는 '주소'가 필요합니다. 그래야 데이터(편지)가 도착해야할 위치를 정확하게 알고 정상적으로 데이터를 전송할 수 있겠죠. 이처럼 인터넷이라는 세상에서도 두 장치간의 데이터 전송경로를 정해주고 통신을 주고 받을 수 있게 해주는 '주소'가 필연적으로 필요합니다. 인터넷을 통해서 주고 받는 수많은 데이터(편지)들이 어느 장치(어느 집)에서 출발해서 어느 장치(어느 집)으로 도착하는지 알아야 하는 것은 당연하기 때문이죠. 이런 역할을 하는 주소를 우리는 IP주소라고 부르는 것입니다.
즉, IP주소란 인터넷을 이용하기 위해 연결되는 모든 장치들이 통신을 하기 위해 가지고 있어야할 주소인 것입니다.
매우 간단하죠?
IP주소가 어떤 역할을 하는지 이해하면 IP주소의 특징을 손쉽게 이해할 수 있습니다. IP주소의 역할에 대해 또 다시 한번 정리해보면, IP주소는 인터넷 환경에서 데이터 전송경로를 정하기 위해(통신을 주고받기 위해) 필요한 장치들의 주소입니다. 애초에 IP주소가 필요한 이유가 데이터가 어디에서 어디로 가는지 알기 위함 즉, 전송경로를 하나로 특정하기 위함이기 때문에, 이 IP주소는 장치마다 고유한 값을 가지고 있습니다.
자자, 조금만 생각해봅시다. 우리가 편지를 보낼때 편지에 적힌 주소가 나타내는 집이 두 군데라면 어디로 보내야하는지 정할 수 가 없겠죠?? 이와 동일하게 IP주소가 나타내는 장치의 위치가 여러 곳이라면 어디로 데이터를 전송해야하는지 특정할 수 가 없습니다. 때문에 자연스럽게 모든 장치에는 하나의 IP주소를 가지고 있는 것입니다. 인터넷에 연결된 수많은 장치들도 고유한 주소를 가지고 있어야 데이터들을 정상적으로 통신할 수 있을 테니까요.
지금까지 IP주소의 역할과 특징에 대해 알아보았습니다.
지금부터는!! IP주소의 형식에 대해 간단히 살펴보고 포스팅을 마무리 해보도록 하겠습니다.
대표적인 IP주소의 형식은 IPv4와 IPv6이 있는데요. 여기서 v(숫자) 부분은 IP의 버전을 나타냅니다. 큰 의미는 없으니 너무 걱정하지 않아도 됩니다. IPv4는 말그대로 IP의 4번째 버전, IPv6은 IP의 6번째 버전을 뜻 합니다. 버전 별로 가지는 특징이 다르기 때문에 해당 버전별로 각각 가지는 특징에 대해서 한번 살펴보도록 합시다.
우선 IPv4는 32비트의 공간을 4개의 8비트 개수로 나누어 10진수로 표현하는 형식의 IP주소입니다. 벌써 복잡하죠.. 비트와 n진수에 대한 내용은 또 추후 정리를 하여 포스팅할테니 지금은 너무 신경쓰지 않으셔도 괜찮습니다! 우선 예시를 통해 IPv4형식의 IP주소를 먼저 살펴봅시다.
이 사진은 cmd(명령 프롬프트) 창을 이용해서 ping 명령어를 통해 www.juntheworld.tistory.com 바로 저희의 티스토리 블로그 주소의 IP주소를 확인해본 사진입니다. cmd가 무엇이며 ping은 또 뭐야.. 전혀 아실 필요가 없습니다! 지금 저희는 '인터넷에 연결되는 과정'을 이해하기 위한 관련개념으로 'IP주소'에 대해서만 이해하면 된다는 것을 명심합시다. 추후 모두 다뤄 드릴테니 너무 걱정하지 않으셔도 됩니다. 아무튼 'ping이라는 것은 해당 인터넷 사이트의 IP주소를 확인할 수 있는 명령어이며 이런 명령어를 입력할 수 있는 공간이 cmd(명령 프롬프트) 다.' 라는 것 정도만 알고 넘어 갑시다.
ping을 이용해서 저희의 티스토리 블로그 주소의 IP주소를 확인해보니 211.231.99.250과 같은 형식으로 나타난 것을 확인 할 수 있습니다. 이것이 바로 IPv4 형식의 IP주소입니다. 앞서이야기 했던 '32비트의 공간을 4개의 8비트로 나누어 10진수로 나타낸다.' 라는 문장의 의미를 구체적으로 살펴봅시다. 8비트를 10진수로 나타내면 2의 8승 즉, 256입니다. 이에 256개의 주소가 4개로 나누어진 하나의 칸에 들어갈 수 있는 것입니다. 총 4개의 칸이 있으니까 IPv4 형식으로 존재할 수 있는 IP주소의 개수는 256*256*256*256 = 약43억개 인 것입니다! 참고로 인터넷 상에 연결되는 장치들이 늘어나 더 많은 IP주소가 필요하게 되었고 이에 새로운 형식으로 IPv6가 등장하였습니다. IPv6형식의 IP주소는 128비트의 공간을 8개의 16비트로 나누고 16진수로 나타냅니다. 128비트의 공간은 32비트의 4승이므로, 약43억*약43억*약43억*약43억의 어마어마한 개수의 주소를 표현할 수 있죠.
어떠신가요? 정말 복잡하죠.. 이해하기도 힘들고요.. 정말 괜찮습니다. 전혀 이해할 이유가 없습니다. 제가 IP주소의 형식에 대해 설명한 이유는 단 한가지 IP주소를 인간이 직접 외우고 사용하기에는 굉장히 복잡하다. 라는 것을 몸소 느끼시길 바라는 마음이었습니다. 정말로 IP주소의 형식에 대한 모든건 다 이해 못하셔도 좋습니다. 'IP주소는 인간이 직접쓰기는 복잡하다.' 라는 것만 기억해 주세요.
지금까지 '인터넷에 연결되기까지 기술적으로 일어나는 일'에 대해 이해하기위한 관련개념으로 IP주소의 사전적정의를 살펴보며 개념과 특징에 대해 살펴보았고, IP형식의 종류를 살펴보았습니다. 이를 통해 IP란 인터넷을 통해 데이터를 주고받기 위해 반드시 필요한 장치별 고유한 주소이며, IPv4와 IPv6같은 형식을 살펴보며 수많은 개수의 IP주소가 존재할 수 있으며, 이에 인간이 IP주소를 직접 외우고 사용하는 것은 굉장히 어렵다는 것을 알게 되었습니다. 이어지는 시리즈 포스팅의 이해를 위해서 본 포스팅에서 가져가야하는 내용은 이 문단에 모두 담겨 있습니다. 위의 내용이 어렵고 복잡하여 이해하기가 힘드신 분들은 지금 단락에 적혀있는 내용들 특히 굵은 글자 표시되어 있는 부분들만 확실하게 챙겨가시기 바랍니다. 이것 만으로도 '인터넷에 연결되는 과정' 시리즈 포스팅을 이해하기 위한 첫 단계를 아주 훌륭하게 밟았다고 자신있게 말씀 드릴 수 있을 것 같습니다.
이상으로 IP에 대한 설명을 마치도록 하겠습니다. 긴글 읽으시느라 너무 고생많으셨고 감사합니다 :)
※ 본 포스터는 '인터넷에 연결되는 과정' 을 이해하기 위해서 필요한 'IP및 IP주소'에 대한 정보만을 다루고 있는 것으로, 'IP및 IP주소'의 좀 더 정확한 개념과 정보에 대해 총체적으로 이해하는 것에는 한계가 있습니다. 해당 개념을 완벽히 이해하기 위해서는 다음과 같은 추가 학습을 추천드립니다.
-
네트워크 계층 (관련 키워드 : MAC, TCP/IP, 프로토콜)
-
비트와 n진수 표현법
HACK THE WORLD / 20200529 / 인터넷에_연결되는_과정(1) - IP에 대해
'공부 > JUN STUDY' 카테고리의 다른 글
패킷 손실과 딜레이 / 패킷 손실 4가지 원인 (packet loss, delay, 4 sources of packet delay) (0) | 2021.10.10 |
---|---|
구문 VS 명령어 (Statement VS Instruction) 소스코드 어셈블리어 인간이 하이 레벨 언어를 쓰는 이유 (0) | 2021.09.14 |
컴파일 VS 인터프리터 (Compile VS Interpreter) (0) | 2021.09.14 |
Zeroday VS Oneday VS Olday(N-day) 제로 데이 VS 원데이 VS 올데이 (0) | 2021.01.24 |
인터넷에 연결되는 과정(2) - DNS(Domain Name Service)에 대해 (0) | 2020.05.30 |