首页 理论教育计算机网络技术基础:TCP/IP层次结构

计算机网络技术基础:TCP/IP层次结构

【摘要】:TCP/IP与OSI在分层模块上稍有区别。TCP/IP是一个四层的体系结构,它包括应用层、传输层、网际层和网络接口层。TCP/IP参考模型没有与OSI参考模型的表示层、会话层对应的协议。这一点便充分体现TCP/IP的兼容性与适应性,它也为TCP/IP的成功奠定了基础。图3—6传输层的通信方式4.应用层TCP/IP的体系结构中,将OSI参考模型中的会话层、表示层和应用层的功能都集中到了应用层中实现。TCP/IP应用的架构绝大多数属于客户端/服务端模型。

TCP/IP与OSI在分层模块上稍有区别。OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。TCP/IP是一个四层的体系结构,它包括应用层(Application Layer)、传输层(Transport Layer)、网际层(Internet Layer)和网络接口层(Network Interface Layer)。TCP/IP参考模型的应用层与OSI参考模型的应用层相对应;TCP/IP参考模型的传输层与OSI参考模型的传输层相对应;TCP/IP参考模型的网际层与OSI参考模型网络层相对应;TCP/IP参考模型的网络接口层与OSI参考模型的数据链路层与物理层相对应。TCP/IP参考模型没有与OSI参考模型的表示层、会话层对应的协议。

从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层基本上和一般的通信链路在功能上没有多大的差别,对于计算机网络来说,这一层并没有特别新的具体内容。因此,为了便于理解计算机网络通信的整个过程并结合实际应用,将网络接口层所包含的数据链路层和物理层分开,在本书中将采用这种五层模型进行讲解,如图3—4所示。

图3—4 网络体系结构

1.网络接口层(Network Interface Layer)

网络接口层又称主机—网络层,是参考模型的最底层,与OSI参考模型中的物理层和数据链路层相对应。它负责通过网络发送和接收IP数据包,允许主机连入网络时使用多种现成的或流行的协议,如局域网的Ethernet、令牌网、分组交换网的X.25、帧中继、ATM协议等,对于具体的物理层并没有专门的协议,只要能够正确地发送和接收IP数据包就符合协议要求。这一点便充分体现TCP/IP的兼容性与适应性,它也为TCP/IP的成功奠定了基础。

OSI中,物理层对应的是负责数据传输的硬件;数据链路层又分为逻辑链路子层(LLC)和媒介访问控制子层(MAC)。

网络接口层的主要任务如下:

(1)负责对上接收网际层下传的IP数据报并通过物理网络发送。

(2)对下接收物理网络传来的数据帧,去掉本层的控制信息再传送到网际层。

(3)对数据进行差错控制。从同层实体的角度来看,网络接口层之间传送的是数据帧。

2.网际层(Internet Layer)

网际层也称为互联网层或者IP层,使用IP协议,它相当于O SI模型中的第3层网络层,IP基于IP地址转发分包数据。图3—5所示,网际层负责确定一台计算机在整个网络上的位置,并找出通向它的路径,然后才能相互交换数据。这种路径选择功能既复杂又重要,因此实现这个功能的IP协议是整个TCP/IP协议簇中的最基本协议。

(www.chuimin.cn)

图3—5 网际层

IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数据能够发送到地球的另一端,这期间它使用IP地址作为主机的标识。IP还隐含着数据链路层的功能。通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能够实现通信。

3.传输层(Transport Layer)

传输层最主要的功能就是能够让应用程序之间实现通信,如图3—6所示,与OSI参考模型传输层功能相似。在计算机内部,通常同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信,识别这些应用程序的是端口号

图3—6 传输层的通信方式

4.应用层(Application Layer)

TCP/IP的体系结构中,将OSI参考模型中的会话层、表示层和应用层的功能都集中到了应用层中实现。主要是向用户提供调用和访问网络中各种应用程序的接口,并向用户提供各种标准的应用程序及相应的协议。用户还可以根据需要建立自己的应用程序,所以应用层包括了所有的高层协议并且不断在发展。

TCP/IP应用的架构绝大多数属于客户端/服务端模型。提供服务的程序称为服务端,接受服务的程序称为客户端,如图3—7所示。在这种通信模式中,提供服务的程序会预先被部署到主机上,等待接收任何时刻客户可能发送的请求。

图3—7 客户端/服务端模型

客户端可以随时发送请求给服务端。有时服务端可能会有处理异常、超出负载等情况,这时客户端可以在等待片刻后重发一次请求。