PXE 클라이언트는 어떤 네트워크가 켜져 있는지 어떻게 알 수 있습니까?


9

PXE 부팅에서 첫 번째 단계 중 하나는 DHCP를 통해 IP 주소를 얻는 것입니다.

DHCP를 사용하려면 네트워크의 브로드 캐스트 주소를 알아야합니다.

이 네트워크는 처음에 PXE 클라이언트에 대해 어떻게 구성됩니까?


PXE 클라이언트의 로컬 네트워크에서 고정 IP를 할당합니다.
DavidPostill

5
@DavidPostill : 이것은 Daniel B의 대답 과 모순 되며, 이해 하는 한 docs 입니다.
Mathieu K.

1
DHCP 클라이언트는 DHCP 브로드 캐스트 요청을 시작할 때 0.0.0.0을 "소스"로 사용하여 255.255.255.255로 전송합니다.
Ivanivan

답변:


29

주소가 없을 때 IP 계층에서 어떻게 통신합니까? 어쨌든 실제로는 아닙니다. 대신 계층 2를 사용하여 통신합니다.

모든 이더넷 네트워크 의 브로드 캐스트 주소 는 FF : FF : FF : FF : FF : FF입니다. IP 계층에는 255.255.255.255가 있습니다. 이것이 DHCPDISCOVER 패킷에 존재하는 것입니다. 이런 식으로 원시 이더넷 소켓 대신 일반 UDP 청취 소켓을 가질 수 있습니다.


6
" 모든 이더넷 네트워크의 브로드 캐스트 주소는 FF : FF : FF : FF : FF : FF입니다. "이는 Wi-Fi, 토큰 링, FDDI 등과 같은 48 비트 MAC 주소를 사용하는 모든 IEEE LAN 프로토콜에 적용됩니다.
Ron Maupin

it communicates using layer 2이것은 정확하지 않습니다. 계층 2가 서버 IP 스택의 네트워크 수준에 도달하지 않습니다. 브로드 캐스트 계층 2는 하나의 특정 이더넷 충돌 도메인에서 모든 리스너에게 이더넷 프레임 만 전송합니다. IP 브로드 캐스트 주소는 서버 IP 스택의 문을 여는 주소입니다.
Pat

확실히. 그러나 내가 쓴 것처럼 "실제로"IP 커뮤니케이션이 아닙니다. 할 수 없습니다. 대신 소스 및 대상 주소를 삽입하여 IP 패킷 처리를 사용하여 올바르게 정의 된 동작을 수행합니다. 실제 주소 지정은 계층 2에서만 수행됩니다.
Daniel B

당신은 잘못. 브로드 캐스트 IP 주소는 확실히 IP 통신입니다. 해당 브로드 캐스트 주소가 없으면 서버의 IP 계층에 패킷이 표시되지 않습니다. 브로드 캐스트 IP 주소에서 유일하게 라우팅 할 수 없다는 것입니다.
Pat

1
Pat은 약간 옳고 약간 틀렸다고 생각합니다. 실제로 IP의 브로드 캐스트는 레이어 3에서 작동하지만 ... DHCP는 L2 / ARP / MAC의 모든 첫 번째 단계와 마지막 단계 (DHCP를 말함) 만 처리합니다. 제공된 IP가 L3 / Unicast에서 허용됨) IP / L3 스택이 없기 때문에 시작해야합니다 ... DHCP 이외의 IP 브로드 캐스트를 수행하는 다른 서비스에는이 문제가 없습니다. L3 /
L4-

30

DHCP를 사용하려면 네트워크의 브로드 캐스트 주소를 알아야합니다.

아니요. 로컬 브로드 캐스트 주소 255.255.255.255 (IPv4의 경우) 또는 멀티 캐스트 그룹 ff02 :: 1 : 2 (IPv6의 경우) 만 있으면됩니다. DHCP의 요점은 필요로하지 않는다는 것입니다 어떤 클라이언트에서 사전 구성을.


ARP가 브로드 캐스트 IP 주소에 대해 작동하지 않으므로 MAC 브로드 캐스트 주소 (계층 2)도 필요합니다.
Pat

IP에서 MAC 브로드 캐스트 주소로의 맵핑은 프로토콜에 의해 정의되므로 항상 알려진 것으로 가정되므로 여전히 수동으로 구성 할 필요가 없습니다.
user1686

당신은 잘못. 부팅 DHCP 클라이언트에서 DHCPDISCOVERY 패킷은 레벨 3 브로드 캐스트를 모두 정의 할 수없고 다른 프로토콜이 브로드 캐스트 IP 대상 주소 만있는 대상 MAC 주소를 발견 할 것이라고 생각합니다
Pat

3
  1. 부팅 펌웨어가 설치된 NIC를 감지합니다.
  2. 부팅 펌웨어는 PXE UNDI 드라이버 (HwType 및 HwAddrLen을 반환하는 UNDI GET INFORMATION)를 요청하는 각 NIC 브로드 캐스트 MAC 주소를 검색합니다. 즉 HwType = ETHER_TYPE HwAddrLen = 6 => 브로드 캐스트 MAC 주소 = FF : FF : FF : FF : FF : FF.
  3. 부팅 펌웨어는 다음을 사용하여 BIOS / UEFI 활성화 NIC에서 PXE 클라이언트 (DHCP 옵션 60)로 알리는 DHCP DORA 시퀀스 (DHCPDISCOVERY)를 시작합니다.
    1. OSI 레벨 2 (데이터 링크 계층)에서 이전에 발견 된 해당 MAC 브로드 캐스트 주소
    2. OSI 레벨 3 (네트워크 계층)에서 BIOS / UEFI 지원 IPv4 / IPv6 브로드 캐스트 주소 (255.255.255.255/ff02::1:2)
  4. 완전한 DHCP-PXE 제안이 수신되면 부팅 펌웨어는 DHCP DORA 시퀀스를 완료합니다.

    1. 클라이언트 IP / 마스크 주소
    2. TFTP 서버 IP 주소
    3. NBP (네트워크 부팅 프로그램)

    참고 : 둘 이상의 완전한 오퍼가 수신되면 현재 표준은 클라이언트가 오퍼를 선택해야하는 방법을 구체적으로 정의하지 않습니다.

  5. 부팅 펌웨어는 NIC IP, TFTP 전송, 메모리로드 및 NBP를 설정합니다.

계층 2 MAC 브로드 캐스트 주소를 사용하면 클라이언트의 NIC 이더넷 충돌 도메인 내의 모든 리스너에게 DHCP 이더넷 프레임을 전달할 수 있습니다. 계층 3 IP 브로드 캐스트 주소는 DHCP 서버 IP 스택의 문을 여는 주소입니다. L2 / L3 브로드 캐스트 주소가 모두 필요합니다 .

PXE 클라이언트와 DHCP 서버가 다른 서브 네트워크에있을 때 브로드 캐스트 DHCP 트래픽이 라우터에서 중지되면 브로드 캐스트 DHCPDISCOVERY 패킷을 가져 와서 DHCP 릴레이 에이전트 (Cisco 세계의 IP 헬퍼)를 활성화하여 유니 캐스트로 변환해야합니다. DHCPDISCOVERY를 정의 된 대상 DHCP 서버의 IP 주소로 라우팅하십시오.


좋은 대답입니다.
Tim_Stewart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.