Love Every Moment

〔NETWORK〕서브넷마스크, OSI 모형, TCP/UDP, DNS/DHCP 본문

PROGRAMMING::CORE/Network

〔NETWORK〕서브넷마스크, OSI 모형, TCP/UDP, DNS/DHCP

해 송 2021. 6. 19. 17:31
반응형

1. 서브넷(Subnet)

(1) 서브넷팅(Subnetting)

  • 네트워크 관리자가 네트워크 성능을 향상시키기 위해 자원을 효율적으로 분배하는 것
  • 서브넷 마스크를 이용하면 하나의 네트워크를 여러 개의 서브넷 네트워크로 분할 가능하다

 

(2) 기본 서브넷마스크

  • 네트워크 ID 부분의 비트를 1로 치환한 것
  • IP 주소와 넷마스크를 AND 연산하면 네트워크 주소를 얻을 수 있다.
A 클래스: 255.0.0.0
B 클래스: 255.255.0.0
C 클래스: 255.255.255.0

 


 

서브넷팅 예시

  • IP주소가 192.168.0.1 이라면 C 클래스라는 것을 알 수 있다.
  • 해당 IP주소를 2진수로 표현하면 11000000.10101000.00000000.00000001 이다.
  • 넷마스크는 앞에서부터 세번째 블록까지의 비트를 1로 치환한 11111111.11111111.11111111.00000000 가 된다.
IP 주소:                 11000000.10101000.00000000.00000001 (192.168.0.1)
서브넷마스크:       11111111.11111111.11111111.00000000 (255.255.255.0)
네트워크 ID:         11000000.10101000.00000000.00000000 (192.168.0)
  • 이제는 네트워크 ID 192.168.0 으로 시작하는 주소만을 같은 네트워크에 있다고 인식하게 된다.
  • 호스트 ID 의 개수는 254개가 된다.
  • 사람이 그냥 딱 보면 C 클래스이므로 앞에서 두번째 블록까지가 네트워크 ID 임을 알겠지만
  • 컴퓨터의 경우는 다르기 때문에 이런 식으로 비트연산을 통해 네트워크 ID를 알아낸다.

 

★ 클래스로만 구분된 네트워크의 한계점

  • 예를 들어 어떤 기관에서 100개 정도의 호스트를 가지는 네트워크를 필요로 한다면
  • 제일 작은 클래스 C를 고르더라도 호스트 수가 254개나 되기 때문에 낭비되는 주소가 생긴다.
  • 이러한 문제 때문에 생긴 것이 아래의 CIDR 이다.

 


 

(3) CIDR(Classless Inter-Domain Routing)

  • 슬래시(/)와 숫자를 더한 표기법으로 네트워크 ID로 사용하는 범위를 기본 서브넷마스크보다 자유롭게 표기한다.
  • 서브넷 마스크에서 1로 치환될 비트의 개수를 세어 슬래시 뒤에 쓴다.
IP 주소:                 11000000.10101000.00000000.00000001 (192.168.0.1)
서브넷마스크:       11111111.11111111.11111111.00000000 (255.255.255.0)
  • 이런 서브넷마스크를 가진 주소를  CIDR로 표기하면 192.168.0.1/24 가 된다.
  • 슬래시 뒤의 숫자는 몇 개까지의 비트가 네트워크 ID로써 유효한지 의미한다.

  • 또 다른 예시로 158.167.18.156/15 라는 IP 주소에서 사용 가능한 호스트 범위를 구하면
IP 주소:               10011110.1010011 1.00010010.10011100 (158.167.18.156)
서브넷마스크:     11111111.1111111 0.00000000.00000000 (255.254.0.0)
네트워크 ID:       10011110.1010011 0.00000000.00000001
  • 따라서 사용 가능한 호스트 ID 의 범위는
  • 10011110.1010011 0.00000000.00000001 (158.166.0.1) ~
  • 10011110.1010011 1.11111111.11111110 (158.167.255.254)

 


 

2. 브로드캐스트 주소(Broadcast Address)

(1) Unicast / Multicast / Broadcast

■ Unicast

- 일대일로 데이터를 전달하는 통신 방식

- 출발지와 목적지가 정확해야 한다.

- MAC ↔ MAC 을 비교하면서 자신의 MAC 주소와 동일하지 않으면 해당 통신을 받지 않는다.

Broadcast

- 같은 네트워크 상의 모든 PC에 데이터를 주는 방식

- 해당 네트워크의 PC 들이 신호를 받고 싶든 아니든 무조건 받게된다.

- 주로 상대의 IP 는 알지만 MAC 을 모르는 경우에 사용하게 된다.

- 아파트 관리사무소 방송과 비슷한 개념

Multicast:

- 다수가 있는 네트워크에서 일부하고만 통신하는 방식

- 예를 들어 100명 중에 50명에게만 데이터를 전송할 필요가 있을 때에

- 유니캐스트의 경우 MAC 을 모두 확인해서 똑같은 것을 50번 보내야하므로 네트워크 부하가 커진다.

- 브로드캐스트의 경우 해당 네트워크 전체에 보내면서 필요 없는 50명까지 데이터를 받게 된다.

 

(2) 브로드캐스트 주소란?

  • 해당 네트워크에 속하는 모든 호스트들이 갖는 주소
  • 네트워크에 있는 모든 클라이언트에게 데이터를 보내기 위한 주소
  • 해당 네트워크의 마지막 IP 주소로 호스트 ID의 모든 비트가 1인 상태이다.

 

(3) 브로드캐스트 주소 구하는 방법

  • 서브넷 마스크의 0과 1을 반전시키고 IP 주소와 OR 연산한다.
  • 예를 들어, 나의 IP 주소가 192.168.0.4 라면 브로드캐스트 주소는 192.168.0.255 가 된다.

 


 

 

3. OSI 모형(Open Systems Interconnection Reference Model)

  • 컴퓨터 네트워크와 관련한 프로토콜을 기능별로 계층으로 나누어 설명한 것이다.
  • 총 7 개의 계층으로 나누어지기 때문에 OSI 7 계층이라고도 한다.
  • 각각의 계층은 하위 계층의 기능만을 이용하고 상위 계층에게 기능을 제공한다.
  • 일반적으로 하위 계층들은 하드웨어로, 상위 계층들은 소프트웨어로 구현된다.
  • TCP/IP 가 OSI 보다 먼저 개발되었기 때문에 둘의 계층은 정확히 일치하지 않는다.

 

(1) 물리 계층(Physical Layer)

  • 기본 네트워크 하드웨어 전송 기술들로 이루어진다.
  • 기계어를 전기 신호로 바꾸어 전송한다.
  • 상위 계층에서 전송된 데이터를 물리 매체(케이블, 허브)를 통해 다른 시스템에 전송한다.
  • 전송 단위: Bit

 

(2) 데이터 링크 계층(Data Link Layer)

  • 물리적 주소(MAC 주소)를 기반으로 정보의 전달을 수행하도록 도와준다.
  • 물리 계층에서 발생 가능한 오류를 찾고 수정하는 데에 필요한 수단을 제공한다.
  • Point-to-Point 방식을 이용한다.
  • 대표적인 예시: 이더넷(Ethernet)
  • 전송 단위: Frame
  • 사용 주소: MAC
MAC 주소란? 네트워크 하드웨어를 식별하는 물리적인 주소이다.
무선 LAN 카드에 부여되는 16진수 12자리 단말 식별 번호 (예: 12:34:56:78:90:AB)

 

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

  • 라우팅(Routing): 기기에서 데이터그램(Datagram)이 가는 경로를 설정한다.
  • 알고리즘을 사용해 최적의 경로를 선택하고 송신자로부터 수신자로 데이터를 전송한다.
  • 데이터는 패킷 단위로 분할하여 전송된 다음 다시 합쳐진다.
  • 전송 단위: Packet
  • 사용 주소: IP

 

(4) 전송 계층 (Transport Layer): 4번 참고

  • 발신지에서 목적지(End-to-End) 간의 통신 서비스를 제공하는 계층으로 데이터의 전달을 담당한다.
  • 패킷으로 신호를 분할하고 도달 전에 다시 합치는 과정을 통해서 에러와 경로를 제어한다.
  • 프로토콜: 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP)
  • 전송 단위: Segment
  • 사용 주소: Port
패킷(Packet) 이란? 인터넷 내에서 데이터를 보내기 위한 경로 배정(라우팅)을 효율적으로 하기 위해 나눈 데이터 조각

 

(5) 세션 계층(Session Layer)

  • 두 대의 기기 간의 통신 세션을 구성한다.
  • 포트(Port) 번호를 기반으로 연결한다.
  • 통신 장치 간의 상호작용을 설정하고 동기화한다.
  • 전송 단위: Message

 

(6) 표현 계층(Presentation Layer)

  • 데이터를 변환함으로써 응용 계층이 데이터의 형식상 차이를 다루지 않아도 되도록 해준다.
  • 전송 단위: Message
  • 예시: 데이터 변환, 압축, 암호화
  • 프로토콜: GIF, JPEG, ASCII, ...

 

(7) 응용 계층(Application Layer): 5번 참고

  • 유저 인터페이스(User Interface) 를 제공하는 유저와 가장 가까운 계층
  • 사용자와 직접 상호작용하며 입력 받은 정보를 하위 계층으로 전달하고
  • 하위 계층에서 전송한 데이터를 다시 사용자에게 전달한다.
  • 전송 단위: Message
  • 예시: Internet Explorer, Chrome
  • 프로토콜: FTP, HTTP, HTTPS, DHCP...

 

 

OSI 7 Layer 과 TCP/IP 4 Layer(TCP/IP Protocol suite) 비교

OSI 7 Layer vs TCP/IP Protocol Suite 1. OSI 7 Layer 개요 ➀ 네트워크 통신을 체계적으로 다루고 있는 ISO 표준은 개방시스템 상호연결 (OSI) 모델 이다. OSI 모델은 1984년에 정의 되었다. ➁ 개방시스템(Open..

goitgo.tistory.com

 


 

4. TCP 와 UDP

(1) TCP(Transmission Control Protocol)/IP

  • 정확도와 보안을 중요하게 여기는 대신 속도가 느리다.
  • 인터넷 프로토콜(IP) 위에 구축되므로 기기의 IP 주소가 여기서 작동한다.
  • TCP 가 데이터의 정확성을 확인하고 IP 는 패킷을 목적지까지 전송하는 역할을 한다.
  • 연결형 서비스로 가상 회선 방식을 제공한다.
  • 즉, 발신지와 수신지를 연결하여 패킷을 전송하기 위한 논리적 경로를 배정한다.
  • 데이터의 흐름 제어나 혼잡 제어와 같은 기능을 하며 높은 신뢰성을 보장한다.
  • 서버와 클라이언트는 1:1 로 연결된다.
  • 인터넷 환경에서 기본으로 사용된다.

 

■  TCP 가 패킷을 추적 및 관리하는 방법?

데이터는 패킷 단위로 나뉘어 같은 목적지(IP 계층) 으로 전송된다. 예를 들어 A, B, C 로 나누어진 패킷들이 전송되는 도중에 B가 잘못되어 도착하지 않았는데 수신자 입장에서는 A, C 만 보고 다 왔다고 착각할 수 있다. 따라서 패킷에 각각 1, 2, 3 과 같이 번호를 부여함으로써 분실 여부를 확인하고서 목적지에서 재조립한다.

 

Ping(Packet Internet Groper)

  • 컴퓨터 네트워크 상태를 점검, 진단하는 명령
  • TCP/IP 프로토콜의 일종인 ICMP(Internet Control Message Protocol) 을 사용한다.
  • ICMP Echo Request: 네트워크 상태를 확인하려는 대상(target) 컴퓨터를 향해 일정 크기의 패킷(Packet)을 보내고
  • ICMP Echo Reply: 대상 컴퓨터가 이에 대해 응답하는 메시지를 보내면
  • 이를 분석하여 대상 컴퓨터가 작동하는지 또는 대상 컴퓨터까지 도달하는 네트워크 상태가 어떠한지 파악한다.

 

 

(2) UDP(User Datagram Protocol)

  • 정확도와 보안을 포기하는 대신에 속도가 빠르다.
  • 비연결형 서비스로 연결을 위해 할당되는 논리적인 경로가 없다.
  • 각각의 패킷은 다른 경로로 전송되어 독립적인 관계를 지니게 된다.
  • 흐름 제어가 없어서 패킷이 제대로 전송되었는지 확인할 수 없다.
  • 스트리밍처럼 신뢰성보다 연속성이 중요한 서비스에 자주 사용된다.
  • 서버와 클라이언트는 1:1, 1:N, N:M 등으로 연결된다.

 

  TCP UDP
연결 방식 연결형 서비스 비연결형 서비스
패킷 교환 방식 가상 회선 방식 데이터 그램 방식
전송 순서 전송 순서를 보장 전송 순서가 바뀔 수 있음
수신 여부 확인 확인함 확인하지 않음
통신 방식 1:1 1:1 / 1:N / N:M
신뢰성 높다 낮다
속도 느리다 빠르다
흐름 제어 기능 있음 없음
브로드캐스팅 여부 불가능(양방향 데이터 전송) 가능(단방향 데이터 전송)

 

 

[TCP/UDP] TCP와 UDP의 특징과 차이

오늘은 네트워크의 계층들 중 전송 계층에서 사용하는 프로토콜에 대해서 알아보려고 합니다. 전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의

mangkyu.tistory.com

 

 


 

5. DNS 와 DHCP

  • 특정 주소명을 IP 주소와 연결해주어 브라우저 창에 일일이 입력하지 않아도 되게 해준다.
  • 주소창에 도메인(www.google.com)을 입력하면 도메인에 할당된 IP 주소로 전환해주는 방식

 

(1) DNS(Domain Name System)

  • 특정 주소명을 IP 주소로 전환한다.
  • 예를 들어 사용자가 브라우저 창에 www.google.com 을 입력하면
  • .com 서버에 해당 주소가 어떤 IP 주소와 연결되어 있는지를 찾고
  • 그 주소의 데이터에 사용자가 접근할 수 있도록 연결해준다. 
  • 터미널에 ping google.com 을 입력하면 해당 IP를 확인할 수 있다.

 

(2) DHCP(Dynamic Host Configuration Protocol)

  • 어떤 IP 주소를 특정 웹사이트 명에 할당해줄지 결정하는 프로토콜
  • IP 주소의 할당은 동적이므로, 현재 사용 중이지 않거나 대여 기간이 끝난 IP 주소는 또 다른 곳에 할당된다.
  • 네트워크 관리자는 ISP 로부터 할당 받은 IP 주소 블록 내에서 각각의 호스트에 IP 주소를 할당하고 관리한다.
  • 이러한 IP의 동적인 할당을 자동으로 관리하고 IP를 임대해주는 것이 DHCP 이다.

 

■  ISP 란?

인터넷 서비스 제공자       예) KT, LG U+, SK Broadband

 

■ DHCP 에서 클라이언트가 서버로부터 IP 를 할당 받는 과정

DHCP 클라이언트: 시스템 시작 시에 DHCP 서버에 자신의 시스템을 위한 IP 주소를 요청하고 TCP/IP 설정을 초기화
DHCP 서버: 클라이언트로부터 IP 할당 요청이 들어오면 IP를 부여하고 할당 가능한 IP를 관리

(1) DHCP Discover: 클라이언트가 서버에게 IP 주소 할당을 요청 (Broadcast)
(2) DHCP Offer: 서버가 클라이언트에게 xxxx.xxxx.xxxx.xxxx/xx IP 주소가 할당 가능하다고 제시 (Unicast)
(3) DHCP Request:  클라이언트가 해당 IP 주소 사용 또는 유효기간 연장을 요청 (Broadcast)
(4) DHCP Ack: 서버가 클라이언트의 요청을 받아들임 (Unicast)

 

※ DHCP 서버와 DHCP 클라이언트는 각각 UDP 포트 67과 68로 패킷을 수신한다.

(1) DHCP-DISCOVER 패킷은 같은 서브넷의 모든 기기가 수신한다. 하지만 목적지 포트 번호 67 에서 UDP 패킷을 기다리는 것은 DHCP 서버뿐이므로 실제로 패킷을 받아 처리하는 것은 DHCP 서버이다. 메시지 본문에는 누구의 요청인지 알 수 있도록 DHCP 클라이언트의 MAC 주소가 들어있다.

(2) DHCP 서버는 자신의 'IP 주소 관리대장'에서 미사용 IP 주소를 찾아 그중 하나를 할당 후보 IP 주소로 DHCP 클라이언트에 제시한다. 메시지 본문에는 서브넷 마스크, 디폴트 게이트웨이, DHCP 서버의 IP 주소도 포함된다.

(3) DHCP 클라이언트는 다시 브로드캐스트 주소를 이용하여 DHCP 서버에 '해당 IP 주소를 사용하겠다'는 메시지를 보낸다. 메시지 본문에는 후보로 받은 IP 주소, DHCP 서버의 주소가 포함되어 있다.

(4) DHCP 서버는 클라이언트의 요청을 받아들인다는 메시지를 보내고, 자신의  'IP 주소 관리대장'에 해당 IP 주소를 '사용중'으로 기록함과 동시에 어느 클라이언트가 사용하는지 알기 위해 클라이언트의 MAC 주소도 함께 기록한다.

 

 

 

DHCP(Dynamic Host Configuration Protocol) 서버 동작 과정

DHCP 기초  DHCP의 기본적인 역할은 IP 주소 할당 이다. 하지만 단순히 `192.168.0.101`과 같은 IP 주소를 PC에 할당해 봐야 네트워크는 통신할 수 없다. 일반적으로 DHCP 서버는 IP주소, 서브넷 마스크, 디

effectivesquid.tistory.com

 

 


 

 

REFERENCE:

 

오십보백보 netwhat 시작하기

들어가기에 앞서  인터넷은 일상적으로 사용하고 있지만 저는 개인적으로 아래 나오는 각종 네트워크 개념을 거의 처음 접했습니다. 전문적인 입장에서 작성한 글은 아니니, 생략되는 부분이

stitchcoding.tistory.com

 

[netwhat] 네트워크 계층구조(OSI 모델, TCP/IP 모델)

netwhat

velog.io

 

 

반응형
Comments