DetailPage-MSS-KB

기술 자료

기술 자료: 314825 - 마지막 검토: 2004년 4월 6일 화요일 - 수정: 1.1

이 문서의 Microsoft Windows 2000 버전에 대한 내용은 159211  (http://support.microsoft.com/kb/159211/KO/ ) 을 참조하십시오.

중요: 이 문서에서는 레지스트리 수정 방법을 설명합니다. 레지스트리를 수정하기 전에 해당 레지스트리를 백업하고 문제 발생 시 이를 복원하는 방법을 이해해야 합니다. 레지스트리 백업, 복원 및 편집 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986  (http://support.microsoft.com/kb/256986/KO/ ) Microsoft Windows 레지스트리 설명

이 페이지에서

요약

이 문서는 용어 "블랙 홀" 라우터를 정의하고 블랙 홀 라우터를 찾는 방법을 설명하며, 블랙 홀 라우터로 인해 발생할 수 있는 데이터 손실을 피하는 세 가지 방법을 제안합니다.

추가 정보

TCP/IP 기반 WAN(wide area network)에서 중간 네트워크 세그먼트의 최대 패킷 크기가 통신 호스트의 최대 패킷 크기보다 작은 경우와 라우터가 적절한 ICMP(Internet Control Message Protocol) 응답을 이 조건에 보내지 못하는 경우 일부 라우터의 통신이 실패할 수 있습니다. 이러한 라우터를 "블랙 홀" 라우터라고도 합니다.

블랙 홀 라우터는 Microsoft Windows TCP/IP 프로토콜에서 설치된 표준 유틸리티인 Ping 유틸리티를 사용하여 찾을 수 있습니다. 그런 다음 세 가지 방법 중 하나를 사용하여 블랙 홀 라우터 문제를 해결할 수 있습니다.

네트워크 라우터가 통신 네트워크의 다음 세그먼트의 최대 전송 단위(MTU) 크기보다 큰 패킷을 수신하고 패킷의 IP 계층이 "Don't Fragment" 비트가 표시되면 라우터가 ICMP "Destination Unreachable" 메시지를 전송 호스트로 다시 보낼 수 있습니다.

라우터가 메시지를 보내지 않으면 패킷은 삭제될 수 있으며, 이로 인해 성공하지 못한 링크를 통해 통신하는 프로그램에 여러 가지 오류가 발생하게 됩니다. 프로그램이 로컬 서브넷에 있는 컴퓨터에 연결하면 이러한 오류가 발생하지 않습니다. 문제는 가끔 발생하는 것 같지만 자세히 살펴보면 클라이언트가 원격 호스트에서 보낸 큰 파일을 읽도록 하여 문제가 재현될 수 있다는 것을 알 수 있습니다.

클라이언트쪽 오류

클라이언트는 원격 컴퓨터에 대해 연결을 설정할 수 없습니다. 이 오류가 발생하는 가장 큰 원인은 다음과 같습니다.
  • 원격 컴퓨터에서 원격 연결을 설정할 수 없습니다.
  • 원격 컴퓨터에서 최대 연결 수를 초과했습니다.
  • 연결하는 동안 다음과 유사한 내용의 네트워크 오류가 발생합니다.
    서버쪽 오류: 이벤트 ID 1004
    원본: TermService
    설명: "터미널 서버가 클라이언트 라이센스를 발급할 수 없습니다. 변경된(일치하지 않는) 클라이언트 라이센스, 메모리 부족, 또는 내부 오류로 인해 라이센스를 발급하지 못했습니다. 이 문제에 대한 자세한 내용이 클라이언트 컴퓨터에 보고되었을 수 있습니다."

블랙 홀 라우터 찾기

ping 명령을 입력할 때 -f-l 매개 변수를 설정하면 Ping 유틸리티를 사용하여 블랙 홀 라우터를 찾을 수 있습니다.
  • -f 매개 변수는 Ping 유틸리티가 IP "Don't Fragment" 비트가 설정된 ICMP 에코 패킷(Echo Packet)을 보내도록 합니다.
  • -l 매개 변수는 ICMP 에코 패킷의 버퍼 또는 페이로드, 크기를 설정합니다. -l 매개 변수 다음에 숫자를 입력하여 이 크기를 지정합니다.
조각화되지 않은 상태로 보낼 수 있는 최대 버퍼는 경로에 존재하는 가장 작은 MTU에서 IP와 ICMP 헤더를 뺀 것(즉 가장 작은 MTU - 28)과 같습니다. 예를 들어, 이더넷에는 1,500바이트의 MTU가 있으므로 최상의 조건에서 Ping 유틸리티는 조각화되지 않은 패킷에 1,472바이트의 ICMP 버퍼(1,500 - 28)를 더하여 에코할 수 있습니다. 이 경우 ping 명령 구문은 다음과 같습니다.
ping computer_name or IP_address -f -l 1472
모든 로컬 IP 주소에서 예상되는 결과는 다음과 같습니다.
  • 라우팅된 연결에서 모든 세그먼트의 MTU가 최소 1,500인 경우 패킷은 성공적으로 반환됩니다.
  • 더 작은 MTU를 가진 중간 세그먼트가 있고 라우터가 적절한 ICMP "Destination Unreachable" 패킷을 반환하면 Ping 유틸리티는 "패킷을 분리할 필요가 있으며 DF를 설정해야 합니다."라는 메시지를 표시합니다.
  • 더 작은 MTU를 가진 중간 세그먼트가 있고 라우터가 적절한 ICMP "Destination Unreachable" 패킷을 반환하지 않으면 Ping 유틸리티는 "요청이 시간 초과되었습니다."라는 메시지를 표시합니다.
계속되는 핑(ping)에서 -l 매개 변수를 증가시키면 어느 정도 크기의 조각화되지 않은 패킷이 특정 경로를 통과할 수 있는지 확인할 수 있습니다. 일반적으로 사용되는 가장 작은 MTU는 576바이트이므로 먼저 548의 ICMP 버퍼로 시작한 다음 차츰 늘려가는 것이 좋습니다. 예를 들어, 명령 Ping computer_name or IP_address -f -l 972가 패킷을 반환하지만 Ping computer_name or IP_address -f -l 973이 패킷을 반환하지 않으면 해당 경로에서 가장 큰 MTU는 1,000(972 - 28)인 것입니다. 일반 네트워크 미디어의 기본 MTU는 Microsoft 기술 자료의 다음 문서에서 설명합니다.
314496  (http://support.microsoft.com/kb/314496/KO/ ) 여러 네트워크 토폴로지의 기본 MTU 크기

블랙 홀 라우터 문제 해결

경고: 레지스트리 편집기를 잘못 사용하면 심각한 문제가 발생할 수 있으며 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용함으로써 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기의 사용에 따른 모든 책임은 사용자에게 있습니다.

다음 세 가지 방법이 블랙 홀 라우터 문제를 해결하는 방법입니다.

방법 1

WAN 연결을 통해 통신할 Windows 기반 호스트에서 PMTU 블랙 홀 감지 기능을 설정하십시오. 다음과 같이 하십시오.
  1. 레지스트리 편집기(Regedit.exe)를 시작합니다.
  2. 레지스트리에서 다음 키를 찾습니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip\parameters
  3. 편집 메뉴에서 값 추가를 누른 후 다음 레지스트리 값을 추가합니다.
    값 이름: EnablePMTUBHDetect
    데이터 형식: REG_DWORD
    값: 1
  4. 레지스트리 편집기를 끝낸 다음 컴퓨터를 다시 시작합니다.

방법 2

ICMP 유형 3 코드 4 메시지("destination unreachable, don't fragment (DF) bit sent and fragmentation required")를 보내도록 중간 라우터를 구성하십시오. 이렇게 하려면 라우터 소프트웨어가 있어야 하거나 펌웨어를 업그레이드하거나, 라우터를 재구성 또는 교체해야 할 수 있습니다.

방법 3

호스트 인터페이스의 MTU를 블랙 홀 라우터가 처리할 수 있는 가장 큰 크기로 설정하여 가능한 최대 패킷 크기를 해당 연결을 통해 보낼 수 있도록 하십시오. 그러나 로컬 트래픽은 필요한 패킷보다 작은 패킷을 사용합니다. 트래픽은 라우팅된 연결을 문제 없이 사용하게 됩니다.

이 해결 방법은 사용자가 MTU 및 호스트가 사용할 수 있는 모든 가능한 링크의 상태를 확인했다고 가정합니다. 지원되는 최대 MTU 크기를 확인한 후에는 MTU를 수동으로 설정하십시오. 다음과 같이 하십시오.
  1. 시작을 누른 다음 제어판을 누릅니다.
  2. 네트워크 및 인터넷 연결을 두 번 누른 다음 네트워크 연결 폴더를 눌러 엽니다.
  3. 네트워크 연결이 둘 이상 나열되는 경우 각 연결에 대해 연결을 두 번 누른 다음 상태 인터페이스가 열리면 지원 탭을 누릅니다. 기본 게이트웨이 항목을 보여주는 연결은 인터넷 연결에 사용되는 네트워크 연결입니다. 연결 이름(예: "Local Area Connection 2")을 적어둡니다.
  4. 레지스트리 편집기(Regedit.exe)를 시작합니다.
  5. HKEY_LOCAL_MACHINE 트리에서 다음 키로 이동합니다.
    SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\
  6. 이 키 아래에는 숫자 식별자를 가진 키가 하나 이상 있습니다. 각 키에는 Connection 하위 키가 있습니다. 다음과 같이 표시되는 각 키를 검토합니다.
    ID_for_Adapter\Connection
    Connection 하위 키의 Name 값은 네트워크 연결 폴더에 사용되는 네트워크 연결 이름을 제공합니다. 3단계에서 찾은 이름과 일치하는 이름이 있으면 네트워크 연결 이름 아래의 ID_for_Adapter 를 적어둡니다.
  7. HKEY_LOCAL_MACHINE으로 돌아가 다음 키를 찾습니다.
    SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ID_for_Adapter
    여기서 ID_for_Adapter 는 6단계에서 적어둔 숫자입니다. 이 키를 선택하면 화면 오른쪽에 DefaultGatewayEnableDHCP를 비롯한 여러 가지 값이 나타납니다.
  8. 화면 오른쪽을 마우스 오른쪽 단추로 누르고 새로 만들기를 누른 다음 DWORD 값을 누릅니다. 값 이름을 MTU로 지정합니다.
  9. 값을 편집할 수 있도록 값을 두 번 누르고 단위10진수로 변경한 다음 핑(Ping) 테스트를 사용하여 확인한 크기 중에서 허용되는 가장 큰 MTU 크기를 입력합니다.
  10. 레지스트리 편집기를 종료합니다.
일부 서버에서 여전히 문제가 발생하는 경우 해당 특정 경로에 있는 다른 라우터 때문에 핑(Ping) 테스트가 나타내는 것보다 낮은 MTU로 설정해야 할 수 있습니다. 이러한 사이트에 액세스될 때까지 MTU를 10씩 계속 낮춥니다.

MTU 수동 설정에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
314053  (http://support.microsoft.com/kb/314053/KO/ ) Windows XP용 TCP/IP 및 NBT 구성 매개 변수

자세한 내용은 다음 Internic 웹 사이트에서 사용할 수 있는 Internet RFC 1191 및 RFC 1435를 참조하십시오.
http://www.internic.net/ (http://www.internic.net/)




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx) 에 참여하시기 바랍니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
키워드: 
kbinfo kbenv kbnetwork KB314825
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store
소기업이 아닙니까?
다음에서 팔로우하십시오.