나를 기록하다
article thumbnail
반응형

모두의 네트워크

네트워크 계층의 역할

1. 네트워크 간의 연결 구조

  • 데이터링크 계층
    • 이더넷 규칙 기반 데이터 전송
    • 같은 네트워크에 있는 컴퓨터끼리만 가능

데이터링크 계층의 기능 - 해당 네트워크 안에서만 통신 가능

→ 인터넷이나 다른 네트워크에 있는 목적지로 데이터 전달 시 네트워크 계층의 기술 필요

  • 네트워크 간의 통신을 가능하게 해주는 역할을 네트워크 계층에서 함.
    네트워크 계층에서는 다른 네트워크로 데이터를 전송하기 위해 라우터(Router)가 필요함.

네트워크 계층
라우터(출처: 위키피디아)

라우터
  • 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 역할
  • 데이터를 보내려는 목적지가 모르면 라우터도 목적지까지의 경로를 알려주지 못함.
  • 데이터 링크 계층에서는(랜) MAC 주소만으로 통신이 가능했지만 다른 네트워크에는 데이터 전송 불가
  • 네트워크를 식별할 수 있는 다른 주소가 필요 → IP 주소(IP Address)

 

IP
  • 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소 → 다른 네트워크에 있는 목적지를 지정 가능
  • IP 주소로 목적지를 지정하는 것뿐만 아니라 데이터를 어떤 경로로 보낼지도 결정해야 함.
    → 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅(routing)이라고 함.
    → 라우터의 라우팅 테이블(routing table)에서 경로 정보를 등록하고 관리
  • 네트워크 계층에는 IP(Internet Protocol)이라는 프로토콜 존재 → 통신 규격인 TCP/IP의 IP
  • 데이터 링크 계층: 이더넷 헤더를 붙이는 캡슐화를 진행하여 프레임을 만듦
  • 네트워크 계층: IP 헤더를 붙여 캡슐화 진행
  • IP 패킷: IP 헤더를 붙여 캡슐화를 진행해 만든 것.
    많은 정보가 담겨있고 그 중에서도 출발지 IP 주소와 목적지 IP 주소가 담겨 있다는 것이 제일 중요

IP 헤더


2. IP 주소의 구조

IP주소는 인터넷 서비스 제공자(ISP)에게 받을 수 있다.

 

IP 버전
  • IPv4: 32비트 → 약 43억 개의 IP 주소를 만들 수 있다. 하지만 인터넷이 널리 보급되면서 IP 주소가 부족 → IPv6를 사용하게 됨.
  • IPv6: 128비트 → 더 많은 IP 주소를 만들 수 있음(약 340 x 10³⁶)
  • IPv4의 주소는 주소의 수가 고갈될 수 있기 때문에 인터넷에 직접 연결되는 컴퓨터나 라우터에는 공인 IP 주소를 할당하고, 회사나 가정의 랜에 있는 컴퓨터는 사설 IP 주소를 할당하는 정책을 사용
  • IP 주소의 종류
    • 공인 IP 주소: 인터넷 서비스 제공자(ISP)가 제공
    • 사설 IP 주소: 회사나 가정의 랜에 있는 컴퓨터에 할당
  • 랜 안에 컴퓨터가 여러대 있지만 공인 IP 주소는 사용할 수 있는 숫자가 제한
    → 컴퓨터 한 대당 공인 IP 주소를 하나씩 할당하기 어려움
    • 공인 IP 주소는 라우터에만 할당
    • 랜 안의 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소 또는 라우터의 DHCP 기능을 사용하여 주소를 자동으로 할당
    • DHCP란? Dynamic Host Configuration의 약어. IP 주소를 자동으로 할당하는 프로토콜

IP 주소 할당 방식

IP 주소의 구조
  • MAC 주소: 48비트 → 구분하기 쉽도록 16진수로 표시
  • IP 주소: 32비트 → 구분하기 쉽도록 10진수로 표시
  • 옥텟(octet): 8비트(원래는 그룹 여덟 개를 의미하지만 데이터 8비트를 의미하기도 함)
  • 32비트 → 4개의 옥텟 구분→ 10진수 변환

IP주소의 구조

 

  • 숫자의 범위: 8비트의 범위(00000000 ~ 11111111) → 10진수의 범위(0 ~ 255)
  • 이 IP 주소는 네트워크 주소(네트워크 ID)와 호스트 주소(호스트 ID)로 나뉜다.
    • 네트워크 ID: 어떤 네트워크인지를 나타냄
    • 호스트 ID: 해당 네트워크의 어느 컴퓨터인지를 나타냄.
  • 이 두가지 정보가 합쳐져 IP 주소가 된다.

IP 주소 = 네트워크 주소(네트워크 ID) + 호스트 주소(호스트 ID)

IP 주소 = 네트워크 주소 + 호스트 주소


IP 주소의 클래스 구조

1. IP 주소 클래스란?

  • IP 주소는 네트워크 주소(네트워크 ID)를 크게 만들거나 호스트 주소(호스트 ID)를 작게 만들어 네트워크 크기를 조정 가능
  • 네트워크 크기는 클래스라는 개념으로 구분

클래스

  • 일반 네트워크에서는 A~C 클래스 사용
  • A 클래스
    • 처음 8비트가 네트워크 ID, 나머지 24비트가 호스트 ID
    • 1 옥텟의 범위       : 00000001 ~ 01111111(10진수: 1~127)
    • 2 ~ 4 옥텟의 범위: 00000000 ~ 11111111(10진수: 0~255)
    • 따라서 A 클래스의 네트워크 ID와 호스트 ID의 32비트 전체 범위는 1.0.0.0 ~ 127.255.255가 된다.

A 클래스의 네트워크 주소와 호스트 주소

  • B 클래스
    • 처음 16비트가 네트워크 ID, 나머지 16비트가 호스트 ID
    • 1 옥텟의 범위       : 10000000 ~ 10111111(10진수: 128 ~ 191)
    • 2 ~ 4 옥텟의 범위: 00000000 ~ 11111111(10진수: 0 ~ 255)
    • 따라서 B 클래스의 네트워크 ID와 호스트 ID의 32비트 전체 범위는 128.0.0.0 ~ 191.255.255.255가 된다.

B 클래스의 네트워크 주소와 호스트 주소

  • C 클래스
    • 처음 24비트가 네트워크 ID, 나머지 8비트가 호스트 ID
    • 1 옥텟의 범위       : 11000000 ~ 11011111(10진수: 192 ~ 223)
    • 2 ~ 4 옥텟의 범위: 00000000 ~ 11111111(10진수: 0 ~ 255)
    • 따라서 C 클래스의 네트워크 ID와 호스트 ID의 32비트 전체 범위는 192.0.0.0 ~ 223.255.255.255가 된다.

C 클래스의 네트워크 주소와 호스트 주소

  • 주의할 점: 공인 IP 주소와 사설 IP 주소의 범위가 정해져 있다. 사설 IP 주소는 절대로 공인 IP 주소를 사용할 수 없다.

공인 IP와 사설 IP 주소의 범위

가정의 랜에서는 주로 C 클래스의 사설 IP 주소인 192.168.X.X이 사용된다.

맥북에서 ip 주소를 확인하는 방법
  • 내부 IP(사설 IP)
ipconfig getifaddr en0

또는

ifconfig grep|inet
  • 외부 IP(공인 IP)
curl ifconfig.me

위와 같이 내부 IP(사설 IP)는 192.168.XX로 조회가 된다.


공인 IP

전 세계에서 유일한 IP로 ISP가 제공하며 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근 가능
사설 IP
한 네트워크 안에서 사용되는 IP 주소 IPv4의 부족으로 인해 모든 네트워크가 공인 IP를 사용하는 것은 불가능
그에 따라 네트워크 안에서 라우터를 통해 할당받는 가상의 주소로 외부에서 접속할 수 없음.

네트워크 주소와 브로드캐스트 주소의 구조

1. 네트워크 주소와 브로드캐스트 주소란?

IP 주소에는 네트워크 주소와 브로드캐스트 주소가 존재.

이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용하면 안되는 주소

 

네트워크 주소
  • 호스트 ID: 10진수 0, 2진수 00000000인 주소
  • 전체 네트워크에서 작은 네트워크를 식별
  • 그 작은 네트워크 전체를 대표하는 주소
브로드캐스트 주소
  • 호스트 ID: 10진수 255, 2진수 11111111인 주소
  • 해당 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용 IP 주소
  • 해당 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정

네트워크 범위와 브로드캐스트 주소


서브넷의 구조

1. 서브넷이란?

A 클래스는 네트워크 ID가 8비트에 호스트 ID가 24비트 → IP 주소를 1677만 7214개 사용 가능

만약 그 많은 수의 컴퓨터가 브로드캐스트 패킷을 전송하면 모든 컴퓨터에 패킷이 전송되고 네트워크가 혼잡해질 것.

서브넷핑

위의 그림처럼 A 클래스의 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있고 더 많은 네트워크를 만들 수 있어서 IP 주소를 더 효과적으로 활용 가능

 

이처럼 네트워크를 분할하는 것을 서브넷팅(subneting)이라고 하고 분할된 네트워크를 서브넷subnet)이라고 한다.

 

기존의 네트워크 ID + 호스트 ID → 네트워크 ID + 서브넷 ID + 호스트 ID

 

호스트 ID 추가

즉 호스트 ID에서 비트를 빌려 서브넷으로 만들 수 있다.


2. 서브넷 마스크란?

IP 주소를 서브넷팅하면 어디까지가 네트워크 ID고 어디부터가 호스트 ID인지 판단하기 어려운 경우 존재.

→ 서브넷 마스크라는 값을 활용

 

서브넷 마스크
  • 네트워크 ID와 호스트 ID를 식별하기 위한 값
  • 프리픽스(prefix) 표기법으로 사용 가능 → 슬래시(/비트 수)를 나타냄 ex) 24비트 → /24

서브넷 마스크

→ 서브넷 마스크는 IP 주소의 네트워크 부분만을 나타내게 하여 같은 네트워크인지 판별하게 하는 마스크

프리픽스 표기법 예시


라우터의 구조

1. 라우터란?

서로 다른 네트워크와 통신하려면 라우터가 필요하다.

라우터는 네트워크를 분리하는 역할을 한다.

라우터는 네트워크를 분리

 

네트워크를 분할한 다음에 컴퓨터 한 대가 다른 네트워크에 접속하려면?

위의 그림에서 192.168.1.0/24 네트워크의 첫 번째 컴퓨터에서 192.168.2.0/24 네트워크의 첫 번째 컴퓨터로 데이터를 전송하려면 라우터의 IP 주소를 설정해야 한다.

이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 한다.

 

라우터 IP 주소를 지정해야 하는 이유

 192.168.1.0/24 네트워크의 첫 번째 컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 하는지 모른다.

그래서 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송한다.

여기서  192.168.1.0/24 네트워크의 첫 번째 컴퓨터는 192.168.1.0/24 네트워크에 속해 있기 때문에 라우터의 IP 주소인 192.168.1.1로 설정한다.

 

맥(Mac OS)에서는 아래 설정 화면처럼 DHCP 사용을 설정하면 자동으로 IP 주소를 받을 수 있다.

이것을 설정하면 네트워크 외부에 접속할 때 사용되는 기본 게이트웨이가 자동으로 설정된다.


2. 라우팅이란?

라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송한다.

이 경로 정보가 등록되어 있는 테이블이 라우팅 테이블이다.

라우팅 테이블에 등록되는 경로 정보

라우팅 테이블에 경로 정보를 등록하는 방법
  • 수동 등록
    • 소규모 네트워크에 적합
    • 직접 네트워크 관리자가 변경해야함.
  • 자동 등록
    • 대규모 네트워크에 적합
    • 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정

이처럼 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜(routing protocol)이라 함.

이 라우팅 프로토콜을 설정하여 라우터 간에 경로 정보를 서로 교환하고 그것을 라우팅 테이블에 등록해 나간다.

라우팅 프로토콜의 종류에는 RIP, OSPF, BGP 등이 있다.


참고자료

https://almotjalal.tistory.com/98

 

7. 네트워크 계층 - 2 (IP주소의 체계)

IP 주소의 구조 IPv4주소는 32비트이며 32비트를 8비트로 단위로 나눠서 표현하는 것을 옥텟(Octet)이라고 하는데 32비트를 4개의 옥텟으로 나누어 10진수로 표현한다. 또한, 이 IP 주소는 네트워크 주

almotjalal.tistory.com

https://limkydev.tistory.com/168

 

[Network] IP주소 클래스(A,B,C class)란?

*선행지식 2018/11/10 - [전공지식/Network] - [Network] IP주소란? (IP클래스를 이해하기 전 IP주소에 대해서 먼저 아셔야 이해하기 쉽습니다.) 1) IP주소의 클래스란? 지난시간 IP주소에 대해 배웠는데 잠시

limkydev.tistory.com

 

반응형
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...