目录
一、传输技术
二、互连处理器的分类
三、网络软件
1.协议层次结构
2.面向连接和无连接服务
3.服务原语
4.服务与协议的关系
四、参考模型
1.ISO参考模型
2.TCP/IP参考模型
一、传输技术
从广义上讲,目前普遍使用的传输技术有两种,分别是广播式链路和点到点链路。
点到点链路——点到点链路将一对单独的机器连接起来。在一个由点到点链路组成的网络中,为了从源端到达接收方,短消息必须首先访问一个或多个中间机器,这种短消息在某些情况下称为数据包或包。点-点传输只能有一个发送方和一个接收方,有时候也称为单播。
广播式链路——在一个广播网络上,通信信道被网络上的所有机器所共享;任何一台机器发出的数据包能被所有其他任何机器收到。每个数据包的地址字段指定了预期的接收方。当一个机器收到数据包时,它要检查地址字段。如果包的目的地就是接收机器,则该机器要处理此数据包;如果包的目的地址是某台其他机器,则该机器就忽略此数据包。
二、互连处理器的分类
三、网络软件
1.协议层次结构
为了降低网络设计的复杂性,绝大多数网络都组织成一个层次栈或分级栈,每一层都建立在其下一层的基础之上。层的个数、每一层的名字、每一层的内容以及每一层的功能各个网络不尽相同。每一层的目的是向上一层提供特定的服务,而把如何实现这些服务的细节对上一层加以屏蔽。从某种意义上讲,每一层都是一种虚拟机,它向上一层提供特定的服务。
一台机器的第n层与另一台机器的第n层进行对话,该对话中使用的规则和约定统称为第n层协议。所谓协议,就是指通信双方就如何进行通信的一种约定。下图是一个5层网络。不同机器上构成相应层次的实体称为对等体。这些对等体可能是软件过程、硬件设备。
实际上,数据并不是从一台机器的第n层直接传递到另一台机器的第n层。相反,每一层都将数据和控制信息传递给它的下一层,这样一直传递到最低层。第1层下面是物理介质,通过它进行实际的通信。在上图中,虚线表示虚拟通信,实现表示物理通信。在每一对相邻层次之间的是接口,接口定义了下层向上层提供哪些原语操作和服务。
2.面向连接和无连接服务
下层可以向上层提供两种不同类型的服务:面向连接的服务和无连接的服务。
面向连接的服务——面向连接的服务是按照电话系统建模的。为了使用面向连接的网络服务,服务用户首先必须建立一个连接,然后使用该连接传输数据,最后释放该连接。这种连接最本质的方面在于它像一个管道:发送方把对象(数据位)压入管道的一端,接收方在管道的另一端将它们取出来。在大多数情况下,数据位保持原来的顺序,所以数据位都会按照发送的数据到达。
无连接服务——无连接服务是按照邮政系统建模的。每个报文(信件)都携带了完整的目标地址,每个报文都有系统中的中间节点路由,而且路由独立于后续报文。如果中间节点只能在收到报文的全部内容之后再将该报文发送给下一个节点,这种处理方式为存储-转发交换。有别与此的另一种方式是在报文还没有被全部接收完毕之前就向下一个节点传输,这种处理方式称为直通式交换。通常来说,当两个报文被发往同一个目的地时,首先被发送的报文会到达。然而,先发送的报文可能被延迟,因而后发送的的报文比它先到达,这种情况也是有可能发生的。
3.服务原语
一个服务由一组原语正式说明,用户进程通过这些原语(操作)来访问该服务。原语告诉服务要执行某个动作,或者将对等实体所执行的动作报告给用户。可用的原语取决于底层所提供的服务。面向连接的原语与无连接服务的原语是不同的。原语示例如下:为简单面向连接服务提供的6个服务原语。
这些原语在客户机-服务器环境下可用来实现“请求-应答”交互式应用。
4.服务与协议的关系
服务和协议是两个截然不同的概念。服务是指某一层向它上一层提供的一组原语(操作)。服务定义了该层准备代表其用户执行哪些操作,但是它并不涉及如何实现这些操作。服务与两层之间的接口有关,低层是服务提供者,而上层是服务用户。
协议是一组规则,规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义。对等实体利用协议来实现它们的服务定义,它们可以自由的改变协议,只要不改变呈现给它们用户的服务即可。按照这种方式,服务和协议是完全相分离的。
服务涉及层与层之间的接口,协议涉及不同机器上两个对等实体之间发送的数据包。
四、参考模型
1.ISO参考模型
该协议基于国际标准化组织(ISO,International Standards Organization)的提案。这个模型称为ISO的开放系统互连(OSI,Open Systems Interconnection)参考模型,因为它涉及如何连接开放的系统——即那些为了与其他系统通信而开放的系统。
OSI模型有7层,适用于这7层的基本原则如下:
(1)应该在需要一个不同抽象体的地方创建一层。
(2)每一层应该执行一个明确定义的功能。
(3)每一层功能的选择应该向定义国际标准化协议的目标看齐。
(4)层与层边界的选择应该使跨越接口的信息流最小。
(5)层数应该足够多,保证不同的功能不会被混杂在同一层中,但同时层数又不能太多,以免体系结构变得过于庞大。
OSI参考模型本身并不是一个网络体系结构,因为它并没有定义每一层的服务和所用的协议。它只是指明了每一层应该做些什么事。
物理层——关注在一条通信信道上传输原始比特。
数据链路层——主要任务是将一个原始的传输设施转变成一条没有漏检传输错误的线路。
网络层——主要功能是控制子网的运行。
传输层——接收来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并且确定这些数据单元正确地到达另一端。传输层是真正的端到端的层,它自始至终将数据从源端携带到接收方。
会话层——允许不同机器上的用户建立会话。会话通常提供各种服务,包括对话控制、令牌管理(禁止双方同时执行同一个关键操作),以及同步功能。
表示层——表示层以下的各层主要关注的是如何传递数据位,而表示层关注的是所传递信息的语法和语义。不同的计算机可能有不同的内部数据表示法,为了让这些计算机能够进行通信,它们所交换的数据结构必须以一种抽象的方式来定义,同时还应该定义一种“线上”使用的标准编码方法。表示层管理这些抽象的数据结构,并允许定义和交换更高层的数据结构。
应用层——包含了用户通常需要的各种各样的协议。一个得到广泛使用的应用协议是超文本传输协议(HTTP),它是万维网的基础。
2.TCP/IP参考模型
链路层——模型中的最低层。该层描述了链路必须完成什么功能才能满足无连接的互联网络层的需求。
互联网层——是将整个网络体系结构贯穿在一起的关键层。它大致对应于OSI的网络层,该层的任务是允许主机将数据包注入到任何网络,并且让这些数据包独立的到达接收方(接收方可能在不同的网络上)。互联网层定义了官方的数据包协议和格式,该协议称为因特网协议(IP),与之相伴的还有一个辅助协议,称为因特网控制报文协议(ICMP)。
传输层——它的设计目标是允许源主机和目标主机上的对等实体进行对话,犹如OSI的传输层一样。这里定义了两个端到端的传输协议。第一个是传输控制协议(TCP),它是一个可靠的、面向连接的协议,允许从一台机器发出的字节流正确无误地交付到互联网上的另一台机器。传输层的第二个协议是用户数据报协议(UDP),它是一个不可靠的、无连接的协议,适用于那些不想要TCP的有序性或流量控制功能,而宁可自己提供这些功能的应用程序。UDP被广泛应用于那些一次性的基于客户机-服务器类型的“请求-应答”查询应用,以及那些及时交付比精确交付更加重要的应用,比如传输语音或者视频。
应用层——在传输层之上是应用层,它包含了所有的高层协议