본문 바로가기
컴퓨터 & IT (Computer & IT)/Linux

[Linux] IP 주소

by UltraLowTemp-Physics 2020. 6. 2.
728x90

▣ IP 주소

1. IP를 사용하는 목적

- 각각의 host를 구별하기 위해 사용된다.
- 부여받은 IP는 자신을 식별할 수 있는 고유의 IP가 되기 때문에 다른 사람이 사용해서는 안된다

2. IP 구조

1) IP 주소는 32bit로 구성된 “논리적인” 주소체계이다. (IPv4의 체계하에서 가질 수 있는 IP의 개수: 232 ~ 42억개)
2) IP 주소의 형태 (IPv4): xxx.xxx.xxx.xxx
    (a) 실제 IP는 2진수로 표기됨
        - 8bit씩, 4개의 옥텝으로 표기됨
        - △△△△△△△△/△△△△△△△△/△△△△△△△△/△△△△△△△△ (△ = 0 or 1)
        - 하나의 옥탭에서 0~255까지 사용가능 (= 총 256개)
    (b) 사람이 외우기 쉽게 10진수의 형태로 표기함 (ex: IP주소 - 203.253.6.44)
    (c) IP 주소 = 네트워크 부분 + 호스트 부분
3) 하나의 네트워크란 하나의 브로드캐스트 영역 (Broadcast domain)
    - 라우터를 거치지않고 통신이 가능한 영역
    - 라우터나 게이트웨이를 거치지 않고도 통신이 가능한 영역이란 다음과 같다.
     : 어떤 네트워크에서 한 노드가 브로드 캐스트를 했을 때, 그 네트워크의 모든 노드가 신호를 받았다면 그   
       네트워크는 하나의 네트워크라고 말할 수 있다.
    - 하나의 네트워크에서는 IP 주소의 네트워크 부분이 같아야 하고, 호스트 부분은 달라야 한다. 이럴 경우에만,
      네트워크 안에서 정상적인 통신이 가능하다.
    - IP 주소 중에 네트워크 부분만 라우터가 라우팅할 때 참고를 한다.

 

3. Network ID와 Host ID

Network ID

인터넷 상에서 모든 host들을 전부 관리하기 힘들어, 한 네트워크의 범위를 지정하여 관리하기 쉽게 만들어 낸 것

Host ID

호스트들을 개별적으로 관리하기 위해 사용됨

  - 각 기기 (컴퓨터)를 구분하는 영역

  - 해당 서브넷에서 호스트로 할당할 수 있는 IP주소의 범위

1) 인터넷을 사용할 때에는 Network ID와 Host ID가 합쳐진IP 주소를 보게 됨

  2) 네트워크 이름과 서브넷 브로드케스트 주소

네트워크 이름

- 네트워크 ID를 제외한 호스트 ID가 모두 0인 주소를 의미한다.
- 해당 주소는 네트워크를 표기하거나 라우팅 경로로 사용하기 위해서 예약된 값이기에 설정이
  불가능하다.

서브넷 브로드 캐스트 주소

네트워크 아이디의 호스트부분이 모드 1인 주소를 말한다. 이 주소는 네트워크에서 브로드 케스트를

실시할 때 예약된 값이기 때문에, 인터페이스에서 설정이 불가능하다.  

※ 실제 인터페이스에서 설정이 가능한 IP주소는 네트워크 이름과 브로드 캐스트 주소를 뺀 나머지만 사용 가능하다.

 

 

 

 4. IP class 개념:  IP class의 경우 A,B,C,D,E class로 나누어 Network ID와 Host ID를 구분함

클래스

설명

A Class

- 처음 8bit가 Network ID
- 나머지 24 bit가 Host ID
- 네트워크 영역: xxx.000.000.000 (xxx:000~127)
- 국가 이상의 큰 통신망에서 사용한다
- default route address: 0.0.0.0
- 사설 IP 주소: 10.0.0.0 ~ 10.255.255.255
- 루프백 IP 주소: 127.0.0.0 ~ 127.255.255.255  

B Class

- 128.0.0.0 ~ 191.255.255.255
- 학교 등 중대 규모 통신망에서 사용함
- 사설 네트워크 주소: 172.16.0.0 ~ 172.31.0.0

C Class

- 192.0.0.0 ~ 233.255.255.255
- Network ID: 처음 24bit
- Host ID: 나중 8bit
- Class C의 경우 할당된 서브넷의 주소: 256개
- 소규모 회사나 ISP 업체의 업체의 통신망에서 사용함
- 사설 네트워크 주소: 192.168.0.0 ~ 192.168.255.255
- 호스트 주소 중 0과 255는 각각 네트워크 주소 및 브로드캐스트 주소로 사용됨

D Class

- 224.0.0.0 ~ 239.255.255.255
- 멀티캐스트
- D 클래스에 속하는 주소는 호스트 주소로 사용하지 않는다

E Class

- 240.0.0.0 ~ 255.255.255.255
- 예약됨
- 연구용 또는 테스트용으로 존재하는 클래스

※ 특수한 IP 주소

Zero 주소

0.0.0.0 ~ 0.255.255.255

로컬 호스트 loopback 주소

127.0.0.0 ~ 127.255.255.255

사설망

10.0.0.0 ~ 10.255.255.255
176.16.0.0 ~ 172.32.255.255
192.168.0.0 ~ 192.168.255.255
※ 사설 IP는 유일한 IP가 아니며, 어떤 네트워크에서든 사설 IP 대역을 사용할 수 있고 네트워크 내에서만 사설 IP가 겹치지 않으면 된다
※ 내부에서 외부로의 접근은 가능하지만, 외부에서 내부로는 접근할 수 없다,

 

5. 네트워크 주소/ 브로드 캐스트/ 게이트 웨이/ 맥 주소

네트워크 주소

(Network Address)

- 하나의 네트워크를 통칭하기 위해 사용하는 주소

- C 클래스 하나로 특정 네트워크를 구성하려고 할 경우, 네트워크 주소가 192.168.1.0이라면

  이 네트워크에 속하는 주소들은 192.168.1.0~192.168.1.255까지 속하게 된다.

브로드캐스트

(Broadcast)

- 네트워크에 속하는 모든 호스트들이 듣게되는 주소

- 특정 네트워크의 맨 마지막 주소를 브로드캐스트주소로 사용함

게이트웨이

(Gateway)

 

- 서로 다른 네트워크를 연결해주는 역활을 하는 특정장비나 특정호스트를 의미한다.

- 게이트웨이로 사용되고 있는 가장 일반적인 장비는 라우터이며, 리눅스 시스템도 게이트웨이로 사용할 수 있다.

- 일반적으로 호스트로 사용가능한 IP주소범위 중에서 가장 마지막 IP주소를 게이트웨이 주소로 사용

- 일반적인 서버나 호스트에서는 특정 패킷을 받을 때, 자신의 패킷이 아니면 지워버리지만, 게이트웨이는 라우팅 테이블을 확인하여, 받은 패킷을 가장 적합한 네트워크로 전달해주는 역활을 함.

MAC주소

(Media Access Control)

 

- 물리적인 주소체계 (Physical address) <-> 논리적인 주소체계 (IP주소)

- LAN (Local Area Network) 또는 Ethernet이라 불리는 망에서 통신하기 위해 사용됨

- MAC은 자신이 속한 네트워크 안에서만 통신이 된다. 이후 네트워크를 빠져나가는 장치인 Router를 지나면IP를 이용하여 통신을 한다.

 

6. IP 주소에 기반한 네트워크 통신

 1) 시브넷 마스크: 내 네트워크의 범위는 어디까지인가?

 2) 게이트웨이: 다른 네트워크와 통신하려면 어디로 보내면 되는가?

 3) DNS: 도메인 주소로 입력했을 때, IP 주소 찾기

 

7. Subnet mask

  - 네트워크 범위를 계산할 때 사용

  - 서브넷을 분리하기 위한 기준으로 클래스별로 어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인가를 나타냄

  - 즉, 네트워크 주소를 가르는 기준

  - IP 주소의 낭비를 줄이기 위해 사용됨

  - 255와 0으로 구성되어 있으며, 255는 네트워크 부분, 0은 호스트부분이다.

    ※ 0으로 된 부분에서 IP를 나눠쓴다는 개념

  - 만일 나누어야 하는 지역의 IP가 이보다 훨씬 적은 경우, 서브넷 마스크를 변경하여 호스트 수를 조절하여 IP주소의

낭비를 막을 수 있다. 

  - 분리된 네트워크가 가지는 장점 
        1) 기능적인 브로드 캐스팅 도메인을 구성할 수 있음
        2) IP 주소의 절약 및 효율적인 사용에 도움

 

  - IP 주소: 집 주소, subnet mask: 우편번호

  - subnetting: 네트워크 관리자가 네트워크 성능을 향상시키기 위해, 자원을 효율적으로 분배하는 것

               (자원을 효율적으로 분배하는 것이란? 네트워크 영역과 호스트 영역을 분할하는 것)

              :자신의 IP주소와 서브넷 마스크를 AND 연산을 하면 네트워크 주소를 얻을 수 있다.

              : 서브넷 마스크를 이용하여, 서브넷을 나누는 것을 서브넷팅이라고 한다.

                 

예제 1) 철수는 집에 사설 네트워크를 구축하고 싶다. 이에 IP주소를 각 컴퓨터에 할당해야 한다. 철수가 구축할 네트워크에

      사용되는 컴퓨터 기기들이 그리 많지 않으므로, 네트워크 영역을 24비트, 호스트 영역을 8비트로 잡고 싶다.

      이러한 정보를 가르켜 컴퓨터에게 알려주기 위해서 서브넷 마스크를 이용한다.

------------------------------------------------------------------------------------------------------------------------------------------

      - 철수가 사용할 네트워크 영역: 192.168.0

      - 서브넷 마스크: 255.255.255.0

      - 철수가 사용할 네트워크 영역은 서브넷 마스크와의 AND 연산자를 통해서 구해지게 된다.

       (192.168.0.1  )  1100000. 10101000. 00000000. 00000001

       (255.255.255.0)  1111111. 11111111. 11111111. 00000000

       (AND operation)  1100000. 10101000. 00000000. 00000000

     

      

■ Reference

[1] korean-daeddo.blogspot.com/2015/12/ip.html

[2] http://egloos.zum.com/sracher/v/1945384

[3] https://jins-dev.tistory.com/entry/네트워크를-이해하는-데-필요한-Subnet-Mask-의-개념

[4] https://limkydev.tistory.com/168

[5] https://ko.wikipedia.org/wiki/네트워크_클래스

[6] https://limkydev.tistory.com/166

[7] https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1861

728x90

댓글