TCP/IP协议是Internet的基础。虽然从名字上看TCP/IP包括两个协议,即传输控制协议(TCP)和因特网协议(IP),但TCP/IP实际上是一组协议,有上百种,如远程登录协议、文件传输协议和电子邮件协议等,而TCP协议和IP协议是保证数据完整传输的两个最基本的重要协议。所以说TCP/IP是Internet协议簇,而不只包括TCP和IP协议。
在20世纪70年代中期,美国国防部为其ARPANET广域网开发了网络体系结构和协议标准,以其为基础所组建的Internet是目前国际上规模最大的计算机网络。正因为Internet的广泛使用,TCP/IP协议成了事实上的标准。
表1-1是TCP/IP协议簇中一些常用协议的英文名称和用途说明。
如图1-4所示,TCP/IP协议的分层模型由四个层次组成,分别为网络接口层、网络层、传输层和应用层,其各层的功能如下。
(1)网络接口层
网络接口层是TCP/IP协议的最底层,负责接收IP数据报并通过网络接口层进行比特流传送,或者从网络上接收物理帧,并提取出IP数据报交给IP层。
(2)网络层
网络层负责相邻计算机之间的通信,其功能主要包括三方面:第一,处理来自传输层的分组发送请求。在收到请求后,将分组装入IP数据报,并填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。第二,处理输入数据报。首先检查其合法性,然后进行路径寻找:假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;如该数据报尚未到达信宿机,则转发该数据报。第三,处理路径、流控、拥塞等问题。
图1-4 TCP/IP模型的层次
(3)传输层
传输层提供应用程序间的通信功能,其功能包括两方面:第一,格式化信息流;第二,提供可靠传输。为实现可靠传输,传输层协议规定接收端必须发回确认,否则视为分组丢失,必须重新发送。
(4)应用层
应用层向用户提供一组常用的应用程序,如电子邮件、文件传输访问和远程登录等。
在1.1节中已经介绍了关于OSI参考模型的相关概念,下面将TCP/IP模型与OSI参考模型进行比较,其层次关系如图1-5所示。
图1-5 OSI参考模型与TCP/IP模型的层次关系
位于TCP/IP协议簇第二层的IP层对应OSI参考模型的第三层网络层,位于TCP/IP协议簇第三层的TCP和UDP层对应OSI参考模型的第四层传输层。TCP和IP是TCP/IP协议簇的中间两层,是整个协议簇的核心,起到了承上启下的作用。OSI参考模型的各层功能与TCP/IP协议簇的对应关系如表1-2所示。
下面将对TCP/IP协议簇中的常用协议进行简要介绍,本书在后续章节中将对TCP、UDP、IP层的协议进行更为详细的描述与说明。
1. 应用层
应用层一般是指面向用户的服务,如HTTP、FTP、Telnet、DNS、SMTP和POP3等。
(1)HTTP
HTTP(Hyper Text Transport Protocol,超文本传输协议)是一个客户端和服务器端请求与应答的标准,其中客户端为终端用户,而服务器端则是网站。通过使用Web浏览器、网络爬虫或者其他工具,客户端能够发起一个到服务器上指定端口(默认端口为80)的HTTP请求,我们通常称这个客户端为用户代理(User Agent)。
应答的服务器上存储着一些资源,如HTML文件和图像,这时我们称该应答服务器为源服务器(Origin Server)。事实上,在用户代理和源服务器间可能存在多个中间层,比如代理、网关或者隧道(Tunnel)。尽管TCP/IP协议是互联网上最流行的应用,但HTTP协议并没有规定必须使用它和基于它支持的层。事实上,HTTP可以在任何其他互联网协议或其他网络上实现。HTTP只是假定其下层协议提供可靠的传输,任何能够提供这种保证的协议都可以被HTTP使用。
通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口的TCP连接,而HTTP服务器则在指定端口监听客户端发送过来的请求,一旦HTTP服务器收到请求,服务器便向客户端发回一个状态行(如“HTTP/1.1 200 OK”)和响应消息。该响应消息的消息体可能是请求的文件、错误消息或其他一些信息。
HTTP使用TCP而不是UDP的原因在于,打开网页必须传送很多数据,而TCP协议可以提供传输控制并且按顺序组织数据和进行错误纠正。
(2)FTP
FTP用于在Internet上控制文件的双向传输。同时,它也是一个应用程序(Applica-tion),用户可以通过它将自己的PC机与世界各地所有运行FTP协议的服务器相连,来访问服务器上的文件信息。
在TCP/IP协议中,FTP标准命令中的TCP端口号为21,Port方式的数据端口号为20。在FTP协议的使用过程中,对处于网络连接的两台计算机所处的位置、连接方式、是否使用相同的操作系统均无特殊的要求。假设两台计算机通过FTP协议进行对话,并同时都能访问Internet,则可以使用FTP命令来进行文件传输。事实上,每种操作系统在使用上都有某些细微差别,但是每种协议基本的命令结构则是相同的。具体地说,FTP的文件传输有两种方式:ASCII传输模式和二进制数据传输模式。
1)ASCII传输模式。在ASCII传输模式中,如果用户正在复制的文件包含简单的ASCII码文本,则在进行文件传输时,FTP通常会自动地调整文件的内容以便把文件解释成另外一台计算机能够存储的文本文件格式。
2)二进制传输模式。如果用户正在传输的文件包含的不是文本文件,它们可能是程序、数据库、字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸和字库等信息的非打印字符),则在复制任何非文本文件之前,需要用binary(二进制)命令告诉FTP逐字复制,即采用二进制传输模式。
在二进制传输模式中,首先得保存文件的位序,以便原始数据和复制数据是逐位对应的。如果在ASCII传输模式下传输二进制文件,在传送的时候也需要转译,这会使传输速度稍微变慢,同时也会损坏数据,使文件变得不可用。在大多数计算机上,ASCII传输模式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。但如果传输二进制文件,则所有的位都是重要的。
(3)Telnet协议
Telnet协议作为TCP/IP协议簇中的一员,是通过Internet进行远程登录服务的标准协议和主要方式,它为用户提供了在本地计算机上完成在远程主机上工作的能力。在终端用户的计算机上使用Telnet程序,通过它连接到服务器,终端用户便可以在Telnet程序中输入命令,这些命令将会在服务器上运行,就像直接在服务器的控制台上输入一样,从而实现在本地远程控制服务器。如要开始一个Telnet会话,则必须输入用户名和密码来登录远程服务器。Telnet是常用的远程控制Web服务器的方法。
Telnet协议最初是由ARPANET开发的,现在主要用于Internet会话,其基本功能是允许用户登录远程主机系统。起初它只是让用户的本地计算机与远程计算机连接,从而成为远程主机的一个终端。而较新的版本支持在本地执行更多的处理,既可以提供更好的响应,同时也减少了通过链路发送到远程主机的信息数量。
(4)DNS协议
DNS(Domain Name Service,域名解析服务)提供域名到IP地址之间的转换。在Inter-net上,域名与IP地址之间是一对一或多对一的关系。域名的作用是方便使用者记忆,但是计算机之间却只能识别IP地址;在域名与IP地址之间的转换工作被称为域名解析。
例如,在浏览网页时我们输入如www.sina.com.cn的网址,这是一个域名,而计算机网络上的计算机间只能用IP地址才能相互识别。当然,我们也可以在IE的地址栏中输入“202.108.33.32”的IP地址,但是这样的IP地址很难被使用者记住,那么应用域名解析服务,使用者只需要记住域名便可以登录相应的服务器。
域名解析需要由专用的域名解析服务器来完成,DNS就是进行域名解析的服务器。当用户在应用程序中输入名称时,DNS服务可以将此名称解析为与之相关的其他信息(如IP地址)。例如,我们在上网时所输入的网址,就是通过域名解析系统找到了相对应的IP地址,才能连接到对应的服务器,也就是说域名最终指向的是IP地址。
在IPv4中,IP是由32位二进制数组成的,并将这32位二进制数分成4组,每组8位,将这8位二进制数转换成十进制数,即常见的IP地址,其范围为0~255。在已开始试运行阶段、将会代替IPv4的IPv6中,将以128位二进制数来表示IP地址。
(5)SMTP
SMTP是由一组用于由源地址到目的地址传送邮件的规则组成的,由这些规则来控制信件的中转方式,其在传输文件过程中使用25号端口。SMTP属于TCP/IP协议簇,能帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP所指定的服务器就可以把电子邮件寄到收信人的服务器。
SMTP的一个重要特性是能够跨越网络传输邮件,即实现“SMTP邮件中继”功能,该特性使得SMTP不必依赖特定的传输网络,而只需要发送端和接收端能够建立可靠有序的数据流信道。通常,一个互联网络上的主机可以分为三类:互联网上利用TCP协议可直接相互访问的主机、带防火墙分隔的利用TCP传输层协议可相互访问的主机、其他利用非TCP传输层协议可相互访问的主机。我们使用SMTP可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其他网络上处理机之间的邮件传输。
(6)POP3协议
POP3(Post Office Protocol 3,邮局协议的第3个版本)是规定个人计算机如何连接到互联网上的邮件服务器来进行收发邮件的协议。POP3协议是因特网电子邮件的第一个离线协议标准,允许用户从服务器上把邮件下载到本地主机上,同时根据客户端的操作指令删除或保存邮件服务器上的邮件。而POP3服务器则是遵循POP3协议的接收邮件服务器,只下载邮件,服务器并不删除邮件。
在工作过程中,POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行或多个命令行组成的,响应第一行以ASCII文本+OK或+EORR(OK示意成功,EORR示意失败)指出相应的操作状态是成功还是失败。
在POP3协议中有三种状态,即认证状态、处理状态和更新状态。当客户端与服务器建立连接时,客户端向服务器发送自己的身份(这里指的是账户和密码),并由服务器确认,客户端由认证状态转入处理状态。在完成列出未读邮件等相应的操作后,客户端发出QUIT命令,即退出处理状态进入更新状态。开始下载未读邮件到本地计算机,完成之后,重新返回到认证状态,并在确认身份后断开与服务器的连接。
2. 传输层
传输层协议主要是指TCP和UDP。
(1)TCP
TCP是面向连接的通信协议,并提供一种可靠的数据流服务。它通过三次握手建立连接,在通信完成时拆除连接。由于TCP是面向连接的,它只能用于点对点的通信。它采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,窗口大小表示接收能力的大小,用以限制发送方的发送速度。
在客户端与服务器端进行通信前,要先交换传输层控制信息,为双方的通信做好准备。在这个握手阶段之后,就可以认为在这两个进程间存在一个TCP连接,且是一个全双工的连接。在消息发送完后,应用程序会通知TCP拆除这个连接。可靠的传输服务是为了保障彼此通信时能无差错地顺序传送所有数据。
当其中任何一个应用程序把字节流传送给套接字时,它可以指定TCP把同样的字节流传送到对方的套接字。TCP能够调节数据传输过程中的拥塞问题,拥塞调节机制将在网络处于拥塞时阻止发送进程。确切地说,TCP拥塞控制试图把每个TCP连接限定在公平共享网络带宽的基础上。
同时,TCP也有其缺点,即TCP不保证最小传输速率。TCP不允许发送进程以设想的速率发送数据,受到TCP拥塞机制的调节,发送进程有可能被迫以一个较低的平均速率发送。另外,TCP不提供任何延时保障,发送进程把数据传入自己的TCP套接字后,这个数据将最终到达其接收套接字,但是中间所经历的时间无法保证,发送过程所消耗的时间长短也不能确定。
(2)UDP
UDP是一个非面向连接的传输协议,在两个进程彼此通信之前没有握手过程,提供不可靠的数据传输服务。也就是说,当一个进程往自己套接字发送一个消息时,UDP不能保证这个消息会最终到达接收套接字。另外,对于到达接收套接字的消息而言,它们的到达顺序也可能不是有序的。
UDP不含拥塞控制机制,即发送进程能够以任意速率往UDP套接字上发送数据,尽管不能保证所有数据都能够到达接收套接字,但是会有相当比例的数据到达。实时应用程序的开发人员往往选择在UDP上运行他们的应用。与TCP类似,UDP也不提供任何延时保障。另外,由于UDP数据中包括了目的端口号和源端口号信息,通信不需要连接,所以可以实现广播发送。
表1-3给出了在应用层中常见的协议所具体采用的传输协议类别。
3. 网络层
网络层协议包括IP、ICMP、ARP和RARP。
(1)IP
IP是网络层的核心,它通过路由选择将下一跳转IP封装后交给网络接口层。IP地址也可以称为互联网地址或Internet地址,用来唯一标识互联网上计算机的逻辑地址。每台联网的计算机都依靠IP地址来标识自己,类似于电话号码的使用,我们通过电话号码来找到相应的使用电话的客户实际地址。全世界的电话号码都是唯一的,IP地址也是一样。
当发送或接收信息时,例如发送一个电子邮件信息或接收一个网页信息,该信息将被分割成若干个信息包。在每个信息包中都包含了发送者和接收者的网络IP地址,当网络中的中转网关计算机接收到信息包并解析出该信息包的目的地址之后,信息包将被网关计算机继续转发到下一个邻近的中转网关去搜索目的地址。如此重复,直到在网络中有一个网关确认该信息包属于其范围内的主机,则该信息包最终被发送到指定地址的主机。
事实上,由于一个要传输的信息被分割成了若干信息包,则每个信息包可以分别通过不同的网络路径进行发送,这样就有可能造成信息包到达的顺序与分割的顺序不同。但IP协议仅仅负责传送这些信息包,而信息包按照原有的分割顺序进行组合、还原要依靠TCP协议来完成。
IP是一个无连接协议,这就意味着在通信的起点和终点之间没有连续的线路连接,每个信息包都作为一个独立的单元在网络上传输,这些单元之间没有相互的联系。信息包能放在正确的位置上是由于TCP的作用,即利用TCP来控制信息包的顺序。
(2)ICMP
ICMP是网络层的补充,它通过回送报文来检测网络是否通畅。作为TCP/IP协议簇中的一个子协议,ICMP属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,计算机将会发送ICMP消息。
在网络应用中经常会用到ICMP,如经常使用的用于检查网络是否畅通的ping命令,该命令的工作过程实际上就是ICMP的工作过程。我们可以通过ping命令发送ICMP回应请求消息,并记录收到的ICMP回应回复消息,然后依据这些回复消息来对网络或主机的故障作出相应的判断。
(3)ARP和RARP
ARP是指正向地址解析协议,它利用已知的IP地址寻找对应主机的MAC地址(物理地址)。RARP(Reverse ARP)是指反向地址解析协议,它通过MAC地址来确定IP地址。
事实上,在局域网中实际传输的数据单位是帧,在帧数据中包含了目标主机的MAC地址。那么,一个主机要和另一个主机进行直接通信时,必须知道目标主机的MAC地址,但这个目标MAC地址是如何获得的呢?它是通过地址解析协议获得的。ARP将使得主机在发送帧之前能够将目标IP地址转换成目标MAC地址,即通过目标设备的IP地址来查询目标设备的MAC地址,以保证通信的顺利进行。
而RARP则是将局域网中某个主机的MAC地址转换为IP地址,例如局域网中有一台主机只知道自身的物理地址而不知道自身IP地址,则可以通过RARP发出询问自身IP地址的广播请求,然后由RARP服务器负责回答。RARP广泛用于获取无盘工作站的IP地址。RARP的工作过程主要包括如下步骤:
1)发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址。
2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。
3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用。
4)如果不存在,RARP服务器对此不作任何响应。
5)源主机收到来自RARP服务器的响应信息,就利用得到的IP地址进行通信。如果一直没有收到RARP服务器的响应信息,则表示失败。
4. 网络接口层
作为TCP/IP的最底层,常见的网络接口层协议有:Ethernet IEEE 802.3、Token Ring 802.5、X.25、帧中继、HDLC和PPP等。
(1)Ethernet IEEE 802. 3
严格说来,以太网应当是指符合DIX Ethernet V2标准的局域网。但DIX Ethernet V2标准与IEEE 802.3标准只有很小的差别,因此可以将Ethernet IEEE 802.3局域网简称为以太网。Ethernet IEEE 802.3用于在以太网中描述物理层和数据链路层的MAC子层的实现方法。
早期的IEEE 802.3描述的物理介质类型包括:10Base2、10Base5、10BaseF、10BaseT和10Broad36等。快速以太网的物理介质类型包括:100BaseT、100BaseT4和100BaseX等。
为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆分为两个子层:逻辑链路控制(Logical Link Control, LLC)子层和介质访问控制(Media Access Control, MAC)子层。其中,与接入到传输介质有关的内容都放在MAC子层,而LLC子层则与传输介质无关,不管采用何种协议的局域网对LLC子层来说都是透明的。
由于TCP/IP体系经常使用的局域网是DIX Ethernet V2而不是802.3标准中的几种局域网,因此现在802委员会制定的逻辑链路控制子层(802.2标准)的作用已经不大了。很多厂商生产的网卡上就仅安装有MAC协议而没有安装LLC协议。
MAC子层的数据封装所包括的主要内容有发送数据封装和接收数据解封两个部分,包括成帧、编制和差错检测等功能。
发送数据封装的主要过程是:当LLC子层请求发送数据帧时,发送数据封装部分开始按MAC子层的帧格式组帧,将一个前导码P和一个帧起始定界符SFD附加到帧头部分,然后加上目的地址、源地址,计算LLC数据帧字节数,填入长度字段LEN。在必要时,将填充字符PAD附加到LLC数据帧后面。之后,求出CRC校验码,将其附加到帧校验码序列FCS中,最后将完成封装的MAC帧递交MAC子层的发送介质访问管理部分以供发送。
接收数据解封则主要用于校验帧的目的地址字段,以确定本站是否应该接收该帧,如地址符合,则将其送到LLC子层,并进行差错校验。
(2)Token Ring 802. 5
Token Ring 802. 5(令牌环网)是一种局域网协议,即在令牌环网中所有的主机都连接到一个环上,每个主机只能同与其直接相邻的主机传输数据,然后通过围绕环的令牌信息来授予各个主机的传输权限。
在令牌环上传输的数据单元称为令牌,拥有令牌的主机就有传输权限。如果环上的某个主机收到令牌并且有信息发送,它就改变令牌中的一位(该操作将令牌变成一个帧开始序列),并添加需要传输的信息,然后将整个信息发往令牌环中的下一主机。当这个信息帧在环上传输时,在网络中是没有令牌的。这就意味着,如果其他主机要传输数据就必须等待直到拥有令牌,因此,在令牌环网络中不会发生数据传输冲突。
信息帧将沿着环传输直到找到目的地,目的地将创建一个信息帧副本以便进一步处理。信息帧则继续沿着环传输直至到达发送主机时才可以被删除,而发送主机则可以通过校验返回帧以查看帧是否已经被主机收到。
与以太网不同,令牌传递网络具有确定性,即任意终端能够在传输数据之前就可以计算出最大等待时间。该特点结合另一些可靠性的保证措施,使得令牌环网络可以适用于需要能够预测延迟的应用程序以及需要可靠网络操作的情况。
(3)HDLC协议
HDLC(High-Level Data Link Control)协议称为高级数据链路控制协议,是指一个在同步网上传输数据和面向比特的数据链路层协议,它是由国际标准化组织根据IBM公司的SDLC(Synchronous Data Link Control,同步数据链路控制)协议扩展开发而成的。在20世纪70年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC,随后ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:ANSI的高级通信控制过程ADCCP(Advanced Data Communication Control Procedure)和ISO的高级数据链路控制规程HDLC。
HDLC协议着重于对分段成物理块或包的数据的逻辑传输,物理块或包由起始标志引导并由终止标志结束。将这种物理块或包也称为帧,帧是每个控制、每个响应和用协议传输的所有信息的工具。所有面向比特的数据链路控制协议均采用统一的帧格式,无论是数据还是单独的控制信息均以帧为单位进行传送。
每个帧前、后均有一组标志码“01111110”,用作标识帧的起始、终止及帧的同步。实际上,标志码不允许在帧的内部出现,以免引起歧义。为保证标志码的唯一性而又兼顾帧内数据的透明性,可以采用“0比特插入法”来解决。
“0比特插入法”是在发送端监视除标志码以外的所有字段,当发现有连续5个“1”出现时,便在其后添加一个“0”,然后继续发送后继的比特流。而在接收端,同样监视除起始标志码以外的所有字段,当发现有连续5个“1”出现后,若其后一个比特为“0”则自动删除它,以恢复原来的比特流。如果发现有连续6个“1”,则可能是插入的“0”发生差错而变成的“1”,也可能是收到了帧的终止标志码。后者则可以进一步通过帧中的帧校验序列来加以区分。“0比特插入法”原理简单,很适合于硬件实现。
作为面向比特的数据链路控制协议的典型应用,HDLC具有如下特点:
·协议不依赖于任何一种字符编码集;
·数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
·全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;
·所有帧均采用CRC校验,对信息帧进行编号,可防止漏收或重复,传输可靠性高;
·传输控制功能与处理功能分离,具有较大灵活性和较完善的控制功能。
正是基于以上特点,目前网络设计中普遍使用HDLC作为数据链路控制协议。
(4)PPP
PPP(Point to Point Protocol)是指在点对点的连接上,为传输多协议数据包提供的一种标准方法。PPP的最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。在TCP/IP协议簇中,它是一种用来同步调制连接的数据链路层协议(OSI参考模型中的第二层),替代了原来非标准的第二层协议(SLIP)。除了IP以外,PPP还可以携带其他协议,包括DECnet和Novell的Internet网包交换(IPX)。
PPP主要由以下几部分组成:
1)封装。为了封装多协议数据报,PPP封装提供了不同网络层协议能够同时在同一链路传输的多路复用技术。PPP封装能保持对大多数常用硬件的兼容性,其所提供的WAN数据链接封装服务类似于LAN提供的封闭服务。所以PPP不仅能够提供帧定界,而且可以提供协议标识和位级完整性检查服务。
2)链路控制协议。PPP提供的LCP功能全面,能够适用于大多数环境。LCP可以就封装格式选项自动达成一致,处理数据包大小限制,探测环路链路和其他普通的配置错误以及终止链路。
3)网络控制协议。扩展链路控制协议,其用于建立、配置、测试和管理数据链路连接。
4)配置。使用链路控制协议的简单和自治机制,该机制也应用于其他控制协议,如网络控制协议(NCP)。为了建立点对点的链路通信,PPP链路的两端必须先发送LCP包以便设定和测试数据链路。当在链路成功建立后,LCP所需的可选功能被选定完毕,PPP必须发送NCP包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就可以在链路上发送了。通信链路将保持通信设定不变,直至LCP和NCP数据包关闭通信链路,或者一些外部事件的发生造成通信链路关闭(如休止状态的定时器期满或者网络管理员干涉)。
PPP的主要工作流程如下:
·当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
·PC机向路由器发送一系列的LCP分组(封装成多个PPP帧),这些分组和响应会选择PPP参数,进行网络层配置。NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。
·通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着LCP释放数据链路层连接,最后释放物理层的连接。
PPP和HDLC之间最主要的区别是:PPP是面向字节的,而HDLC是面向比特的。
(5)X. 25
X. 25协议是CCITT建议的一种协议,其定义了终端和计算机到分组交换网络的连接,分组交换网络在一个网络上为数据分组选择到达目的地的路由。X.25网络是第一个面向连接的网络,也是第一个公共数据网络,其数据分组包含3字节头部和128字节数据。在X.25网络运行10年以后,于20世纪80年代被无错误控制、无流控制和面向连接的帧中继网络所取代。
X. 25用于将远程终端连接到主机系统,这种服务为同时使用的用户提供了任意点对任意点的连接。来自一个网络的多个用户的信号,可以通过多路选择经过X.25接口而进入分组交换网络,并被分发到不同的远程地点。一种被称为“虚电路”的通信信道在一条预定义的路径上连接端点和站点。
X. 25的分组交换体系结构同时具有一些优点和缺陷。信息分组通过散列网络的路由是根据这个分组头中的目的地址信息来进行选择的。所以,用户可以与多个不同的地点进行连接,而不是像面向电路的网络那样在任何两点之间仅仅存在一条专用线路。由于分组可以通过路由器的共享端口进行传输,所以就存在一定的分发延迟。虽然许多网络能够通过选择回避拥挤区域的路由来支持过载的通信量,但是随着访问网络人数的增多,用户还是可以感觉到网络速度变慢。与此相对,面向电路的网络是在两个地点之间提供了一个固定的带宽,其不能适应超过这个带宽的数据传输要求。
(6)帧中继
帧中继(Frame Relay)是一种网络与数据终端设备(DTE)的接口标准。由于光纤网比早期的电话网误码率低很多,可以减少X.25的某些差错控制过程,从而可以减少节点的处理时间,并提高网络的吞吐量,帧中继就是在这种环境下产生的。
帧中继提供的是数据链路层和物理层的协议规范,任何高层协议都独立于帧中继协议,因此大大地简化了帧中继的实现。目前帧中继的主要应用之一是局域网互联,特别是在局域网通过广域网进行互联时,使用帧中继将更能体现其低网络时延、低设备费用、高带宽利用率的优点。
帧中继因为使用光纤作为传输介质,从而大幅提高了网络流量,其作为一种宽带分组交换技术,在使用复用技术时其传输速率可高达44.6Mbps,但帧中继不适合于传输诸如语音、电视等实时信息,它仅限于传输数据。
为了与帧中继网相连,我们需要一个路由器和一条从用户到交换局帧中继的入口线路。来自多个用户的分组被多路复用到一条连到帧中继网上的线路,通过帧中继网它们被发送到一个或多个目的地。
在网络层中,永久虚电路(PVC)就是通过帧中继网连接两个端节点的预先确定的通路。帧中继服务的提供者可以根据客户的要求,在两个指定的节点间分配永久虚电路。这些信道将保持连续不间断地运行,并且保证提供给客户一种指定级别的通信服务。
(7)帧中继和X.25协议的差别
帧中继是继X.25后发展起来的数据通信方式,从原理上看,帧中继与X.25同属于分组交换,其与X.25协议的主要区别有:
·帧中继带宽较宽;
·帧中继的层次结构中只有物理层和链路层,舍去了X.25的分组层;
·帧中继采用D通道链路接入规程LAPD,而X.25采用HDLC的平衡链路接入规程LAPB;
·帧中继可以不用网络层,而只使用链路层来实现复用和转接。
与X.25相比,帧中继在操作处理上做了大量的简化。无需考虑传输差错问题,其中间节点只做帧的转发操作,不需要执行接收确认和请求重发等操作,差错控制和流量均交由高层端系统完成,大大缩短了节点的时间延迟,提高了网内数据的传输速率。