주요 용어
네트워크 인터페이스
- 유선 네트워크→ 이더넷포트 (LAN 포트)
- 무선 네트워크 → 와이파이
물리적인 네트워크 인프라
- 라우터, 스위치, 허브, 케이블
논리적인 네트워크 인프라
- IPv4/IPv6, 서브넷, 게이트웨이, DNS 등 네트워크 설정
Dynamic Host Configuration Protocol
호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜로 컴퓨터가 켜지면서 자동적으로 진행되는과정중 1개이다.
컴퓨터가 처음 실행될때 네트워크 부팅과정에서 DHCP서버에 IP 주소를 요청하고 이를 얻게된다.
네트워크 내부에서 컴퓨터에 자동으로 네임서버주소(DNS), IP주소, 게이트웨이 주소를 할당해주며 해당 클라이언트에게 일정기간 임대를 해주는 동적 주소 할당 프로토콜이다.
cmd에서 ipconfig를 입력할경우
사진과 같은 형태로 데이터를 확인할수 있다.
처음 노트북이 켜졌을때 DHCP가 가동된다 이때 물리적 네트워크 인프라가 연결되어야 DHCP의 IP를 할당을 받을수 있으며 이때 네트워크 인터페이스를 활용해 정상적인 통신이 이뤄졌을경우 논리적 네트워크 인프라가 설정된다.
DHCP서버
네트워크 인터페이스를 위해 IP주소를 갖고있는 서버에서 실행되는 프로그램으로 일정한 범위의 IP 주소를 다른 클라이언트에게 할당하여 자동으로 설정하게 해주는 역할로 클라이언트에게 할당된 IP주소를 변경없이 유지하게 해준다.
DHCP 클라이언트
시스템이 시작하면 DHCP서버에 자신의 시스템을 위한 IP주소를 요청하고 DHCP 서버로부터 IP주소를 부여받으면 TCP/IP 설정이 초기화되며 다른 호스트와 TCP/IP를 활용해 통신이 가능해진다.
DHCP의 주소 할당은 임대라는 개념을 갖고있으며 영구적인 IP할당이 아닌 일정기간 IP 주소를 사용하도록 하는것이며 IP 주소 임대기간 연장을 위해선 DHCP 서버에 요청을 해야한다.
브로드캐스트
단말이 DHCP 서버를 찾기 위한 메세지로 DHCP서버가 존재하는지 요청을 진행하는것
브로드 캐스트 메세지
FF:FF:FF:FF:FF → 이더넷 레벨(물리적)에서 브로드 캐스트 MAC 주소로 모든 네트워크 장치가 패킷수신이 가능
255:255:255:255 → IP 레벨에서의 브로드캐스트 주소로 네트워크상 모든 장치가 해당 패킷 수신
DHCP동작순서
- DHCP Discover
- 방향 : 단말 → DHCP 서버
- 단말이 DHCP서버를 찾기 위한 메세지로 LAN상에 브로드캐스팅을 하여 DHCP서버에 응답을 요청
- 파라미터 - 단말의 Mac 주소(Client MAC)
- 브로드 캐스트 메세지 : FF:FF:FF:FF:FF:FF
- DHCP OFFER
- 방향 : DHCP 서버 → 단말
- 브로드 캐스트 메세지 또는 유니캐스트일수도 있다.
- 단말이 보낸 DHCP내의 Broadcast Flag의 값에 따라 달라지는데 Flag = 1 은 DHCP Offer메세지가를 Broadcast, Flag = 0 은 Unicast로 전송
- DHCP가 응답했다는 메세지로 단말기에 할당할 IP주소 및 네트워크 정보(앞서 말한 네트워크 인터페이스?)를 함께 단말에 전송
- 파라미터 - Client Mac주소, Your IP, Subnet Mask, Router, Dns, IP Lease Time, DHCP Server idntifier(만약 DHCP 서버가 2개의 이상일때 둘다 Offer를 보낼수 있으니 자신의 IP주소를 해당 필드에 넣어 전송)
- DHCP Request
- 방향 : 단말 → DHCP 서버
- 단말은 DHCP 서버의 존재를 확인헀고 서버가 전달해준 네트워크 정보를 기반으로 DHCP 메세지를 통해 전달바은 DHCP 서버중 1개를 선택해서 해당 서버에 자신이 사용할 네트워크 정보를 요청
- 파라미터 - Client Mac주소 , Request IP Address (DHCP Offer의 Your IP가 존재), DHCP Server Identifier (DHCP 서버의 IP 주소가 존재)
- DHCP Ack
- 방향 : DHCP 서버 → 단말
- 브로드캐스트 메세지 혹은 유니케스트 BroadCast Flag = 1이면 DHCP 서버는 DHCP Ack를 Broadcast, Flag = 0이면 Unicast로 전송
- DHCP 절차의 마지막으로 DHCP 서버가 단말에 네트워크 정보를 전달해주는 메세지로 DHCP Offer 네트워크 정보와 동일한 파라미터가 전송된다.
- 파라미터 - Client Mac, Your IP, Subnet Mask, Router, Dns, IP Lease TIme, DHCP Server Identifier
만약 무인도처럼 네트워크가 아예 없는경우
네트워크 인프라가 없는 상황에선 DHCP가 동작되지 않는다.
노트북이 켜지는 순간 네트워크 연결을 시도하는데 연결을 위해선 IP주소가 필요하다
IP주소가 필요하기에 DHCP 서버에 IP주소를 요청하게 된다.
노트북은 네트워크 인터페이스를 통해 DHCP Discover 패킷을 브로드캐스트로 보내려 하지만 이를 받아줄 서버가 없기에 패킷은 응답을 받을수 없으며 time out이 발생하게 된다.
네트워크 연결이 없다는것은 논리적인 IP주소 연결이 없는 상태를 의미하지만 노트북이 물리적으로 네트워크에 연결된 상태에서는 DHCP Discover 브로드캐스트 패킷을 보낼수 있다.