네트워크 계층의 역할
- 라우터
: 데이터가 어떤 경로로 전달돼야 하는지 알려주는 역할 (≒ 내비)
가장 빠른 길을 찾는 과정 => 라우팅
IP 주소로 통신함 (WAN 환경에서 공인 IP ↔ 라우터)
IP 주소란?
: 인터넷 상에 있는 컴퓨터의 고유한 주소 (Internet Protocol)
랜 환경에서 스위치를 이용해 MAC 주소로 통신함
=> 인터넷에 바로 접속할 수 없고, 다른 회사 컴퓨터와 통신이 불가능함
=> IP 주소 활용
IP 할당 과정
KT, SKT 등 ISP(Internet Service Provider, 인터넷 서비스 제공자)는 인터넷을 설치함
→ ISP와 내 컴퓨터가 연결되고, 공인 IP(인터넷을 할 수 있는 IP 주소)가 부여됨
IP 종류
- 공인 IP
: ISP에 의해 전세계적으로 고유하게 할당되는 IP 주소
=> 전세계 컴퓨터와 통신 가능
대부분 ISP들은 유동적으로 공인 IP 주소 할당함
=> 한번 제공받은 공인 IP는 영구 사용되지 않고 주기적으로 변경됨
- 사설 IP
: 기업 내부에서만 사용되는 IP 주소 (기업 밖 컴퓨터와 통신 X)
10.0.0.0. - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
IP 형식
192.168.2.124 (10진수)
=
11000000 10101000 00000010 01111100 (2진수)
주소 길이 : 4byte = 32bit (10진수 표기, 1바이트별로 마침표로 분리함)
1byte 나타낼 수 있는 값의 범위 : 0~255
- 네트워크 주소 : 하나의 네트워크 통칭하기 위한 주소
마지막 1byte가 0임
- 브로드캐스트 주소 : 네트워크에 연결된 컴퓨터에 데이터를 일괄 전송할 때 사용하는 주소
마지막 1byte가 255임
IP 주소의 구조, 클래스
IP 주소의 구조
네트워크 ID : 네트워크의 범위를 지정해 컴퓨터들의 집합을 관리함
호스트 ID : 라우터에 연결된 개별 컴퓨터들을 관리함 => 개별 컴퓨터들이 사용
IP 주소의 클래스
공인 IP 주소 => A~E까지 5개의 클래스가 있음 (D, E는 일반인에게 유효 X)
- A 클래스
맨 앞자리 0으로 고정됨
첫 옥텟만 네트워크 ID, 나머지 세 옥텟은 호스트 ID
=> 하나의 네트워크가 가질 수 있는 호스트 ID 개수가 가장 많음 (사용 가능한 IP 개수 : 2,147,483,648개)
- B 클래스
맨 앞 두자리 10으로 고정됨
- C 클래스
맨 앞 세자리 110으로 고정됨
마지막 옥텟만 호스트 ID => 사용 가능한 IP 개수 : 536,870,912개
※ 옥텟(Octet) : 8bit 집합
IP 주소 관리 기관
- IANA(Internet Assigned Numbers Authority)
전세계 IP 주소를 관리하는 기관
- KISA(Korea Internet & Security Agency, 한국인터넷진흥원)
국내에서는 KISA가 IANA로부터 IP 대역 할당받아옴
→ KISA는 IP 주소를 ISP(KT, SKT 등)에 다시 할당
→ ISP는 개인/학교/기업에 할당
OSI 7계층에서의 IP 주소
네트워크 계층에서 추가되는 헤더 => IP 정보
라우터 => 수신자 IP 정보 확인해줌
브로드캐스트, 유니캐스트, 멀티캐스트
브로드캐스트
: 같은 네트워크에 속한 모든 컴퓨터에 데이터 전달
수신자 입장에서는 원하지 않아도 일방적으로 보내는 정보 받음
=> 수신자는 정보가 필요한지 판단하고 필터링하는 번거로움이 있음
유니캐스트
: 1대1 통신
수신자의 MAC 주소를 알고 있어야 함
멀티캐스트
: 특정 그룹을 지정해 그 그룹에 해당하는 컴퓨터에만 데이터 전달
=> 브로드캐스트 + 유니캐스트
서브넷, 서브넷 마스크
서브넷의 개념
A, B, C 클래스 전체를 하나의 네트워크로 사용하는 것은 비효율적
=> 브로드캐스트 주소로 오는 데이터를 한 네트워크의 모든 컴퓨터가 수신하게 되기 때문
=> 하나의 네트워크를 더 효율적으로 사용하기 위해 서브넷 등장
- 서브넷
하나의 네트워크가 분할된 작은 네트워크
※ 서브넷팅 : 작은 네트워크로 나누는 작업
서브넷팅의 원리
IP 주소 중 네트워크 ID는 그대로 두고 호스트 ID를 쪼개는 방식
=> 쪼개는 개수가 적을수록 사용 가능한 호스트 수 많아짐
=> ex. 2개 서브넷, 126개 호스트 / 4개 서브넷, 62개 호스트 / ~ / 64개 서브넷, 2개 호스트
호스트 ID를 서브넷 ID와 호스트 ID로 나누는 작업
서브넷 마스크
: IP 주소에서 네트워크 ID와 호스트 ID를 구분하기 위한 구분자
192.168.1.1/24
255.255.255.0
/24 or 255.255.255.0
1이 연속적으로 나오고 0이 뒤이어 연속적으로 나오는 형태
=> 서브넷 마스크를 구하기 위해 네트워크 ID는 모두 1, 호스트 ID는 모두 0으로 채움
=> 24비트가 모두 1이기 때문에 /24
서브넷팅 해보기
- 예시
- 예시2
네트워크 주소 : 172.160.0.0
서브넷 마스크 : 255.255.0.0
4개의 서브넷으로 나누기
=>
호스트 ID의 2개 값만 이용 (00 01 10 11 조합 가능)
서브넷 마스크 | 11111111 11111111 11000000 00000000 |
서브넷 1 | 10101100 00010000 00000000 00000000 |
서브넷 2 | 10101100 00010000 01000000 00000000 |
서브넷 3 | 10101100 00010000 10000000 00000000 |
서브넷 4 | 10101100 00010000 11000000 00000000 |
구분 | 서브넷 | 네트워크 주소 | 브로드캐스트 주소 | 호스트 주소 범위 |
서브넷 1 | 172.16.0.0/18 | 172.16.0.0 | 172.16.63.255 | 172.16.0.1 ~ 172.16.63.254 |
서브넷 2 | 172.16.64.0/18 | 172.16.64.0 | 172.16.127.255 | 172.16.64.1 ~ 172.16.127.254 |
서브넷 3 | 172.16.128.0/18 | 172.16.128.0 | 172.16.191.255 | 172.16.128.1 ~ 172.16.191.254 |
서브넷 4 | 172.16.192.0/18 | 172.16.192.0 | 172.16.255.255 | 172.16.192.1 ~ 172.16.255.254 |
라우터의 동작 방식
- 라우터
: 데이터의 전송을 위해 가장 빠른 길을 찾아 네트워크 간 경로(route) 설정하는 장비
=> 서로 다른 네트워크 간 통신 가능함
cf) 스위치 : 같은 네트워크의 컴퓨터끼리만 통신이 가능한 장비
- 라우팅
서로 다른 네트워크 간 1개 이상의 라우터가 있을 수 있음
=> 가장 빠른 통신 가능한 라우터 찾아 네트워크와 네트워크 간의 경로를 설정함
- 라우팅 테이블
: 데이터를 목적지까지 보내기 위한 거리, 방법 등을 명시한 테이블
=> 라우터는 라우팅 테이블을 이용해 경로 설정함
cf) 스위치 => MAC 테이블
라우팅 프로토콜 (RIP, IGRP, OSPF, BGP)에 따라 라우팅 테이블이 달라짐
# 라우팅 테이블 확인
route print
netstat -nr
네트워크 대상 외에도 게이트웨이, 인터페이스(방향) 등 확인 가능
라우팅 테이블은 주기적으로 업데이트 해야 함 (네트워크 상황 계속 변경되기 때문)
수동/자동 업데이트 모두 가능 (라우팅 프로토콜으로 자동 업데이트하는 것이 효율적)
참고 :
'Programming > STUDY' 카테고리의 다른 글
[모두의 네트워크 기초] 7장 응용 계층 : 애플리케이션에 접속하는 단계 (0) | 2024.07.08 |
---|---|
[모두의 네트워크 기초] 6장 전송 계층 : 오류 없이 데이터를 전달하는 단계 (1) | 2024.07.01 |
[모두의 네트워크 기초] 4장 데이터 링크 계층 : MAC 주소로 통신하는 단계 (1) | 2024.06.10 |
[CS] 메모리의 구조 (0) | 2024.06.03 |
[모두의 네트워크 기초] 3장 물리 계층 : 데이터를 전기 신호로 변환하는 단계 (0) | 2024.06.03 |