CS

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

개발자 조이 2024. 8. 7. 23:02
728x90
반응형

 

 

17 네트워크 계층의 역할


네트워크 간의 연결 구조

  • 다른 네트워크에 있는 목적지로 데이터를 전달하려면 네트워크 계층의 기술이 필요
  • 데이터 링크 계층에서는 이더넷 규칙을 기반으로 데이터 전송을 담당
    → but, 같은 네트워크로의 데이터 전송은 가능하나 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없다

네트워크 계층

  • 네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층의 역할
  • 이 계층에서 다른 네트워크로 데이터를 전송하려면 라우터(router)라는 네트워크 장비가 필요

라우터

  • 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지를 알려주는 기능
  • IP주소까지 어떤 경로로 데이터를 보낼지 결정
  • 라우팅 테이블 (routing table)에 경로 정보를 등록, 관리

IP주소

  • 네트워크를 식별하는 주소
  • 랜에선 MAC 주소만으로 통신이 가능했지만 다른 네트워크를 식별하려면 IP주소가 필요
  • 어떤 네트워크의 어떤 컴퓨터인지 구분할 수 있도록 하는 주소

IP (Internet Protocol)

  • 네트워크 계층에서는 캡슐화 할 때 IP 헤더를 붙인다 → 이렇게 캡슐화로 만들어진 데이터를 IP 패킷
    (데이터 링크 계층에서는 프레임이었음)
  • IP 헤더 정보 구성
    • 버전 (version)
    • 헤더 길이 (header length)
    • 서비스 유형 (service type)
    • 전체 패킷 길이 (total length)
    • ID (identificaiton)
    • 조각 상태 (flags)
    • 조각의 위치 (fragment offset)
    • TTL
    • 프로토콜 (protocol)
    • 헤더 체크섬 (header checksum)
    • 출발지 IP 주소 (source IP address)
    • 목적지 IP 주소 (destination IP address)

 

18 IP 주소의 구조


IP 주소

  • ISP(인터넷 서비스 제공자)를 통해 받을 수 있음
  • IPv4와 IPv6 두 가지 버전이 있다
    • IPv4는 32비트로 되어 있어 약 43억개의 주소 생성 가능 → 이후 주소가 부족해져 IPv6 추가
    • IPv6는 128비트로 되어 있어 약 340간개 주소 생성 가능 (= 사실상 무한대, IPv4보다 많은 주소를 만들 수 있다) → 덕분에 가정의 TV, 에어컨에도 인터넷을 연결하여 통신을 할 수 있음
  • 공인 IP 주소
    • ISP가 제공
    • 인터넷에 직접 연결되는 컴퓨터나 라우터에서 사용
  • 사설 IP 주소
    • 회사나 가정의 랜에 있는 컴퓨터에서 사용
  • 라우터에 공인 IP 주소를 할당하고 랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당하거나 라우터의 DHCP 기능을 사용하여 주소를 자동 할당 → 공인 IP 주소 절약
    * DHCP : Dynamic Host Configuration Protocol의 약어로 IP 주소를 자동으로 할당하는 프로토콜

IP 주소 구조

  • MAC 주소 : 48비트, 구분하기 쉽도록 16진수로 표시
  • IP 주소 : 32비트, 구분하기 쉽도록 10진수로 표시
  • 8비트 단위로 나누어서 표시, 8비트를 옥텟(octet)이라고도 한다
  • ex. [11000000] [10101000] [00000001] [00001010] (4개의 옥텟)
    • 각각의 옥텟을 10진수로 변환
    • = [192] [168] [1] [10]
  • 표시는 10진수로 되어있지만, 실제 IP 주소는 2진수로 되어있음 !
  • 각 옥텟은 10진수 기준 0~255 범위

IP 주소 분류

  1. 네트워크 ID : 어떤 네트워크인지를 나타냄
  2. 호스트 ID : 해당 네트워크의 어떤 컴퓨터인지를 나타냄

 

19 IP 주소의 클래스 구조


IP 주소 클래스

  • IPv4는 32비트, 비트로 구분하지만 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어 네트워크 크기를 조정할 수 있음
  • 네트워크 크기는 클래스라는 개념으로 구분

클래스

  • 종류
    • A 클래스 : 대규모 네트워크 주소
    • B 클래스 : 중형 네트워크 주소
    • C 클래스 : 소규모 네트워크 주소
    • D 클래스 : 멀티캐스트(multicast) 주소
    • E 클래스 : 연구 및 특수용도 주소
  • 일반 네트워크에서는 A~C 까지 사용 가능 (아래 범위는 공인 IP와 사설 IP를 포함한 전체 범위)
    • A 클래스 : [8비트 네트워크ID] [24비트 호스트ID]
      • 1옥텟 범위는 1~127 / 2~4옥텟 범위는 0~255
      • 최대 호스트 수 = 1677만 7214대
      • 총 범위 = 1.0.0.0 ~ 127.255.255.255
    • B 클래스 : [16비트 네트워크ID] [16비트 호스트ID]
      • 1옥텟 범위 128~191
      • 최대 호스트 수 = 6만 5534대
      • 총 범위 = 128.0.0.0 ~ 191.255.255.255
    • C 클래스 : [24비트 네트워크ID] [8비트 호스트ID]
      • 1옥텟 범위 192~223
      • 최대 호스트 수 = 254개
      • 총 범위 = 192.0.0.0 ~ 223.255.255.255
  • 공인 IP 주소 범위와 사설 IP 주소 범위는 따로 정해져 있다.
  • 사설 IP 주소는 절대로 공인 IP 주소로 사용할 수 없다

 

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


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

네트워크 주소

  • 전체 네트워크에서 작은 네트워크를 식별하는 데 사용 됨 = 해당 전체 네트워크의 대표 주소
  • 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소
  • ex. 192.168.1.1 ~ 192.168.1.6의 IP 주소를 가진 컴퓨터는 192.168.1.0의 네트워크에 있다

브로드캐스트 주소

  • 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용 IP 주소
  • 호스트 ID가 10진수고 마지막 숫자가 255
  • ex. 192.168.1.255의 브로드캐스트 주소로 데이터를 전송하면 그 네트워크 안의 모든 컴퓨터가 데이터를 수신

 

21 서브넷의 구조


서브넷 (subnet)

  • 분할된 네트워크, 네트워크를 분할하는 것 = 서브넷팅 (subneting)
  • A 클래스 같은 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다
  • 더 많은 네트워크를 만들어 IP 주소를 더 효과적으로 활용할 수 있다
  • ex. A클래스 네트워크를 서브넷팅하여 작은 네트워크로 분할
    • 기존에 네트워크 ID + 호스트 ID로 구성되어 있던 것이 → 네트워크 ID + 서브넷 ID + 호스트 ID 형태로 나누어짐
    • 기존 호스트 ID로 사용되던 비트를 빌려 서브넷 ID로 만든다

서브넷 마스크

  • 네트워크 ID와 호스트 ID를 식별하기 위한 값
  • IP 주소를 서브넷팅하면 어디까지가 네트워크 ID고 어디서부터가 호스트 ID인지 판단하기 어려워짐 → 이 때 서브넷 마스크라는 값을 사용
  • 클래스별 서브넷 마스크
    • A 클래스 : 255.0.0.0
    • B 클래스 : 255.255.0.0
    • C 클래스 : 255.255.255.0
  • 프리픽스(prefix)표기법 : 슬래시(/) + 비트 수
    • A 클래스 : /8
    • B 클래스 : /16
    • C 클래스 : /24
  • ex. C클래스의 IP 주소를 서브넷팅
    • C클래스는 네트워크 ID가 24비트이지만 호스트 ID에서 4비트를 빌려 네트워크 ID를 28비트로 만듦
    • 네트워크 ID 24비트 + 서브넷 ID 4비트 + 호스트 ID 4비트
    • 255.255.255.240
    • 프리픽스 표기법 = /28

 

22 라우터의 구조


라우터 (router)

  • 서로 다른 네트워크 간 통신을 하려면 라우터 필요
  • 라우터는 네트워크를 분할할 수도 있음
  • 허브 또는 스위치만 있는 네트워크에서는 모든 컴퓨터와 스위치가 동일한 네트워크에 속함
  • ex. 분할 후에 컴퓨터 1대가 다른 네트워크에 접속하려면?
    • 라우터로 분리된 2개의 네트워크, 각 네트워크에 C1~5, C6~10 존재
    • C1이 C6에 접속하려면?
    • C1이 다른 네트워크에 데이터를 전송하려면 IP주소를 설정해줘야 함 (기본 게이트웨이 설정 필요)
    • 기본 게이트웨이(default gateway) : 네트워크의 출입구 설정
    • C1은 다른 네트워크로 데이터를 보낼 때 어디로 전송해야하는지 알지 못함 → 따라서 네트워크 출입구 지정 → 우선 라우터로 데이터 전송 (라우터의 IP 주소로 전송)

라우팅 (routing)

  • 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송
  • 경로 정보는 라우팅 테이블에 등록되어 있음
  • 라우팅 테이블
    • 네트워크 관리자가 수동으로 등록 → 소규모 네트워크에 적합
    • 자동으로 등록 → 대규모 네트워크에 적합
  • 라우팅 프로토콜 (routing protocol)
    • 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
    • 라우터 간에 경로 정보를 교환하고 그것을 라우팅 테이블에 등록해나간다
    • RIP, OSPF, BGP가 대표적

 

 

728x90
반응형