TCP/IP协议概述

公共因特网是一个世界范围的计算机网络,它是一个互联了遍及全球的数以百万计的计算设备(如桌面PC,服务器,工作站等)的网络。所有这些设备被称为host或者端系统(end system)。端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。当一台端系统向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包称为分组。分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组。当今的因特网中,最著名的两种交换机是路由器和链路层交换机。这两种设备都是朝着最终目的地转发分组。端系统、分组交换机和其他因特网部件,都要运行控制因特网中信息接收和发送的一系列协议。TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol)是因特网中两个最重要的协议。

什么是协议?要理解网络协议,拿人类的某些活动进行类比,就会把协议这一抽象的东西变的非常容易理解,因为我们人类无时无刻不在用协议进行交流。如下图的人类交互活动过程。人类协议(或者是礼貌的行为方式)要求一方首先问候(图中第一蓝色箭头标示的“你好”),以开始与另一个人的通信。对这个“你好”的典型响应是返回一个“你好”的报文。此人用一个热情的“你好”进行响应,这隐含着能够继续向那人询问时间。对最初的那个“你好”的不同响应,如“别烦我“、”我不懂英语,只会说汉语“等都以为着不能与之通信。如果人们执行不同的协议(如,一个人讲礼貌而另一个人不讲礼貌,或者一个人明白时间这个概念,另一个人根本就不知道时间乃为何物),该协议就不能互动,因而不能完成有用的工作。在网络中该道理同样成立,为了完成一项工作,要求两个(或多个)通信实体运行相同的协议。

为了给网络协议的设计提供一个结构,网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。每个协议属于一个层。将各层协议综合起来称为协议栈。如下图就是TCP/IP协议簇的五层示意图。

因特网分层体系结构可以与一个人类社会中的一个例子类比。假如描述一个航线系统的某次乘坐某个航班时的一系列动作。整个乘坐的流程:买机票,托运行李,寻找登机口,最终登上这次航班。该飞机起飞,飞行到目的地。当飞机着陆后,从登机口离机并认领行李。如果这次行程不理想,可以向票务机构投诉这次航班。整个流程如下图:

与计算机网络类似的地方:航空公司把乘客从源送的目的地;分组被从因特网中的源主机送到目的主机。观察上图,可以看出每层都有票务功能;对已验票的乘客有行李功能;对于已检票并已检行李的乘客有登机口的功能;对于已通过登机口的乘客有起飞和着陆的功能;在飞机飞行中有按预定路线飞行的功能。这提示我们,可以以水平的方式看待这些功能,如图

观察上图可以看出每个层次与其下面的层次结合在一起,实现了某些功能、票务。在票务层及以下,完成了一个人从航线柜台到航线柜台的转移。在行李层及以下,完成某人的行李检查到行李认领和手提行李的转移。注意到行李层仅对已经完成票务的人进行。在登机口层,完成了手提行李离开登机口到达登机口的转移。在起飞/着陆层,完成了一个人及其行李的跑到到跑到的转移。每个层次通过以下方式提高了它的服务:1)在这层执行了某些动作(如在登机口层,某航线乘客的登机和离机)2)使用直接下层的服务(如,在登机口层,使用起飞/着陆层的跑道到跑道的旅客转移服务)。

本文是《计算机网络—自顶向下方法》的读书笔记,感谢作者把网络中很抽象的东西用生活中的一些现象类比,把一些难易理解的概念描述的明了易懂。

posted @ 2011-05-09 07:59  秋无语  阅读(559)  评论(0编辑  收藏  举报