一 最主要的三种网络
(1)电信网络(电话网),负责话音通信,也就是打电话、接听电话。
(2)有线电视网络,主要提供视频服务。
(3)计算机网络,主要是数据传输服务,也就是说是资源共享,其主要的服就是因特网,三种网络在各自的通信协议下传输信息,为用户提供通信服务。
二 计算机网络背景
20世纪40年代以来,人们就梦想能拥有一个世界性的信息库。在这个信息库中,信息不仅能被全球的人们存取,而且能轻松地链接到其他地方的信息,使用户可以方便快捷地获得重要的信息。因此,互联网应运而生。
internet泛着互联网;Internet是互联网的一种,称为因特网,但因特网并不是全球唯一的互联网络。例如在欧洲,跨国的互联网络就有“欧盟网”(Euronet),“欧洲学术与研究网”(EARN),“欧洲信息网”(EIN),在美国还有“国际学术网”(BITNET),世界范围的还有“飞多网”(全球性的BBS系统)等。
Internet提供的主要服务有万维网(WWW)、文件传输(FTP)、电子邮件(E-mail)、远程登录(Telnet)、手机(3GHZ)等。万维网联盟称为W3C。
万维网(WWW)常简称为Web。分为Web客户端和Web服务器程序。 WWW可以让Web客户端(浏览器)按照超文本传输协议(HTTP)访问浏览Web服务器上的页面。 WWW是一个由许多互相链接的超文本组成的系统,这些超文本可以通过互联网被访问。在这个系统中,每个有用的事物,称为一样“资源”;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。
三 因特网组成
因特网主要是由核心部分和边缘部分组成,网络核心部分是因特网中最复杂的部分。网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。
在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:客户服务器方式(C/S方式)和对等方式(P2P方式)。还有一种浏览器服务器方式(B/S方式)是C/S方式的一种特例。
四 因特网中节点间信息传递方式
1 电路交换
电路交换首先在发送端和接收端建立连接,然后将报文传输过去,最后释放连接。 电路交换的三个阶段:建立连接、通信、释放连接。电路交换中通过交换机实现两个节点之间的通信。电信网络(电话网)使用的电路交换。
2 报文交换
在通信过程中,通信双方以报文为单位、使用存储-转发机制实现数据交互的通信方式,被称为报文交换。发送电报使用的报文交换。
3 分组交换
分组交换与报文交换一样都使用存储-转发机制,不过分组交换将报文分成多个分组,以分组为单位、使用存储-转发机制实现数据交互。在发送端,先把较长的报文划分成较短的、固定长度的数据段, 每一个数据段前面添加上首部构成分组,各个分组依次发送到接收端,接收端接收到分组后,剥去首部,将其组装成还原成报文。计算机网络使用的分组交换。
五 路由选择协议
报文被拆分成分组后,从发送端出发,经过多个路由器,到达接收端,这些路由器根据一定的路由选择协议根据分组的头部地址将分组转发到相应的端口,路由选择协议非常重要的。
1 关于“最佳路由”
(1.1)不存在一种绝对的最佳路由算法。
(1.2)所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
(1.3)实际的路由选择算法,应尽可能接近于理想的算法。
(1.4)路由选择是个非常复杂的问题
(1.4.1)它是网络中的所有结点共同协调工作的结果。
(1.4.2)路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。
2 从路由算法的自适应性考虑:
(2.1)静态路由选择策略,即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
(2.2)动态路由选择策略,即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。
3 因特网中的两大类路由选择协议:
(3.1)内部网关协议 IGP (Interior Gateway Protocol),即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,其具体的协议有多种,如 RIP 和 OSPF 协议。RIP: Routing Information Protocol 路由信息协议。RIP 协议的三个要点:(a)仅和相邻路由器交换信息。(b)交换的信息是当前本路由器所知道的全部信息,即自己的路由表。 (c)按固定的时间间隔交换路由信息,例如,每隔 30 秒;OSPF:Open Shortest Path First 开放最短路径优先。
(3.2)外部网关协议EGP (External Gateway Protocol) ,若源站和目的站处在不同的自治系统 中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是BGP-4。BGP:Border Gateway Protocol 边界网关协议。BGP 是不同自治系统的路由器之间交换路由信息的协议。边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
六 网络协议
为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,网络协议简称为协议。它主要由三个要素组成:(1)语法,即数据与控制信息的机构或格式;(2)语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;(3)同步,即事件实现顺序的详细说明。
由此可见,网络协议是计算机网络的不可缺少的组成部分。实际上,只要我们想让连接在网络上的另一台计算机做点事情,都需要有协议。对于非常复杂的计算机网络协议,其结构应该是层次式的,我们把计算机网络的各层及其协议的集合,成为网络的体系结构。体系结构是抽象的,而实体则是具体的,是真正在运行的计算机硬件和软件。
七 计算机网络的体系结构
计算机网络的体系结构有两种:(1)OSI的七层协议体系结构,概念清楚,理论完整,但它既复杂又不实用。(2)TCP/IP四层体系结构,它得到了广泛的应用,不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络的原理时采用折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构。
假定网络中两个主机是相连的,它们之间传输数据,应用进程的数据在各层之间的传递过程中所经历的变化,如下图所示。
实体,表示任何可发送或接收信息的硬件或软件进程;协议,控制两个对等实体(或多个实体)进行通信的规则的集合;在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。由此可见,协议是水平的,而服务是垂直的。
通常我们所说的TCP/IP协议,是指TCP/IP协议族,即TCP/IP四层的所有协议集合。TCP/IP协议族的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很少,上层的各种协议都向下汇聚到一个IP协议中。折中很像沙漏计时器形状的TCP/IP协议族表明:TCP/IP协议可以为各种各样的应用提供服务,同时TCP/IP协议也允许IP协议在各种各样的网络构成的互联网上运行。不难看出IP协议在一天入网中核心作用。
八 计算机网络的五层结构
1 物理层
一个数据通信系统可以划分为三大部分,即源系统(包括源点和发送器)、传输系统和目的系统(包括接收器和终点)。信息变化过程是:电脑中文字转化为数字比特流(数字信号),通过调制解调器转化为模拟信号,将模拟信号发送到接收端,接收端将模拟信号转化为数字比特流(数字信号),再转化为文字,在电脑中显示。具体流程如图:
通信的目的是传送消息,如话音、文字、图像等都是消息。数据是运送消息的实体。信号则是数据的电气的或电磁的表现。根据信号中代表消息的参数的取值方式不同,信号可以分为模拟信号和数字信号,模拟信号(或连续信号),代表消息的参数的取值是连续的;数字信号(或离散信号),代表消息的参数的取值是离散的,在使用时间域的波形表示数字信号时,则代表不同离散数值的基本波形就称为码元。在使用二进制编码时,只有两种不同的码元,一种代表0而另一种代表1状态。
计算机网络中要使用“信道”这一名词,信道不同于电路,信道一般表示向某一个方向传送消息的媒体。因此,一条通信电路往往包含一条发送信道和一条接收信道。从通信的双方信息交互的方式来看,有以下三种方式:(1)单工通信,只能有一个方向的通信而没有反方向的交互,无线电广播或有线电广播以及电视广播就属于这种类型。(2)半双工通信,通信的双方都可以发送消息,但不能同时发送。这种通信方式是一方发送另一方接收,过段时间反过来。(3)全双工通信,通信的双方可以同时发送和接收信息。单工通信只需要一条信道,而半双工和全双工通信需要两条信道。显然,双向同时通信的传输效率最高。
2 数据链路层
数据链路层属于计算机网络的底层,使用的信道有两种类型:(1)点对点信道,使用一对一的点对点通信方式。使用点对点协议PPP,在通信质量较差的年代,在数据链路层使用可开传输协议曾经是好办法,因此能实现可靠传输的高级数据链路控制HDLC成为当时比较流行的数据链路层协议,但现在HDLC很少使用,对于点对点的链路,简单得多点对点协议PPP则是目前使用最广泛的数据链路层协议,PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。(2)广播信道,这种信道使用一对多的广播通信方式,因此过程复杂,广播信道上连接的主机很多,必须使用专用的共享心道协议来协调这些主机的数据发送。
局域网使用的就是广播信道,局域网特点是网络为一个单位所拥有,且地理位置和站点数目均有限。局域网具有如下优点:(1)具有广播功能,从一个站点可以方便地访问全网,局域网上的主机可共享连接在局域网上的各种硬件和软件资源。(2)便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。(3)提高了系统的可靠性、可用性和生存性。
局域网的拓扑结构有星形网、环形网、总线网、树形网。星形网由于集线器的出现和双绞线大量用于局域网中,星形以太网以及多级星形结构的以太网获得了广泛的应用;环形网,最典型的是令牌环形网,简称令牌环;总线网,各站直接连在总线上,总线两端的匹配电阻吸收在总线上传播的电磁波信号的能量,避免在总线上产生有害的电磁波反射。总线网可使用两种协议,一种是以太网,另一种是令牌传递总线网,即物理上是总线网而逻辑上是令牌环形网。前一种总线网以演进为星形网,而后一种令牌传递总线网已经退出市场。使用以太网规范的局域网称为以太网,使用令牌网规范的局域网称为令牌环网。现在大部分局域网都是以太网。
在局域网上,经常是一条传输介质上连有多台计算机(如总线型和环型局域网),即大家共享同一传输介质。而一条传输介质在某一时间内只能被一台计算机所使用,那么在某一时刻到底谁能使用或访问传输介质呢?这就需要有一个共同遵守的准则来控制、协调个计算机对传输介质的同时访问,这种准则就是协议或成为媒体访问控制方法。据此可以将局域网分为以太网、令牌环网等。
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。
3 网络层
网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的因特网标准协议之一。与IP协议配套使用的还有四个协议:地址解析协议ARP,根据IP地址获取其物理地址;逆地址解析协议RARP,根据物理地址获取其IP地址;网际控制报文协议ICMP;网际组管理协议IGMP。IP协议与其配套协议关系如下
4 传输层
从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。当网络的边缘部分中的主机使用网络的核心部分的功能进行端到端的通信时,只有主机的协议栈才有传输层,而网络核心部分中的路由器在转发分组时只用到了下三层的功能。
传输层主要有两个协议,都是因特网的正式标准,(1)用户数据报协议UDP[RFC 768],(2)传输控制协议TCP[RFC 793]。TCP/IP体系中的运输层协议如下:
应用层和应用层协议主要使用的运输层协议(UDP或TCP)如下表所示
传输层的端口号共分为下面的两大类:(1)服务器端使用的端口号,这里分为两类,最重要的一类叫做熟知端口号或系统端口号,数值为0---1023。比如FTP端口号21,TELNET端口号23,SMTP端口号25,DNS端口号53,TFTP端口号69,HTTP端口号80,SNMP端口号161,SNMP(trap)端口号162。另一类叫做登记端口号,数值为1024—49151,这类端口号是为没有熟知端口号的应用程序使用的。(2)客户端使用的端口号,数值为49152—65535。由于这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。
用户数据报协议UDP,用户数据报协议UDP只在IP协议的数据报服务上增加了很少一点功能,就是复用和分用的功能以及差错检测的功能。UDP的主要特点是:(1)UDP是无连接的,即发送数据之前不需要建立连接(发送数据结束也没有连接可释放),因此减少了开销和发送数据之前的延迟。(2)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。(3)UDP是面向报文的,发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给UDP多长的报文,UDP就照样发送,因此应用层必须选择合适大小的报文,不然降低IP层的效率。
UDP优势:(1)UDP没有涌塞控制,因此网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用很重要的。很多实时应用(如IP电话、实时视频会议等)要求源主机以恒定的速率发送数据,并且允许在网络发生拥塞时丢失一些数据,但不允许数据有太大的时延,UDP正好适合这种要求。如果很多源主机同时向网络发送高速率的实时视频流时,网络就可能发生拥塞,因此UDP有可能引起网络严重的拥塞问题。(2)UDP支持一对一、一对多、多对一和多对多的交互通信。(3)UDP的首部开销小,只有8字节,比TCP的20个字节的首部要短。
传输控制协议TCP,TCP协议比较复杂,TCP主要的特点:(1)TCP是面向连接的运输层协议,应用层在使用TCP协议之前,必须先建立TCP连接,传送完毕后,必须释放已经建立的TCP连接。(2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)。(3)TCP提供可靠交付的服务,也就是通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。(4)TCP提供全双工通信。(5)面向字节流,TCP中的“流”指的是流入到进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但发送方TCP把发送方应用程序交下来数据看成一连串的无结构的字节流。发送方TCP不知道传送的字节流的含义,不保证接收方应用程序所收到的数据块和应用程序发出的数据块具有对应大小的关系(例如,发送方应用程序交给发送方TCP10个数据块,但接收方TCP可能只用4个数据块把收到的字节流交付给了上层的应用程序)。但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流一样。
TCP和UDP在发送报文时所采用的方式完全不同,TCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的。TCP根据对方给出的窗口值和当前网络的拥塞程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的)。如果应用进程传送到TCP缓存的数据块太长,TCP就可以把它划分短一些再传送。如果应用进程一次只发来一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。
TCP的可靠传输,TCP的流量控制,TCP的拥塞控制,都挺重要,还有TCP的运输连接管理。TCP是面向连接的协议,运输连接是用来传送TCP报文的,TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,运输连接有三个阶段:连接建立、数据传送和连接释放。
TCP的连接建立,三次握手。如图所示,假定主机A运行的是TCP客户程序,而B运行TCP服务器程序,最初两端的TCP进程都处于CLOSED(关闭)状态,A主动打开连接,B被动打开连接。
B的TCP服务器进程先创建传输控制块TCB,准备接收客户进程的连接请求。然后服务器进程就处于LISTEN(接听)状态,等待客户的连接请求。如有,即做出相应。
A的TCP客户进程也是首先创建传输控制模块TCB,然后向B发出连接请求报文段,这时首部中的同部位SYN=1,同时选择一个初始序号seq=x。TCP规定,SYN报文段(即SYN=1的报文段)不能携带数据,但要消耗掉一个序号。这时,TCP客户进程进入SYN-SENT(同步已发送)状态。
B收到连接请求报文段后,同意建立连接,则向A发送确认。在确认报文段中应把SYN位和ACK位都置1,确认号是ack=x+1,同时也为自己选择一个初始序号seq=y。请注意,这个报文段也不能携带数据,但同样要消耗掉一个序号。这时TCP服务器进程进入SYN-RCVD(同步收到)状态。
TCP的连接释放是四次握手。过程如下所示:
5 应用层
应用层有域名系统DNS,文件传送协议FTP,远程终端协议TELNET,万维网www(主要使用HTTP协议),电子邮件(主要使用SMTP协议),动态主机配置协议DHCP,简单网络管理协议SNMP,应用进程跨网络的通信。