Computer Science/Network
네트워크 계층 : 목적지에 데이터 전달
- -
본 게시물은 ‘미즈구치 카츠야(저), 이승룡(역), ⌜모두의 네트워크⌟, 길벗, 2018’ 을 인용하였습니다.
1. 네트워크 계층의 역할
네트워크 간의 연결 구조
- 데이터 링크 계층은 이더넷 규칙 기반으로 데이터 전송 담당
- 같은 네트워크의 컴퓨터로 데이터 전송O
- 다른 네트워크의 컴퓨터로 데이터 전송X
- 네트워크 계층은 네트워크 간의 통신을 가능하게 함
- IP 주소 : MAC 주소가 아닌, 네트워크를 식별할 수 있는 주소
- cf. MAC 주소 : LAN에서는 통신할 수 있으나 다른 네트워크에 데이터 전송X
- 어떤 네트워크의 어떤 컴퓨터인지 구분할 수 있도록 하는 주소
- 다른 네트워크에 있는 목적지 지정O
- 목적지를 IP 주소로 지정하면 데이터를 보낼 수 있으나, 데이터를 어떤 경로로 보낼지도 결정해야 함
- 라우팅(routing) : 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것으로 라우터 장비가 수행
- 라우터(router)
- 데이터 목적지 정해지면, 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능
- 거리 관계없이 다른 네트워크로 데이터 전송O
- 레이어 3 스위치라고도 함
- 네트워크를 분할해 라우팅할 수 있는 장비
- 라우팅 테이블(routing table)로 경로 정보 등록/관리
IP란?
Internet Protocol
- 네트워크 계층의 프로토콜
- 네트워크 계층에서 캡슐화할 때 IP 헤더 붙임 : 출발지/목적지 IP 주소 포함됨
- IP 패킷 : IP 헤더 + 데이터
- cf. 데이터 링크 계층 : 프레임

2. IP 주소의 구조
IP 주소란?
- IP 주소는 ISP(인터넷 서비스 제공자)에게 받을 수 있음
- IP 버전 : IPv4, IPv6
- IPv4 주소 : 32비트, 약 43억개 만들 수 있음
- IP 주소가 부족해지면서 IPv6 사용(128비트)
- IP 주소 종류 : 공인 IP 주소&사설 IP 주소
- IPv4 주소의 수가 고갈되면서 인터넷에 직접 연결되는 컴퓨터/라우터에는 공인 IP 주소 할당,
회사/가정 LAN에 있는 컴퓨터는 사설 IP 주소 할당 - ISP가 제공하는 공인 IP 주소는 라우터에만 할당하고,
LAN 안에 있는 컴퓨터에는 LAN 네트워크 관리자가 사설 IP 할당 혹은 라우터의 DHCP 기능 사용해 주소 자동 할당 -> 공인 IP 주소 절약- DHCP(Dynamic Host Configuration Protocol) : IP 주소 자동 할당 프로토콜
- IPv4 주소의 수가 고갈되면서 인터넷에 직접 연결되는 컴퓨터/라우터에는 공인 IP 주소 할당,

IP 주소 표현
- IP 주소는 32비트, 10진수 표시
- cf. MAC 주소 : 48비트, 16진수 표시
- 10진수로 표현하지만 실제 IP 주소는 2진수
- 10진수 32비트 구성의 IP 주소를 8비트로 나누어 '옥텟(octet)'이라고 함

- 8비트 2진수 -> 10진수 변환

- IP 주소는 네트워크 ID&호스트 ID로 나뉨
- 네트워크 ID : '어떤 네트워크'인지 나타냄
- 호스트 ID : '해당 네트워크의 어느 컴퓨터'인지 나타냄

3. IP 주소의 클래스 구조
- IP 주소는 비트로 구분하나, 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어 네트워크 크기 조정O
- 네트워크 크기는 '클래스' 개념으로 구분
- 클래스 종류
| 클래스 이름 | 내용 | 주소 범위 |
| A class | 대규모 네트워크 주소 | 0.0.0.0 ~ 127.255.255 |
| B class | 중형 네트워크 주소 | 128.0.0.0 ~ 191.255.255.255 |
| C class | 소규모 네트워크 주소 | 192.0.0.0 ~ 223.255.255.255 |
| D class | 멀티캐스트(multicast) 주소 | 224.0.0.0 ~ 239.255.255.255 |
| E class | 연구/특수용도 주소 | 240.0.0.0 ~ 255.255.255.255 |
▶ 일반 네트워크에서는 A~C 클래스까지 사용O
- A 클래스 : 처음 8비트가 네트워크 ID, 다음 24비트가 호스트 ID

- B 클래스 : 처음 16비트가 네트워크 ID, 다음 16비트가 호스트 ID

- C 클래스 : 처음 24비트가 네트워크 ID, 다음 8비트가 호스트 ID
▶ 공인 IP&사설 IP 주소 포함한 클래스 범위
- A 클래스 : 1.0.0.0 ~ 127.255.255.255

- B 클래스 : 128.0.0.0 ~ 191.255.255.255

- C 클래스 : 192.0.0.0 ~ 223.255.255.255

▶ 클래스 별 공인 IP&사설 IP 주소 범위
- cf. 사설 IP 주소는 공인 IP 주소로 사용X
| 종류 | 공인 IP 주소 범위 | 사설 IP 주소 범위 |
| A Class | 1.0.0.0 ~ 9.255.255.255 11.0.0.0 ~ 126.255.255.255 |
10.0.0.0 ~ 10.255.255.255 |
| B Class | 128.0.0.0 ~ 172.15.255.255 172.32.0.0 ~ 191.255.255.255 |
172.16.0.0 ~ 172.31.255.255 |
| C Class | 192.0.0.0 ~ 192.167.255.255 192.169.0.0 ~ 223.255.255.255 |
192.168.0.0 ~ 192.168.255.255 |
4. 네트워크 주소&브로드캐스트 주소의 구조
- IP 주소에는 네트워크 주소&브로드캐스트 주소가 있음
- 컴퓨터나 라우터가 자신의 IP로 사용하면 안되는 주소

- 네트워크 주소 : 호스트 ID가 10진수로 0, 2진수로 00000000
- 전체 네트워크에서 작은 네트워크를 식별하는 데 사용됨
- 즉, 전체 네트워크의 대표 주소
- 192.168.1.1 ~ 192.168.1.6의 IP 주소 갖는 컴퓨터는 192.168.1.0(네트워크 구조)의 네트워크에 있다고 할 수 있음
- 브로드캐스트 주소 : 호스트 ID가 10진수로 255, 2진수로 11111111
- 네트워크에 있는 컴퓨터/장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용 IP 주소
- 전체 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정하면 됨
5. 서브넷의 구조
서브넷이란?
- 서브넷팅(subenting) : 네트워크를 분할하는 것
- 많은 수의 컴퓨터가 브로드캐스트 패킷을 전달한다면 네트워크가 혼잡해짐
- A 클래스의 대규모 네트워크를 작은 네트워크로 분할해 브로드캐스트로 전송되는 패킷 범위 좁힐 수 있음
=> 효과적인 네트워크 활용O
- 서브넷(subnet) : 분할된 네트워크
- 기존의 네트워크 ID, 호스트 ID로 구성되어 있던 것이 네트워크 ID, 서브넷 ID, 호스트 ID로 나누어지게 됨
- 원래 호스트 ID로 사용되던 비트를 서브넷 ID로 바꿈

서브넷 마스크
- IP 주소를 서브넷팅하면, 어디까지가 네트워크 ID/호스트 ID인지 판단 어려울 때가 있어
서브넷 마스크라는 값을 사용 - 서브넷 마스크(subnet mask) : 네트워크 ID와 호스트 ID를 식별하기 위한 값
- 32비트 값으로 A 클래스는 255.0.0.0, B 클래스는 255.255.0.0, C 클래스는 255.255.255.0



- Prefix 표기법 : 서브넷 마스크를 슬래시(/비트 수)로 나타낸 것
- 255.255.255.0 은 /24

▶ 예시 : C 클래스 IP 주소 서브넷팅
- C 클래스는 일반적으로 네트워크 ID가 24비트이나, 네트워크 ID를 28비트로 변경하면 4비트를 호스트 ID에서 빌리게 되는것
- 네트워크 ID 24비트, 서브넷 ID 4비트, 호스트 ID 4비트

- 서브넷 마스크 : 255.255.255.240
- 서브넷 마스크의 Prefix 표기법 : /28

6. 라우터 구조
라우터(router)
- 스위치(Layer2 Switch)만 있는 네트워크는 모든 컴퓨터, 스위치가 동일 네트워크에 속함
- 허브도 스위치와 같이 네트워크 분리X

- 서로 다른 네트워크와 통신하려면, 라우터가 필요하고 라우터는 네트워크를 분리할 수 있음

- 다른 네트워크에 데이터 전송 시, 라우터 IP 주소 설정 후 데이터 전송O

- 라우터의 IP 주소를 설정하는 것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 함
- 라우터 IP 주소를 지정하는 이유 : 다른 네트워크로 데이터 전송 시 어디로 전송해야 할 지 몰라, 네트워크 출입구를 지정하고 일단 라우터로 데이터 전송
- 인터넷 프로토콜(TCP/IP) 속성 창에서 '자동으로 IP 주소 받기'가 체크되어 있으면 네트워크 외부 접속 시 사용되는 기본 게이트웨이가 자동 설정 됨

- 기본 게이트웨이 설정과 동시에 라우터의 라우팅(routing) 기능도 필요
라우팅
- 라우팅(routing) : 경로 정보 기반으로 현재의 네트워크 -> 다른 네트워크로 최적 경로 통해 데이터 전송
- 라우팅 테이블(routing table) : 현재 네트워크 -> 다른 네트워크로의 최적 경로 정보가 등록되는 테이블
- 라우팅 테이블에 등록되는 경로 정보

- 라우팅 테이블 등록되는 방법
- 수동 등록 : 소규모 네트워크 적합
- 자동 등록 : 대규모 네트워크 적합
- 하나하나 라우터에 정보 등록 힘듦
- 수정 시 수동 변경 -> 작업량 많아짐
- 자동 등록 방법 : 라우터 칸에 경로 정보 서로 교환해 라우팅 테이블 정보를 자동으로 수정해줌
- 라우팅 프로토콜 : 라우터 간의 라우팅 정보 교환 위한 프로토콜
- 라우팅 프로토콜 설정해 라우터 간의 경로 정보 서로 교환 -> 라우팅 테이블에 등록
- 대표적인 라우팅 프로토콜 : ROP, OSPF, BGP 등
내용 정리
- 서로 다른 네트워크 간의 통신에 '라우터' 필요
- LAN 안에서는 MAC 주소만으로 통신 가능하나, 네트워크 간의 통신에는 IP주소 필요
- 라우팅 : 경로 선택, 목적지 IP 주소까지 어떻게 데이터를 전달할 지 결정하는 것
- 라우터의 라우팅 테이블에 경로 정보가 등록되어 있음
- 네트워크 계층의 대표적인 프로토콜 : IP
- 네트워크 계층에서 캡슐화할 때 IP 헤더를 추가하고, IP 헤더와 데이터를 합친 것을 패킷이라 함
- 데이터를 다른 네트워크로 전달하려면 IP 주소가 필요험
- IP 주소는 ISP에게 할당받음
- IPv4의 IP 주소는 32비트
IPv6의 IP 주소는 128비트 구성 - IP 주소 종류 : 공인 IP&사설 IP
- IP 주소는 네트워크 ID&호스트 ID로 나뉨
- IP 주소는 A~E 클래스로 나누어지고 일반적으로 A~C 클래스 사용
- 네트워크 주소, 브로드캐스트 주소는 컴퓨터에 설정X
- 서브넷팅 : 네트워크를 분할하는 것
서브넷 : 분할된 네트워크 - 서브넷팅 되면, 구성이 '네트워크 ID + 호스트 ID' -> '네트워크 ID + 서브넷 ID + 호스트 ID'로 변경됨
- 서브넷 마스크 : 네트워크 주소, 호스트 주소 식별하는 값
- 클래스 별 서브넷 마스크는 A 클래스가 255.0.0.0, B 클래스가 255.255.255.0, C 클래스가 255.255.255.0
- Prefix 표기법 : 서브넷 마스크를 /비트 로 나타냄
- 서로 다른 네트워크와 통신하려면 라우터가 필요함
- 라우터는 네트워크를 분할할 수 있으나, 스위치/허브는 네트워크 분할 불가
- 다른 네트워크로 데이터 전송하려면 기본 게이트웨이를 설정해야 함
- 라우팅 : 경로 정보 기반으로 현재 네트워크 -> 다른 네트워크로 최적 경로 통해 데이터 전송하는 방식
- 라우팅 테이블 : 경로 정보 등록되어 있는 테이블
- 라우팅 프로토콜 : 라우터 간의 라우팅 정보를 서로 교환하기 위한 프로토콜
용어 정리
- 네트워크 계층(Network layer) : 다른 네트워크와 통신하기 위한 경로 설정 위해 라우터 통한 라우팅하고 패킷 전송을 담당함
- IP(Internet Protocol, 인터넷 프로토콜) : 인터넷에 있는 한 컴퓨터 -> 다른 컴퓨터로 데이터 보내는 데 사용되는 네트워크 계층 프로토콜
- IP 주소(IP address) : 컴퓨터 네트워크에서 장치들이 서로를 인식/통신하기 위해 사용하는 주소
- IP 주소 클래스 : IPv4에서 사용하는 주소 그룹에는 5개가 있고 A, B, C 클래스는 네트워크 ID/호스트 ID로 구성되며 D 클래스는 멀티캐스트 주소로 사용, E 클래스는 필요에 따라 사용하기 위해 확보한 것
- 라우터(router) : 서로 다른 네트워크를 연결해 주는 장치로 현재 네트워크 -> 다른 네트워크로 패킷 전송할 수 있게 함
- 라우팅(routing) : 네트워크에서 패킷을 목적지로 보낼 때 목적지까지 갈 수 있는 여러 경로 중 한 가지 경로를 설정해주는 과정
- 라우팅 테이블(routing table) : 목적지 주소를 목적지에 도달하기 위한 노선으로 변환시킬 목적으로 사용됨. 다른 네트워크로 가기 위한 가장 좋은 라우터 정보를 갖고 있음
- 서브넷(subnet) : 큰 네트워크를 분할해 만든 작은 네트워크
- 서브넷팅(subneting) : 네트워크 분할 위해 IP 주소의 구성을 변경하는 작업
- 서브넷 ID : IP 주소의 네트워크 부분 늘리기 위해 서브넷 마스크로 사용되는 비트로 서브넷 비트(subnet bits)라고도 함
- 서브넷 마스크(subnet mask) : IP 주소의 네트워크 부분만 나타나게 해 같은 네트워크인지 판별하게 하는 마스크
- 멀티캐스트(multicast) : 한 컴퓨터(호스트)에서 패킷을 여러 컴퓨터로 동시에 전송하는 것
- 브로드캐스트(broadcast) : IP 네트워크에 있는 모든 컴퓨터(호스트)로 데이터를 전송하는 방식
'Computer Science > Network' 카테고리의 다른 글
| 데이터 링크 계층 : LAN에서 데이터 전송하기 (1) | 2024.01.30 |
|---|---|
| 물리 계층(Physical Layer) : 데이터 -> 전기 신호 변환 (1) | 2024.01.23 |
| 네트워크의 기본 규칙(프로토콜, OSI 모델, TCP/IP 모델, 캡슐화&역캡슐화) (0) | 2024.01.21 |
| 네트워크 기초(네트워크, 패킷, 비트&바이트, LAN&WAN) (0) | 2024.01.21 |
Contents
소중한 공감 감사합니다