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 주소 분류
- 네트워크 ID : 어떤 네트워크인지를 나타냄
- 호스트 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
- A 클래스 : [8비트 네트워크ID] [24비트 호스트ID]
- 공인 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
반응형