본문 바로가기
C++ 200제/코딩 IT 정보

IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻

by vicddory 2018. 11. 26.

IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻


IP Routing

IP는 TCP, UDP, ICMP, IGMP로부터 전송할 datagram을 받거나 네트워크 인터페이스로부터 수신한 datagram을 받을 수 있다. IP layer는 메모리에 routing table을 갖고 전송할 데이터를 받을 때마다 참조한다.


만일 network interface로부터 datagram을 받으면, IP는 맨 처음 destination IP address가 자기 자신의 IP address 중 하나인지 브로드 캐스트 주소인지 점검한다. 그렇다면, datagram은 IP 헤더에 있는 프로토콜 필드에 기술된 프로토콜 모듈로 전달된다.


아니라면, IP 레이어가 라우터로 동작하도록 구성되었는지 점검한다. 그것도 아니면 그 datagram은 버려진다.


라우팅 테이블의 각각은 다음의 정보들을 갖는다.


- Destination IP address

- next-hop 라우터의 IP 주소 또는 직접 연결된 네트워크의 IP 주소, next-hop 라우터는 datagram을 주고받을 수 있도록 직접 연결된 네트워크의 하나이다.

- Flags : 하나는 목적지 IP 주소가 네트워크 주소인지 호스트 주소인지를 보관한다. 또 하나는 next-hop 라우터 필드가 진짜로 next-hop 라우터인지 직접 연결된 인터페이스인지를 보관한다.

- 전송을 위해 datagram이 전달되어야 하는 네트워크 인터페이스에 대한 설명

IP 라우팅은 다음의 동작을 수행한다.


- 목적지 IP 주소와 완전히 같은 entry를 라우팅 테이블에서 찾는다. 만일 있으면, 패킷을 지정된 next-hop 라우터 또는 직접 연결된 인터페이스(flag에 의해 결정)에 보낸다. 이때 PPP link임을 알 수 있다.


- 목적지 네트워크 ID와 맞는 entry를 라우팅 테이블에서 찾는다. 만일 있으면, 패킷을 지정된 next-hop 라우터 또는 직접 연결된 인터페이스(flag에 의해 결정)에 보낸다. 목적지 네트워크에 있는 모든 호스트는 하나의 라우팅 테이블로 처리될 수 있다. 예를 들어, 이더넷에 있는 모든 호스트 같은 경우이다. 이러한 것은 서브넷 마스크로 처리될 수 있다.


- default인 entry를 라우팅 테이블에서 찾는다. 만일 있으면, 패킷을 지정된 next-hop 라우터에 보낸다.


모든 호스트에 경로를 지정하지 않고, 네트워크에 경로를 지정하는 능력은 IP 라우팅의 또 다른 기본 특정이다. 이렇게 함으로써 인터넷에 있는 라우터들은 단지 수천 개의 라우팅 테이블 entry만 있으면 된다.


Subnet Addressing


Using variable length subnets[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


모든 host는 subnet addressing을 지원하도록 요청받는다. IP 주소를 네트워크 아이디와 호스트 아이디로 나누는 대신에, 호스트 아이디를 서브넷 ID와 호스트 ID로 나눈다. 이러한 분할은 254개의 서브넷과 서브넷당 354개의 호스트를 가능하게 한다.


subnetting은 내부적인 네트워크 구성의 세부사항을 외부의 라우터에게 숨긴다. subnetting은 Internet의 라우팅 테이블의 크기를 줄게 한다.


Arrangement of most of the noao.edu 140.252 subnets[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


IP address가 140.252로 시작하는 어떤 호스트에 도달하려면, 외부의 라우터는 140.252.104.1로 가는 경로만 알면 된다. 이것은 140.252 네트워크를 위해 단지 하나의 라우팅 테이블만 있으면 된다는 것을 의미한다.

Subnet Mask

IP 주소와 마찬가지로, 호스트는 얼마나 많은 비트가 서브넷 ID로 사용되고 얼마나 많은 비트가 호스트 ID로 사용되는지를 알아야 한다. 이것도 역시 bootstrap time에 subnet 마스크로 정해진다. 1로 세트 되어 있는 것이 network ID와 subnet ID이고 0으로 세트 되어 있는 것이 호스트 아이디이다.


Comparison of two class B addresses using a subnet mask[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


만일 IP 주소와 서브넷 마스크가 주어지면, 호스트는 IP datagram이 호스트의 서브넷인지, 다른 서브넷인지, 다른 네트워크에 있는 호스트로 가야 하는지를 결정할 수 있다.


만일 자신의 IP 주소를 안다면, 클래스 A, B, C 중 어느 것인지를 알 수 있고 네트워크 ID, 서브넷 ID, 호스트 ID의 경계도 알 수 있을 것이다.


Example subnet masks for two different class B subnet arrangements[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


Special Case IP Addresses


Arrangement of hosts and networks for authors subnet[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


A Subnet Example


Subnetting a class B address[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


문제는 서브넷 13에 이더넷과 SLIP의 두 개의 분리된 네트워크가 있다는 점이다. 향후 더 많은 호스트와 네트워크가 생겨나고, 또 다른 서브넷 넘버의 사용을 가능하도록 서브넷 ID를 11비트로 호스트 ID는 5비트로 하는 variable-length subnets의 방법이 있다.


IP addresses on authors subnet[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


위의 그림을 보면, 11비트의 서브넷 ID에서 처음의 8비트는 항상 13으로 세트 되고, 나머지 3비트는 이더넷인 경우에 001, SLIP 링크인 경우에는 010으로 세트 한다.


Special case IP address[IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻]


ifconfig Command

ifconfig 커맨드는 네트워크 인터페이스를 configure 또는 query 할 수 있다. 보통 bootstrap time에 실행되며, dialup 인터페이스에서는 라인 연결과 해제 시 SLIP S/W에 의해 실행된다.


IP란? 라우팅, 어드레싱, 서브넷 마스크, ifconfig 뜻

댓글