[Network] 네트워크 계층 : 목적지에 데이터 전달하기
17. 네트워크 계층의 역할
네트워크 간의 연결 구조
데이터 링크 계층 : 이더넷 규칙으로는 같은 네트워크에 있는 컴퓨터로만 데이터 전송 가능
- LAN 안에서는 MAC 주소만으로 통신 가능
네트워크 계층 : 다른 네트워크 간의 통신을 가능하게 하는 계층
- 다른 네트워크 간에 통신을 하려면 IP 주소가 필요
라우터(router) : 네트워크 계층을 통해 다른 네트워크로 데이터를 전송할 때 필요한 네트워크 장비
- 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능
- 라우팅(routing) : 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것
- 라이팅 테이블(routing table) : 경로 정보를 등록하고 관리
IP 주소 : 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소
IP(Internet Protocol)란?
- 네트워크 계층에는 IP 프로토콜 사용
- 네트워크 계층에서 캡슐화할 때 IP 헤더를 붙임
IP 헤더
- 데이터를 정확하게 전달하기 위해 필요한 정보가 포함되어 있음
- 출발지 IP 주소, 목적지 IP 주소가 포함되어 있다는 정도만 기억!
IP 패킷
- IP 헤더가 추가된 데이터
IP 패킷 = IP헤더 + 데이터
- 데이터 링크 계층에서는 프레임, 각 계층에 따라 사용하는 용어가 다름
18. IP 주소의 구조
IP 주소란?
- 데이터를 다른 네트워크의 목적지로 보내려면 IP 주소가 필요
- IP 주소는 인터넷 서비스 제공자(ISP)에서 제공해줌 -> 공인 IP 주소
IP 버전
- IPv4
- 32비트 -> 약 43억개 IP주소 만들 수 있음
- IPv6
- 인터넷 상용화로 IP 주소 부족으로 인해 IPv6 생김
- 128비트 -> 약 340간(사실상 무한대)
IP 주소의 종류
- 공인 IP 주소
- 인터넷 서비스 제공자(ISP)가 제공
- 인터넷에 직접 연결되는 컴퓨터나 라우터에 사용
- 사설 IP 주소
- 회사 or 가정의 랜에 있는 컴퓨터에 사용
공인 IP 주소와 사설 IP 주소
- 인터넷 서비스 제공자(ISP)가 공인 IP 주소를 라우터에만 할당
- 랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 사설 IP 주소 할당 or 라우터의 DHCP 기능을 사용하여 주소를 자동으로 할당 -> 공인 IP 주소를 줄일 수 있음
- DHCP(Dynamic Host Configuration Protocol) : IP 주소를 자동으로 할당하는 프로토콜
- 공인 IP 주소와 사설 IP 주소는 모두 2진수의 32비트
- MAC 주소는 48비트로 구분하기 쉽도록 16진수로 표시
- IP주소는 32비트로 구분하기 쉽도록 10진수로 표시
IP 주소 2진수를 8비트 단위로 나눠서 표시
- 8비트를 옥텟(octet)이라 함
IP 주소 8비트를 읽기 쉽게 10진수로 표시
- IP 주소를 10진수로 표시하지만 실제로는 2진수로 되어 있음
- 8비트의 범위 :
00000000 ~ 1111111
- 10진수의 범위 :
0 ~ 255
IP 주소의 네트워크 ID와 호스트 ID
- IP 주소는 네트워크 ID와 호스트 ID로 나뉨
- 네트워크 ID : 어떤 네트워크인지를 나타냄
- 호스트 ID : 해당 네트워크의 어느 컴퓨터인지 나타냄
19. IP 주소의 클래스 구조
IP 주소 클래스(class)란?
- IP 주소는 네트워크의 규모에 따라 A~E 클래스로 나누어짐
- 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어 네트워크 크기를 조정할 수 있음
- 네트워크 크기를 클래스(class)라고 함
- 일반 네트워크에서는 A~C 클래스까지 사용
A 클래스
- 대규모 네트워크 주소
- 처음 8비트가 네트워크 ID 다음 24비트가 호스트 ID
- 1옥텟(8비트)의 범위
- 2진수 :
00000001 ~ 01111111
- 10진수 :
1 ~ 127
- 2진수 :
- 2~4옥텟의 범위
- 2진수 :
00000000 ~ 11111111
- 10진수 :
0 ~ 255
- 2진수 :
B 클래스
- 중형 네트워크 주소
- 처음 16비트가 네트워크 ID 다음 16비트가 호스트 ID
- 1옥텟(8비트)의 범위
- 2진수 :
10000000 ~ 10111111
- 10진수 :
128 ~ 191
- 2진수 :
- 2~4옥텟의 범위
- 2진수 :
00000000 ~ 11111111
- 10진수 :
0 ~ 255
- 2진수 :
C 클래스
- 소규모 네트워크 주소
- 처음 24비트가 네트워크 ID 다음 8비트가 호스트 ID
- 1옥텟(8비트)의 범위
- 2진수 :
11000000 ~ 11011111
- 10진수 :
192 ~ 223
- 2진수 :
- 2~4옥텟의 범위
- 2진수 :
00000000 ~ 11111111
- 10진수 :
0 ~ 255
- 2진수 :
위에 내용은 IP 주소의 전체 범위를 나타냄
클래스와 공인 IP 주소의 범위
종류 | 공인 IP 주소의 범위 |
---|---|
A 클래스 | 1.0.0.0 ~ 9.255.255.255 11.0.0.0 ~ 127.255.255.255 |
B 클래스 | 128.0.0.0 ~ 172.15.255.255 172.32.0.0 ~ 191.255.255.255 |
C 클래스 | 192.0.0.0 ~ 192.167.255.255 192.169.0.0 ~ 223.255.255.255 |
- 사설 IP 주소의 범위는 빠져 있음
클래스와 사설 IP 주소의 범위
종류 | 사설 IP 주소의 범위 |
---|---|
A 클래스 | 10.0.0.0 ~ 10.255.255.255 |
B 클래스 | 172.16.0.0 ~ 172.31.255.255 |
C 클래스 | 192.168.0.0 ~ 192.168.255.255 |
- 사설 IP 주소는 절대로 공인 IP 주소로 사용할 수 없음
20. 네트워크 주소와 브로드캐스트 주소의 구조
네트워크 주소와 브로드캐스트 주소란?
- IP 주소의 호스트 ID에는 네트워크 주소와 브로드캐스트 주소가 있음
- 이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용할 수 없음
네트워크 주소
- 호스트 ID가 10진수로 0이고, 2진수면 00000000인 주소
- 전체 네트워크에서 작은 네트워크를 식별하는데 사용
- 전체 네트워크의 대표 주소
브로드캐스트 주소
- 호스트 ID가 10진수로 255이고, 2진수면 11111111인 주소
- 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는데 사용되는 전용 IP
- ex) 192.168,1,255의 브로드캐스트 주소로 데이터를 전송하면 네트워크 안에 있는 모든 컴퓨터가 데이터를 받음
21. 서브넷의 구조
서브넷(subnet)이란?
서브넷팅(subneting) : 네트워크를 분할하는 것
서브넷 : 분할된 네트워크
- 서브넷팅되면
네트워크 ID + 호스트 ID
에서네트워크 ID + 서브넷 ID + 호스트 ID
로 변경됨- 원래 호스트 ID로 사용되던 비트를 빌려 서브넷 ID로 만듬
서브넷 마스크(subnet mask)란?
서브넷 마스크 : IP 주소를 서브넷팅 했을 때 어디까지가 네트워크 ID와 호스트 ID인지 식별하기 위한 값
프리픽스(prefix) 표기법 : 서브넷 마스크를 슬래시(/비트 수)로 나타낸 것
- ex) 255.255.255.0 -> /24
22. 라우터의 구조
라우터(router)란?
- 라우터는 서로 다른 네트워크를 분리함
- 스위치(레이어 2 스위치), 허브는 네트워크를 분리할 수 없음
네트워크 분할 후 다른 네트워크로 접속하는 방법
- 컴퓨터 1이 다른 네트워크에 데이터를 전송하려면 라우터의 IP 주소를 설정해야됨
- 이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 함
- 컴퓨터 1은 다른 네트워크로 데이터를 어디로 보내야될지 모름
- 네트워크 출입구를 지정하고 일단은 라우터로 전송함
라우팅이란?
라우팅 : 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로로 데이터를 전송함
라우팅 테이블 : 경로 정보가 등록되어 있는 테이블
라우팅 테이블 등록 방식
- 수동 방식
- 소규모 네트워크에 적합
- 네트워크 관리자가 직접 변경해야함
- 자동 방식
- 대규모 네트워크에 적합
- 정보를 하나하나 라우터에 등록하는게 힘들기 때문에
- 등록된 내용이 수정되면 수동으로 변경하려면 작업량이 많기 때문에
- 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정함
- 라우팅 프로토콜 : 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
- 대표적인 라우팅 프로토콜 : RIP, OSPF, BGF 등
- 대규모 네트워크에 적합