说明

昨天用了3个小时大概略览了下这本书,就感觉所有该了解的都差不多了解了,有一种直接开始阅读卷二的冲动。而这又有违我之前的计划:深度探究TCP/IP详解系列。或许是自己太浮躁了,回头想想貌似这也不是我第一次有种浮躁感了。。很久以前记得看WINDOWS核心编程那本书,看了前3章就没再详细看下去,只是仅仅的略览了一遍,就感觉自己已经通晓了WINDOWS下的很多东西,现在回味下自己到底在WOINDOWS平台下会多少东西时那种熟悉的心虚感再次强烈起来。。一切皆是错觉!

TCP/IP协议并非指TCP协议和IP协议,它只是一种分组交换网络技术的名称,而这种技术中也包含代表性的TCP协议和IP协议,于是就用这个命名了。相较于OSI七层参考模型而言,TCP/IP协议只有四层,但其每层都可对应OSI参考模型中的一层或多层,其四层模型如下(图源自卷一,另在没有特别说明前本系列所有图片均源自书上):

深研TCP/IP详解卷1开篇_第1张图片

卷一中的开篇可谓是新官上任三把火的势头,一上来就一大堆不介绍原理和功能的协议名字把很多人弄的稀里糊涂的(因为我就有这种感觉)。于是我打算在我的开篇,不再在没有详细说明某个协议原理前不介绍这些协议,仅仅是说明些基础术语。

互联网地址

IPV4地址长32位,通常被划为四个点分十进制来表示,这些地址又被划分为五种不的表示形式,既A,B,C,D,E类,如下所示:

深研TCP/IP详解卷1开篇_第2张图片

由于每类地址的第一个点分十进制数(即第一段)的前面几位都已被固定限制,所以每种地址所表示的范围也是一致的,如A类地址由于其第一位为0,所限制出的地址范围只能是从0.0.0.0到(2^7-1).255.255.255,相对应的B类地址范围:2^7.0.0.0到(2^7+2^6-1).255.255.255。如下图所示:

深研TCP/IP详解卷1开篇_第3张图片

如此的限制也便使我们更方便的识别各类地址所属种类,如127.0.0.1便是个A类地址,128.5.21.98是个B类地址等等。

域名系统(DNS)

全称为Domin Name System,书中说的比较多,现在还没必要说的太详细,后续篇章会仔细说明,其实只是负责一种把域名转换为IP地址的技术。

端口号(Port Number)

通常在socket编程中所要指定的port,本质而言在标识一个网络进程,以使得底层传上来的数据利用自身端口信息不会传到其它进程去。通常用16bit表示,即理论上其表示范围为0——65535.通常临时端口分配范围为1024——5000,小于1024的为内核所占用,大于5000的为其它服务器预留。

对于TCP/IP的管理和标准订制文档RFC

TCP/IP协议的指定和改动由4个小组负责:ISOC(internet协会),IAB(internet体系结构委员会),IETF(internet工程专门小组),(IRIF,Internet研究专门小组)。所有的Internet正式标准都通过RFC(Request For Comment)文档出版。

TCP/IP的实现

通过这些已指定标准在早期的OS中具体实现由美国Berkeley市的加利福尼亚大学计算机系统研究小组负责,也称为berkeley socket。

系列计划目录

初次预想:在每一个涉及具体协议的章节我都会使用一个新篇幅,而对于应用层的一些协议,我会选择性的研读。以下是计划的初步构思目录:

 

链路层

IP,ARP,RARP

ICMP

IP选路方式

用户数据报协议UDP

广播和多播

Internet组管理协议IGMP

域名系统DNS

传说控制协议TCP