Below is a listing of several different programming languages and scripting languages we are familiar with.
- C, C++, Java
- MySQL, SQL
- Perl, PHP, Python, XML
About NDIS and LSP:
NDIS (Network Driver Interface Specification) is a Windows specification for how communication protocol programs (such as TCP/IP) and network device driver should communicate with each other. NDIS specifies interfaces for:
- The program that sends and receives data by constructing or extracting it from the formatted units called frame (and sometimes packet or datagram). This program, usually called a protocol stack, is layering and generally corresponds to layers 3 and 4 (the Network Addressing and Transport layers) of the Open Systems Interconnection (OSI) reference model. Examples are TCP/IP and Internetwork Packet Exchange.
- The program, usually called a device driver, that interacts directly with the network interface card (NIC) or other adapter hardware, which sends or receives the data on the communications line in the form of electronic signals. The driver program and the NIC interact at the Media Access Control (MAC address) sublayer of layer-2 level of OSI, which is called Data-Link Control. (Putting the signal on the line is the layer-1 or the Physical layer of OSI.) Examples of MAC drivers are those for Ethernet, Fiber Distributed-Data Interface, and token ring.
- A program called the Protocol Manager that assists the protocol stack program and the MAC driver program by telling each of them the computer location of the other when the operating system is started or, in some cases, when a new device is added to the computer. This is called bind. A system file called PROTOCOL.INI identifies which protocol stacks use which MAC drivers and where each is located. A protocol stack can be bound to more than one MAC driver where a computer is connected to multiple networks. And a single MAC driver can be bound to more than one protocol stack in a computer.
NDIS was developed by Microsoft and 3Com. Using NDIS, Windows software developers can develop protocol stacks that work with the MAC driver for any hardware manufacturer’s communications adapter. By the same token, any adapter maker can write a MAC driver software that can communicate with any protocol stack program.
A similar interface, called Open Data-Link Interface (ODI), is provided by Novell for its NetWare local area network operating system.
The latest version of NDIS, NDIS 5.0, specifies the interface for Windows 98 and Windows NT 5.0. A new kind of device model called the miniport driver model is specified that facilitates plug-and-play device features.
Layered Service Provider (LSP) is a feature of the Microsoft Windows Winsock 2 Service Provider Interface (SPI). A Layered Service Provider is a DLL that uses Winsock APIs to insert itself into the TCP/IP protocol stack. Once in the stack, a Layered Service Provider can intercept and modify inbound and outbound Internet traffic. It allows processing of all the TCP/IP traffic taking place between the Internet and the applications that are accessing the Internet (such as a web browser, the email client, etc.). For example, it could be used by malware to redirect web browers to rogue websites, or to block access to sites like Windows Update. Alternatively, a computer security program could scan network traffic for viruses or other threats. The Winsock Service Provider Interface (SPI) API provides a mechanism for layering providers on top of each other. Winsock LSPs are available for a range of useful purposes, including parental controls and Web content filtering. The parental controls web filter in Windows Vista is an LSP. The layering order of all providers is kept in the Winsock Catalog.