IP와 주소체계

dropKick·2023년 5월 18일
0

스터디

목록 보기
8/20

학습 목표

  • IP주소
  • 3단계 주소체계(Domain name, IP address, Physical address)
  • 호스트 파일
  • MAC 주소
  • DNS
  • NAT

물리적 주소부터 웹 도메인까지

물리적 주소, MAC

  • 모든 이더넷(네트워크 통신)이 가능한 기기는 각 기기를 네트워크 상에서 식별할 수 있는 특별한 ID를 부여받음
  • 이 ID를 MAC 주소라고 부르며, IEEE 802 네트워크 주소 규격으로 정해져있음
    • IEEE란?
      Institute of Electrical and Electronics Engineers, IEEE. 전기전자공학자협회로 현대의 전자기기와 네트워크 등에 대한 모든 표준 규격을 제정함
      이 중 IEEE 802는 LAN/MAN 네트워크 통신에 대한 표준 규격을 정하는 위원회
  • 이 MAC 주소는 하드웨어를 만들 때 들어가는 네트워크 인터페이스 컨트롤러(NIC)에 IEEE 802 규격에 의한 식별 번호로써 부여됨
  • ipconfig/all을 통해서도 확인이 가능한데, 무선 LAN 어댑터의 NIC에 D0-3C-1F-D0-29-1A라는 식별 번호, MAC 주소가 부여된 것을 알 수 있음
    • 12자리 숫자 구성
    • 앞 6자리는 제품 제조사의 일련 번호
    • 뒤 6자리는 제품에 할당된 일련 번호

네트워크 식별 번호만으로 어떻게 다양한 기기가 있는 인터넷을?

  • MAC 주소는 각 기기에 부여받은 고유한 식별 번호이기 때문에 이더넷 환경에서 MAC 주소를 통해 각 기기를 구별할 수 있음
  • 하지만 MAC 주소는 유니크하지만 영구적이지 않고, 소프트웨어 프로그램 등을 통해 변경 가능하기 때문에 네트워크 가상화에 이용 가능하고, MAC 스푸핑이라는 취약점이 존재함

IP가 아닌 실제 통신을 위한 상대방의 MAC 주소는 어떻게 알지?

  • IP 주소와 MAC 주소가 매핑 프로토콜인 ARP가 존재
  • IP 네트워크 패킷 데이터를 목적지로 보내기 위해선 IP(논리 주소), MAC(물리 주소)가 전부 필요. 실제 네트워크 통신이 이루어지는 건 MAC임
  • 브로드 캐스트 환경에서 목적지 IP주소에 대한 ARP Request 메세지를 만들어 송신
  • 해당 IP 주소의 수신자는 유니캐스트를 통해 IP + MAC 주소 정보를 ARP Response
    • 브로드 캐스트: LAN에 연결된 '모든' 네트워크에 데이터 프레임을 전송
    • 유니캐스트: MAC <-> MAC 간 연결된 특정 네트워크
  • 실제 기기 위치가 나폴리 스타벅스의 컴퓨터라면? 여기까지 보내야할까?
    • 실제 우리가 아는 MAC 주소의 한계는 LAN에 소속된 최종 장비인 공유기
    • 따라서 ARP Request에는 IP 주소와 함께 네트워크 서브넷 주소 (동일 LAN), 게이트웨이 주소(외부)가 필요함

실제로는?

  • 이러한 과정은 실제 서브넷 마스크 연산을 통한 LAN 환경 파악, 아니라면 외부로 전송을 반복하는 작업의 연속
  • 이를 해결하기 위해 각 기기는 ARP 캐싱을 통해 접근 가능한 LAN 환경이 모두 캐싱되어있음
  • ARP 캐싱 목록에서 먼저 모두 검색을 시도한 뒤, 위의 과정을 반복

그리고 유한한 IP와 NAT

  • MAC 주소는 네트워크 통신이 가능한 모든 기기가 받을 수 있음
  • IP 주소의 경우 시작이 IPv4였고, 32비트 체계였기때문에 한정된 IP를 나누어 사용해야했음. 우리나라의 경우 2013년 할당받은 IPv4주소 112,268,800개 중 약 99.97%인 112,235,264개가 사용되고 있었음
  • 이로 인해 하나의 공인 IP 내 여러 대의 호스트를 사용할 수 있도록 NAT(Network Address Translation)가 사용되고 있음
  • IPv6로 인해 128비트 주소체계로 바뀌며 IP 주소가 사실 상 무한해진 지금도 특정 LAN 환경과 유니캐스트 IP 통신을 위해 사용됨

3단계 주소체계, DNS와 호스트파일

DNS까지 통신까지의 3단계 주소체계

  • 이 때 통신을 위해 3단계 주소체계가 사용됨
  1. 물리적 하드웨어를 식별 가능한 단계
  2. 물리적 하드웨어를 네트워크에서 식별가능한 IP 주소로 매핑하는 단계
  3. IP 주소가 아닌 도메인을 통해 호스트를 식별

DNS

  • 네트워크 통신을 위해 IP 주소를 사용하지만, 실제 인간이 보기에 매우 사용하기 어려움
  • 구글을 접속하려면 항상 173.194.121.32를 입력해야함. 이를 사람이 편하게 사용할 수 있도록 도메인 이름 www.goolge.com으로 사용할 수 있도록 도메인 네임 서비스, DNS가 있음

실제 과정

  1. 브라우저에서 Nesite.com을 검색하고, 사용하고 있는 통신사인 KT DNS 서버에게 도메인 주소에 해당하는 IP 주소를 요청
    (브라우저 기본 DNS 설정이 통신사 DNS 서버이기 때문)
  2. ISP 서버에선 캐시 데이터가 없다는 걸 확인하고 루트 DNS 서버에게 어디로 가야 하는지 요청함(캐시가 있다면 8.로 건너 뜀.)
  3. 루트 서버는 TLD DNS 서버 주소만 관리하기 때문에, ***.com 도메인을 보고는 COM 최상위 도메인을 관리하는 TLD DNS 서버 주소를 안내함
  4. ISP 서버는 COM 서버에게 어디로 가야 하는지 다시 요청함
  5. COM 서버는 가비아 DNS 서버에서 해당 도메인이 관리되고 있는 걸 확인하고 안내함.
  6. ISP 서버는 가비아 서버에게 또 다시 요청함
  7. 가비아 서버는 “Nesite.com = 12.123.123.123”이라는 정보를 확인하고 이 IP를 알려줌. 동시에 ISP 서버는 해당 정보를 캐시로 기록해 둠
  8. ISP 서버는 브라우저에게 힘들게 알아 낸 12.123.123.123 주소를 안내함
  9. 브라우저는 12.123.123.123 IP 주소를 갖고 있는 호스팅 서버에게 웹사이트를 출력하라고 요청함

  10. 할 수 있는 단계

DNS 도메인 구조와 호스트 파일

  • 이렇듯 DNS는 도메인 이름을 가지지만, 해당 도메인에 접근할 수 있는 특정 IP 주소가 필요할 때가 있음
  • 이 때 수동으로 도메인 이름과 IP 주소를 매핑하기 위해 호스트 파일을 사용

사실 이 모든 걸 도와주는 건 ISP(Internet Service Provider)

  • 인터넷에 접속할 수 있도록 각종 서비스를 제공 해주는 기업/기관
  • 라우팅, IP 부여, 회선 할당, 주소 변환 등 네트워크 통신에 필요한 각 서비스를 제공

0개의 댓글