2012-06-20 3 views
1

무엇이 네트워크에 더 잘 흘러들 수 있습니까?소켓 스트레스 테스트

1 개관 한 소켓 HTTP 웹 서버와

2 개 열리는 여러 소켓 충돌까지 데이터를 기록하고 소켓을 열기 충돌

3까지 데이터를 기록하고 충돌까지 TCP 패킷을 전송

4- 여러 개의 소켓을 열고 충돌까지 tcp 패킷을 보냅니 까?

답변

3

웹 서버가 다양한 서비스 거부 공격에 어떻게 반응하는지 테스트하는 것 같습니다.

웹 서버의 서비스 거부 논리는 무엇이며 웹 서버에서 일반적으로 구현되는 서비스 거부 보호는 어떻게 구현됩니까? 예를 들어, 동시 연결 수 또는 동일한 IP로부터의 동시 연결 수를 제한하거나 트래픽 양을 모니터하여 트래픽을 조절하거나 트래픽 양이 임계 값을 초과 할 경우 연결을 끊는 로직이 있습니다.

한 가지 고려해야 할 점은 TCP/IP 소켓을 통해 많은 바이트를 푸시하지 않는 것입니다. 웹 서버가 바이트를 해석 중이며 HTTP 프로토콜이 사용될 것으로 예상됩니다. HTTP에 구축 된 다른 프로토콜과 함께 HTTP 프로토콜을 사용하여 이상하고 이상한 일을 수행하면 어떻게됩니까?

옵션 3과 4의 경우, 윈도우 로직을 사용하여 TCP/IP 스택을 우회하여 뭔가가 담배가 피어 오를 때까지 응답 패킷을 무시하는 TCP 프로토콜 패킷 스트림을 보내는 것처럼 들린다. 이것은 웹 서버 자체의 견고성보다는 서버에서의 TCP 스택 견고성을 테스트 한 것입니다.

2

네트워크 채도에 도달하는 기능은 네트워크 조건에 따라 다릅니다. 중간 장치로 인해 패킷이 손실되고 서버 자체가 최대 부하를 보지 못하게되므로 "속도감"을 작성하는 것이 가능합니다.

응용 프로그램은 하나의 연결로 시작하고 데이터 속도를 모니터링해야합니다. 모든 연결에 대한 집계 데이터 속도가 계속 증가하면 연결을 계속 추가하십시오. 더 이상 상승하지 않으면 처리량 한도에 도달했습니다. 드롭 다운이 시작되면 시스템의 용량을 초과하여 정체 제어가 시작되거나 서버가 많은 연결을 효율적으로 처리 할 수 ​​없습니다. 처리량 제한이 예상 한 것보다 훨씬 적 으면 네트워크를 디버그하거나 TCP/소켓 매개 변수를 조정해야합니다. 속도가 느려지는 서버 인 경우 연결로드를 처리 할 수없는 이유를 보려면 프로파일 링해야합니다.

또한 각 연결의 데이터 속도를 확인하고 특정 연결이 다른 연결보다 훨씬 빠르는지 확인하십시오. 그런 일이 발생하면 서버에는 공정성 문제가있어 해결해야합니다. 이 기능은 서버와 네트워크 성능과 관련이 없으므로 좋은 사용자 환경과 관련이 있습니다. 이러한 문제의 존재는 서비스 거부 공격에서 악용 될 수 있습니다.

관련 문제