2.TCP/IP使用多层体系结构,该结构清晰定义了每个协议的责任,这一点和我们以前提到的OSI网络模型类似。TCP和UDP向网络应用程序提供了高层的数据传输服务,并都需要IP来传输数据包。TCP/IP提供了一个方案用来解决属于同一个网络而分属不同物理网的两台计算机之间怎样交换数据的问题,这个方案包括许多部分,而TCP/IP协议集的每个成员则用来解决问题的某一部分。如TCP/IP协议集中最基本的协议IP协议用来在内部网中交换数据并且执行一项重要的功能,路由选择——选择数据报从A主机到B主机将要经过的路径以及利用合适的路由器完成不同网络之间的跨越。
3.在Internet主机上,两个运行着的应用程序之间传送要通过主机的TCP/IP堆栈上下移动。在发送端TCP/IP模块加在数据上的信息将在接收端对应的TCP/IP模块上滤掉,最终恢复原始数据。TCP允许运行在不同主机上的应用程序相互交换数据流,并将数据流分成小段叫做TCP数据段(TCP segments),利用IP协议进行传输。在大多数情况下,每个TCP数据段装在一个IP数据报中进行发送。如果有需要的话,TCP将把数据段分成多个数据报,而IP数据报则与同一网络不同主机间传输位流和字节流的物理数据帧相容。由于不能保证在接收时数据报的顺序与发送的顺序一致,所以TCP会在收信端装配TCP数据段并形成一个不间断的数据流。例如FTP和Telnet,它们两个就是非常流行的依靠TCP的TCP/IP应用程序。
其实还有另一位重要的TCP/IP协议集成员——用户数据报协议(UDP),和TCP协议相比它要简单得多,而且不包含错误检查和握手确认,所以在数据传输的可靠性上也不及TCP协议。因为它不能保证数据报的接收顺序同发送顺序相同,甚至不能保证数据是否全部到达。如果有可靠性要求,则应用程序都回避免使用它。同许多TCP/IP工具同时提供的SNMP(简单网络管理协议)就是一个使用UDP协议的应用例子。
纯粹的TCP/IP协议讲解或讨论对普通用户来说比较干涩无味,而且理解起来需要一定的逻辑思维能力,但是学好TCP/IP协议是学好网络基础知识和应用的根本。可以说只要能接触到网络的地方就有TCP/IP协议的影子,只有在将它理解透彻了之后才会对网络应用和配置有进一步的提高。