모두의 네트워크
[모두의 네트워크]는 이제 막 네트워크를 공부하기 시작했거나 공부해야겠다고 마음먹은 초급자를 대상으로 한 입문서다. 네트워크의 개념, 비트, 바이트부터 OSI 계층, 무선 랜 구조까지 160개의 일러스트와 유쾌한 캐릭터들의 대화로 설명해 그림책을 읽듯 쉽고 재미있게 네트워크 관련 지식을 익힐 수 있다. [모두의 네트워크]로 누구나 쉽게 네트워크를 익혀 보자!
저자
미즈구치 카츠야
출판
길벗
출판일
2018.06.30

 

이 글은 위의 책을 읽으며 제 생각과 함께 정리하는 내용입니다. 

 

네트워크 계층의 역할

저번에 배웠던 스위치는 같은 LAN에 속한 기기들끼리 통신을 중계해준다.

처음에는 스위치에 꽂힌 컴퓨터들끼리만 연결이 가능하다고 생각했는데

스위치끼리도 연결이 가능하기 때문에, 같은 LAN이라고 하는 것이 더 명확한 것 같다!

 

좌우간 스위치 만으로는 다른 LAN영역에 있는 기기와는 통신이 불가능한데, 여기서 라우터 라는 기기가 등장하게 된다.

이 라우터와 IP주소를 이용하여 다른 LAN영역에 있는 기기까지 데이터를 전송시켜주는 역할을 맡고있다.

 

라우터

라우터가 사용되는 방식은 대강 이렇다.

어떤 길이 가장 빠른 길인지 찾는 과정을 라우팅이라고 하는데,

LAN 환경의 스위치는 MAC주소를 이용했다면, WAN 환경의 라우터는 IP 주소와 서브넷 정보를 이용하여 통신을 한다.

 

참고로 스위치에 MAC테이블이 있는 것처럼 라우터도 라우팅 테이블이 있다.

라우팅 테이블에는 목적지 네트워크 주소, 서브넷 마스크, 등 정보가 저장되는데,

이를 기반으로 네트워크 계층의 데이터 단위인 패킷의 전달 경로를 결정한다.

 

 

IP 주소

라우터에서 IP 주소를 이용한다고 하니 IP 주소에 대해 알아본다.

 

LAN 환경에서는 스위치를 이용하여 MAC 주소를 이용해 통신한다고 했다.

하지만 치명적인 단점이 있는데, 스위치에 연결된 기기끼리만 통신이 가능하고 네이버, 구글 같은 인터넷 접속이 불가능해집니다..

그래서 더 많은 네트워크와 연결하기 위해 IP주소를 이용한다.

 

IP 주소는 인터넷상에 있는 컴퓨터의 고유한 주소인데, SKT, KT, LG 같은 인터넷 서비스 제공자에게 할당 받을 수 있다.

IP에는 사용 목적에 의해 2 가지로 분류됩니다.

  • 공인(Public) IP
    전 세계적으로 고유한 주소

  • 사설(Private) IP
    기업 내부에서만 사용되는 IP주소, 기업 밖에 위치한 기기와는 통신이 되지 않는다.

 

Best Effort service
네트워크가 데이터 전송을 위해
'최선을 다하지만', 패킷 손실, 지연, 순서 바뀜, 대역폭 보장 등 어떠한 결과도 보장하지 않는
기본적인 네트워크 서비스 모델이다. 대표적으로 IP 프로토콜이 있다.

 

IP 주소의 구조

IP 주소는 네트워크ID와 호스트ID로 구성된다.

앞 부분은 네트워크 ID, 뒷 부분은 호스트 ID 형태로 나누면 다수의 장치를 효율적으로 관리가 가능했기 때문이다.

각 ID 부분의 경계가 물음표로 되어 있는데, 과거에는 각 경계의 형태를 몇 가지로 지정하여 클래스로 구분하는,

클래스 기반 주소 체계를 사용했었기 때문에 물음표로 남겨 두었다.

 

  • 네트워크 ID
    해당 IP 주소가 어떤 네트워크에 속해 있는지를 식별하는 값
    네트워크의 범위를 지정하여 관리가 보다 쉬워지는 장점이 있다.
  • 호스트 ID
    같은 네트워크 안에서 각 장치를 식별하는 값
    각 개별 장치들을 식별할 수 있게 된다.

여기서 호스트 ID의 비트 값에 따라 특수 주소가 존재하는데 두 가지 경우가 있다.

  • 네트워크 주소
    호스트 ID의 모든 비트가 0인 주소
    하나의 네트워크(LAN)를 대표하는 주소다! 그렇기 때문에 실제 장치에 할당할 수 없다.
    ex) 호스트 ID가 1Byte인 경우, 192.168.2.0

  • 브로드 캐스트 주소
    호스트 ID의 모든 비트가 1인 주소
    같은 네트워크에 속한 모든 장치에게 한 번에 데이터를 전송할 때 사용한다!
    이 또한 실제 장치에 할당할 수 없다.
    ex) 호스트 ID가 1Byte인 경우, 192.168.2.255

 

IP 주소의 클래스

이 클래스는 위에서 말한 경계의 종류인데, 공인 IP주소에는 A,B,C,D,E 5개의 클래스가 있다.

32bit인 4byte로 되어 있는 IPv4로 예를 들면, 이러하다.

  1 번째 BYTE 2 번째 BYTE 3 번째 BYTE 4 번째 BYTE
A 클래스 네트워크 ID 호스트 ID 호스트 ID 호스트 ID
B 클래스 네트워크 ID 네트워크 ID 호스트 ID 호스트 ID
C 클래스 네트워크 ID 네트워크 ID 네트워크 ID 호스트 ID

이렇게 굳이굳이 나누어 놓은 이유는 주소를 최대로 활용하기 위함이다!

 

예를 들면 전화번호를 전 국민에게

지역 번호 2자리 + 개인 번호 8자리 로 고정한다면,

인구가 많은 서울은 번호가 부족할 것이고, 인구가 굉장히 적은 시골은 번호가 남아 돌 것이다.

이런 규모가 다른 집단을 같은 규칙으로 다루면 비효율적임을 알 수 있다.

 

하지만 이제는 클래스 기반 주소를 사용하지 않기 때문에 이 정도만 알아도 되지 않을까 싶은 내 욕망이 있다.

이 클래스 개념이 책에서 나온 이유는, 예전부터 주소를 최대로 활용하기 위한 노력이 있었다 라는 내용을 알리고 싶지 않았을까 한다.

 

 

OSI 7 계층에서의 IP주소

3계층인 네트워크 계층에서는 헤더에 여러 데이터가 들어 가지만,  송신자, 수신자IP 주소를 담는다.

 

네트워크에서 데이터를 주고 받는 방식

  • 브로드 캐스트
    같은 네트워크에 속한 모든 컴퓨터에게 전달한다. 허브와 비슷함

  • 유니캐스트
    특정 대상 1명에게 보내는 방식, 특정이기 때문에 상대방의 MAC주소를 알고 있어야 한다.

  • 멀티캐스트
    불특정 다수에게 데이터를 보내는 방식

 

서브넷과 서브넷 마스크

서브넷

위에서 배운 클래스는 주소를 효율적으로 분배하는 방법이긴 하지만,
그럼에도 미리 고정되어 있기 때문에 어느정도 낭비가 있기 마련이였고, 확장성이 떨어지는 한계가 있었다.

 

예를들어 C 클래스 네트워크는 최대 254개의 호스트를 수용할 수 있는데,

실제로는 50대만 필요한 네트워크에 할당된다면 205개의 주소가 낭비되는 셈이다!

이 문제를 해결하기 위해 등장한 개념이 바로 서브넷이다

 

서브넷은 하나의 네트워크를 논리적으로 분할한 작은 네트워크다.

하나의 IP 네트워크를 여러 개의 서브넷으로 나누는 과정을 서브넷팅 이라고한다.

 

원리는 매우 단순하다.

네트워크 ID는 그대로 두고, 호스트 ID중 일부 비트를 또 네트워크 영역으로 재활용하는 것이다.

 

서브넷 마스크

근데 이렇게 호스트 ID를 막 임의로 쪼개버린다면 네트워크 ID와 호스트 ID를 직관적으로 구분하기 어렵다.

이를 명확하게 구분하기 위해 사용하는 값이 서브넷 마스크다.

 

마스킹시 IP 주소에서 네트워크 ID는 비트를 1로,

호스트 ID는 비트를 0으로 표현한다.

 

즉, 서브넷 마스크는 IP 주소에서 네트워크 ID와 호스트 ID의 경계를 명시적으로 나타내는 마스킹 값이다.

 

 

용어 정리

  • 패킷 : 네트워크 계층에서 사용하는 데이터 단위
  • IP : 패킷이 목적지를 찾아가기 위한 고유한 주소

  • 호스트 ID : 동일한 네트워크 안에서 각 장치를 구분하기 위한 식별자
    아파트 호수 = 호스트 ID
  • 네트워크 ID : 해당 IP가 어떤 네트워크에 속하는지를 식별하는 값
    라우터는 이를 기준으로 패킷의 전달 경로를 판단한다.
    아파트 동 번호 = 네트워크 ID

  • 브로드 캐스트 : 같은 네트워크에 속한 모든 장치에게 데이터를 전달

  • 공인(public) IP : 인터넷 서비스 제공자에 의해 전 세계적으로 고유하게 할당되는 IP 주소
  • 사설(private) IP : 주로 기업 내부에서만 사용되는 IP 주소

  • 서브넷 : 하나의 네트워크가 분할되어 나눠진 작은 네트워크
  • 서브넷 마스크 : IP 주소에서 네트워크 ID와 호스트 ID를 구분하기 위한 구분 값

  • 라우팅 : 라우터가 목적지 네트워크까지의 경로를 설정하는 과정

 

 

+ Recent posts