简介
- 阅读TCP/IP详解卷一:协议的学习笔记
第一章 概述
- 当一种语言用于一组行为时,需要使用一种协议。一系列相关协议的集合称为一个协议族。指定一个协议族中的各种协议之间的相互关系并划分需要完成的任务的设计,称为协议族的体系结构或参考模型。
- TCP/IP是一个实现Internet体系结构的协议族,它来源于ARPANET参考模型(ARM)。
1.1 体系结构原则
- TCP/IP是一个开放的系统,协议族定义和很多实现是公开的,收费很少或者根本不收费。它构成全球因特网(Internet)的基础。尽管很多人认为因特网和万维网是可互换的术语,但我们通常认为因特网在计算机之间提供了消息通信能力,而万维网是一种使用因特网来通信的具体应用。
1.1.1 分组,连接和数据报
- 20世纪60年代出现的一个重要概念是分组交换思想。在分组交换中包含一定字节数的数字信息“块”(分组)独立通过网络。来自不同来源或发送方的块可以组合,而且以后可以分解,这称为“多路复用”。
- 在使用信令协议在一条虚电路上交换数据之前,每个流状态已经建立,该协议支持连接建立,清楚和状态信息。因此,这种网络称为面向连接的。
- 无论是建立在线路还是交换的基础上,面向连接的网络是多年来最流行的联网方式。
- 在20世纪60年代后期,数据报作为另一种可选方案而得到发展。数据包起源于CYCLADES系统,它是一个特定类型的分组,有关来源和最终目的的所有识别信息都位于分组中(而不是分组交换机中)。虽然这通常需要较大的数据包,但不需要再交换机中维护连接状态,它可用于建立一个无连接的网络,并且没必要使用复杂的信令协议。
1.1.3 差错控制和流量控制
- 在网络中存在数据损坏或丢失的情况。这可能出于各种原因,例如硬件问题,数据传输中被修改,在无线网络中超出范围,以及其他因素。对这种错误的处理称为差错控制,它可以在构成网络基础设施的系统,连接到网络的系统或其他组合中实现。
- 针对网络中可靠,按顺序交付的实现开销,帧中继和Internet协议采用一种称为尽力而为交付的服务。
1.2 设计和实现
- 我们对协议体系结构和实现体系结构加以区分,实现体系结构定义了协议体系结构中的概念如何用于软件形式的实现中。
1.2.1 分层
通过分层,每层只负责通信的一个方面。采用多层是有益的,这是因为分层设计允许开发人员分别实现系统的不同部分,他们通常由在不同领域的专业人员完成。最常提到的协议分层概念基于一个称为开发系统互联标准(OSI)的模型。
尽管OSI模型建议的7个逻辑层在协议体系结构的模块化实现中是可取的,但是通常认为TCP/IP体系结构包含5层。
如图1-2的简要介绍,每层都有不同的任务。自上而下
- 物理层定义了一种通过某种通信介质传输数字信息的方法。以太网和无线局域网标准的一部分也在这层。
- 链路层或数据链路层包含为共享相同介质的邻居建立连接的协议或方法。有些链路层网络只连接两个邻居。当超过一个邻居可以访问共享网络时,这个网络称为多接入网络。WiFi和以太网是这种多接入链路层网络的例子,特定协议用于协调多个站在任何时间访问共享介质。
在层次结构中,我们对网络层或互联网络层最有兴趣。
传输层提供了一个会话之间的数据流,而且可能相当复杂,这取决于它提供的服务类型。
会话标识运行中的应用之间的交互,会话层协议可提供例如连接初始化和重新启动,增加检查点等功能
表示层负责信息的格式转换和标准化编码。
正如我们看到的,Internet协议不包括正式的会话层和表示层,如果需要的话,这些功能由应用程序来实现。
最高层是应用层。各种应用通常会实现自己的应用层协议,他们对用户来说是最容易看到的。目前已存在大量的应用层协议,并且程序员仍在不断开发新协议。因此,应用层是创新最多,以及新功能开发和部署的地方。