继续我们的例子,假设Ann和Bill都去度假了,另外一对堂兄妹——Susan和Harvey代替——他们来提供家庭内部的邮件收取和分发工作 。不幸的是,Susan和Harvey所提供的收集和分发工作与Ann和Bill所提供的不完全相同 。对于年龄更小的Susan和Harvey来说,他们收集和分发邮件的频率比较少,而且偶然会发生丢失信件的事情(这些信件偶然被家里的狗吃掉了) 。这样,这一对堂兄妹Susan和Harvey提供了一套不同于Ann和Bill的服务(也就是说,服务模型不同) 。打比方来说,正如一个计算机网络可以接受不同的传输层协议一样,每一个协议为应用程序提供不同的服务模型 。
Ann和Bill所可能提供服务明显地受限于邮递服务所提供的服务 。例如,假如邮递服务并不提供在两所房子之间传递邮件所需要的最大时限(如3天),那么Ann和Bill也就不能保证各个堂兄妹之间的邮件的最大延迟 。同样,传输层协议所提供的服务也通常受限于位于其下方的网络层协议 。假如网络层协议不能提供主机之间传送的4—PDU的延迟和带宽保证,那么传输层协议也不能提供进程之间传送的消息的延迟和带宽保证 。
然而,即使当下面的网络层协议使得网络层并不能提供某些相应服务时,传输层协议仍然可以提供某些特定服务 。例如,即使下面的网络层协议并不是可靠的,也就是说,即使网络层协议丢失、篡改或者复制了传送的数据包,传输层协议也可以提供可靠的数据传输服务 。另一个例子是,即使网络层不能保证4—PDU的保密性,传输层协议也可以通过加密的方式来保证应用程序消息不被入侵吝读取 。我们会在以后的文章里逐渐接触到这些问题 。
因特网中传输层
回忆一下因特网,通常是TCP/IP网络,应用层可以得到两种不同的传输层协议 。其中—·种协议是UDP(User Datagram Protocol),它为调用应用进程提供了一种不可靠的、无连接的服务 。第二种协议是TCP(Tansmission Control Protocol),它为调用应用进程提供了一种可靠的、面向连接的服务 。当设计一个网络应用程序时,应用程序外发者必须指定这两种传输协议中的一种 。
在进行UDP和TCP的简单介绍之前,我们有必要先简介—下因特网的网络层 。因特网的网络层协议有——个名字——ID,也就是iNTERNET Protocol 。IP提供了主机之间的逻辑通信 。IP服务模型是一个尽力传送服务 。这就意味着IP尽它最大的努力在通信主机之间传送数据段,但是却不提供任何保障 。非凡是,它不能保证数据段传输的安全性,不能保证数据段的顺序传输,不能保证数据段传输的数据完整性 。基于这些原因,IP被称为不可靠服务 。每一个主机都要有一个IP地址 。
在对IP服务模型进行了简要介绍之后,让我们来总结—下TCP和UDP的服务模型 。UDP和TCP的基本职责就是将IP的两个终端系统之间的传送服务扩展为终端系统上运行的两个进程之间的传送服务 。主机—主机的传送到进程—进程传送的扩展被称为应用程序的多路复用和多路分解 。UDP和TCP还通过在头部中加入纠错字段来提供完整性检测 。这两个最小的传输层服务——进程—进程数据传送和错误检测——是UDP所提供的惟一的两个服务!非凡是,正如IP一样,UDP是一种不可靠的服务,它不能保证由一个进程送出的数据可以完整地到达目标进程 。
【新手入门:OSI七层网络协议之传输层】另一方面,TCP为应用进程提供了几种额外的服务 。首先,也是最重要的,它提供可靠的数据传输 。通过使用数据流控制、序列编号、确认和计时器(我们会在以后的文章介绍这些技术),TCP保证了数据正确有序地从发送方进程传送到接收方进程 。这样,TCP就将IP的终端系统之间的不可靠传送服务转换成了进程之间的可靠的数据传输服务 。TCP还使用了拥塞控制机制 。与其说拥塞控制是提供给调用进程的服务,不如说它是提供给整个因特网的服务,为了公共利益的服务 。泛泛地说,TCP拥塞控制阻止了任何一个TCP连接在超大量数据传输时链路和交换机被沉没的问题 。确切地说,TCP答应TCP连接通过一个拥挤的网络链路平等地分享该链接的带宽 。这是通过调整发送方TCP可以传送到网络的流量米实现的 。而UDP的通信流量是无法进行控制的 。一个使用UDP传输协议的应用程序可以用其需要的任意速度发送数据 。
推荐阅读
- 图 新手入门:了解网络应用与网络协议
- 组图 TCP/IP协议新手入门学习二
- 组图 TCP/IP协议新手入门学习一
- 常见网络通信协议
- 网络通信协议
- 网络协议对应的物理硬件
- 如何用excel制表 新手入门excel表格制作
- 使命召唤15新手入门图文教学 解锁币+转生玩法+更换头像方法 解锁币及转生技巧
- ssl协议属于osi哪一层 ssl是哪一层协议
- composition什么成分
