OSI的七层协议体系结构的概念清除,理论也较完整。但是它既负责又不实用。TCP/IP提携结构则不痛,但是它现在却得到了非常广泛的应用。TCP/IP是一个四层的体系结构,它包含应用层,运输层,网际层和网络接口层。学习原理时往往采用一种只有五层协议的体系结构。
1)应用层(application layer)
应用层是体系结构中的最高层,应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用协议有很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元叫做报文。
2)运输层(transport layer)
运输层的任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓通用的是指:不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和奋勇的功能。复用是指多个应用层进程可同时使用下边运输层的服务。,分永和复用相反,是运输层把收到的信息分别交付上面应用层中的相应程序。
运输层主要有两层控制协议:
传输控制协议TCP:
提供面向连接的、可靠地数据传输服务,其传输的单位是报文段。
用户数据报协议UDP:
提供无连接的,尽最大不理的数据传输服务,其数据传输的单位是用户数据报。
3)网络层(network layer)
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网路层把运输层产生的报文段或用户数据报封装成分组或包。在TCP/IP体系中,由于网络成使用IP协议,因此分组叫做IP数据报。
网络层的另一个任务就是选择路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
这里的网路已经不是我们通常谈到的具体网络,而是在计算机网络体系中的第三层的名称。
4)数据链路层(data link layer)
数据链路层通常称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要我们使用专门的链路层协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据包组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据,必要的控制信息,差错控制。
在接收数据时,控制信息使接收端能够知道一个帧从哪一个比特开始和到哪一个比特结束。这样数据链路层在收到帧后,就可从中提取出数据部分,上交给网络层。
5)物理层(physical layer)
在物理层上传送的数据的单位是比特,发送方发送0时,接收方应该接收到0而不是1。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方发送的比特。物理层还要确定连接电缆的插头应当有多少根以及各引脚应该如何连接。
注意:传递信息所利用的一些物理媒体,如电缆等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理层下边的物理媒体当做第0层。
在互联网所使用的各种协议中,最重要和最著名的就是TCP和IP