发布日期:2015-09-18 13:59 来源: 标签: Linux教程 传输控制协议 用户数据报协议 Linux协议
本章节我们将学习什么是传输控制协议和用户数据报协议?
  1、 传输控制协议
       当然,从目前看来,从一个主机向另一个主机发送数据报只是任务之一。如果你登录到 Q u a r k,还打算在E r d o s上的登录协议命令(r l o g i n )进程和Q u a r k上的外壳进程之间建立一条 可靠的连接,那么,发送端必须把准备收发的信息分成若干个数据包,再由接收端把多个数 据包重新组合成一个字符流。这样不仅琐碎,还会额外增加许多工作量。 

       关于I P ,不容忽视的另一点是:不可靠。假设你的以太网上有  1 0名用户,他们都通过G M U的F T P服务器开始下载X F r e e 8 6 的最新版本。那么所产生的通信量对网关而言,是难以应付的,因为速度太慢了,而且内存也非常的紧张。现在,如果你碰巧向Q u a r k发送一个数据包,S o p h u s可能会出现缓冲区空间暂时短缺,导致不能转发数据包的情况。 I P解决此类问题的办法是“丢弃”它。因此,这个包必定会被丢失。所以,通信主机的责任就是在出现错误的情况下,检查数据的完整性、数据是否完全,以及另行转发。 

       然而,这是由另一个协议—T C P协议(也叫做传输控制协议)—来完成的。T C P在I P之上建立了一个可靠的服务。其本质特征是利用 I P ,向大家勾划了主机和远程机器上的两个进程之间的一条简单连接,这样一来,就大可不必担心你的数据实际上是沿着哪条路由,以及怎样路由的了。从本质上来说, T C P连接的原理其实就像一条“双向”管道,两个进程可以边读取,边写入。也可把它想像成“打电话”。 

       T C P利用连接涉及的两台主机之I P地址和各主机上的所谓“端口”号,来标识此类连接的端点。端口可被视为网络连接的“附着点”(attatchment point )。如果把T C P连接想像成“打 电话”,那么I P地址就是区号(对应一个地区或城市),而端口号就是本地代号(对应各家各户的电话机)。 

       在“r l o g i n ”这一例子中,客户机应用程序(r l o g i n )打开E r d o s上的一个端口,并将它连接到Q u a r k上的5 1 3端口,r l o g i n d服务器将被告知对这个端口进行监听。这样便建立了一条T C P连接。利用这条连接,r l o g i n d执行了认证进程,然后衍生出外壳,该外壳的输入和输出被重新导向T C P连接,这样一来,你在自己机器上输入的任何“登录协议命令”都会通过 T C P数据流得以传递,并被当作标准输入传给外壳。

2、 用户数据报协议 

       当然,T C P / I P联网中,T C P并不是唯一的用户协议。虽然它非常适合于 r l o g i n之类的应用程序,但万万不能用于N F S这样的应用程序。相反地,应该用它的兄弟协议—U D P(也叫做“用户数据报协议”)。和T C P协议一样,U D P也允许应用程序和远程机器某个特定端口上的服 务取得联系,但它不能为此而建立连接。取而代之的是,可通过它向目标服务发送独立的数据包。 

       假设你已经通过本系的中心N F S服务器G a l o i s装入了Te X 目录结构,并且打算查看一个关于如何使用L a Te X 的文档。启动编辑器,先在整个文件中读取。但是,要和 G a l o i s建立一条T C P连接、发送并再次发布这个文件,会花相当长的时间。相反地,如果向 G a l o i s发出请求,编辑器则会把该文件分成两个 U D P数据包发送,这种方式要快得多。但美中不足的是, U D P 协议不会处理数据包的丢失或中断。若出现这种情况,就由 N F S对此进行处理。 
     

相关评论

专题信息
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。