▣ 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 |
B Class |
- 128.0.0.0 ~ 191.255.255.255 |
C Class |
- 192.0.0.0 ~ 233.255.255.255 |
D Class |
- 224.0.0.0 ~ 239.255.255.255 |
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 |
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
'컴퓨터 & IT (Computer & IT) > Linux' 카테고리의 다른 글
[Linux] /etc/passwd, /etc/shadow, /etc/group (0) | 2020.06.16 |
---|---|
[Linux] DHCP (Dynamic host configuration protocol) (0) | 2020.06.09 |
[Linux] /etc/hosts (0) | 2020.06.09 |
[Linux] 리눅스 디렉토리 구조 (0) | 2020.06.02 |
[Shell Script] 쉘 스크립트에서 문자열을 공백단위나 기타 단위로 쪼개어 배열에 넣는 방법 (0) | 2020.03.16 |
댓글