第3章 计算机网络体系结构及协议
3.6 TCP/TP协议簇
网络互连是目前网络技术研究的热点之一,并且已经取得了很大的进展.在诸多网络互连协议中,传输控制协议/互连网协议TCP/IP(Transmission Control Protocol/Internet Protocol)是一个使用非常普遍的网络互连标准协议。TCP/IP协议是美国的国防部高级计划研究局DARPA为实现ARPANET(后来发展为Internet)互连网而开发的,也是很多大学及研究所多年的研究及商业化的结果。目前,众多的网络产品厂家都支持TCP/IP协议,TCP/IP已成为一个事实上的工业标准。
3.6.1 TCP/IP的体系结构和功能
TCP/IP是一组协议的代名词,它还包括许多别的协议,组成了TCP/IP协议簇。一般来说,TCP提供运输层服务,而IP提供网络层服务。TCP/IP的体系结构与ISO的OSI七层参考模型的对应关系如图3.20所示。
在TCP/IP层次模型中,第二层为TCP/IP的实现基础,其中可包含MILNET,IEEE802.3的CSMA/CD、IEEE802.5的TokenRing。
在第三层网络中,IP为网际协议(Internet Protocol)、ICMP为网际控制报文协议(Internet Control Message Protocol)、ARP为地址转换协议(Address Resolution Protocol)、RARP为反向地址转换协议(Reverse ARP)。
第四层为运输层,TCP为传输控制协议、UDP为用户数据报协议(User Datagram Protocol)。
第五-七层中,SMTP为简单邮件传送协议(Simple Mail Transfer Protocol)、DNS为域名服务(Domain Name Service)、FTP为文件传输协议(File Transfer Protocol)、TELNET为远程终端访问协议。
TCP/IP协议本身的分层模型如图3.21所示。以下各节侧重从体系结构的角度分层介绍TCP/IP的协议组。
3.6.2 TCP/IP的数据路层
数据链路层不是TCP/IP协议的一部分,但它是TCP/IP赖以存在的各种通信网和TCP/IP之间的接口,这些通信网包括多种广域网如ARPANFT、MILNET和X.25公用数据网,以及各种局域网,如Ethernet、IEEE的各种标准局域网等。IP层提供了专门的功能,解决与各种网络物理地址的转换。
一般情况下、各物理网络可以使用自己的数据链路层协议和物理层协议,不需要在数据链路层上设置专门的TCP/IP协议。但是,当使用串行线路连接主机与网络,或连接网络与网络时,例如用户使用电话线和MODEM接入或两个相距较远的网络通过数据专线互连时,则需要在数据链路层运行专门的SLIP(serial Line IP)协议的PPP(Point to Point Protocal)协议。
1.SLIP协议
SLIP提供在串行通信线路上封装IP分组的简单方法,用以使用远程用户通过电话线和MODEM能方便地接入TCP/IP网络。
SLIP是一种简单的组帧方式,使用时还存在一些问题。首先,SLIP不支持在连接过程中的动态IP地址分配,通信双方必须事先告知对方IP地址,这给没有固定IP地址的个人用户上Internet网带来了很大的不便:其次,SLIP帧中无协议类型字段,因此它只能支持IP协议;再有,SLIP帧中列校验字段,因此链路层上无法检测出传输差错,必须由上层实体或具有纠错能力的MODEM来解决传输差错问题。
2.PPP协议
为了解决SLIP存在的问题,在串行通信应用中又开发了PPP协议。PPP协议是一种有效的点一点通信协议,它,由串行通信线路上的组帧方式,用于建立、配制、测试和拆除数据链路的链路控制协议LCP及一组用以支持不同网络层协议的网络控制协议NCPs三部分组成。
由于PPP帧中设置了校验字段,因而PPP在链路层上具有差错检验的功能。PPP中的LCP协议提供了通信双方进行参数协商的手段,并且提供了一组NCPs协议,使得PPP可以支持多种网络层协议,如IP、IPX、OSI等。另外,支持IP的NCP提供了在建立连接时动态分配IP地址的功能,解决了个人用户上Internet网的问题。
3.6.3 TCP/IP网络层