네트워크 계층의 역할
네트워크 간의 연결 구조
- 네트워크 계층 역할 : 네트워크 간의 통신을 가능하게 하는 것
- 서로 다른 네트워크에 있는 컴퓨터로 데이터 전송이 가능해짐
- 데이터 링크 계층 → 같은 네트워크에 있는 컴퓨터로만 데이터 전송 가능
라우터
- 다른 네트워크로 데이터를 전송하기 위해 필요한 네트워크 장비
- 거리에 관계없이 데이터를 보낼 수 있음
- 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능
- 데이터를 보내려는 곳의 주소(목적지)를 알아야 함 → IP주소를 알아야 함
IP 주소
: 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소- IP주소가 있으면 다른 네트워크에 있는 목적지를 지정 가능
- 라우팅 테이블에 경로 정보를 등록하고 관리
라우팅
: 목적지 IP주소까지 어떤 경로로 데이터를 보낼지 결정하는 것- IP 주소로 목적지를 지정하는 것뿐만 아니라 데이터를 어떤 경로로 보낼지도 중요
IP란?
- 네트워크 계층에서는 캡슐화할 때 IP(Internet Protocol) 헤더를 붙임
IP 헤더의 구성
- 해당 정보들은 데이터를 정확하게 전달하기 위해 필요한 정보들임
- IP 헤더는 왼쪽부터 오른쪽 순으로 아래 이름의 헤더 정보들로 구성되어 있다.
- 버전
- 헤더 길이
- 서비스 유형
- 전체 패킷 길이
- ID(identification, 일련번호)
- 조각 상태(flags)
- 조각의 위치
- TTL
- 프로토콜
- 헤더 체크섬
- 출발지 IP 주소
- 목적지 IP 주소
- 데이터에 IP헤더가 붙은 것을 IP패킷이라고 함
- cf. 데이터 링크 계층 → 이더넷 헤더 + 데이터 + 트레일러 = 프레임
IP 주소의 구조
- IP 주소는 인터넷 서비스 제공자(ISP)에게 받을 수 있음 → 통신사에게 할당받음
- IP 버전에는 IPv4와 IPv6가 있음
IPv4
: 32비트로 되어 있어서 IP 주소를 약 43억 개 만들 수 있음
→ 인터넷이 널리 보급되면서 IP 주소가 부족해짐 → IPv6 주소를 사용IPv6
: 128비트로 되어있어 340간 개 즉, 거의 무한대로 만들 수 있음
- IP 주소의 종류
공인 IP 주소
: 인터넷에 직접 연결되는 컴퓨터나 라우터에 쓰이는 주소- 인터넷 서비스 제공자(ISP)가 제공
- 인터넷 서비스 제공자(ISP)가 제공
사설 IP 주소
: 회사나 가정의 랜에 있는 컴퓨터에 쓰이는 주소
DHCP 사용하는 이유
DHCP
: IP주소를 자동으로 할당하는 프로토콜
- 같은 LAN 안에 있는 컴퓨터에 IP 주소 할당
- LAN 안에 컴퓨터가 여러 대 있다면 컴퓨터 한 대 당 공인 IP 주소를 하나씩 할당하는 것은 비효율
← 공인 IP 주소는 사용할 수 있는 숫자가 제한되어 있기 때문 - 공인 IP 주소는 라우터에만 할당 후, 두 가지 중 한 가지 방식 선택 → 공인 IP 주소 절약
- LAN 안에 있는 컴퓨터는 LAN의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당
- 라우터의 DHCP 기능을 사용하여 주소를 자동으로 할당
- LAN 안에 컴퓨터가 여러 대 있다면 컴퓨터 한 대 당 공인 IP 주소를 하나씩 할당하는 것은 비효율
IP주소의 비트수와 표시
- 공인 IP 주소와 사설 IP 주소는 모두 2진수의 32비트를 동일하게 사용
- IP 주소는 32비트로 구분하기 쉽도록 10진수로 표시
- cf. MAC 주소는 48비트로 구분하기 쉽도록 16진수로 표시
- cf. MAC 주소는 48비트로 구분하기 쉽도록 16진수로 표시
- IP 주소는 8비트 단위로 나눠서 표시
- 8비트를 옥텟이라고 부르기도 함
IPIP 주소 예시 - 10진수로 표시하지만 실제로 IP 주소는 2진수로 되어 있다.
- 4개의 옥텟으로 구분하고 숫자의 범위도 0 ~ 255로 정해져 있음
- 8비트를 옥텟이라고 부르기도 함
네트워크 ID와 호스트 ID
네트워크 ID
: 어떤 네트워크인지호스트 ID
: 해당 네트워크의 어느 컴퓨터인지- 네트워크 ID + 호스트 ID = IP 주소
IP주소의 클래스 구조
- 여기서 말하는 IP주소는 IPv4 (32비트)
- 네트워크 크기는 클래스라는 개념으로 구분할 수 있음
- 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어서 네트워크 크기를 조정 가능
클래스 구분
- 일반 네트워크에서는 일반적으로 A ~ C 클래스까지 사용 가능
A 클래스
- 처음 8비트 → 네트워크 ID
- 다음 24비트 → 호스트 ID
- 1 옥텟의 범위 : 00000001 ~ 01111111( 1 ~ 127 )
- IP 주소 범위 : 1.0.0.0 ~ 127.255.255.255
B 클래스
- 처음 16비트 → 네트워크 ID
- 다음 16비트 → 호스트 ID
- 1 옥텟의 범위 : 10000000 ~ 10111111( 128 ~ 191 )
- IP 주소 범위 : 128.0.0.0 ~ 191.255.255.255
C 클래스
- 처음 24비트 → 네트워크 ID
- 다음 8 비트 → 호스트 ID
- 1 옥텟의 범위 : 11000000 ~ 11011111( 192 ~ 223 )
- IP 주소 범위 : 192.0.0.0 ~ 223.255.255.255
네트워크 주소와 브로드캐스트 주소의 구조
- 네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정하면 안 된다.
네트워크 주소
: 전체 네트워크에서 작은 네트워크를 식별하는 데 사용- 호스트 ID 부분이 10진수로는 0, 2진수로는 00000000인 주소
- 전체 네트워크의 대표 주소
- 예 : 192.168.1.1 ~ 192.168.1.6의 IP 주소를 가진 컴퓨터는 192.168.1.0의 네트워크에 있다.
브로드캐스트 주소
: 네트워크에 있는 모두에게 한번 더 데이터를 전송하는 데 사용되는 전용 IP 주소- 호스트 ID 부분이 10진수로는 255, 2진수로는 11111111인 주소
- 전체 네트워크에 데이터를 전송하려면 호스트 ID를 255로 설정하면 됨
- 예 : 192.168.1.255의 브로드캐스트 주소로 데이터를 전송하면 192.168.1.x의 컴퓨터가 모두 받음
서브넷 구조
- 엄청나게 많은 주소가 하나의 네트워크를 사용해서, 브로드캐스트 패킷을 전송한다면 네트워크가 혼잡
→ 서브넷팅 방식을 사용하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있음서브넷팅
: 대규모 네트워크를 작은 네트워크로 분할하는 것서브넷
: 분할된 네트워크
- 서브넷팅을 통해 더 많은 네트워크를 만들 수 있어 IP 주소를 더 효과적으로 사용 가능
서브넷팅 분할
- 기존에 네트워크 ID와 호스트 ID → 네트워크 ID + 서브넷 ID + 호스트 ID로 분할
- 호스트 ID에서 비트를 빌려 서브넷을 만듦
서브넷 마스크
서브넷 마스크
: 네트워크 ID와 호스트 ID를 식별하기 위한 값- IP 주소를 서브넷팅하면 네트워크 ID와 호스트 ID의 경계를 판단하기 어려움
→ 서브넷 마스크를 사용하여 이를 판단
- 프리픽스 표기법으로도 표기 가능
프리픽스(prefix) 표기법
: 서브넷 마스크를 슬래시(/비트수)로 나타내는 것
- A 클래스 → 255.0.0.0( 프리픽스 표기법 : /8 )
- B 클래스 → 255.255.0.0( 프리픽스 표기법 : /16 )
- C 클래스 → 255.255.255.0( 프리픽스 표기법 : /24 )
- 프리픽스 표기법으로도 표기 가능
서브넷팅 분할 과정
- 해당 IP 주소를 서브넷팅하는 과정(C 클래스)
- 해당 네트워크 ID를 24비트에서 28비트로 만든다고 가정
→ 호스트 ID에서 4비트를 빌려와야 함 → 서브넷 ID 4비트, 호스트 ID 4비트가 됨
→ 서브넷 마스크도 가져온 비트 수만큼 1을 추가
- 프리픽스 표기법 → /28
라우터의 구조
- 라우터는 네트워크를 분리할 수 있다.
- cf. 스위치만 있는 네트워크에서는 모든 컴퓨터가 동일한 네트워크에 속하게 된다.
기본 게이트웨이
: 다른 네트워크에 데이터를 전송하도록 라우터의 IP 주소를 설정하는 것
- 설정해야 하는 이유?
- 컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 할지 모른다.
→ 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송
→ 이후 라우팅을 거쳐 데이터를 전송
- 컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 할지 모른다.
- 설정해야 하는 이유?
라우팅
- 경로 정보 기반으로 다른 네트워크로 최적의 경로를 통해 데이터를 전송
- 경로 정보는 라우팅 테이블에 등록되어 있음
라우팅 테이블에 어떻게 등록하는가
- 자동으로 등록하는 방법 - 대규모 네트워크에 적합
- 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정
라우팅 프로토콜
이 존재
라우팅 프로토콜
: 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜- 이 프로토콜을 설정해서 경로 정보를 교환하고 라우팅 테이블에 등록하는 것
- 종류 : RIP, OSPF, OSPF, BGP 등
- 수동으로 등록하는 방법 - 소규모 네트워크에 적합
- 직접 네트워크 관리자가 변경