TCP/IP协议,TCP/IP协议内容和作用是什么?
TCP/IP协议,TCP/IP协议内容和作用是什么?
TCP/IP是一组协议的代名词,它还包括许多别的协议,组成了TCP/IP协议簇。一般来说,TCP/IP提供运输层服务,而IP提供网络层服务。TCP/IP的体系结构与ISO的OSI层参考模型的对应关系如图1所示。
在TCP/IP层次模型中,第二层为TCP/IP的实现基础,其中可包含MENETIEEF802.3的CSMA/CD、IEEEJ802.4的Token Bus以及EEE802.5的Token Ring。
在第三层网络层中,IP为网际协议(Internet Pmtocol)、ICMP为网际控制报文协议.(Internet Control Message Protocol)、ARP为地址转换协议(Address ResoluTIon Protocol)RARP为反向地址转换协议(Reverse ARP)。
第四层为运输层,TCP/IP为传输控制协议、UDP为用户数据报协议(User Datagram Pro-toed)。
第五~七层中,SlMTP为简单邮件传送协议(Simple Mail Transfer Protocol)、DNS为域名服务(Domain Name Service)、FTP为文件传输协议(File Transfer Protocol)、为远程终端访问协议。
TCP/IP协议本身的分层模型如图3.21所示。以下各节侧重从体系结构的角度分层介绍TCP/IP的协议组。
TCP/IP协议,TCP/IP协议内容和作用是什么?数据链路层 数据链路层不是TCP/IP协议的一部分,但它是TCP/IP赖以存在的各种通信网和TCP/IP之间的接口,这些通信网包括多种广域网,如ARPANET、MILNET和X.25公用数据网,以及各种局域网,如Ethernet、IEEE的各种标准局域网等。IP层提供了专门的功能,解决与各种网络物理地址的转换。
一般情况下,各物理网络可以使用自己的数据链路层协议和物理层协议,不需要在数据链路层上设置专门的TCPAP协议。但是,当使用串行线路连接主机与网络,或连接网络与网络时,例如用户使用电话线和MODEM接入网络,或两个相距较远的网络通过数据专线互连时,则需要在数据链路层运行专门的SLIP (Serial Line IP)协议或PPP(Point to Pointprotoed)协议。
1.SLE协议
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中的协议提供了通信双方进行参数协商的手段,并且提供了一组NCPs协议,使得PPP可以支持多种网络层协议,如IP、IPX、OSI等。另外,支持IP的NCP提供了在建立连接时动态分配IP地址的功能,解决了个人用户上Internet网的问题。
TCP/IP的网络层 网络层中含有四个重要的协议:互连网协议IP、互连网控制报文协议ICMP、地址转换协议ARP和反向地址转换协议RARR。
网络层的功能主要由IP来提供。除了提供端到端的分组分发功能外,IP还提供了很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的IP数据报能以较小的分组在网上传输。
网络层的另一个重要服务是在互相独立的局域网上建立互连网络,即网际网。网间的报文来往根据它的目的IP地址通过路由器传到另一网络。
1.互连网协议IP(Internet Protocol)
网络层最重要的协议是IP,它将多个网络联成一个互连网,可以把高层的数据以多个数据报的形式通过互连网分发出去。
IP的基本任务是通过互连网传送数据报,各个IP数据报之间是相互独立的。主机上的IP层向运输层提供服务。 IP从源运输实体取得数据,通过它的数据链路层服务传给目的主机的I层。IP不保证服务的可靠性,在主机资源不足的情况下,它可能丢弃某些数据报,同时IP也不检查被数据链路层丢弃的报文。
在传送时,高层协议将数据传给IP,IP再将数据封装为互连网数据报,并交给数据链路层协议通过局域网传送。若目的主机直接连在本网中,IP可直接通过网络将数据报传给目的主机;若目的主机在远地网络中,则IP路由器传送数据报,而路由器则依次通过下一网络将数据报传送到目的主机或再下一个路由器。也即一个IP数据报是通过互连网络,从一个IP模块传到另一个IP模块,直到终点为止。
需要连接独立管理的网络的路由器,可以选择它所需的任何协议,这样的协议称为内部网间连接器协议IGP (Interior Geteway Pmtocol)。在IP环境中,一个独立管理的系统称为自治系统。
跨越不同的理域的路由器(如从专用网到PDN)所使用的协议,称为外部网间连接器协议EGP(Exterior Gateway Protocol),EGP是一组简单的定义完备的正式协议。
2.互连网控制报文协议ICMP
从IP互连网协议的功能,可以知道IP提供的是一种不可靠的元连接报文分组传送服务。若路由器或主机故障使网络阻塞,就需要通知发送主机采取相应措施。
为了使互连网能报告差错,或提供有关意外情况的信息,在IP层加入了一类特殊用途的报文机制,即互连网控制报文协议ICMP。
分组接收方利用ICMP来通知IP模块发送方某些方面所需的修改。 ICMP通常是由发现别的站发来的报文有问题的站产生的,例如可由目的主机或中继路由器来发现问题并产生有关的ICMP。如果一个分组不能传送,ICMP便可以被用来警告分组源,说明有网络、主机或端口不可达。ICMP在P也可以用来报告网络阻塞。ICMP是IP正式协议的一部分,ICMP数据报通过IP送出,因此它在功能上属于网络第三层,但实际上它是像第四层协议一样被编码的。
3.地址转换协议ARP
在TCPAP网络环境下,每个主机都分配了一个32位的IP地址,这种互连网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网上传送,必须知道彼此的物理地址。这样就存在把互连网地址变换为物理地址的地址转换问题。以以太网(Ethernet)环境为例,为了正确地向目的站传送报文,必须把目的站的32位IP地址转换成48位以太网目的地址DAo这就需要在网络层有一组服务将IP地址转换为相应物理网络地址,这组协议即是成P。
在进行报文发送时,如果源网络层所给的报文只有IP地址,而没有对应的以太网地址,则网络层广播ARP请求以获取目的站信息,而目的站必须回答该AP请求。这样源站点可以收到以太网48位地址,并将地址放入相应的高速缓存(Cache)。下一次源站点对同一目的站点的地址转换可直接引用高速缓存中的地址内容。地址转换协议ARP使主机可以找出同一物理网络中任一个物理主机的物理地址,只需给出目的主机的IP地址即可。这样,网络的物理编址可以对网络层服务透明。
在互联网环境下,为了将报文送到另一个网络的主机,数据报先定向发送到发送方所在网络的IP路由器。因此,发送主机首先必须确定路由器的物理地址,然后依次将数据报发往接收端。除基本AP机制外,有时还需在路由器上设置代理ARP,其目的是由IP路由器代替目的站对发送方ARP请求做出响应。
4.反向地址转换协议RAPP
反向地址转换协议用于一种特殊情况,如果站点初始化以后,只有自己的物理网络地址而没有IP地址,则它可以通过队RP协议,发出广播请求,征求自己的IP地址,而RARP服务器则负责回答。这样,无IP地址的站点可以通过RARP协议取得自己的IP地址,这个地址在下一次系统重新开始以前都有效,不用连续广播请求。RARP广泛用于获取元盘工作站的IP地址。
TCP/IP的传输层 TCP/IP这一层提供了两个主要的协议:传输控制协议(冗P)和用户数据报协议(UDP),另外还有一些别的协议,例如用于传送数字化语音的NVP协议。
1.传输控制协议TCP
TCP提供的是一种可靠的数据流服务。当传送受差错干扰的数据,或基础网络故障,或网络负荷太重而使网际基本传输系统(元连接报文递交系统)不能正常工作时,就需要通过其它的协议来保证通信的可靠。TCP就是这样的协议,它对应于OSI模型的运输层,它在IP协议的基础上,提供端到端的面向连接的可靠传输。
TCP采用"带重传的肯定确认"技术来实现传输的可靠性。简单的"带重传的肯定确认"是指与发送方通信的接收者,每接收一次数据,就送回一个确认报文,发送者对每个发出去的报文分组都留一份记录,等到收到确认之后再发出下一个报文分组。发送者发出一个报文分组时,启动一个计时器,若计时器计数完毕,确认还未到达,则发送者重新发送该报文分组。
简单的确认重传严重浪费带宽,TCP还采用一种称之为"滑动窗口"的流量控制机制来提高网络的吞吐量,窗口的范围决定了发送方发送的但未被接收方确认的数据报的数量。每当接收方正确收到一则报文时,窗口便向前滑动,这种机制使网络中未被确认的数据报数量增加,提高了网络的吞吐量。
TCP通信建立在面向连接的基础上,实现了一种"虚电路"的概念。双方通信之前,/IP在先建立一条连接,然后双方就可以在其上发送数据流。这种数据交换方式能提高效率,但事先建立连接和事后拆除连接需要开销。TCP连接的建立采用三次握手的过程,整个过程由发送方请求建立连接、接收方确认、发送方再发送一则关于确认的确认三个过程组成。
2.用户数据报协议mp
用户数据报协议是对IP协议组的扩充,它增加了一种机制,发送方使用这种机制可以区分一台计算机上的多个接收者。每个UDP报文除了包含某用户进程发送的数据外,还有报文目的端口的编号和报文源端口的编号,从而使UDP软件可以把报文递送给正确的接收者,然后接收者要发出一个应答。由于UDP的这种扩充,使得在两个用户进程之间递送数据报成为可能。
UDP是依靠IP协议来传送报文的,因而它的服务和IP一样是不可靠的。这种服务不用确认、不对报文排序、也不进行流量控制,UDP报文可能会出现丢失、重复、失序等现象。
TCP/IP的会话层至应用层 TCP/IP的上三层与OSI参考模型有较大区别,也没有非常明确的层次划分。其中FTP、TELNET、SMTP DNS是几个在各种不同机型上广泛实现的协议,TCP/IP中还定义了许多别的高层协议。
1.文件传输协议FTP
文件传输协议是网际提供的用于访问远程机器的一个协议,它使用户可以在本地机与远程机之间进行有关文件的操作。 FTP工作时建立两条TCP连接,一条用于传送文件,另一条用于传送控制。FTP采用客户/服务器模式,它包含客户Frp和服务器FTP。客户FTP启动传送过程,而服务器FTP对其做出应答。客户FTP大多有一个交互式界面,使客户可以灵活地向远地传文件或从远地取文件。
2.远程终端访问IELNET
TELNET的连接是一个TCP连接,用于传送具有TELNET控制信息的数据。它提供了与终端设备或终端进程交互的标准方法,支持终端到终端的连接及进程到进程分布式计算的通信。
3.域名服务DNS
DNS是一个域名服务的协议,提供域名到IP地址的转换,允许对域名资源进行分散管理。DNS最初设计的目的是使邮件发送方知道邮件接收主机及邮件发送主机的IP地址。
4.简单邮件传送协议SMTP
互连网标准中的电子邮件是一个简单的基于文本的协议,用于可靠、有效的数据传输。MTP作为应用层的服务,并不关心它下面采用的是何种传输服务,它可通过网络在TCP连接上传送邮件,或者简单地在同一机器的进程之间通过进程通信的通道来传送邮件。这样,邮件传输就独立于传输子系统,可在TCP/IP环境、OSI运输层或X.25协议环境中传输邮件。
邮件发送之前必须协商好发送者、接收者。SMTP服务进程同意为某个接收方发送邮件时,它将邮件直接交给接收方用户或将邮件逐个经过网络连接器,直到邮件交给接收方用户。在邮件传输过程中,所经过的路由被记录下来。这样,当邮件不能正常传输时可按原路由找到发送者。
在当前的UNIX版本中,已将TCP/IP协议融入其中,使之成为UNIX操作系统的一个部分。DOS上也推出了相应的TCP/IP软件产品。SUN公司则将TCP/IP广泛推向商务系统,它在所有的工作站系统中都预先安装了ICP/IP网络软件及网络硬件,使网络和计算机成为一体,同时也使TCP/IP网络软件及其客户/服务器的工作方式为广大用户所接受。