IP란?

Alex Moon·2022년 12월 31일
0

네트워크

목록 보기
4/9

정의

IP란 주소이며 End-to-End 통신을 하기 위해 만들어진 식별 정보다.

End-toEnd 통신을 위해 TCP Sagment에 출발지, 목적지 IP를 가진 헤더를 추가하여 IP Packet을 만든다. 네트워크 기기들은 이 정보를 참조하여 목적지에 데이터를 전달한다.

추가적으로, 무선 통신이 발달하면서 하나의 기기에 복수의 Interface를 사용할 수 있게 됐다. 예를 들어 노트북은 유선, 무선 열결을 다 지원한다. 그러다보니 이제는 IP가 단순히 Host를 식별하는 것을 넘어 Host의 Interface까지 식별하게 됐다.

헤더 구조

  • 출처 : 위키피디아

특징

데이터 통신은 양방향이 기본이지만 IP 헤더에는 출발지와 목적지 정보만 있을 뿐, 응답이 오지 않았을 경우에 왜 응답이 오지 않았는지에 대한 이유를 알 수 없다. 이 것은 데이터를 보내기 위해 최선을 다 했지만 응답이 없어도 어쩔 수 없다를 전제로 깔고 가는 최선형(Best Effort) 특징이다.

이 최선형 특징을 보완하기 위해 ICMP(Internet Contorl Message Protocol)을 활용한다. ICMP는 에러 리포트, 진단 기능을 제공한다. 대표적으로는 ping commend가 있다. 이 것을 통해 내가 통신하고자 하는 IP와 End-toEnd 통신이 가능한지 확인할 수 있다.

IP 주소의 구성

IP 주소는 총 32Bit로 이루어져 있다. 그리고 kkkkkkkk.xxxxxxxx.yyyyyyyy.zzzzzzzz처럼 8Bit씩 구분하여 표기한다.

  • 요즘에는 개인이 여러 개의 IP를 사용하는 일이 많아 IP가 부족하게 되었다. 그래서 64Bit IP 주소가 개발되어 사용하고 있다.

데이터를 전송하는 방법들

방식대상IP 구조
유니캐스트HostHost IP
브로드캐스트동일 네트워크255.255.255.255
멀티캐스트특정 그룹224.0.0.0 ~ 239.255.255.255



IP로 네트워크를 구분

IP 주소는 크게 네트워크부와 호스트부로 구성된다. 이 2가지를 구분할 수 있도록 알려주는 것이 Subnet Mask 또는 CIDR이다. 1은 네트워크부, 0은 호스트부를 의미하며, 표기방식은 IP 주소와 동일하다.

11111111.11111111.11111111.00000000
-> Subnet Mask : 255.255.255.0     CIDR : 192.168.0.1/24

  • 호스트부가 모두 0일 경우 네트워크를 식별하는 주소가 된다. 반대로 1로 다 채우면 브로드캐스트 주소가 된다.

Subnet Mask

Subnet Mask는 네트워크 클래스에서 네트워크부 마스킹을 활용해 네트워크 영역을 늘리고 호스트 영역을 줄이는 것을 목표한다. Subnet Mask에 의해 나눠진 Subnet Mask 간 통신은 Router를 통해 이뤄진다. 이를 통해 한정된 IP 자원을 더 효율적으로 활용한다.

IP주소 클래스란?
서브넷 마스크란?

CIDR(Classless Inter-Domain Routing)

CIDR는 클래스 없는 도메인 간 라우팅 기법으로 기존 IP 할당 방식인 네트워크 클래스를 대체하고, 네트워크 영역을 더욱 유연하게 나눌 수 있는 IP 주소 할당법이다.

CIDR란?




IP의 종류

Public IP

Internet에 접속하기 위해서는 Public IP가 있어야 한다. 이 IP는 ISP가 제공하는 인터넷 상에 공개된 IP이며, 다른 Public IP들과 중복되지 않는다.

Private IP

일반 가정이나 회사 내 등에서 형성된 내부 네트워크 장비들이 할당받은 IP를 의미한다. 이 IP는 외부에 공개되지 않아서 외부에서 검색이나 접근이 불가능하다. 네트워크 관리자나 장치가 IP를 할당하며 다른 네트워크의 IP와 중복될 수 있다. 또한 로컬 네트워크 통신 목적으로 형성됐기 때문에 Private IP만으로는 인터넷에 접속할 수 없다.

Private IP 대역
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255




Internet 접속

네트워크 접속은 네트워크 인터페이스를 통해 물리적인 접속이 이뤄지고 IP를 통해 논리적인 접속이 이뤄진다. 그러나 Internet은 기본적으로 목적지가 Private IP인 IP Packet을 폐기한다. 그래서 NAT(Network Address Translation)을 통해 Private IP를 Public IP로 변환 후 요청을 날린다. 이후 응답이 오면 NAT가 다시 Public IP를 Private IP로 변환해준다.

  • 네트워크 접속을 위해서 IP 주소를 설정해야 하는데 이를 자동으로 해결해 주는 것이 DHCP(Dynamic Host Configuration Protocol)이다.

Source NAT

인터넷 접속이나 보안 상의 이유로 출발지 IP를 변경하기 위해 사용한다. SNAT는 같은 네트워크 내에 중복 IP만 없으면 다른 네트워크의 IP를 가져다 써도 일단 Internet에 접속은 할 수 있다. 그러나 이럴 경우에는 NAT 장비가 ARP Request에 대한 응답은 할 수 없다. 간단하게 내부에서 외부로 나가는 단방향 통신만 가능할 뿐, 용청에 대한 응답을 받을 수 없다는 뜻이다.

  • 공유기처럼 하나의 Public IP(Source NAT Device의 Interface IP)에 PAT(Port Address Translation)로 Private IP Mapping
  • IP Pool을 통해 사설 IP Mapping

Destination NAT

DNAT는 SNAT와는 반대로 목적지 IP를 변경하여 외부에서 Private 네트워크로 접속할 수 있도록 한다. 그리고 외부에서 내부로 들어오는 Request에 대한 Mapping을 하기 때문에 중복된 IP를 활용할 수 없다.

  • Port Forwarding을 활용해 1개의 Public IP에 포트별 Private IP 1:1 Mapping
  • Load Balanceing을 활용해 1개 Public IP에 여러 개의 Private IP 1:N Mapping



IP 자동 설정

TCP/IP 자동 설정을 하도록 하면 해당 기기는 DHCP(Dynamic Host Configuration Protocol) Client가 된다. DHCP Client는 브로드 캐스트 통신을 활용해 DHCP Server와 통신하며 IP 설정을 한다.

  1. Server에 사용 가능한 TCP/IP 설정 요청 - DHCP DISCOVER
  2. Client에 사용 가능한 TCP/IP 반환 - DHCP OFFER
  3. Server에 TCP/IP 사용 요청 - DHCP REQUEST
  4. Client에 요청에 대한 응답 - DHCP ACK

일반적으로는 공유기에 있는 DHCP 서버를 사용한다고 하며, 기업과 같이 매우 큰 규모에서는 DHCP 서버가 있는 L3 Switch를 활용하기도 한다.

profile
느리더라도 하나씩 천천히. 하지만 꾸준히

0개의 댓글