[모두의 네트워크] 네트워크 계층 : 목적지에 데이터 전달하기

컴공생의 코딩 일기·2023년 7월 28일
0

네트워크

목록 보기
5/8
post-thumbnail

네트워크 계층의 역할

네트워크 간의 연결 구조

  • 다른 네트워크에 있는 목적지로 데이터를 전달하려면 OSI 모델에서 네트워크 계층의 기술이 필요하다.
  • 네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층의 역할이다.
  • 네트워크 통신을 통해 다른 네트워크로 데이터를 전송하려면 라우터(router) 네트워크 장비가 필요하다.

라우터

라우터(router)는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능을 한다.

라우팅 테이블(routing table): 라우터에 있으며 경로 정보를 등록하고 관리한다.

라우터를 통해 목적지 까지 데이터를 보내기 위해서는 목적지의 주소가 필요하다. 네트워크에서 네트워크를 식별할 수 있는 주소가 필요하는데 그 주소를 IP 주소라고 한다.

IP란?

  • IP 주소(Internet Protocol address)는 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소이다.

  • IP 주소가 있으면 다른 네트워크에 있는 목적지를 지정할 수 있다.

  • IP 주소는 목적지를 지정하는 것뿐만이 아니라 데이터를 어떤 경로로 보낼지도 결정한다.

  • 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅(routing)이라고 한다.

  • 네트워크 계층에서는 캡슐화할 때 IP 헤더를 붙인다.

  • IP 프로토콜을 사용하여 캡슐화할 때는 데이터에 IP 헤더가 추가돼서 만들어진 것을 IP 패킷이라고 한다.

IP 주소란?

  • IP 주소는 집 주소와 같다.

  • IP 주소는 인터넷 서비스 제공자(ISP)에게 받을 수 있다.

  • IP 버전: IPv4, IPv6

    • IPv4:
      • 주로 사용
      • 32비트 (약 43억 개)
    • IPv6:
      • 128비트 (약 340간 개)
  • IP주소는 공인 IP 주소와 사설 IP 주소가 있다.

    • 공인 IP 주소:
      • 인터넷 서비스 제공자(ISP)가 제공
      • 인터넷에 직접 연결되는 컴퓨터나 라우터에 할당
    • 사설 IP 주소:
      • 회사나 가정의 랜에 있는 컴퓨터에 할당

  • 공인 IP 주소와 사설 IP 주소는 모두 2진수의 32비트로 되어 있으며 10진수로 표시한다.

  • IP 주소를 8비트로 나눔 (사람이 읽기 쉽도록)

  • 조금 더 읽기 쉽도록 8비트 10진수로 변환

실제로 IP 주소는 2진수로 되어 있다.

  • 8비트의 범위와 10진수의 범위

네트워크 ID와 호스트 ID

  • 네트워크 ID: 어떤 네트워크인지를 나타낸다.
  • 호스트 ID: 해당 네트워크의 어느 컴퓨터인지를 나타낸다.

IP 주소 클래스란?

  • 네트워크 크기는 클래스로 구분된다.

  • 일반 네트워크에서는 A~C 클래스 까지 사용할 수 있다.

  • A 클래스:

    • 처음 8비트: 네트워크 ID
    • 8비트 다음 24비트: 호스트 ID
    • 처음 한 비트는 항상 0
    • 1옥텟:
      • 2진수: 00000001 ~ 011111111
      • 10진수: 1 ~ 127
    • 2~4옥텟:
      • 2진수: 00000000 ~ 11111111
      • 10진수: 0 ~ 255
  • B 클래스:

    • 처음 16비트: 네트워크 ID
    • 16비트 다음 16비트: 호스트 ID
    • 처음 두 비트는 항상 1 0
    • 1옥텟:
      • 2진수: 100000000 ~ 10111111
      • 10진수: 128~191
  • C 클래스

    • 처음 24비트: 네트워크 ID
    • 24비트 다음 8비트: 호스트 ID
    • 처음 세 비트는 항상 1 1 0
    • 1옥텟:
      • 2진수: 11000000 ~ 11011111
      • 10진수: 192~223

네트워크 주소와 브로드캐스트 주소란?

  • 네트워크 주소와 브로드캐스트 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용하면 안된다.

  • 네트워크 주소:

    • 호스트 ID가 10진수로 0이고, 2진수면 00000000인 주소
  • 브로드캐스트 주소:

    • 호스트 ID가 10진수로 255이고, 2진수면 11111111인 주소

네트워크 주소와 브로트캐스트 주소 사용 용도

  • 네트워크 주소:
    • 전체 네트워크에서 작은 네트워크를 식별하는 데 사용된다.
    • 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소가 된다.
  • 브로드캐스트 주소:
    • 네트워크에 있는 컴퓨터나 장비 모두에게 한번에 데이터를 전송하는 데 사용되는 전용 IP 주소
    • 전체 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정하면 된다.

서브넷이란?

  • 네트워크를 분할하는 것을 서브넷팅이라고 한다.

  • 분할된 네트워크를 서브넷(subnet)이라고 한다.

  • 호스트 ID로 사용되던 비트를 서브넷 ID로 바꾼다.

  • A 클래스를 서브넷팅하기 전

  • A 클래스를 서브넷팅한 후

서브넷 마스크란?

  • 서브넷 마스크(subnet mask)는 네트워크 ID와 호스트 ID를 식별하기 위한 값이다.
    • IP 주소를 서브넷팅하면 어디까지가 네트워크 ID고 어디부터가 호스트 ID인지 판단하기 어려울 때 사용

프리픽스 표기법

프리픽스(prefix) 표기법은 아래 그림과 같이 서브넷 마스크를 슬래시(/비트 수)로 나타낸 것이다.

라우터란?

  • 서로 다른 네트워크와 통신하려면 라우터(router)가 필요하다.
  • 컴퓨터가 다른 네트워크에 데이터를 전송하려면 라우터의 IP 주소를 설정해야 한다. 이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 한다.

라우터의 IP 주소를 지정해야되는 이유?
위에 그림에서 컴퓨터1이 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 되는지 알지 못하기 때문에 네트워크 출입구를 지정하고 일단은 라우터로 데이터를 전송하게 된다. 위에 그림에서 컴퓨터1은 192.168.1.0/24 네트워크에 속해 있기 때문에 리우터의 IP 주소인 192.168.1.1로 설정한 것이다.

라우팅이란?

  • 라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송한다.
  • 경로 정보가 등록되어 있는 테이블을 라우팅 테이블이라고 한다.

라우팅 테이블을 등록하는 방법

  • 네트워크 관리자가 수동으로 등록:
    • 소규모 네트워크에 적합
  • 자동으로 등록:
    • 대규모 네트워크에 적합
    • 자동으로 등록하면 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정해준다.

라우팅 프로토콜

  • 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
  • 라우팅 프로토콜 종류:
    • RIP
    • OSPF
    • BGP
profile
더 좋은 개발자가 되기위한 과정

0개의 댓글