Sunday, September 2, 2012

Overview of IIS 6.0 Architecture (IIS 6.0)


IIS 6.0 provides a redesigned World Wide Web Publishing Service (WWW service) architecture that can help you achieve better performance, reliability, scalability, and security for your Web sites, whether they run on a single server running IIS or on multiple servers.

IIS 6.0 runs a server in one of two distinct request processing models, called application isolation modes. Application isolation is the separation of applications by process boundaries that prevents one application or Web site from affecting another and reduces the time that you spend restarting services to correct problems related to applications.

In IIS 6.0, application isolation is configured differently for each of the two IIS application isolation modes. Both modes rely on the HTTP protocol stack (also referred to as HTTP.sys) to receive Hypertext Transfer Protocol (HTTP) requests from the Internet and return responses. HTTP.sys resides in kernel mode, where operating system code, such as device drivers, runs. HTTP.sys listens for, and queues, HTTP requests. The new request-processing architecture and application isolation environment enables individual Web applications, which always run in user mode, to function within a self-contained worker process. A worker process is user-mode code whose role is to process requests, such as returning a static page or invoking an Internet Server API (ISAPI) extension or filter. Worker processes use HTTP.sys to receive requests and send responses over HTTP..

IIS 6.0 Request Processing Models
Worker process isolation mode is the new IIS request processing model. In this application isolation mode, you can group Web applications into application pools, through which you can apply configuration settings to the worker processes that service those applications. An application pool corresponds to one request routing queue within HTTP.sys and one or more worker processes.

Worker process isolation mode enables you to completely separate an application in its own process, with no dependence on a central process such as Inetinfo.exe to load and execute the application. All requests are handled by worker processes that are isolated from the Web server itself. Process boundaries separate each application pool so that when an application is routed to one application pool, applications in other application pools do not affect that application. By using application pools, you can run all application code in an isolated environment without incurring a performance penalty. 

For a visual representation of worker process isolation mode architecture, see Figure 2.1.


Figure 2.1   Architecture of Worker Process Isolation Mode

Worker process isolation mode delivers all the benefits of the new IIS 6.0 architecture, including multiple application pools, health monitoring and recycling, increased security and performance, improved scalability, and processor affinity. For example, the new health monitoring features can help you discover and prevent application failures, and can also help protect your Web server from imperfect applications.

IIS 5.0 isolation mode provides compatibility for applications that were designed to run in earlier versions of IIS. When IIS 6.0 is running in IIS 5.0 isolation mode, request processing is almost identical to the request processing in IIS 5.0. When a server is working in IIS 5.0 isolation mode, application pools, recycling, and health monitoring features are unavailable.

For a visual representation of IIS 5.0 isolation mode architecture, see Figure 2.2. The dashed line in Figure 2.2 indicates the dependency of the worker process on the WWW service, which manages the worker process. 

Figure 2.2   Architecture of IIS 5.0 Isolation Mode

Use IIS 5.0 isolation mode only if components or applications do not function in worker process isolation mode. The latter mode is designed to provide an environment in which most existing applications or sites function correctly.

IIS 6.0 Services
IIS 6.0 provides four Internet services: the World Wide Web Publishing Service (WWW service) for hosting Internet and intranet content; the File Transfer Protocol (FTP) service for hosting sites where users can upload and download files; the Network News Transfer Protocol (NNTP) service for hosting discussion groups; and the Simple Mail Transfer Protocol (SMTP) service for sending and receiving e-mail messages.
After installing these services, you can create sites or virtual servers, configure properties and security settings, and set up components to further customize your system. 

WWW Service Administration and Monitoring, which is a new set of features that were added to the WWW service in IIS 6.0, manages worker processes, supports the new request processing model, and is responsible for health management and maintenance, including application pool health monitoring, recycling worker processes, and rapid-fail protection.

IIS Admin service is a service of the Microsoft® Windows® Server 2003, Standard Edition; Microsoft® Windows® Server 2003, Enterprise Edition; Microsoft® Windows® Server 2003, Web Edition; and Microsoft® Windows® Server 2003, Datacenter Edition operating systems. The IIS Admin service manages the IIS metabase, which stores IIS configuration data. The IIS Admin service makes metabase data available to applications and the core components of IIS. 

Comparing Basic Functionality Between IIS 6.0 and Earlier IIS Versions
For a quick preview of IIS architecture, comparing IIS 6.0 architecture with the architecture for earlier versions of IIS, see Table 2.1, which summarizes the basic functionality for different versions of IIS.

Table 2.1 Basic Functionality in Different Versions of IIS

Functionality
IIS 4.0
IIS 5.0
IIS 5.1
IIS 6.0
Platform
Microsoft® Windows NT® 4.0 operating system
Microsoft® Windows®  2000 Server operating system
Microsoft® Windows®  XP Professional operating system
Windows Server 2003

Architecture
32-bit
32-bit
32-bit and 64-bit
32-bit and 64-bit
Network subsystem
TCP/IP kernel
TCP/IP kernel
TCP/IP kernel
HTTP.sys kernel
Application request processing model
MTX.exe: Multiple DLL hosts in High application isolation.
Inetinfo.exe: In-process as DLLs with Low isolation.
DLLHost.exe: Multiple DLL hosts in Medium or High application isolation.
Inetinfo.exe: In-process as DLLs with Low isolation.
DLLHost.exe: Multiple DLL hosts in Medium or High application isolation.
Inetinfo.exe: In-process as DLLs with Low isolation.
W3wp.exe: In worker process isolation mode (multiple worker processes).
Inetinfo.exe: Only in IIS 5.0 isolation mode with in-process applications.
DLLHost.exe: Only in IIS 5.0 isolation mode with out-of-process applications.
Metabase configuration
Binary
Binary
Binary
XML
Security
Windows authentication
Secure Sockets Layer (SSL)
Windows authentication
SSL
Kerberos
Windows authentication
SSL
Kerberos
Windows authentication
SSL
Kerberos
.NET Passport support
Remote administration
HTMLA1
HTMLA
No HTMLA
Terminal Services
Remote Administration Tool (HTML)
Terminal Services

Hypertext Markup Language Administration or HTML-based administration. HTMLA-based administration allows administrators to manage IIS Web servers by using a standard Web browser, such as Microsoft® Internet Explorer, as the client-side interface.

No comments:

Post a Comment

Mixed Content: The page at xxx was loaded over HTTPS, but requested an insecure

 Mixed Content: The page at ' https ://www.test.com/signup.aspx' was loaded over HTTPS, but requested an insecure script ' http ...