[Network] 5) 네트워크 계층: 목적지에 데이터 전달하기

Gon Kim·2022년 11월 8일
0

17. 네트워크 계층의 역할

네트워크 계층 Internet Protocol IP 주소 Router

IPv4 IPv6 공인 IP 사설 IP 옥텟 DHCP

클래스 네트워크 ID 호스트 ID IP 주소 범위

네트워크 주소 브로드캐스트 주소

서브넷 서브넷 마스크 Prefix

라우터 기본 게이트웨이 라우팅

네트워크 계층

  • 서로 다른 네트워크 간의 통신을 가능하게 하는 역할을 한다.
    • LAN 안에서는 MAC 주소만으로도 통신할 수 있지만, 네트워크 간 통신에서는 그 이상이 필요하다.

IP 주소

  • 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소

Router(라우터)

  • 데이터의 목적지까지 가기 위한 경로를 알려주는 기능을 한다.
    • 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것
    • Routing(라우팅)이라고 한다.
  • Routing Table(라우팅 테이블)에 경로 정보를 등록, 관리한다.

Internet Protocol - IP

  • 네트워크 계층에서 사용하는 프로토콜 중 하나이다.
  • 헤더는 버전, 헤더 길이, …, 출발지 IP 주소, 목적지 IP 주소를 포함한다.
  • IP 헤더가 붙은 데이터를 ‘IP 패킷’이라고 한다.

18. IP 주소의 구조

IPv4 IPv6 공인 IP 사설 IP 옥텟 DHCP

IP 주소

IPv4

  • 32bits(=약 43억개)로 이루어진 IP 주소
  • 10진수로 표기
    • 8bits씩 쪼갠 후(옥텟), 각각을 10진수로 변환해 사용한다.
    • 11000000 10101000 00000001 00001010 ⇒ 192 168 1 10
    • 물론 실제로는 2진수로 변환해 주고 받을 것

IPv6

  • 128bits로 이루어진 IP 주소
  • IPv4로는 감당이 안되는 IP 주소의 수 때문에 도입됐다. 지금은 혼용 중

공인 IP, 사설 IP

공인 IP

  • IPv4 기준 32bits
  • 인터넷에 직접 연결되는 컴퓨터나 라우터에 할당되는 IP
    • IPv4는 사용할 수 있는 주소의 수가 고갈되는 중이기에 저렇게 인터넷에 직접 연결되는 부분 들에 할당한다.
  • ISP에 의해 할당된다.

사설 IP

  • IPv4 기준 32bits
  • 회사, 가정 LAN에 있는 컴퓨터에 할당하는 IP
  • LAN 안의 컴퓨터는 LAN의 네트워크 관리자가 자유롭게 사설 IP를 할당하거나, DHCP 기능을 사용해 주소를 자동 할당한다.
    • DHCP: Dynamic host configuration protocol. IP 주소를 자동으로 할당하는 프로토콜

19. IP 주소의 클래스 구조

클래스 네트워크 ID 호스트 ID IP 주소 범위

IP 주소 클래스

네트워크의 크기를 구분하기 위한 개념

  • IP 주소는 네트워크 ID와 호스트 ID로 분리된다.
    • 네트워크 ID는 어느 네트워크인지, 호스트 ID는 해당 네트워크의 어떤 컴퓨터인지를 나타낸다.
  • 네트워크 ID를 작게 만들거나 크게 만들어 네트워크 크기를 조정할 수 있다.
클래스 이름A 클래스B 클래스C 클래스D 클래스E 클래스
내용대규모 네트워크중형 네트워크소규모 네트워크멀티캐스트 주소연구 및 특수용도
네트워크 ID8bits16bits24bits--
호스트 ID24bits16bits8bits--

A, B, C 클래스

각 클래스마다 네트워크, 호스트 ID 비트 수, 첫번째 옥텟의 범위가 다르다.

클래스 이름A 클래스B 클래스C 클래스
네트워크 ID8bits16bits24bits
호스트 ID24bits16bits8bits
첫번째 옥텟 범위00000001 ~ 0111111110000000 ~ 1011111111000000 ~ 11011111
2~4번째 옥텟 범위0 ~ 111111110 ~ 111111110 ~ 11111111
IP 주소 범위1.0.0.0 ~ 127.255.255.255128.0.0.0 ~ 191.255.255.255192.0.0.0 ~ 223.255.255.255
  • A 클래스는 첫째 옥텟이 1~127
  • B 클래스는 첫째 옥텟이 128~191
  • C 클래스는 첫째 옥텟이 192~233
  • 이 후, 클래스에 따라 어느 옥텟까지를 네트워크 ID/호스트 ID로 볼 것인지 판단

공인 IP 주소의 범위는 별도로 존재한다.

종류A 클래스B 클래스C 클래스
범위11.0.0.0~9.255.255.255128.0.0.0~172.15.255.255192.0.0.0~192.167.255.255
범위211.0.0.0~126.255.255.255172.32.0.0~191.255.255.255192.169.0.0~223.255.255.255

사설 IP 주소의 범위는 다음과 같다. 전체 범위에서 공인 IP 주소를 뺀 것

종류A 클래스B 클래스C 클래스
범위10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255192.168.0.0~192.168.255.255
  • 가정의 LAN에서는 주로 C 클래스의 사설 IP 주소인 192.168.x.x가 사용된다.

20. 네트워크 주소와 브로드캐스트 주소의 구조

네트워크 주소 브로드캐스트 주소

네트워크 주소, 브로드캐스트 주소

네트워크 주소와 브로드캐스트 주소가 있다. 컴퓨터나 라우터가 자신의 주소로 사용할 수 없다.

  • 네트워크 주소
    • 전체 네트워크에서 작은 네트워크를 식별하는데 사용되는 주소
    • 호스트 ID가 10진수 0인 주소
  • 브로드캐스트 주소
    • 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는데 사용되는 전용 IP 주소
    • 호스트 ID가 가장 큰 값이 주소
      • 할당할 수 있는 IP 중 가장 큰 주소
      • C 클래스 기준 마지막 옥텟 255

21. 서브넷의 구조

서브넷 서브넷 마스크 Prefix

Subnet(서브넷)

대규모 네트워크를 작은 네트워크로 분할하는 것을 서브넷팅이라고 한다.

호스트 수를 줄이고 이를 네트워크 ID 쪽으로 합쳐버리는 방식으로 네트워크 자체를 쪼개나가는 것

  • 클래스 단위로 IP를 할당하는 것에 문제점이 있다.
    • A 클래스 기준 IP 주소를 1677만 7214개 생성 가능하다. 이 많은 수의 호스트에 브로드캐스트를 하는 것은 네트워크 지연을 야기할만 하다.
    • 또한 어떤 업체에 특정 클래스 규모의 IP 주소를 할당해주자니 사용하지 않는 IP 주소들이 생길 수 있고, 그보다 작은 클래스는 너무 작을 수도 있다.
    • 따라서 특정 네트워크를 작은 네트워크로 분할하는 방법이 고안됐다.
  • 예시
    • A 클래스는 8bits의 네트워크 ID, 24bits의 호스트 ID를 갖는다.
    • 서브넷팅을 하면 8bits의 네트워크 ID, 10bits의 서브넷 ID, 14bits의 호스트 ID로 나눠진다.

Subnet Mask(서브넷 마스크)

서브넷팅을 하면 어디까지가 네트워크 ID이고, 어디부터가 호스트 ID인지 판단하기 어려울 수 있다. 서브넷 ID로 얼마나 할당했는지 알기 어려워지기 때문이다. 따라서 이 둘을 식별하기 위해 서브넷 마스크를 사용한다.

  • 네트워크 ID 부분을 1로 채운 것과 같다.
    • A 클래스는 255.0.0.0, B 클래스는 255.255.0.0, C 클래스는 255.255.255.0
  • prefix(프리픽스) 표기법으로도 표현 가능하다.
    • 서브넷 마스크를 ‘/비트수’로 나타낸 것
    • 255.255.255.0의 경우 8*3 = 24개이므로 /24
  • 예시
    • 다음과 같은 C 클래스 IP 주소가 있다고 하자
      • 192.168.1.0
      • 앞 3개의 옥텟은 네트워크 ID, 뒤 1개의 옥텟은 호스트 ID인 상태
    • 호스트 ID에서 4bits를 떼어 내어 서브넷 ID로 사용한다고 하자
    • 마지막 옥텟이 4bits/4bits로 나눠지게 된다.
    • 네트워크를 나타내는 bit가 총 28개가 되었다.
    • 따라서 서브넷 마스크는 /28 혹은 255.255.255.240로 표현 가능
      • 240 = 1111 0000

22. 라우터의 구조

라우터 기본 게이트웨이 라우팅

라우터

  • 라우터는 네트워크를 분리할 수 있다.
  • 스위치, 허브는 네트워크를 분리할 수 없다. 스위치, 허브로 이어지는 장치들은 같은 네트워크에 속한다.

Default Gateway(기본 게이트웨이)

호스트가 속한 네트워크(서브넷)을 다른 네트워크로 연결하기 위한 라우터를 일컫는다.

  • 컴퓨터가 다른 네트워크의 컴퓨터로 데이터를 전송하려면, 라우터의 IP 주소를 설정해야한다. 따라서 네트워크의 출입구를 설정해야한다.
    • 컴퓨터는 다른 네트워크로 데이터를 보낼 때, 어디로 보내야하는지 알지 못한다.
    • 따라서 네트워크 출입구를 설정하고, 일단 라우터로 보낸다.
    • 즉 기본 게이트웨이는 라우터의 IP이다. 보통 사용할 수 있는 네트워크 IP 범위의 가장 첫 번째 호스트 ID를 할당한다.
    • ex) 192.168.1.0/24라면, 192.168.1.1

라우팅

경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송한다.

  • 라우팅 테이블은 네트워크 관리자가 수동으로 조작할 수도 있고, 자동으로 변경되게 할 수도 있다.
  • 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정한다.
  • 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 한다.
    • RIP, OSPF, BGP등이 있다.

마이크로 소프트 설명
TCP/IP 컴퓨터가 다른 네트워크의 호스트와 통신해야 하는 경우 일반적으로 라우터라는 장치를 통해 통신합니다. TCP/IP 용어로 호스트의 서브넷을 다른 네트워크에 연결하는 호스트에 지정된 라우터를 기본 게이트웨이라고 합니다. 이 섹션에서는 TCP/IP가 네트워크의 다른 컴퓨터나 장치에 도달하기 위해 기본 게이트웨이로 패킷을 보낼지 여부를 결정하는 방법을 설명합니다.
호스트가 TCP/IP를 사용하여 다른 장치와 통신을 시도하면 정의된 서브넷 마스크 및 대상 IP 주소와 서브넷 마스크 및 자체 IP 주소를 사용하여 비교 프로세스를 수행합니다. 이 비교 결과는 대상이 로컬 호스트인지 원격 호스트인지 컴퓨터에 알려줍니다.
이 프로세스의 결과 대상이 로컬 호스트로 결정되면 컴퓨터는 로컬 서브넷에서 패킷을 전송합니다. 비교 결과 대상이 원격 호스트로 결정되면 컴퓨터는 TCP/IP 속성에 정의된 기본 게이트웨이로 패킷을 전달합니다. 그러면 패킷을 정확한 서브넷으로 전달하는 것은 라우터의 책임입니다.

profile
응애

0개의 댓글