写点什么

关注于下一代网络的 Windows 2008

  • 2007-11-10
  • 本文字数:1088 字

    阅读完需:约 4 分钟

在各种繁富的 Web 应用之上,人们似乎对诸如 Socket、ICMP 等一系列传统意义上的“网络”开发渐渐淡忘。但随着富客户端应用、多核技术和 IP V6 & IP V4 混合时代的到来,如何充分利用网络继 P2P 之后设计下一代网络应用成为新的挑战,适时与此,微软在 Windows 2008 的网络协议栈和网络接口上已经作了很多调整。

随着处理器多核技术的推出,平台软件似乎也在向着双核、甚至多核的方向发展。05 年,各数据库厂商分别提供了面向 XML 和关系的混合数据库引擎,而 06 年开始各操作系统厂商也开始在产品中增加 IP V4 & V6 TCP/IP 协议统一 API 的支持,Windows 2008 作为即将发布的下一代系统也提供了双 TCP / IP 协议栈支持。下图是 Windows 2008 中的栈结构:

不难看出,其中 IP 层被两个并行的体系实现,区别于 Windows 2003 和 Windows XP 两个完全独立的协议栈不同,Windows 2008 的栈除 IP 层以外是一套统一的整体,因此开发人员无须自己再隔离一个协议无关层。这么做最大的一个好处在于帮助应用设计者更好的适应正在升级的 TCP/IP 环境,毕竟世界被拉平之后,我们的用户可能位于网络实施条件较好的北美、西欧和亚太地区,但也可能位于黑色大陆和南美,此外随着创新型网络应用技术的出现,信道部分的路由情况也会更加动态,因此采用增加了动态路由试探的统一双堆栈基础上的统一 API,可以大大简化架构师设计应用底层通信机制的工作。

另外,以往 Windows 2000、Windows XP 平台上普遍使用的用于开发网络核心态驱动的 TDI(Transport Driver Interface)网络访问 API 也被建议切换到 WSK(Winsock Kerne),原因是它是完全 Native 面向 Windows 新 TCP/IP 栈设计的接口,隔离了 IP V4 & V6 TCP/IP 之外,还将各种监控、信息筛选、网络设备负载动态调整等功能作了封装,无需开发人员另外实现类似特性支持。

(比较类似 COM+ 对 COM 技术的封装,除了实现组件二进制重用外,还提供了远程调用、基于角色的安全性、监控、池化等能力,而 COM+ 的开发人员只需用 COM+ 新的接口实现 COM 对象的功能逻辑部分即可,尤其用 Visual Basic 开发的 COM+ 更是如此。)

新增的“接收窗口自动调整”和“接收端负载均衡”(RSS:receive-side scaling)特性,也为更充分使用服务器资源提供便利。前者可以根据网络情况以类似“变形金刚”的方式(在畅通路段采用大货车方式、在拥堵路段采用“甲壳虫”方式)提交网络请求;后者则是面向以往操作系统网络协议栈计算的诟病——“网络协议栈的计算往往集中在一个处理器上(/ 一个核上),即便技术发展到服务器可以安装多个处理器、每个处理器也多核的时代之后,还主要继续让一个核担当过重的网络计算,而其他核闲置”。

2007-11-10 13:33570
用户头像

发布了 61 篇内容, 共 95946 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

华为云网站安全方案为企业数据保驾护航

科技说

Intent的基本使用

二哈侠

组件 intentservice 三周年连更

优化用户旅程:提升4S店销售管理系统的市场竞争力

L3C老司机

产品 产品设计 数字化 用户旅程 服务蓝图

多云之下,京东云的降本增效之道

人称T客

一篇文章了解SoapUI接口测试的全部流程

Liam

测试 接口测试 测试工具 API 测试

C生万物 | 分支和循环语句【内含众多经典案例】

Fire_Shield

C语言 三周年连更

本周参加两个SAP项目面试后的感想

SAP虾客

面试 SAP项目 行业经验

使用appuploader工具发布证书和描述性文件教程

雪奈椰子

未来源码|什么是数据集成?超全的SeaTunnel 集成工具介绍

MobTech袤博科技

Django笔记九之model查询filter、exclude、annotate、order_by

Hunter熊

Python django alias annotate order_by

盘点一下市面上常见的八种光纤接头,网络工程师你知道几个?

wljslmz

三周年连更

用情景领导力帮助团队管理-1

搬砖的周狮傅

2023-4-13 某SAP项目面试小记

SAP虾客

SAP EWM SAP Ariba SAP Workflow SAP PM

Chrome 浏览器的更新导致 jQuery 反复发版,只因 :has() 这个伪类

茶无味的一天

CSS jquery chrome 前端 浏览器

Java Stream常见用法汇总,开发效率大幅提升

程序员大彬

Java java8

推平“知识高峰”,AI将如何影响我们的学习?

Alter

华为云网站安全解决方案,助力企业安心稳步发展

科技说

小程序生命周期

程序员海军

三周年连更

第五元素奏鸣曲:企业的新数据之道

脑极体

数据

一个强大的go生产力工具,极大的提高开发效率、缩短开发项目时间和人工成本

vison

微服务 gRPC Go 语言 gin 代码自动生成

过去的90天,ODC 发生了哪些新的改变?

OceanBase 数据库

数据库 oceanbase

一文掌握 Go 文件的写入操作

陈明勇

Go golang 后端 文件写入 三周年连更

缓存失效后的解决方案

穿过生命散发芬芳

缓存 三周年连更

API渗透测试之漏洞发现

阿泽🧸

三周年连更

Go语言开发小技巧&易错点100例(四)

海风极客

三周年连更

AI日课@20230413:Prompt Engineering 02 - 原则

无人之路

ChatGPT

求助 iOS 分发的最佳实践

雪奈椰子

我决定给 ChatGPT 做个缓存层 >>> Hello GPTCache

Zilliz

Zilliz ChatGPT LLM gptcache

糟了,生产环境数据竟然不一致,人麻了!

冰河

MySQL 数据库 数据一致性 数据存储

一文读懂注解的底层原理

老周聊架构

三周年连更

鲲鹏DevKit原生开发,效率倍增使能极简开发

乌龟哥哥

鲲鹏 DevKit 三周年连更

关注于下一代网络的Windows 2008_微软_王翔_InfoQ精选文章