《深入解析IPv6(第3版)》——2.4 应用程序开发接口

2.4 应用程序开发接口

Windows包含以下支持IPv6的应用程序接口(API)。

  • Windows Sockets(Windows套接字)。
  • Winsock Kernel。
  • Remote Procedure Call(远程过程调用)。
  • Internet Protocol Helper。
  • Win32 Internet Extensions(Win32 Internet扩展)。
  • NET Framework(.NET框架)。
  • Windows Runtime。
  • Windows Filtering Platfum(过滤平台)。
  • Windows Management Instrmentation version 2(Windows管理规范版本2)

2.4.1 Windows Sockets
Windows Sockets(Winsock)是基于我们熟悉的加州大学伯克利分校所定义的“socket”接口的API。它包括一系列扩展,能更好地利用微软Windows的消息驱动特性。Windows Sockets规范1.1版本发布于1993年1月,而Windows Sockets 2.2.0版发布于1996年5月。

Winsock(即微软Windows的套接字实现)的设计目标是在Windows操作系统中高效运行,同时保持与伯克利软件套件(BSD,即伯克利套接字)标准兼容。使用Winsock,程序员无需关注使用的网络协议就可以编写出支持Internet、内联网或其他网络的高级应用,并使之通过网络传送数据。

Windows的Winsock已根据RFC 3493,“Basic Socket Interface Extensions for IPv6”和RFC 3542,“Advanced Sockets API for IPv6”升级为可支持IPv6的版本。如需进一步了解有关IPv6高级套接字API的内容,请参阅附录F。

2.4.2 Winsock Kernel
Winsock Kernel(WSK)是一种独立于传输的内核模式的API。使用WSK,内核模式的软件模块(如第三方驱动)就能够像用户模式支持的Winsock那样,使用类套接字开发语义执行网络通信。WSK的设计目标是为内核模式开发商提供一个便于使用的接口。对基于WSK的软件模块而言,WSK同时支持基于IPv4和基于IPv6的连接。

2.4.3 Remote Procedure Call(远程过程调用)
远程过程调用(RPC)是用于创建分布式客户端/服务器程序的API。RPC运行时存根(stub)和库(library)管理了大部分与网络协议和通信相关的细节。RPC函数用于将应用功能呼叫通过网络发送给远端的系统。Windows中的RPC组件都支持IPv6。RPC组件经过修改,使用更新的Winsock函数,这使得RPC可以同时运用于IPv4和IPv6环境中。

2.4.4 IP Helper(IP助手)
Internet协议助手(IP助手)是用于辅助本地计算机在网络配置方面管理的API。用户可以使用IP助手以可编程的方式来获取本地计算机的网络配置信息并修改这些信息(不过,通过IP助手实现的配置修改不能持久)。IP助手也提供了通告机制,确保当本地计算机上特定方面的网络配置发生改变时能通告给应用程序。

Windows对IP助手进行了扩展,允许对IPv6及其组件进行管理和配置。IP助手支持IPv6的方面如下:

  • 获取有关网络配置、网络适配器、接口、地址、IPv6、ICMPv6、路由、TCP和UDP的信息;
  • 获取网络事件的通告。

2.4.5 Win32 Internet扩展
Win32 Internet扩展(WinInet)是用于创建Internet客户端应用的API。Internet客户端应用是使用Internet协议(例如gopher、FTP或HTTP)从Internet数据源(服务器)访问信息的程序。Internet客户端应用可能会访问服务器并获取数据,如气象图、股票价格或报纸头条。Internet客户端能够通过外部网络(Internet)或内部网络(内联网)来访问服务器。

Windows中的WinInet得到了扩展并支持IPv6。这就允许微软的IE浏览器可以使用WinInet来访问支持IPv6的Web站点,并能够在URL中使用字符形式的IPv6地址。

2.4.6 .NET Framework
.NET Framework是.NET平台的编程平台,用于构建、部署以及运行可扩展标记语言(Extensible Markup Language, XML)Web服务和应用程序。.NET框架管理了大部分的底层编码,使得开发者能够集中精力为应用程序编写业务代码。Windows提供的.NET框架支持IPv6,允许.NET框架的应用程序在IPv6或IPv4的环境中运行。

2.4.7 Windows Runtime
Windows Runtime是Windows Server 2012和Windows 8一个新开发平台,可以用来创建Metro应用。Windows Runtime开发的应用可以在IPv6或IPv4的环境中运行。

2.4.8 Windows过滤平台
Windows过滤平台(WFP)提供的API,使第三方独立软件供应商(ISV)能够加入到过滤决策中,而这些过滤决策存在于TCP协议栈的多个层以及整个操作系统中。WFP也集成并提供了对防火墙新特性的支持,如验证通信,以及基于应用程序对WinSock API(基于应用程序的策略)的使用状况来动态配置防火墙的特性等。ISV能够创建防火墙、杀毒软件、诊断软件以及其他类型的应用程序和服务。Windows防火墙和IPSec使用了WFP API。

2.4.9 Windows管理规范(Windows Management Instrmentation)版本2
Windows管理规范(WMI)版本2是Windows中的一个架构,可以访问管理数据并执行操作。这些操作可以通过WMI脚本或应用来执行。WMI也可以用来对远程计算机执行自动管理任务。

时间: 2024-09-11 03:54:53

《深入解析IPv6(第3版)》——2.4 应用程序开发接口的相关文章

《深入解析IPv6(第3版)》—— 导读

前言 由于下列事件,IPv6对于未来因特网和组织内联网的重要性已毋庸置疑. 2011年2月3日,互联网名称与数字地址分配机构(ICANN)加入了数字资源组织(NRO),因特网结构委员会(IAB)和互联网协会(Internet Society).这一天,ICANN宣称,IPv4因特网地址当前已经全部被分配了出去.区域地址分配机构仍然有一些公有IPv4地址空间可以分配给各个组织机构,但是再也没有保留的IPv4地址空间了. 2011年6月8日,Microsoft与因特网协会的其他成员共同参加了世界IP

《深入解析IPv6(第3版)》——2.2 Windows的IPv6协议特性

2.2 Windows的IPv6协议特性 Windows中的IPv6协议包含以下特性. 默认已安装.启用,且已选用. 基本IPv6栈支持. IPv6协议栈增强. 通过GUI(图形用户界面)和命令行进行配置. 集成了对IPSec的支持. Windows防火墙支持. 临时地址. 随机接口ID. 域名系统(DNS)支持. 源地址和目的地址选择. ipv6-literal.net域名支持. 链接本地组播域名解析(Link-Local Multicast Name Resolution, LLMNR).

《深入解析IPv6(第3版)》——1.6 部署IPv6

1.6 部署IPv6 尽管IPv6协议提供了许多技术进步和创新,但对它的应用仍然需要来自商业角度的考验,并由终端用户组织和ISP的IT职员进行部署.在网络架构中部署支持本地IPv61的环境需要规划并设计好(它与IPv4的)并存性和迁移策略,以及软硬件的安装和维护方式.综合考虑IT员工.软硬件资源.迁移所需时间等因素,特别是要考虑到其他更显而易见的或者在短期内更有利可图的新兴技术,这些对于评估是否在本地部署支持IPv6的网络意义重大. 还有一点必须加以考虑,那就是Internet这项技术,从一个用

《深入解析IPv6(第3版)》——2.9 用Netsh显示IPv6配置

2.9 用Netsh显示IPv6配置 在一台运行Windows系统的计算上,可以用来来查看IPv6配置信息的常用命令如下所示. Netsh interface ipv6 show interface. Netsh interface ipv6 show address. Netsh interface ipv6 show route. Netsh interface ipv6 show neighbors. Netsh interface ipv6 show destinationcache.

《深入解析IPv6(第3版)》——2.7 支持IPv6的工具

2.7 支持IPv6的工具 Windows包括了如下支持IPv6的命令行工具,而这些工具也是网络故障修理中最常用的. ipconfig. route. ping. tracert. pathping. netstat. 2.7.1 ipconfigipconfig用于显示所有当前网络的配置参数配置,它一般用于执行一些维护任务,比如刷新DHCP和DNS设置等.在Windows系统中,不带参数的ipconfig命令用来显示所有分配有地址的物理网络适配器和隧道接口的IPv4和IPv6配置. 运行Win

实例解析IPv6环境下的网络编程

自IPv4诞生至今已有20多年了,目前它虽仍因互联网的成功而风光无限,但是如同"Internet正在成为其自身巨大成功的受害者"一样,目前IPv4地址的极度匮乏注定它将被历史所淘汰.而IPv6-IPv4的继承人,具有地址空间巨大,支持QOS等许多优良特性,在不久的将来会迅速的普及,但IPv6的出现将对目前网络编程方式产生一定的影响. 本文将就IPv6环境下的网络编程方式进行实例解析. 最终效果: 实例解析IPv6环境下的网络编程-配置篇 目前我们所用的IP协议是v4版本的, 比如192

《设计模式解析(第2版•修订版)》目录—导读

作者简介 设计模式解析(第2版•修订版) Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO.他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询.培训和软件开发的经验,并经常受邀在重要的软件开发会议(包括SD Expro.Java One.OOP和OOPSLA)上演讲. James R. Trott 美国一家大型金融机构的资深顾问.他是应用数学科学硕士.MBA和跨文化研究硕士.在其20年的职业生涯中,他一直将面向对象和基于模式的分析技术运用在知识

《设计模式解析(第2版•修订版)》—第1章 1.6节面向对象范型

1.6 面向对象范型 设计模式解析(第2版•修订版) 使用对象将责任转移到更局部的层次 面向对象范型以对象概念为中心,一切都集中在对象上.编写代码时是围绕对象而非函数进行组织的. 对象是什么?对象传统上被定义为带有方法(面向对象领域称呼函数的术语)的数据.糟糕的是,这是一种非常有局限性的对象观.稍后我会给出一个更好的对象定义(在第8章中还会谈到).我说到对象的数据时,可能指数值和字符串这样的简单事物,也可能指其他对象. 使用对象的优点在于,可以定义自己负责自己的事物(参见表1-2).对象天生就知

《设计模式解析(第2版•修订版)》—第1章 1.2节面向对象范型之前:功能分解

1.2 面向对象范型之前:功能分解 设计模式解析(第2版•修订版) 功能分解是一种处理复杂问题的自然方法 让我们从对一种常用的软件开发方法的考察开始吧.如果给你一个任务,要编写一段代码,访问在数据库中存储的形状描述然后显示出来.按照所需要的步骤来思考,是一种很自然的选择.比如,你可能认为应该按照以下步骤解决这个问题. 1.在数据库中找到形状列表. 2.打开形状列表. 3.按某种规则将列表排序. 4.在显示器上显示各个形状. 还可以选取以上任意一个步骤,进一步分解成实现所必需的若干步.例如,可以将