한 걸음 두 걸음

네트워크 ] IP주소 서브넷마스크 게이트웨이 MAC 설명! (IP, subnet, gateway, mac) 본문

CSE/Network

네트워크 ] IP주소 서브넷마스크 게이트웨이 MAC 설명! (IP, subnet, gateway, mac)

언제나 변함없이 2019. 10. 24. 15:02
반응형

그냥 IP가 대체 뭔지 그리고 그에 따라오는 서브넷 마스크, 게이트웨이 MAC이 대체 뭔지 이해하기 쉽게 적어보겠습니다. 그냥 궁금하신 분들을 위해 적는 것으로, 세세하게 이론적 정의나 작동방식에 대해 깊게 파고들지 않습니다.

간단하게 이해하기
IP
: 컴퓨터를 찾아가기위한 인터넷 주소( = 네트워크주소 + 호스트주소 )

서브넷마스크
: IP주소의 네트워크, 호스트주소를 나누는 기준을 알려주는 주소

게이트웨이주소
: 라우터의 주소

MAC
: 각 기기들이 가진 고유한 주소값(모든 기기는 자신만의 MAC주소가 있습니다.)

이 아래부터는 자세하게 설명할께요~ 위에서부터 하나하나 읽어주세요

IP

IP는
Internet Protocol의 약자입니다.

인터넷 프로토콜. 인터넷을 사용하기 위해 사용되는 약속된 체계로 어떤 PC나 인터넷기기의 주소를 나타낼 때 사용됩니다, 그렇다면 인터넷이 뭔지 먼저 이해하시는 것이 좋습니다.

인터넷

인터넷(Internet)은 여러 개의 서로 다른 네트워크를 서로 연결해놓은 네트워크의 집합입니다.(inter-connected-network)
하나의 네트워크 안에는 여러 개의 PC가 있을 수 있고 이 때 이들은 모두 같은 네트워크 주소를 사용합니다.

이해하기 쉽게만 만들었습니다. 실제로 이렇게 큰 범위로 단순하진 않습니다

그리고 네트워크는 여러 개 있습니다. 그 네트워크들이 모여있는 것을 인터넷이라고 합니다. 여기까지만 이해하고 IP에 대해 자세히 살펴보도록 하겠습니다.

IP의 구조와 서브넷마스크

IP는 보통 192.168.0.1 이런식으로 4개의 .으로 구분되어 표시되는데요, 이런 IP를 IPv4라고 하며, 32비트로 이루어져 있습니다.
32비트를 4개로 나누었으니까 한 칸당 8비트씩 쓴겁니다. (각 칸은 0에서 255까지 들어갈 수 있습니다.)

그리고 이 IP는 네트워크 식별자호스트 식별자로 나뉘어져 있습니다.
IP주소가 192.168.0.1이면 이 중에서 192.168.0 이 네트워크식별자이고 .1이 호스트식별자일 수 있습니다. 192.168.0 .1처럼요.

IP주소들을 보면
192.168.0 .1
192.168.0 .2
192.168.0 .3
들이 있는 것을 보실 수 있는데, 모두 같은 192.168.0 네트워크식별자를 갖고있습니다. 이는 같은 네트워크 안에 있다는 뜻입니다. 그리고.1 .2 .3는 호스트식별자인데 같은 네트워크 내(고흥 네트워크 안에서 인터넷을 사용하는 각 PC들)을 구분짓는 것입니다.

위에서는 제가 192.168.0 .1로 네트워크 식별자와 호스트 식별자를 나눠드렸지만, 실제로는 IP : 192.168.0.1 이다. 로만 던져줍니다. 그렇다면

어디서부터 어디까지가 네트워크 식별자이고 어디서부터 어디까지가 호스트 식별자인지 어떻게 알까요? 그것을 결정하는 것이 바로 서브넷 마스크입니다. IP를 볼 땐 반드시 서브넷 마스크와 함께 봐야하는데, IP내부의 네트워크 식별자와 호스트식별자를 나누는 기준이 되기 때문입니다.
만약 서브넷마스크가 255.255.255.0이라면 앞의 3칸은 네트워크 식별자로 쓰고, 마지막 한 칸은 호스트 식별자로 쓰겠다는 것입니다.

여기서 호스트 식별자는 각 PC들을 가리킨다고 생각하시면 됩니다.
서브넷마스크 = 255.255.255.0
내집 컴퓨터 IP = 192.168.0.1
옆집 컴퓨터 IP = 192.168.0.2
윗집 컴퓨터 IP = 192.168.0.3
아래 컴퓨터 IP = 192.168.0.4
그러면 모두 네트워크 식별자가 같은 192.168.0 것이므로 같은 네트워크 안에 있지만 각자가 호스트 식별자로 구분됩니다.

이렇게 네트워크 식별자와 호스트 식별자 그리고 서브넷마스크의 역할에 대해 이해하셨다면,

다음은 public IP와 private IP을 이해해야 합니다.

IP주소는 255*255*255*255개의 주소를 표현할 수 있습니다. 그런데 컴퓨터가 워낙 많아야죠. IP주소가 부족해서 이를 보다 효율적으로 사용할 궁리를 하기 시작합니다.

public IP는 보통 우리가 봤던 IP입니다. 네이버 들어갈 때 주소창에 네이버웹의 public IP를 치면 네이버로 이동할 수 있습니다. 그렇다면 private IP(사설IP)는 무엇일까요?

자 다시 이 그림을 봐봅시다. 사실 고흥 네트워크에 있던 PC는 우리집 공유기였어요. 이 공유기의 IP는 10.20.30.40입니다. 공유기가 핫스팟(?)켜서 그걸 내 노트북에도 연결(10.20.30.40)하고 핸드폰에도 연결(10.20.30.40)해서 인터넷을 썼습니다. 그런데, 같은 와이파이에 연결했는데 어떻게 인터넷은 이걸 알고 내 핸드폰과 노트북을 구분지어서 데이터를 보내준걸까요?

public IP는 비쌉니다. 이 주소를 얻어오기 위해서 통신사들도 돈내고 사와서 고객한테 판매합니다. 그렇다고 공유기에 연결한 내 노트북과 핸드폰에게 IP주소가 없는 것도 아닙니다. 주소가 있어야만 목적지를 찾아올 수 있습니다.
노트북과 핸드폰에게도 각각 public IP를 주면 편하겠지만 그럼 돈을 많이 내야하니 어렵습니다. 그래서 private IP를 공유기가 컴퓨터와 핸드폰에 부여한거에요. 여기서 궁금할 수 있는게 public IP랑 private IP가 따로 있을까 하는 것입니다. 그런데 따로 있습니다.

private IP는 아래 범위만 사용하기로 약속했어요. 그 외는 모두 public IP입니다. 슬래쉬 옆의 숫자는 일단 무시해주세요(서브넷마스크에요)

A : 10.0.0.0 /8 ~ 10.255.255.255 /8
B : 172.16.0.0 /16 ~ 172.31.255.255 /16
C : 192.168.0.0 /24 ~ 192.168.255.255 /24

이 범위 내의 숫자는 막 써도 됩니다. 다른 네트워크에 있는 어떤 컴퓨터와 겹칠까봐 걱정하지 않고 막 쓸 수 있습니다.
우리집 공유기가 내 노트북에 192.168.0.1이라는 private IP를 배정해줬습니다.

그리고 나는 노트북 카톡으로 친구에게 ㄳ 이라고 보냈습니다. 그럼 이 데이터는 공유기로 갑니다. 공유기에서 자신의 public IP로 카톡 서버에 데이터를 보냅니다. 그리고 친구가 답장을 하면 카톡 서버에서 우리집 공유기로 데이터를 줍니다. 이 때 공유기는 이 데이터가 192.168.0.1로 가는 것이라는 것을 알 수 있기 때문에 내 노트북으로 잘 전달해줍니다. 이런식으로 같은 public IP를 공유해서 사용하는 기기들을 위해 private IP를 사용한다고 생각하시면 됩니다. 만약 핸드폰에게 가는 데이터였다면 공유기가 받고 핸드폰으로 보내줬을 것입니다.

게이트웨이

private IP와 public IP를 설명했던건 게이트웨이와 MAC에 대해 설명드리기 위함이었습니다.
이를 이해하기 위해서는 스위치와 라우터에 대해 먼저 알아야합니다.

게이트웨이는 라우터의 주소인데요. 위의 상황에서 공유기는 사실 라우터였습니다.
라우터는 네트워크와 네트워크를 연결시켜주는 장비입니다.
스위치는 하나의 네트워크 내에서 단말기끼리 연결시켜주는 장치이구요.

다시 이 그림으로 돌아와서 살펴보자면, 사실 이런식으로 연결되어 있었던거에요.



위의 설명처럼 다른 네트워크끼리는 라우터로 연결되고,
같은 고흥 네트워크에 있는 기기들은 스위치로 연결되어있습니다.
고흥에 있는 모든 사람들이 우리집 공유기를 통해 인터넷을 사용한다고 해봅시다.
(조금 억울한 예시긴 한데.. 범위를 너무 크게 잡아서 어쩔 수 없어요ㅋㅋㅋ )

이걸 더 크게 확장시켜서 다른 네트워크까지 연결된 걸 보자면 아래와 같습니다.

다른 네트워크가 있는 건 알겠는데, 라우터끼리 연결된 곳도 네트워크가 형성되어있죠? 라우터는 네트워크와 네트워크를 연결시켜주는 장비이다보니 둘을 연결할 때 또한 P2P네트워크를 형성합니다.

그리고 이렇게 라우터와 라우터를 연결하여 형성된 네트워크 상에서 활용되는게 public IP입니다. 라우터끼리는 public IP만 가지고 주소를 찾아가요. 하지만 네트워크까지 찾아가면 그 안에서는 private IP를 사용하죠.

이렇게 각 PC에 private IP를 라우터가 줬을거에요.
앗 그런데 라우터에도 private IP가 있네요? 분명 라우터는 public IP를 갖는다고 했는데.
라우터는 public IP도 갖고 private IP도 갖고 둘 다 가질 수 있어요 ㅇ0ㅇ
이 때 라우터가 가진 private IP가 바로 게이트웨이입니다.

이렇게 라우터에 A,B라는 이름을 지어줬습니다.

라우터A에는 언니노트북, 내노트북, PC3, PC4, PC5가 연결되어있는데 이들은 자신의 게이트웨이 주소를 알아야 그쪽으로 데이터를 보낼 수 있습니다. 노트북이 라우터의 주소로 데이터를 보내면 라우터는 데이터를 받아서 목적지(네이버 등..)에 전송해줍니다. 그리고 처음 노트북이나 집에 유선 인터넷을 연결해서 사용할 때도 라우터는 자신이 어디 있는지 주소를 알려주기 위해서 게이트웨이 주소를 연결된 단말에 알려줍니다(요청하면 알려줍니다.). 라우터가 준 내 컴퓨터의 privateIP는 우리집 라우터가 줬으므로 우리집 라우터만 알고있는 주소입니다. 다른 라우터들은 이에 대해 알지 못합니다. 그래서 게이트웨이 주소도 인터넷 설정할 때 함께 고려해줍니다.

그리고 게이트웨이주소는 보통 사용할 수 있는 호스트 식별자의 가장 높은 값을 줍니다.
((이건 모르셔도 돼요 ) 네트워크 주소는 모든 호스트 주소를 0으로 하고 브로드캐스트주소는 모든 호스트 주소를 1로 주는데) 이 두 주소는 이렇게 사용하기로 약속된 것이기 때문에 제외하고 )

서브넷마스크가 255.255.255.0이고 IP가 192.168.0.1 이라면 192.168.0은 네트워크 주소고 1은 호스트주소였죠? 이 호스트 주소를 최대한으로 주면 255이겠지만, 그건 사용하지 않기로 해서 그나마 사용할 수 있는 값 중 254를 게이트웨이 주소로 대게는 줍니다.

MAC

간단히 설명하려고 했는데 생각보다 길어지네요. 이제 마지막이에요. 대망의 MAC주소입니다.
MAC주소는 기기들이 갖는 아주 고유한 값이에요. 그 어떤 기기도 겹치지 않죠.
왜냐면

IEEE라는 단체가 통신기기를 제조하는 기업마다 다른 일련번호를 주고
기업은 만드는 제품마다 다른 일련번호를 배정하기 때문이죠.

예를 들어서, 삼성이 (AA-AA-AA)라는 코드를 IEEE단체로부터 받았다고 치면

삼성이 자신들이 만든
노트북1에 (00-00-01) 코드를 주고
노트북2에 (00-00-02) 코드를 주고
....
노트북11에 (00-00-0A) 코드를 줍니다. (16진법으로 표시합니다.)

그럼 노트북 1의 MAC주소는 AA-AA-AA-00-00-01 입니다.

그래서 다른 기기들과 겹치지 않는 고유한 주소가 됩니다.

예전엔 이렇게 고유한거면 이 코드로 인터넷통신하면 안되나? 싶긴 했지만.. 안되구요.(터져버립니다.)
이 주소는 같은 네트워크 내의 통신을 위해 활용됩니다.

다시 이 그림으로 돌아와봅시다.
내 노트북과 언니 노트북은 스위치로 연결되어있어요.
스위치는 같은 네트워크 내의 단말기끼리 연결시켜주는 장치라고 했었는데 스위치는 각 장치의 MAC주소를 기록하고 누가 연결되어있는지 주기적으로 알아놓습니다.

참고로 브리지와 스위치는 같은겁니다.(브리지는 2개의 포트만 있는 스위치를 지칭하므로 스위치가 더 큰 개념일 수 있겠네요.)

이 MAC주소를 이용해서 나중에 public IP까지 온 데이터가 어떤 private IP를 가진 친구인지 추적하는데 사용합니다. 그 외에도 사용할 일이 많은데 간단하게 여기까지만 이해하셔도 될 것 같습니다.

그럼 여기까지 IP주소 서브넷마스크 게이트웨이 MAC에 대해 알아보았습니다. : )


더 자세한 내용은 OSI7계층, TCP/IP suite, VLSM, ethernet
https://onepinetwopine.tistory.com/378
https://onepinetwopine.tistory.com/384?category=784677
https://onepinetwopine.tistory.com/365
https://onepinetwopine.tistory.com/382
https://onepinetwopine.tistory.com/378?category=784677
링크나, 컴퓨터네트워크 전공책을 읽어보시면 좋습니다.

번외)

처음엔 포토샵으로 그림설명을 그려볼까 했다가 처참한 그림실력에 ppt로 빠르게 도망갔다는 이야기..

반응형