본문 바로가기

웹개발/CS

[network] IP 어드레싱

3계층의 역할과 개요

3계층

세그먼트(네트워크) 간에서 데이터 송수신을 하는 것  

*세그먼트: 라우터와 라우터 간의 범위 

3계층의 네트워크란?

세그먼트와 동의어로 라우터와 라우터로 분배된 컴퓨터 그룹을 의미한다. 

3계층이 필요한 이유는?

2계층까지만 있어도 데이터 송수신은 이루어지지만 큰 네트워크를 구성할 수는 없고 스위치의 '브로드캐스트'를 제어할 수 없는 문제는 해결되지 않아 3계층에서 제어한다. 

인터넷 작업(Internet)이란?

네트워크 간의 데이터 송수신이다. 

 

 

인터넷 프로토콜

IP(Internet Protocol): '어드레싱'과 '라우팅'에 의해 인터넷 작업을 수행하기 위한 프로토콜이다.

어드레싱

  • 주소를 어떻게 써서 어떻게 배당할지를 정하는 것이다.
  • 2계층 이더넷에서는 MAC 주소를 사용했지만 MAC 주소(물리 주소)는 장소를 특정할 수 없기 때문에 3계층 부터는 위치정보가 포함된 논리 주소도 필요하다.

라우팅

수신처까지 목적지 IP주소까지 어떤 경로로 갈지를 결정한다. 즉 경유하는 네트워크를 결정한다. 

IP 데이터그램

IP 헤더(송신처와 수신처의 IP주소가 들어있다) + 3계층 PDU

 

 

IP주소와 클래스 

IP주소

  • 계층형 주소이다. 
  • 네트워크에 접속할 때마다 네트워크 관리자가 컴퓨터에 할당한다.
  • 유니캐스트, 멀티캐스트, 브로드캐스트의 3가지 종류의 주소가 있다. 이 중 유니캐스트의 논리 주소 중 네트워크를 표시하는 번호는 소속된  네트워크에서 내에서 유일하다. 
  • IPv4에서의 IP 주소는 '네트워크 번호'의 '컴퓨터 번호'를 32비트로 8비트마다 점으로 구분하여 10진수로 표기하는 데 이 구분된 단락을 옥텟이라고 한다.   

*계층형: 커다란 네트워크를 몇 개의 네트워크로 작게 분할하여 관리한다.

클래스 

  • ICANN가 IP주소를 실제로 사용하는 인터넷 사업자나 기업 등에 할당한다. 이때 할당된 조직의 규모에 따라 IP 주소의 범위를 변경하는 데 이 범위 클래스라고 한다. 
  •  A~E로 나누어져 있고 D, E는 특별한 주소로 보통은 할당하지 않으며,  최초 옥텟의 맨 앞 몇 비트로 클래스를 판별한다. 클래스에 의해 컴퓨터 번호의 비트 수가 정해지고 이것으로 조직이 가질 수 있는 IP주소의 수량이 결정된다.(큰 규모는 A, 작은 규모는 C할당)
  • 이처럼  클래스로 나누어 IP 주소를 할당하는 방식을 클래스 풀 어드레싱이라고 한다. 
  • 클래스에 의해 네트워크 번호가 몇 비트인지 정해지고 할당되고 나면 네트워크 관리자가 호스트 번호(컴퓨터 번호)가 정한다. 이때 호스트 번호에 할당하면 안 되는 주소가 있다. 
    • 호스트 번호의 비트가 모두 0이 되는 주소: 네트워크 주소
    • 호스트 번호의 비트가 모두 1이 되는 주소: 브로드캐스트 주소 

*ICCANN(The Internet Corporation for Assigned Names and Number): IP주소를 유일하게 관리하기 위한 단체

 

 

서브네팅

서브넷

서브네트워크(Subnetwork), 계층형으로 작게 분할된 네트워크, 서브넷은 그 네트워크 내부에서만 유효하다. 

서브네팅

 호스트 번호의 비트를 서브넷 번호와 호스트 번호로 분할하는 것이다. 서브넷의 숫자를 크게 하면 각 서브넷의 호스트 수가 감소한다. 

서브넷 마스크

어디까지가 서브넷 번호인지 나타내는 비트열로 IP 주소와 같은 32비트이고 네트워크 번호, 서브넷 번호의 비트를 모두 1로 호스트 번호를 0으로 나타낸다. IP주소와 서브넷 마스크는 반드시 세트로 기술한다. 

 

 

클래스리스 어드레싱

클래스의 크기를 3개로만 구분하니까 낭비되는 IP주소가 많아져서 등장한 클래스라는 구분을 없앤 어드레싱이다.

클래스를 사용하지 않고 필요한 IP 주소의 개수로부터 네트워크 번호를 결정하는 방식이다. 

*슈퍼넷: 클래스를 통합해서 1개의 네트워크를 운용하는 방식이다.

클래스가 없기 때문에 '프리픽스 길이(Prefix-length)'를 사용해 어디까지가 네트워크 번호인지 길이를 나타낸다. 


 

이더넷을 사용해 IP데이터그램을 송수신하기 위해서는 '수신처 MAC 주소', '수신처 IP 주소', '송신처 MAC주소', '송신처 IP 주소'가 모두 필요하다. 

  • 송신처 MAC 주소: 송신할 인터페이스(자신)의 MAC주소이다. NIC를 장착하면 자동적으로 알 수 있다.
  • 송신처 IP 주소: 송신할 인터페이스의 IP 주소로 수동으로 IP 주소를 설정하는 정적 방식과 자동으로 IP 주소가 설정되는 동적 방식인 DHCP가 있다.  
  • 수신처 MAC주소: ARP로 IP 주소를 이용해 수신처의 MAC 주소를 알아낸다.
  • 수신처 IP 주소:  DNS로 수신처의 IP주소를 알아낸다. 

 

 

DHCP(Dynamic Host Configuration Protocol)

할당할 IP주소를 관리하고, 실제로 할당 작업을 수행하는 서버(DHCP 서버)하고 할당받는 클라이언트(DHCP 클라이언트)로 이루어진다. 

서버는 설정된 IP주소 풀 중에서 요청한 클라이언트에게 각각 유일한 것이 되도록 주소를 할당한다. 

 

DHCP 메세지

주소와 옵션 설정(메세지 타입, 클라이언트 설정)들의 정보가 들어있는 메세지이다.  

대여기간도 클라이언트 설정에 포함되는 데 네트워크 관리자는 사전에 IP주소에 대여 기간을 결정해 놓고 클라이언트 측이 계속해서 사용하고 싶으면 기간 연장 신청을 해서 호스트가 이동하는 경우를 해결할 수 있다. 

이처럼 DHCP는 IP 주소 뿐만아니라 다른 네트워크의 설정 정보도 알아낼 수 있어 동적 호스트 설정 프로토콜이라고 불린다. 

 

DHCP는 DISCOVER, OFFER, REQUEST, ACK 4종류의 메세지를 클라이언트와 서버 간에 브로드캐스트를 사용해 주고받는다. 

 

*IP 주소 풀: 관리자가 할당할 주소의 범위

 

 

ARP(Address Resolution Protocol)

주소 해결 프로토콜이라고 부르며 IP주소의 호스크에게 MAC 주소를 요청한다.

MAC 주소를 알아내기 위해 ARP 테이블을 참조하여 수신처의 MAC 주소를 알아낸다. ARP 테이블에 수신처 IP주소와 MAC 주소의 대응이 없는 경우 해당 IP주소에 브로드캐스트로 네트워크 내의 모든 컴퓨터에 송신되어 MAC주소를 요청(ARP 요청)하고 요청을 받은 컴퓨터중 지정된 IP주소를 갖는 컴퓨터만 ARP 응답을 보내 이를 ARP 테이블에 기재한다. 기재된 IP주소와 MAC 주소의 대응은 MAC 주소가 변함으로써 바뀔 수 있으므로 일정 기간이 지나면 파기된다. 

*ARP 테이블: IP 주소와 MAC 주소의 대응표

 

 

DNS(Domain Name System)

숫자로 된 IP 주소는 외우기 어렵기 때문에 송신할 상대의 컴퓨터 이름인 도메인 명(Domain Name)이 사용된다. 외우기 쉽도록 영문과 숫자로 구성되고 IP 주소와 같이 ICANN이 관리한다. 하지만 데이터 통신에는 도메인 명이 아닌 IP주소가 필요하다. 

DNS

도메인 명과 IP주소를 대응시킨 시스템으로 이름과 DNS 서버에 문의해 수신처의 IP 주소를 얻는다. 

DNS 서버

  • IP주소의 대응 데이터베이스를 갖고 있다. 전 세계의 도메인 명, 호스트 명을 관리하는 분산형 데이터베이스이다. 
  • 각 조지에 1개씩 있고 그 조직의 도메인 명만 관리한다.
  • 다른 조직의 호스트 명과 도메인 명은, 그 조직의 DNS 서버에 묻는다. 

'웹개발 > CS' 카테고리의 다른 글

[network] 라우팅  (0) 2021.06.27
[network] 1계층 & 2계층 - 신호의 전송과 충돌  (1) 2021.06.24
[network] 네트워크 기초 지식2  (0) 2021.06.22
[server] 서버의 운용 관리  (0) 2021.06.21
[server] 서버 보안  (0) 2021.06.21