열렬히.뛰기

5장 : 네트워크 계층

네트워크 > 네트워크 이론 (1) > 네트워크 (1) : 모두의 네트워크 > 5장 : 네트워크 계층

javascript
사용자
-----------------
응용 계층
표현 계층
세션 계층
전송 계층
네트워크 계층
데이터 링크 계층
물리 계층
-----------------
전선 

WAN에서의 이야기를 다룬다. (LAN과 LAN 간의 통신)

네트워크 간 연결

  • 라우터라는 장비가 필요하다.
  • IP 주소라는 새로운 식별주소가 필요

IP 주소

javascript
컴퓨터1
	- 네트워크 계층 : IP 헤더를 붙여 IP 패킷을 만든다.
	- 데이터링크 계층 : 이더넷 헤더와 트레일러를 붙여 프레임을 만든다.
	- 물리 계층 : 프레임을 전기신호로 변환 후 전송.

	- 물리 계층 : 전기신호를 프레임으로 변환
	- 데이터링크 계층 : 이더넷 헤더와 트레일러 분리.
	- 네트워크 계층 : IP 헤더를 분리
컴퓨터2

IP 헤더에 들어가는 것

javascript
버전, 헤더길이, 서비스 유형, 전체 패킷 길이, ID, 조각 상태, 조각의 위치, 
TTL, 프로토콜, 헤더 체크섬, 출발지 IP주소, 목적지 IP주소

IP 주소의 구조

  • IP 주소는 인터넷 서비스 제공자(ISP = 통신사)에게 받을 수 있다.
  • 처음에는 IPv4를 사용. 주소 갯수가 부족해져서 인제는 IPv6.
    • IPv4는 32비트, 총 2^32 = 43억개의 주소를 만들 수 있음.
    • IPv6는 128비트, 총 2^128개의 주소를 만들 수 있음.
  • IP 주소에는 공인과 사설이 존재.
    • 공인 : ISP가 제공하는 ip
    • 사설 : 개인이 쓰는 ip (DHCP를 이용해 할당)
    • DHCP : IP 주소를 자동으로 할당하는 프로토콜. 이를 통해 IP주소의 갯수를 절약할 수 있음.

IP 주소 읽기

javascript
총 32비트. 8비트 씩 끊어서 독해.
단 실제 주소는 10진수로 되어 있음.

172.168.0.2
- 각 범위에 들어갈 수 있는 것 (1 ~ 255)
- 4개의 옥텟으로 구분했다는 것이 바로 .으로 숫자를 나눴다는 뜻

IP 주소는 2개로 나눌 수 있음

  • 네트워크 ID : 어떤 네트워크인지를 나타냄
  • 호스트 ID : 해당 네트워크의 어떤 컴퓨터인지를 나타냄

IP 나누기

네트워크가 너무 커지다보니, IP주소를 네트워크/호스트 ID를 이용해 적절하게 나누게 된다.

또 기능에 따라 네트워크 주소와 브로드캐스트 주소라는 것이 존재한다.

과거에는 IP주소 클래스를 이용했다면, 요즘은 서브넷팅을 이용한다.

IP 주소 클래스

네트워크 ID 호스트 ID
A클래스 8 24
B클래스 16 16
C클래스 24 8

범위를 십진수로 나타내면 다음과 같다.

javascript
<클래스별 공인>
1.0.0.0 ~ 9.255.255.255
11.0.0.0 ~ 126.255.255.255

128.0.0.0 ~ 172.15.255.255
172.32.0.0 ~ 191.255.255.255

192.0.0.0 ~ 192.167.255.255
192.169.0.0 ~ 223.255.255.255

- 끝이 0 = 호스트ID가 0 = 네트워크 주소
- 끝이 255 = 호스트 ID가 255 = 브로드캐스트 주소

<사설>
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 주소

이 두 주소는 단말기의 IP주소로 설정하면 안됨.

서브넷팅

ip 주소 클래스를 좀 더 세분화한 것이라고 생각하면 됨.

따라서 ip가 네트워크 id, 서브넷 id, 호스트 id로 나눠지게 됨.

이를 좀 더 쉽게 보기 위해 서브넷 마스크나 프리픽스 표기법(cidr)을 사용하게 됨.

javascript
서브넷 마스크 : 네트워크 id와 호스트 id를 식별하기 위한 값.
	- 0으로 표기된 부분이 호스트 id
프리픽스 표기법 : /와 숫자를 사용한 표기법

255.255.255.0 = /24

서브네팅 테이블

호스트 주소 한 서브넷 당 ip 갯수 네트워크의 서브넷 총 갯수
255.255.255.128 2^7 2^1 /25
255.255.255.192 2^6 2^2 /26
255.255.255.224 2^5 2^3 /27
255.255.255.240 2^4 2^4 /28
255.255.255.248 2^3 2^5 /29
255.255.255.252 2^2 2^6 /30
255.255.255.253 2^1 2^7 /31
255.255.255.255 2^0 2^8 /32

라우터

  • 네트워크를 분리하는 장비
  • 기본 게이트웨이 : 네트워크의 출입구라고 할 수 있는 부분
    • 네트워크 주소를 기본 게이트웨이로 설정하는 경우가 많다
  • 라우팅 : 경로 정보를 기반으로 현재 네트워크에서 다음 네트워크로 데이터를 전송하는 것
    • 경로정보가 등록되어 있는 테이블 = 라우팅 테이블
    • 라우팅 테이블을 자동으로 설정 = 동적 라우팅
    • 라우팅 테이블을 수동으로 설정 = 정적 라우팅
  • 동적 라우팅을 위해서는 라우터끼리 정보를 교환해야 함.
    • 이때 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 함.