네트워크/기초 + 5
트리니티 - IP주소와 서브넷팅

IP 주소란?

네트워크에서 장치들이 통신을 하기 위해서 서로를 구분, 식별하도록 해주는 번호이다.

우리가 쓰는 ip주소는 IPv4인데, 2진수 32비트로 이루어져 있으며, 8비트씩 끊어 "옥텟"으로 구분한다.

 

IP주소는 관리 기관에서 부여한 네트워크 ID와, 네트워크 상에서 개별 호스트를 식별할 수 있도록 하는 호스트 ID로 구성된다.

 

IP 주소의 유한성

IP주소는 무한한 자원이 아니라 특수 목적으로 예약된 것들을 포함해 약 43억개의 주소를 모두 사용하면 더이상 할당할 수 없다.

 

특수 IP 주소

  • 네트워크 ID가 127이고 호스트 ID가 임의의 값이라면 루프백 주소이다.
  • 네트워크 ID가 모두 0이고 호스트 ID만 설정되었다면, 특정 호스트를 식별하기 위한 주소이다.
  • 네트워크 ID가 설정되어있고 호스트 ID가 모두 0이라면 네트워크의 경계를 구분하기 위한 네트워크 주소이다.
  • 네트워크 ID가 설정되어있고 호스트 ID가 모두 1이라면 브로드캐스트 주소이다.

 

IP 주소 할당 방식 - Class

클래스 네트워크 ID  호스트 ID 용도
A 클래스 8 bit, 0~127 24 bit, 0.0.0~255.255.255 일반 사용자
B 클래스 16 bit, 128.0~191.255 16 bit, 0.0~255.255 일반 사용자
C 클래스 24 bit, 192.0.0~223.255.255 8 bit, 0~255 일반 사용자
D 클래스 1110 멀티캐스트 주소 멀티 캐스트
E 클래스 1111 예약된 주소 미래에 예약됨

 

A, B, C 클래스는 일반 사용자들에게 부여하는 주소이다. 

A 클래스에서 네트워크 주소의 첫 비트는 0으로 고정되어 있다. B는 10로, C는 110로, D는 1110, E는 1111로 고정되어 있다.

 

IP 주소 할당 방식 - CIDR

클래스에 따라 IP 주소를 할당하면 사용하지 않는 주소 공간을 많이 낭비하게 되어 유한한 자원인 IP 주소를 효율적으로 사용하기 어렵다.

CIDR은 클래스 구분이 없이 필요한 호스트 수에 따라 적당히 할당하는 방식이다.

기존 클래스 할당 방식에서는 호스트 ID의 길이가 8, 16, 24로 매우 제한적이었지만 CIDR에서는 훨씬 다양한 길이를 제공한다.

 

접두어 표기법(Prefix)

CIDR 방식에서는 네트워크 ID의 길이(bit)를 슬래쉬 뒤에 나타내는 접두어 표기법을 사용한다.

만약 /24 라면 32bit 중 네트워크 ID 24bit를 제외한 나머지 8bit가 호스트 ID가 된다.

 

서브넷 마스크 (Subnet Mask)

192.168.23.56 이라는 주소만 보면 어디까지가 네트워크 ID이고 어디부터가 호스트 ID인지 알기 어렵다.

서브넷 마스크는 이러한 주소에서 네트워크 ID와 호스트 ID를 구분하는 역할을 한다.

32비트로 이루어져 있으며, 이진수 표기법으로 IP 주소에서 네트워크에 해당하는 비트는 1로, 호스트에 해당하는 비트는 0으로 표현한다.

 

어떤 IP 주소와 그 주소의 서브넷 마스크를 2진수로 표현한 다음, AND 연산을 수행하면 네트워크 ID는 그대로 남고 호스트 ID는 모두 0으로 나타난다. 즉, 서브넷을 찾을 수 있다.

 

와일드카드 마스크 (Wildcard Mask)

와일드카드 마스크는 서브넷마스크와 유사하게 필터링 기능을 하지만 정 반대의 표기법을 사용한다.

 

와일드카드 마스크에서 네트워크 ID 처럼 반드시 변하면 안되는 부분은 0으로 표현하고 변해도 괜찮은 부분은 1로 표현한다.

서브넷 마스크는 네트워크를 구분하는 역할을 하지만 와일드카드 마스크는 훨씬 다양하게 IP 주소를 필터링할 수 있다.

(ex) 홀수 / 짝수 주소 필터링 등

 

마찬가지로 해당 IP 주소와 AND 연산을 시키면 원하는 주소를 필터링할 수 있다.

 

서브넷팅 (Subnetting)

서브넷팅이란 하나의 기존 네트워크를 여러개의 더 작은 네트워크로 분할하는 것이다.

서브넷팅을 통해 형성된 작은 네트워크들을 서브넷이라고 한다.

분할된 서브넷들의 크기가 모두 같냐 다르냐에 따라 FLSM 과 VLSM으로 구분된다.

 

서브넷팅 조건

  1. 서브넷에 할당되는 주소는 공백없이 순서대로 할당된다.
  2. 서브넷에 할당되는 주소 중에서 첫 번째 주소와 마지막 주소는 반드시 네트워크 주소와 브로드캐스트 주소로 사용한다.

FLSM (Fixed Length Subnet Mask)

기존 네트워크를 모두 같은 크기의 서브넷으로 나누는 방법이다.

각 서브넷의 규모와 상관없이 규모가 가장 큰 서브넷의 크기에 따라 IP 주소가 분배된다.

 

(ex) 호스트 256개의 기존 네트워크를 4개로 나누려고 한다. 서브넷1은 호스트 최소 60개, 서브넷2는 호스트 최소 32개, 서브넷 3은 호스트 최소 20개, 서브넷4는 호스트 최소 5개가 필요하다.

FLSM 하는 방법

  1. 네트워크 주소와 서브넷 마스크를 이진수로 나타낸다.
  2. 현재 호스트 비트로 표현할 수 있는 IP 주소가 몇 개인지 파악한다.
  3. 호스트 ID의 가장 첫 비트부터 네트워크 ID로 옮기면서 최소한의 필요한 IP 주소만을 포함하도록 한다.
  4. 네트워크 주소를 십진수로 변환하고 네트워크 ID의 비트수를 세어 접두어 표기법으로 나타낸다.

VLSM (Variable Length Subnet Mask)

기존 네트워크를 각각 다른 크기의 서브넷으로 나누는 방법이다.

각 서브넷의 규모를 고려하여 IP 주소가 분배된다.

하지만, 서브넷의 크기가 가장 큰 서브넷부터 순차적으로 IP를 분배해야 한다.

 

(ex) 호스트 256개의 기존 네트워크를 4개로 나누려고 한다. 서브넷1은 호스트 최소 100개, 서브넷2는 호스트 최소 50개, 서브넷 3은 호스트 최소 30개, 서브넷4는 호스트 최소 25개가 필요하다.

 

VLSM 하는 방법

  1. 네트워크 주소와 서브넷 마스크를 이진수로 나타낸다.
  2. 현재 호스트 비트로 표현할 수 있는 IP 주소가 몇 개인지 파악한다.
  3. 호스트 ID의 가장 첫 비트부터 네트워크 ID로 옮기면서 가장 큰 서브넷이 최소한 필요로 하는 IP 주소만큼을 포함하도록 한다.
  4. 가장 마지막 서브넷의 네트워크 주소로 3번 과정을 반복한다.
  5. 각 서브넷의 네트워크 주소를 십진수로 변환하고 네트워크 ID 비트수를 세어 접두어 표기법으로 나타낸다.

 

슈퍼넷팅 (Supernetting)

서브넷팅과는 반대로 여러개의 작은 네트워크를 하나의 큰 네트워크로 합치는 작업이다.

여러 네트워크의 중복되는 부분을 하나의 네트워크로 만들기 위해 사용하기도 한다.

 

'네트워크 > 기초' 카테고리의 다른 글

IP 주소  (1) 2023.09.04
OSI 7계층  (0) 2023.08.27
네트워크 프로토콜  (0) 2023.08.27
네트워크 기초 이론  (0) 2023.08.27
IP 주소

IP 주소란?

(Internet Protocol address, IP address)

컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해서 사용하는 특수한 번호이다.

네트워크에 연결된 장치들은 모두 IP 주소를 가지고 있다. 그리고 IP 주소를 사용해서 목적지와 출발지를 식별해 통신을 한다.

 

IPv4 클래스란?

하나의 IP 주소에는 네트워크 아이디와 호스트 아이디가 존재한다.

IP 클래스는 A, B, C, D, E로 나뉘어 네트워크 아이디와 호스트 아이디를 구분한다.

 

알파벳이 뒤로 갈수록 네트워크 아이디의 비트수는 증가하고 호스트 아이디의 비트수는 감소한다.

또, 네트워크를 할당할 수 있는 곳이 많아지며, 최대 호스트 수도 증가한다.

 

클래스 D는 멀티캐스트, E는 미래에 사용하기로 예약된 주소들이다.

 

특수한 IP 주소

IPv4 주소에서 특수한 목적으로 사용되는 주소들이다.

- 0.0.0.0 : 패킷을 전송하고자 하는 컴퓨터가 자신의 IP 주소를 모르는 경우 통신을 하기 위해 사용

- 127.0.0.1 : localhost 또는 루프백 주소, 자기 자신을 나타낸다.

- 네트워크 주소 : 호스트 아이디 부분이 모두 0인 주소, 네트워크를 구분하는데 사용

- 브로드캐스트 주소 : 호스트 아이디 부분이 모두 1인 주소, 브로드캐스트를 위해 사용 

'네트워크 > 기초' 카테고리의 다른 글

트리니티 - IP주소와 서브넷팅  (1) 2024.05.07
OSI 7계층  (0) 2023.08.27
네트워크 프로토콜  (0) 2023.08.27
네트워크 기초 이론  (0) 2023.08.27
OSI 7계층
2023. 8. 27.

OSI 7계층이란

TCP / IP 와 같은 네트워크 계층 모델 중 하나

ISO (국제표준화기구) 에서 지정해 교육용으로 주로 쓰이는 공적 표준 모델

 

데이터의 흐름을 쉽게 파악할 수 있고, 네트워크를 공부할 때 편해서 사용됨

 

TCP / IP 5계층의 제 4계층인 전송 계층을 3개로 나누어 표현한 모델

따라서 물리계층, 데이터링크계층, 네트워크계층, 응용계층은 TCP / IP 와 같습니다.

2023.08.27 - [네트워크/기초] - 네트워크 기초 이론

 

네트워크 기초 이론

네트워크의 의미 네트워크란? : 여러 장치들이 전송 매체를 통해 연결되어 멀리 떨어져 있어도 필요한 정보를 교환할 수 있도록 구성된 시스템 *노드 : 정보를 교환하기 위해 연결되어 있는 장치

frankenkitty.tistory.com

 

제 4계층 전송 계층 (Transport Layer)

  • 데이터를 분할하거나 합치고, 흐름 제어와 에러 제어 수행
  • 포트번호를 통해 데이터 전송 관리

제 5계층 세션 계층 (Session Layer)

  • 세션을 열고 닫으며 양쪽 통신이 끊기지 않게 유지
  • 데이터 교환을 위한 로그인, 로그아웃, 데이터 동기화 등을 관리
  • 세션을 설정하고 유지하며, 데이터 교환의 시작과 종료를 조절

제 6계층 표현 계층 (Presentation Layer)

  • 전송 데이터의 형식 결정 (jpg, mp4, avi, gif ...)
  • 데이터의 형식 변환, 암호화, 압축 등을 수행

'네트워크 > 기초' 카테고리의 다른 글

트리니티 - IP주소와 서브넷팅  (1) 2024.05.07
IP 주소  (1) 2023.09.04
네트워크 프로토콜  (0) 2023.08.27
네트워크 기초 이론  (0) 2023.08.27
네트워크 프로토콜
2023. 8. 27.

네트워크에서의 프로토콜

컴퓨터나 다른 장치 간에 데이터를 교환하고 통신하기 위한 규칙과 규약의 집합을 의미합니다.

데이터의 전송방식, 형태, 오류 처리, 보안 등을 정의하여 효율적이고 안정적인 통신을 가능하게 합니다.

프로토콜은 통신 과정에서 송신 측과 수신측이 서로 이해하고 준수해야 할 규칙들입니다.

네트워크에서 데이터를 보내고 받는 방식을 명확하게 정의합니다.

 

TCP / IP 5계층에서 사용되는 프로토콜

제 5계층 응용 계층 (Application Layer)

HTTP (Hyper Text Transfer Protocol) : 웹에서 데이터를 주고받을 때 사용되는 프로토콜 중 하나로, 웹 브라우저와 웹 서버 사이의 통신을 담당. 클라이언트와 서버 간에 요청(Request) 과 응답(Response) 을 주고받는데 사용.

 

DNS (Domain Name System) : 인터넷에 연결된 모든 장치는 고유한 IP 주소를 가지고 있는데, IP 주소는 숫자로 되어있어서 읽거나 기억하기 어려움. 이러한 불편함을 해소하기 위해 사람이 읽기 쉬운 도메인 이름을 IP 주소로 변환하는 역할을 함.


제 4계층 전송 계층 (Transport Layer)

TCP (Transmission Control Protocol) :

  • 신뢰성 있는 연결 지향형 프로토콜. 데이터의 정확한 전달과 순서를 보장.
  • 데이터의 분할과 재조립, 오류 검출 및 복구를 지원하여 안정적인 데이터 전송.
  • 대부분의 웹 브라우징, 이메일 전송, 파일 다운로드 등과 같은 신뢰성이 중요한 응용 프로그램에서 주로 사용.

UDP (User Datagram Protocol) :

  • 비연결성 프로토콜로, 데이터의 신뢰성과 순서를 보장하지 않음.
  • 데이터를 패킷으로 나누어 전송하고, 오류 검사 기능만 제공하여 일부 데이터 손실이나 순서 변경이 발생할 수 있음.
  • 실시간 스트리밍, 온라인 게임, DNS 쿼리와 같이 신속한 데이터 전달이 중요한 상황에서 사용.
  • UDP는 TCP보다 더 빠른 데이터 전송을 가능하게 하지만, 데이터의 정확한 도착과 순서는 응용 프로그램에서 직접 관리 필요.

제 3계층 네트워크 계층 (Network Layer)

ICMP (Internet Control Message Protocol) :

  • 네트워크 상에서 컴퓨터 간에 제어 및 에러 메시지를 전송하기 위해 사용
  • ICMP 메시지는 네트워크 단절, 호스트 도달 불가능, 패킷 크기 초과와 같은 상황을 알려줌
  • 'ping' : 호스트가 동작하고 네트워크에 연결되어 있는지를 확인하는 ICMP 메시지

ARP (Address Resolution Protocol) :

  • IP 주소와 MAC 주소 간의 매핑을 수행하는 프로토콜
  • 주로 LAN 에서 목적지 IP 주소를 가지고 해당 호스트의 MAC 주소를 찾는 데 사용

제 2계층 데이터링크 계층 (Datalink Layer)

Ethernet :

  • 장치 간에 데이터를 전송하기 위해 LAN 에서 사용되는 유선 네트워크 기술
  • CSMA / CD (Carrier Sense Multiple Access with Collision Detection) 방식을 사용해 여러 장치가 동시에 네트워크를 공유할 수 있고, 충돌을 감지하여 처리하는 기능을 제공
  • 주로 유선 연결을 통해 데이터를 전송하며, Ethernet 프레임의 형태로 패킷화하여 전송

PPP (Point-to-Point Protocol) :

  • 시리얼 라인이나 전화 회선과 같은 포인트 투 포인트 연결을 통해 사용
  • 주로 인터넷 서비스 제공자 (ISP) 와 사용자 사이의 연결 설정을 위해 제공

 

 

'네트워크 > 기초' 카테고리의 다른 글

트리니티 - IP주소와 서브넷팅  (1) 2024.05.07
IP 주소  (1) 2023.09.04
OSI 7계층  (0) 2023.08.27
네트워크 기초 이론  (0) 2023.08.27
네트워크 기초 이론
2023. 8. 27.

네트워크의 의미

네트워크란?

여러 장치들이 전송 매체를 통해 연결되어 멀리 떨어져 있어도 필요한 정보를 교환할 수 있도록 구성된 시스템

 

*노드 : 정보를 교환하기 위해 연결되어 있는 장치

*링크 : 노드들을 서로 연결하는 회선

*데이터 : 장치들 간에 교환이 이루어지는 정보

 


네트워크의 분류

  1.  PAN : Personal Area Network, 개인이 전용으로 사용하는 장치 ( USB, 블루투스 등) 들을 연결하는 규모의 네트워크
  2.  LAN : Local Area Network, 한정된 공간 및 건물 정도 규모의 네트워크, 일반적인 네트워크 토폴로지에서 라우터 이전까지의 범위
  3.  WAN : Wide Area Network, 지역 및 국가 정도 규모의 네트워크, 여러 LAN 을 연결하여 구축, 일반적인 네트워크 토폴로지에서 라우터 이후부터의 범위

프로토콜의 의미

프로토콜이란?

네트워크에 속한 장치들 간 데이터 통신을 진행하기 위해 지켜야 할 규칙 및 절차를 미리 정의해둔 것

  여러 종류가 존재하며 하나의 데이터를 전송하는 경우에도 다양한 프로토콜이 적용

 


TCP/IP 5계층

: Transfer Control Protocol / Internet Protocol

  네트워크 상에서 이루어지는 데이터 통신을 5단계로 구분지어 정의한 계층 구조

  각 계층은 독립적인 역할을 담당하며 역할 수행을 위한 프로토콜이 각 계층별로 정의됨

 

제 5계층 - 응용 계층 (Application Layer)

사용자와 컴퓨터 간의 상호작용 (= 인터페이스) 를 담당

주요 프로토콜 : HTTP, DNS ...

제 4계층 - 전송 계층 (Transport Layer)

데이터 분할 및 재조립, 데이터 통신의 흐름 및 오류 제어 등을 담당

포트 번호를 관리하며 데이터를 처리해야 하는 프로그램을 확인

주요 프로토콜 : TCP, UDP ...

 

제 3계층 - 네트워크 계층 (Network Layer)

데이터 패킷을 목적지까지 전달하기 위한 경로 선택과 패킷 전달을 담당

IP 주소를 관리하며 데이터가 전달되는 종단 장치를 확인

주요 프로토콜 : ICMP, ARP ...

 

제 2계층 - 데이터링크 계층 (Datalink Layer)

장치 간의 데이터 전송 순서 결정, 데이터의 오류 검출 및 정정 등을 담당

MAC 주소를 관리하며 데이터가 전달되는 중간 장치를 확인

주요 프로토콜 : Ethernet, PPP ...

 

제 1계층 - 물리 계층 (Physical Layer)

장치 간의 물리적인 연결 방법, 사용할 전송 매체의 종류, 변환 방식 등 데이터 통신의 물리적 / 기계적 / 전기적 측면을 담당

프로토콜을 직접적으로 사용하지 않음

 


 

캡슐화 / 탈캡슐화

캡슐화 (Encapsulation)

데이터를 하위 계층으로 전달하며 헤더를 덧붙이는 작업

 

탈캡슐화 (Decapsulation)

데이터를 상위 계층으로 전달하며 헤더를 제거하는 작업

 

헤더 (Header)

목적지 주소와 출발지 주소, 에러체크 등 필요한 정보

 

*헤더와 데이터 중 데이터에 해당하는 부분을 페이로드 (Payload) 라고 함

 


계층별 PDU 명칭

PDU (Protocol Data Unit)

각 계층에서 처리하는 데이터 단위

 

응용 계층 (Application Layer)

: 메시지 (Message) - 태초의 데이터로 헤더 없이 페이로드만 존재

 

전송 계층 (Transport Layer)

: 세그먼트 (Segment) - 전송계층 헤더 + 메시지

 

네트워크 계층 (Network Layer)

: 패킷 (Packet) or 데이터그램 (Datagram) - 네트워크 계층 헤더 + 세그먼트

 

데이터링크 계층 (Datalink Layer)

: 프레임 (Frame) - 데이터링크 계층 헤더 + 패킷 + 데이터링크 계층 트레일러

*데이터링크 계층에서만 페이로드 뒷부분에 트레일러 (Trailer) 라는 것을 덧붙임

 

물리 계층 (Physical Layer)

물리 계층에서는 주기적으로 캡슐화를 진행하지 않음

  완성된 데이터 신호 0과 1의 비트열을 전기적 신호로 변환

 


네트워크 장비

스위치 

  • 데이터링크 계층 (제 2계층) 에서 동작하는 장비
  • MAC 주소를 확인해 목적지로 향하는 적절한 포트로 전송하는 장비
  • 데이터를 수신할 때마다 MAC 테이블에 MAC 주소와 포트 정보를 저장

스위치의 기능들

  • 플러딩 (Flooding) : 데이터를 모든 포트로 내보내는 기능, 수신한 데이터의 MAC 주소 정보가 MAC 테이블에 없을 때 수행
  • 포워딩 (Forwarding) : 데이터를 특정 포트로 내보내는 기능, 수신한 데이터의 MAC 주소 정보가 MAC 테이블에 있을 때 수행
  • 필티링 (Filtering) : 포워딩이 수행되는 포트 외의 나버지 포트로는 데이터를 내보내지 않고 차단하는 기능

 라우터

  •  네트워크 계층 (제 3계층) 에서 동작하는 장비
  • IP 주소를 확인해 목적지 네트워크로 향하는 최적의 포트로 전송하는 장비
  • 라우팅 테이블에 저장된 정보에 따라 최적 경로로 데이터를 전송

게이트웨이 (Gateway)

한 네트워크에서 다른 네트워크로 나가는 출입문 역할을 하는 장치

  일반적으로 네트워크의 가장 바깥쪽에 위치한 라우터 (= 기본 게이트웨이)

 

NAT (Network Address Translation)

공인 IP 와 사설 IP 를 나눠주는 기능

  IPv4 체계의 주소 부족 문제를 해결하기 위함

 

DHCP (Dynamic Host ConfigurationProtocol)

네트워크 내부 컴퓨터에 자동으로 DNS, IP, 게이트웨이 주소를 할당해주는 기능

  효율성이 높고 자동으로 할당되기 때문에 IP 충돌 방지 가능

'네트워크 > 기초' 카테고리의 다른 글

트리니티 - IP주소와 서브넷팅  (1) 2024.05.07
IP 주소  (1) 2023.09.04
OSI 7계층  (0) 2023.08.27
네트워크 프로토콜  (0) 2023.08.27
myoskin