공부용 블로그 | seokmin100

소수전공 - OSI 참조 모델, IP주소, 서브넷팅 본문

소수 전공

소수전공 - OSI 참조 모델, IP주소, 서브넷팅

seokmin100 2024. 7. 22. 19:21

1. OSI 참조 모델

OSI 참조 모델은 데이터를 전송하는 호스트는 응용 계층에서 시작하며 물리 계층으로 사용자 데이터를 내려보내고, 데이터를 수신하는 호스트는 거꾸로 물리 계층에서 응용계층으로 데이터를 올려보내는 계층화된 구조입니다. 즉, 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 만든 개념 모델입니다.

총 7개의 계층으로 이루어져 있고, 각 계층은 겹치지 않고 독립적인 역할을 담당하고, 프로토콜이 정의되어 있습니다.

 

그리고 데이터, 새그먼트, 패킷, 프레임, 비트 처럼 계층별로 고정된 단위가 있는데, 이를 프로토콜 데이터 유닛(PDU)라고 한다.

 

L1 - 물리 계층

주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비입니다. 그리고 주소를 0과 1로 변환해서 주고 받는 기능을 합니다. 전송되는 데이터 단위는 비트이고, 대표적인 장비로는 통신케이블, 허브 등이 있습니다. 사용되는 데이터 단위는 bit입니다.

 

L2 - 데이터 링크 계층

MAC 주소를 기반으로 직접 연결된 서로 다른 2개의 네트워킹 장치 간의 데이터를 전송하는 역할을 하고 있습니다. 흐름 제어 및 오류 제어를 담당하여 안전한 통신의 흐름을 관리하고 접근제어와 동기화도 담당하고 있습니다. 대표적인 장비로는 스위치가 있으며, 프로토콜로는 PPP, ARP가 있습니다. 그리고 사용되는 데이터 단위는 프레임입니다.

 

스위치의 동작 방식으로는 Flooding과 Forwading이 있습니다.

Flooding은 데이터를 모든 포트로 내보내는 기능으로 MAC 주소가 MAC테이블에 존재하지 않아도 수행할 수 있습니다.

Forwading은 데이터를 특정 포트로 내보내는 기능으로 수신한 데이터의 MAC 주소가 MAC테이블에 존재해야 수행할 수 있습니다.

 

L3 - 네트워크 계층

IP주소를 기반으로 패킷을 송수신하는 계층입니다. 라우팅 기능을 맡고 있는 계층으로 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 가지고 있습니다. 대표적인 장비로는 라우터와 L3 스위치가 있으며 프로토콜로는 IP, ICMP가 있습니다.그리고 사용되는 데이터 단위는 패킷입니다.

 

L4 - 전송 계층

실질적인 데이터 전달을 수행하는 계층으로 장비와 장비가 접속하면 전송계층의 TCP가 데이터를 전달하는 계층입니다.

종단 간(end to end) 데이터 통신 보장 : 통신 채널을 통해 흐름 제어와 오류 제어 등을 수행하여 전체적인 사용자 데이터의 통신을 보장합니다.

사용자 데이터 분할과 재조립 : 데이터를 세그먼트로 분할하여 순서번호를 할당하며, 수신한 데이터는 이 번호를 참조하여 재조립하거나 폐기하는 역할을 수행합니다.

대표적인 프로토콜로는 TCP, UDP가 있고 사용되는 데이터 단위는 세그먼트입니다.

 


 

2. IP주소

IPv4 주소 형식은 2진수 32자리로 구성하며, 8자리(octet)마다 점으로 구분하고, 10진수로 변환하여 표기하는 방식입니다.

ex) 1100 0000 . 1010 1000 . 0000 0001 . 0000 1011   ->   192.168.1.11

 

IP 주소의 구성으로는 네트워크 ID + 호스트 ID입니다.

네트워크 ID : 네트워크를 구분하는 주소(동일한 네트워크에 존재하면 같은 네트워크 주소를 가짐)

호스트 ID : 네트워크 상의 호스트를 구분하는 주소(네트워크 내의 호스트 주소는 유일)

네트워크 안의 첫번째 주소는 네트워크 대표주소로, 마지막 주소는 브로드캐스트 주소로 사용된다.

ex) 192.168.1.11 중에서 192.168.1은 네트워크 ID, 11은 호스트 ID

      -> 여기서 사용할 수 있는 IP 주소는 192.168.1.0 ~ 192.168.1.255

      -> 이 중 192.168.1.0(첫번째 주소)은 네트워크 대표 주소

      -> 192.168.1.255(마지막 주소)는 브로드 캐스트 주소

 

 

1)  A 클래스

32비트 중 첫 번쨰 최상위 비트를 0으로 시작하는 주소입니다. 7비트로 네트워크 주소를 표현하고 있습니다.

네트워크 ID는 0xxxxxxx처럼 이루어져 있고, 호스트 ID는 xxxxxxxx xxxxxxxx xxxxxxxx처럼 이루어져 있습니다.

네트워크 주소의 개수 : 2^7-2=126개 (0.0.0.0 : 사용안함, 127.0.0.0 : 루프백 주소)

한 네트워크 당 호스트 수 : 2^8 * 2^8 * 2^8 - 2 개 (X.0.0.0 : 대표 네트워크 주소, X.255.255.255 : 브로트 캐스트 주소)

0.0.0.0 ~ 127.255.255.255 (127.0.0.0 ~ 172.255.255.255 는 루프백 주소로 예약)

 

- 루프백 주소

컴퓨터의 네트워크 입출력 기능을 시험하기 위하여 가상으로 할당한 인터넷 주소(127.0.0.1)

실제로는 외부 네트워크에 연결되어 있지 않는 소프트웨어적 입출력 주소로서 이 주소로 발송된 데이터는 되돌아서 다시 이 주소로 수신된 것 처럼 동작한다. 웹 서버나 인터넷 소프트웨어의 네트워크 동작 기능을 시험하는데 사용한다.

 

 

2)  B 클래스

32비트 중 첫 번째 비트를 1로 두 번째 비트는 0으로 시작하는 주소입니다. 14비트로 네트워크 주소를 표현하고 있습니다.

네트워크 ID는 10xxxxxx xxxxxxxx처럼 이루어져 있고, 호스트 ID는  xxxxxxxx xxxxxxxx처럼 이루어져 있습니다.

네트워크 주소의 개수 : 2^6 * 2^8 = 2^14 개

한 네트워크의 호스트 수 : 2^8 * 2^8 - 2 개 (X.X.0.0 : 대표 네트워크 주소, X.X.255.255 : 브로트 캐스트 주소)

128.0.0.0 ~ 191.255.255.255

 

 

3)  C 클래스

32비트 주소 중 첫 번째 및 두 번째 비트를 1로 세 번째 비트는 0으로 시작하는 주소입니다. 21비트로 내트워크 주소를 표현하고 있습니다.

네트워크 ID는 110xxxxx xxxxxxxx xxxxxxxx처럼 이루어져 있고, 호스트 ID는 xxxxxxxx처럼 이루어져 있습니다.

네트워크 주소의 개수 : 2^5 * 2^8 * 2^8 = 221 개

한 네트워크의 호스트 수 : 2^8 - 2 개 (X.X.X.0 : 대표 네트워크 주소, X.X.X.255 : 브로드 캐스트 주소)

192.0.0.0 ~ 223.255.255.255

 

 

4)  D 클래스

멀티캐스트용 주소

1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx

240.0.0.0 ~ 239.255.255.255

 

 

5)  E 클래스

연구목적용 주소

1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx

240.0.0.0 ~ 255.255.255.254 (255.255.255.255는 브로드캐스트 주소)

class range subnet mask First byte
A 0.0.0.0~172.255.255.255 255.0.0.0 0...
B 128.0.0.0~192.255.255.255 255.255.0.0 10...
C 192.0.0.0~223.255.255.255 255.255.255.0 110...
D 224.0.0.0~239.255.255.255 - 1110...
E 240,0,0,0~255.255.255.255 - 1111...

 

 

6)  CIDR(Dlassless Inter-Domain Routing, 사이더)

클래스 없이 IP주소를 할당할 수 있는 방식입니다. 비트 단위로 네트워크 ID와 호스트 ID를 나눌 수 있습니다.

ex) IP주소 : 192.168.10.1, 서브넷 마스크 : 255.255.255.0   ->   CIDR 표기 : 192.168.10.1/24

 


 

3. 서브넷팅

서브넷팅은 주어진 IP주소를 네트워크 환경에 맞게 네트워크를 나누어 주기 위해 씌어주는 2진수의 조합입니다.

 

1)  기본 서브넷팅(디폴트 서브넷 마스크 사용)

디폴트 서브넷 마스크를 사용한 서브넷팅 방법은 네트워크 주소는 IP주소와 서브넷 마스크를 논리 연산 AND을 수행해주는 것입니다.

ex) IP주소 : 120.100.100.1, 서브넷 마스크 255.0.0.0인 경우 클래스는 A, 네트워크 주소는 120.0.0.0 임.

 

 

2)  서브넷팅

서브넷팅이란 주어진 IP주소를 네트워크 환경에 맞게 작은 네트워크로 나누는 것입니다. 브로드캐스트 영역을 나누어 네트워크 트래픽을 감소시키고, IP주소의 낭비를 없애는 기능을 수행하고 있습니다. 또, 서로 나누어진 서브넷끼리 서로 다른 네트워크가 되므로, 라우터를 통해서만 통신할 수 있고, 서브넷 마스크는 이진수로 썼을 때 1이 연속적으로 나와야 합니다.