100메가비트 네트워크에서 충돌이 자주 발생한다

기술 자료 번역 기술 자료 번역
기술 자료: 315237 - 이 문서가 적용되는 제품 보기.
이 문서의 Microsoft Windows 2000 버전에 대한 내용은 169789를 참조하십시오.

중요: 이 문서에서는 레지스트리 수정 방법을 설명합니다. 레지스트리를 수정하기 전에 해당 레지스트리를 백업하고 문제 발생 시 이를 복원하는 방법을 이해해야 합니다. 레지스트리 백업, 복원 및 편집 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986 Microsoft Windows 레지스트리 설명
모두 확대 | 모두 축소

이 페이지에서

현상

100메가비트 네트워크 어댑터에서 TCP/IP 프로토콜을 사용하는 경우 파일을 복사할 때 네트워크 성능이 느려지는 것을 경험할 수 있습니다. 또한 Windows XP에서 Windows 탐색기를 사용할 때도 이러한 성능 저하를 경험할 수 있습니다.

이러한 성능 저하가 여러 100메가비트 네트워크 어댑터에서 발생하는 것으로 알려져 있지만 Windows에만 국한되는 문제는 아닙니다.

원인

이 문제는 네트워크에서의 초기 충돌 비율이 높기 때문에 발생합니다. 워크스테이션이 회선에서 전송을 시도하기 전에 대기하는 시간인 프레임간 간격(IGF)이 IEEE 802.3 사양인 9.6마이크로초보다 작습니다.

해결 방법

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

이 문제를 해결하려면 해당 네트워크 어댑터 제조업체에 문의하여 프레임간 간격을 늘리는 방법에 대한 정보를 얻으십시오.

Intel EtherExpress 100B 네트워크 어댑터에는 프레임간 간격의 길이를 조정할 수 있는 레지스트리 매개 변수가 있습니다. Intel EtherExpress 100B 네트워크 어댑터를 사용하는 경우 이 매개 변수를 수정하려면 다음과 같이 하십시오.
  1. 레지스트리 편집기(Regedit.exe)를 시작합니다.
  2. 레지스트리에서 다음 키를 찾습니다. 여기서 x는 네트워크 어댑터의 번호입니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\e100bx\Parameters
  3. 편집을 클릭하고 값 추가를 클릭한 후 다음 정보를 입력합니다.
    값 이름: Adaptive_ifs
    값 종류: REG_DWORD
    데이터: 1(적응 알고리즘 사용)
    충돌 감지 및 프레임간 간격 조정을 위한 적응 알고리즘이 기본적으로 활성화됩니다. 값 데이터를 0으로 설정하면 적응 알고리즘이 비활성화됩니다. 2부터 200까지의 값은 미리 정의된 프레임간 간격을 설정합니다. 20부터 값 설정을 시작하여 20씩 값을 늘리십시오. 충돌을 측정하고 성능을 살펴본 다음 충돌 비율이 낮고 성능에 영향을 미치지 않는 최종 값을 설정하십시오.

해결 방법

이 문제를 해결하려면 TcpWindowSize 레지스트리 매개 변수를 만들어 송신자가 더 많은 데이터를 보내기 전에 수신자로부터 ACK를 받도록 기다리게 할 수 있습니다. 이렇게 하면 충돌이 발생하는 것을 줄일 수 있습니다. 다음과 같이 하십시오.
  1. 레지스트리 편집기(Regedit.exe)를 시작합니다.
  2. 아래의 레지스트리 키를 찾습니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 추가를 누르고 을 누른 후 다음 정보를 추가합니다.
    값 이름: TcpWindowSize
    값 종류: REG_DWORD
    데이터: 2920(십진수) - 바이트 수
    이더넷의 경우 값을 십진수 2920으로 설정하고, 기타 네트워크 토폴로지의 경우 최대 TCP 데이터 크기의 두 배로 설정하십시오. 하지만 토큰 링이나 FDDI(Fiber Distributed Data Interface)와 같은 토폴로지를 기반으로 하는 네트워크에서는 이더넷 네트워크만큼 충돌이 발생하지 않기 때문에 이러한 네트워크인 경우에는 이 설정을 수정할 필요가 없습니다.

    이 매개 변수를 수정하면 성능이 큰 영향을 받을 수 있습니다. 일반적으로 WAN(wide area network)이나 10메가비트 네트워크의 경우 네트워크 토폴로지에 따라 송신자와 수신자 사이에 일부 지연이 있습니다. 그러므로 TCP/IP ACK(응답)로 인한 충돌 발생 가능성은 없습니다. 이 경우 TcpWindowSize를 조정하면 처리량만 줄어듭니다.

현재 상태

Microsoft는 본 문서의 시작 부분에 나열한 제품에서 이 문제를 확인했습니다.

추가 정보

"충돌"은 두 스테이션이 회선에서 동시에 전송할 때 발생합니다. "초기 충돌"은 512비트의 프레임이 회선에 있기 전에 발생하는 충돌입니다. 초기 충돌은 정상적으로 작동되는 이더넷 네트워크에서 정기적으로 발생할 수 있습니다. 하드웨어 오류나 스테이션 오작동은 없습니다.

IEEE 802.3 사양에서는 스테이션이 회선에서 전송을 시도하기 전에 9.6마이크로초(프레임간 간격)를 기다리도록 규정하고 있습니다. 하지만 일부 어댑터 제조업체에서는 더욱 높은 데이터 전송률을 얻기 위해 더 작은 프레임간 간격으로 어댑터를 설계합니다. 프레임간 간격이 작아지면 충돌이 더욱 많이 발생할 수 있습니다.

이 충돌 발생 가능성은 상위 계층 프로토콜의 작동 방식으로 인해 영향을 받기도 합니다. TCP/IP 사양은 수신되는 모든 데이터 프레임에 대해 ACK(응답)를 보내는 것입니다. 즉, TCP 호스트가 두 데이터 프레임을 수신한 후 ACK를 송신자에게 보냅니다. 두 패킷을 수신한 클라이언트가 ACK를 보내려고 하고, 송신자는 더 많은 데이터를 클라이언트에게 보내려고 할 때 충돌 발생 가능성이 높아집니다.

Windows XP에서 Windows 탐색기 파일 복사에 대한 분석

Windows XP에서 명령 프롬프트와 Windows 탐색기를 사용하여 동일한 파일 복사 작업을 시작할 때의 데이터 전송 패턴은 다릅니다. 이 경우 리디렉터는 60KB(킬로바이트) "bulk read" 또는 "raw read"를 발생합니다. 데이터 전송 패턴은 다음과 같습니다.
   10 CLIENT SERVER  SMB C read & X, FID = 0x1004, Read 0xf000
   11 SERVER CLIENT  SMB R read & X, Read 0xf000
   12 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
   13 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
   14 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
   15 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
   16 CLIENT SERVER  TCP .A...., len: 0, seq:404791-404791, ack
   17 CLIENT SERVER  TCP .A...., len: 0, seq:404791-404791, ack
   18 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
   19 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
   20 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes
				
TCP 수준에서는 다음과 같습니다.
   10 CLIENT SERVER  TCP len:   64, seq:  404727-404790, ack:   6992081
   >Client sends 64 bytes of data (SMB command to read 4KB);

   11 SERVER CLIENT  TCP len: 1460, seq: 6992081-6993540, ack:    404791
   >Server sends the piggyback ACK, and the SMB response with some data;

   12 SERVER CLIENT  TCP len: 1460, seq: 6993541-6995000, ack:    404791
   13 SERVER CLIENT  TCP len: 1460, seq: 6995001-6996460, ack:    404791
   >Server sends rest of the data to the client.

   >**Collision likely at this point because the client tries to send an ACK.

   14 SERVER CLIENT  TCP len: 1460, seq: 6996461-6997920, ack:    404791
   15 SERVER CLIENT  TCP len: 1460, seq: 6997921-6999380, ack:    404791
   >But server is able to get the wire and send more data.

   16 CLIENT SERVER  TCP len:    0, seq:  404791-404791, ack:   6996461
   >Client is able to get the wire and send the ACK for data on frames 12 and 13.

   17 CLIENT SERVER  TCP len:    0, seq:  404791-404791, ack:   6999381
   >Client is able to get the wire and send the ACK for data on frames 14 and 15.

   18 SERVER CLIENT  TCP len: 1460, seq: 6999381-7000840, ack:    404791
   19 SERVER CLIENT  TCP len: 1460, seq: 7000841-7002300, ack:    404791
   >Server continues to send data.

   >**Collision likely at this point because the client tries to send an ACK.

   20 SERVER CLIENT  TCP len: 1460, seq: 7002301-7003760, ack: 404791
   >But server is able to get the wire and send more data.
				
TCP/IP 프로토콜을 사용할 때 TCP ACK(응답)가 충돌에 영향을 미칩니다. 하지만 이 문제는 TCP/IP 또는 Windows 탐색기에서 60KB bulk read를 가능하게 하는 향상 기능 때문에 발생하는 것은 아닙니다. 이 문제는 FTP를 사용하는 경우에도 나타날 수 있습니다. TCP/IP, 리디렉터 및 Windows 탐색기에는 프레임간 간격에 대한 제어 기능이 전혀 없습니다. 프레임간 간격은 어댑터의 칩셋에 의해 제어되는 실제 계층에 있습니다. 네트워크에서 높은 비율의 충돌이 발생하는 경우 해당 네트워크 어댑터 공급업체에 문의하십시오.

TCP/IP 프로토콜에 대한 자세한 내용은 다음 Microsoft FTP 사이트에서 익명으로 얻을 수 있는 "TCP/IP 구현 세부 내용(TCP/IP Implementation Details)" 제목의 백서를 참조하십시오.
ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/
이 백서의 파일 이름은 Tcpipimp2.doc입니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 315237 - 마지막 검토: 2004년 5월 12일 수요일 - 수정: 1.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP 64-Bit Edition
키워드:?
kbnetwork kbprb KB315237

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com