다음을 통해 공유


상태 서버 디자인 고려 사항

참고

IAS(인터넷 인증 서비스)의 이름이 Windows Server 2008부터 NPS(네트워크 정책 서버)로 바뀌었습니다. 이 항목의 내용은 IAS 및 NPS 모두에 적용됩니다. 텍스트 전체에서 NPS는 원래 IAS라고 하는 버전을 포함하여 서비스의 모든 버전을 참조하는 데 사용됩니다.

 

디자인에 따라 현재 네트워크에 로그온한 사용자를 추적하는 서버가 필요할 수 있습니다. 상태 서버의 기본 문제는 상태 서버 데이터베이스의 정보를 실제로 로그온한 사용자와 동기화된 상태로 유지하는 것입니다. 상태 서버의 정보가 동기화되지 않은 경우 사용자는 권한이 없는 경우 여러 세션을 성공적으로 수행할 수 있습니다. 또한 세션이 여러 개인 사용자는 실수로 페널티를 받을 수 있습니다.

상태 서버를 구현할 때 다음 사항을 고려해야 합니다.

  • 상태 서버는 몇 초 안에 온라인으로 결정을 내려야 합니다. 이러한 이유로 상태 서버에는 초당 많은 업데이트 및 쿼리를 지원할 수 있는 확장 가능한 인프라가 필요합니다. 관계형 데이터베이스는 동시 업데이트가 있는 대규모 쿼리에는 적합하지 않습니다. 관계형 데이터베이스는 주로 데이터를 일관되게 유지하고 모든 소비자에게 데이터의 일관된 보기를 제공하도록 빌드됩니다. 빠른 업데이트를 위해 빌드되지 않았습니다.
  • 여러 개체 간의 업데이트에 대한 트랜잭션 일관성은 중요하지 않습니다. 이는 주 서버가 작은 기회 창을 허용할 수 있기 때문입니다. 그러나 단일 업데이트의 트랜잭션 일관성은 업데이트 중간에 RADIUS 서버 중 하나가 종료되는 경우 상태 서버가 일관되지 않은 상태로 남을 가능성을 줄이는 데 중요합니다.
  • 지속성(영구 스토리지에 네트워크 상태 저장)은 영구 정보가 네트워크의 실제 상태와 빠르게 동기화되지 않기 때문에 중요하지 않습니다.
  • 네트워크에서 ISDN 또는 다른 형태의 멀티링크가 지원되는 경우 상태 서버는 이러한 기능을 사용하는 시나리오를 처리할 수 있어야 합니다.

한 가지 가능한 디자인은 인증 확장 DLL과 권한 부여 확장 DLL을 모두 구현하는 것입니다. 이러한 각 DLL은 네트워크를 통해 데이터베이스와 통신할 수 있습니다. 권한 부여 확장 DLL은 현재 네트워크에 로그온한 사용자에 대한 정보로 데이터베이스를 업데이트할 수 있습니다. 인증 확장 DLL은 데이터베이스에서 이 정보를 쿼리하여 특정 사용자의 인증 요청을 수락하거나 거부할지 여부를 결정할 수 있습니다. 사용자가 이미 로그온한 경우 요청이 거부됩니다.

권한 부여 확장 DLL이 상태 서버 데이터베이스를 업데이트할 경우의 장점은 권한 부여 확장 DLL이 인증된 사용자에 대한 자세한 정보에 액세스할 수 있다는 것입니다. 권한 부여 확장 DLL은 NPS 권한 부여 메커니즘의 모든 권한 부여 특성에 액세스할 수 있습니다. 예를 들어 일부 사용자는 여러 세션을 가질 수 있는 권한 부여가 있을 수 있습니다. 상태 서버는 이러한 사용자를 특별한 경우로 처리해야 합니다.