《UNIX网络编程 卷1:套接字联网API(第3版)》——1.8 BSD网络支持历史

简介: 源自Berkeley的最终版本是1994年的4.4BSD-Lite和1995年的4.4BSD-Lite2。我们指出这两个版本是其他多个系统(包括BSD/OS、FreeBSD、NetBSD和OpenBSD)的基础,这些系统大多数仍然处于活跃的开发和完善之中。
+关注继续查看

本节书摘来自异步社区《UNIX网络编程 卷1:套接字联网API(第3版)》一书中的第1章,第1.8节,作者:【美】W. Richard Stevens , Bill Fenner , Andrew M. Rudoff著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.8 BSD网络支持历史

套接字API起源于1983年发行的4.2BSD操作系统。图1-15展示了各种BSD发行版本的发展史,并注明了TCP/IP的主要发展历程。1990年面世的4.3BSD Reno发行版本随着OSI协议进入BSD内核而对套接字API做了少量的改动。
screenshot

图1-15中从4.2BSD往下到4.4BSD的通路展示了源自Berkeley计算机系统研究组(Computer Systems Research Group,CSRG)的各个版本,它们要求获取者已拥有Unix的源代码许可权。然而其中的所有网络支持代码,不论是内核支持(如TCP/IP协议栈、Unix域协议栈及套接字API)还是应用程序(如Telnet和FTP客户和服务器程序)都是独立于源自AT&T的Unix代码开发的。因此从1989年起,Berkeley开始提供第一个BSD网络支持版本,它包含所有的网络支持代码以及不受Unix源代码许可权约束的其他各种BSD系统软件。这些包含网络支持代码的版本是可公开获取的,最终因特网上任何人都可通过匿名FTP获取。

源自Berkeley的最终版本是1994年的4.4BSD-Lite和1995年的4.4BSD-Lite2。我们指出这两个版本是其他多个系统(包括BSD/OS、FreeBSD、NetBSD和OpenBSD)的基础,这些系统大多数仍然处于活跃的开发和完善之中。有关各种BSD版本和各种Unix系统历史的详情参见[Mckusick et al.1996]的第1章。

许多Unix系统从某个版本的BSD网络支持代码(包括套接字API)开始提供网络支持,我们称这些实现为源自Berkeley的实现(Berkeley-derived implementation)。许多商业版本的Unix是基于System V版本4(System V Release 4,SVR4)的,其中有一些系统使用源自Berkeley的网络支持代码(如UnixWare 2.x),其他SVR4系统的网络支持代码却是独立起源的(如Solaris 2.x)。我们还要注意,Linux这种流行的可免费获得的Unix实现并不适合归属源自Berkeley的系列,因为它的网络支持代码和套接字API都是从头开始开发的。

相关文章
|
JavaScript 前端开发 API
Node.js 支持 fetch API
Node.js 支持 fetch API
215 0
Node.js 支持 fetch API
|
Prometheus Kubernetes 监控
Kruise Rollout v0.2.0 版本发布:支持 Gateway API、StatefulSet 分批发布等能力
Kruise Rollout 作为一种旁路式的渐进式交付框架,能够非常方便的与社区内优秀的应用交付平台集成。用户基本上不需要做额外的改动,只需要一份 Kruise Rollout CRD 定义即可。
Kruise Rollout v0.2.0 版本发布:支持 Gateway API、StatefulSet 分批发布等能力
EMQ
|
边缘计算 监控 物联网
NanoMQ Newsletter 2022-07|v0.10:多路桥接、HTTP 发布 MQTT 消息 API、NanoSDK 支持 MQTT 5.0
v0.10.0已于8月初正式发布,此版本主要增强了桥接功能,新增了发布消息的HTTP API,同时还为NanoSDK增加了MQTT 5.0支持。
EMQ
238 0
NanoMQ Newsletter 2022-07|v0.10:多路桥接、HTTP 发布 MQTT 消息 API、NanoSDK 支持 MQTT 5.0
|
SQL Oracle 关系型数据库
接口大师v3.13更新:支持一键导入swagger,即刻开放内部API接口
接口大师v3.13更新:支持一键导入swagger,即刻开放内部API接口
|
API Windows
Qt实用技巧:Qt中添加对windows api的支持,显示/隐藏任务栏和桌面(解决无法找到windows api)
Qt实用技巧:Qt中添加对windows api的支持,显示/隐藏任务栏和桌面(解决无法找到windows api)
|
前端开发 Java API
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(下)
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(下)
|
前端开发 Java API
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(中)
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(中)
|
存储 前端开发 Java
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(上)
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(上)
CORS跨域资源共享(二):详解Spring MVC对CORS支持的相关类和API【享学Spring MVC】(上)
|
JSON 缓存 安全
开源IM项目OpenIM发布消息推送api,支持应用与IM互通深度融合
开源IM项目OpenIM发布消息推送api,支持应用与IM互通深度融合
1268 0
开源IM项目OpenIM发布消息推送api,支持应用与IM互通深度融合
|
Web App开发 API 开发者
如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持
如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持
如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多