1.7.2 TCP/IP体系结构
TCP/IP体系结构是20世纪70年代美国DARPA(Defense Advanced Research Protects Agency,国防高级研究计划局)为其研究性网络ARPAnet开发的网络体系结构,最初是为美国军事和政府开发的,后来逐步发展成为公众网络。如前所述,OSI/RM的七层体系结构非常复杂,其理论结构只适用于研究和学习网络使用,现在互联网络体系结构的标准是TCP/IP。
TCP/IP将网络体系结构按实用原则划分为四层,从低到高依次为网络接口层(Network Interface Layer)、网络层(Internet layer)、传输层(Transport Layer)、应用层(Application Layer)。
注意,TCP/IP并非一个单独的协议,而是一个包含了大量协议的协议簇,只是在TCP/IP协议簇中,TCP和IP是两个最重要的协议;在TCP/IP体系结构中,“网际层”和“运输层”在很多时候都延用OSI/RM中的说法称为“网络层”和“传输层”。
1. 网络接口层
TCP/IP体系结构并没有对网络体系结构的底层特别定义,而是沿用了OSI/RM体系结构中的数据链路层和物理层,只是将之合称为网络接口层。网络接口层的功能如下。
1)负责接收从网络层传来的IP数据报,并将IP数据报封装成适合在物理网络上传输的帧格式后,通过网络接口发送出去。
2)将从物理网络接收到的帧解封装,取出IP数据报向上提交给网络层。
网络接口层上实现的标准有Ethernet、IEEE 802.3的CSMA/CD、IEEE 802.4的Token Bus、IEEE 802.5的Token ring、FDDI以及设备的驱动程序等。
2. 网络层
网络层也称为网络互联层或网际层,负责将主机之间的数据独立地从源主机传送到目的主机,其中需要进行路由选择、拥塞控制等。网络层是TCP/IP体系结构的核心层,所传送的数据可以称为数据报、报文、分组。
网络层的功能如下。
1)处理来自传输层的数据段:对传输层传来的数据段进行分组,装入IP数据报,加上IP报头,然后将此数据报根据一定的路由选择规则发往适当的网络接口。
2)处理输入的数据报:分为两种情况,如果是互联网络中的路由器等网络设备,则首先检查数据报的合法性,然后进行路由选择转发此报文;如果是该数据报的目的主机,则去掉IP报头,将数据信息向上交给传输层协议。
3)处理ICMP报文:ICMP报文用于传递路由选择信息、流量控制信息以及拥塞控制信息等,被封装在IP数据报中进行传输。
3. 传输层
TCP/IP体系结构中的传输层与OSI/RM中的传输层作用一样,提供端到端的进程间通信服务,使用端口号来标识不同的进程,使同一个主机收到的不同应用程序传来的数据分别传到相应的应用程序进行处理,而不至于发生混乱。
运输层定义了TCP和UDP两个协议。TCP是可靠的、全双工的、面向连接的协议,缺点是开销大、连接速度慢,多用于大量数据的传输,如Web、电子邮件、文件传输等;UDP是无连接、不可靠的协议,多用于传送短的消息,如SNMP就采用UDP来传输管理信息。
4. 应用层
在TCP/IP体系结构中,没有OSI/RM的会话层和表示层,而是将这两层功能合并为应用层。应用层是TCP/IP体系结构的最高层,它确定通信进程的性质,并实现用户的服务请求。应用层包含了所有高层协议,如Telnet、FTP、SMTP、DNS、HTTP及NNTP等。例如,用于远程登录的Telnet协议是一个虚拟终端协议,使用它可以允许一台计算机上的用户登录到远程服务器上并进行操作。