收藏 分销(赏)

网络编程书籍讲义(第一讲)ppt课件.ppt

上传人:二*** 文档编号:12591072 上传时间:2025-11-07 格式:PPT 页数:61 大小:589KB 下载积分:5 金币
下载 相关 举报
网络编程书籍讲义(第一讲)ppt课件.ppt_第1页
第1页 / 共61页
本文档共61页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.页,*,Slide Title,.页,人民邮电出版社,第1章 TCP/IP协议概述,.页,1.1TCP/IP协议的产生与发展,1.1.1 TCP/IP协议的产生,1968年6月DARPA提出的“资源共享的计算机网络”(Resource Sharing Computer Networks)研究计划。该计划的最初目的是让DARPA的所有电脑都能互联起来,使大家可以共享人们的研究成果,由于当时该研究是在美国国防部高级研究计划署的组织下进行的,因此人们就把这个网络叫做“ARPANET”,在国内有些资料音译为“阿帕网”。,在20世纪70年代初,加州大学洛杉机分校的网络工作小组(NWG)制定出“网络控制协议”(NCP,Network Control Protocol)。“网络控制协议”不过是一台主机直接对另一台主机的通信协议,实质上是一个设备驱动程序。要想真正做到将许多安装了不同操作系统的电脑连接起来,“网络控制协议”就有点力不从心了。而且,“网络控制协议”也没有纠错功能,如果要是在传输中出现了错误,就只能停止网络中传输的数据,那么这次传输也就失败了。因此“网络控制协议”有其先天的不足。,.,1.1TCP/IP协议的产生与发展,1.1.1 TCP/IP协议的产生,随着计算机应用领域的不断扩展,连入ARPANET的电脑数量的增加,就需要有一种新的协议来管理计算机网络中的通信。最重要的问题是得考虑给每一台电脑分配一个唯一的名字,这样别的电脑才能把这台电脑“认”出来。用专业一点的术语来说,就是要给网络中的每一台电脑给出一个惟一的“地址”。这就需要人们设计出一种新的协议,以解决不同电脑或不同网络之间的互联问题,当时人们为这种新的协议确定了如下的一些基本设计原则:,(1)每一个独立的网络必须按自己的标准建立起来,当这个网络和互联网连接的时候,不需要对其内部做任何改动。,(2)网络应该在最佳的状态下完成通信。,(3)如果一个“信包”没有到达目的地,最初发出“信包”的节点将很快重发该“信包”。,.,1.1TCP/IP协议的产生与发展,1.1.1 TCP/IP协议的产生,(4)网络之间由叫做“黑匣子”的设备进行互相连接,这里所谓的“黑匣子”就是后来被人们称为类似于“网关”和“路由器”的设备。,(5)整个互联网不需要在操作层面上进行任何总体控制。,按这些设计原则,在1973年由研究操作系统通信原理的Kahn和参与过网络通信协议NCP设计的Vinton Cerf两人一起为ARPANET开发具有上以特点的网络互联协议。1974年5月Vinton Cerf和Kahn两人合作在IEEE(电气和电子工程师协会)刊物上发表了一篇题为“分组网络互联的一个协议”的论文,同年12月,他们正式发表了第一份TCP协议的详细说明,该协议负责在互联网上传输和转发信包。,.,1.1TCP/IP协议的产生与发展,1.1.1 TCP/IP协议的产生,由于在后来的实验中证实这种TCP协议有时在信包丢失时不能得到有效的纠正,因此,他们认识到应该把这一协议分成两个不同的协议:,一个是用来检测网络传输中差错的“传输控制协议”TCP,当检测到传输中有差错时,它就能发出重发信号,源端收到该信号后就重新发送发生差错的信包,通过这种差错重传机制保证数据能够正确传输到目的地;另一个是专门负责对不同网络进行互联的“互联网协议”IP,为了实现不同类型的局域网可以互联,,它在各种局域网地址标准之上,为互联网络中的所有主机设定了统一的互联网地址(IP地址),以保证不同网络中的主机(当然也可以是同一个网络中的主机)只要接入互联网,它们之间就可以相互识别,以进行通信。这两个协议就是我们现在所说的“TCP/IP协议”。,.,1.1TCP/IP协议的产生与发展,1.1.1 TCP/IP协议的产生,使用TCP/IP协议的网络,,其最大的优点是可以使不同的网络互联,并且网络中的任何节点或某部分被破坏,都不会造成整个网络的瘫痪,,这正好符合美国军方的需要。于是,在1982年做出了在ARPANET上使用TCP/IP协议以代替原来使用的网络控制协议(NCP)的决定。1983年的1月1日,ARPANET停止了网络控制协议NCP的使用,从此互联网上的主机都使用TCP/IP协议,使TCP/IP协议成了计算机网络领域事实上的工业标准协议。,什么是TCP/IP协议呢?对初学者来说,,我们可以简单地理解为TCP协议是用来检测数据传输中的差错并进行流量控制的协议。TCP协议如果发现问题,就要发出重新传输的信号,直到所有数据能够安全传输到目的地,因此它起到一个信息传输过程中的控制作用。IP协议的最主要作用就是给网络中的每一台电脑分配一个唯一地址,否则别的电脑就找不到它。,这就像我们日常活生中寄信要有地址,打电话要有电话号码一样。现在人们将Internet中使用的所有协议统称为TCP/IP协议。,.,1.1TCP/IP协议的产生与发展,1.1.2TCP/IP协议的发展与应用,TCP/IP协议产生于20世纪70年代,在1983年著名的ARPANET全面使用TCP/IP协议后,大大加快了TCP/IP协议的推广速度。后来人们以ARPANET为骨干网建立了Internet。在1985年,美国国家科学基金会(NSF)开始TCP/IP协议的研究工作,并在1986年资助建立了NSFNET,NSFNET使用TCP/IP协议,它作为骨干网连接了全美主要科研机构,后来NSFNET代替ARPANET成为Internet的骨干网。这样,顺理成章的使TCP/IP协议成为了Internet中的“世界语”。,Internet在全球的广泛应用说明,Internet的快速发展得益于TCP/IP协议的提出和使用,反过来,Internet又促进了TCP/IP协议的普及和应用。,这里还要说明一点,在计算机系统的操作系统领域,1983年加州大学伯克利分校的开发者发布的最新版的UNIX操作系统4.2BSD(Berkeley Software Distribution)实现了TCP/IP协议,这也大大的促进了TCP/IP协议推广与应用。,.,1.1TCP/IP协议的产生与发展,1.1.2TCP/IP协议的发展与应用,TCP/IP协议从产生到现在虽然共出现了6个版本,但前3个版本基本没有投入实际使用,第5版是基于ISO/OSI中的7层模型提出来的,由于层次结构变化大,实现成本较高,因此没有投入实际使用。,现在Internet网络中广泛使用的是TCP/IP协议的第4版,一般简称为IP v4,。,在IP v4的使用过程中,人们发现其32位的地址范围有限、并存在安全等问题,于是提出IP v6,该协议主要将IP协议进行了修改,使其在地址空间、数据的完整性和保密性、语音和视频数据传输等方面有了很大的改进,能更好的满足当前网络实际应用的需求。本书主要讨论IP v4协议,同时对IP v6协议的关键内容也进行一些介绍。,.,1.2TCP/IP协议的体系结构,1.2.1TCP/IP协议的分层体系结构与协议栈的概念,网络系统由硬件系统(如网卡、集线器、路由器等)和软件系统(如操作系统、通信协议等)组成。在进行TCP/IP协议的研究与进行网络软件开发时,一般人们只关心网络系统的软件系统,而软件系统的核心内容就是通信时所使用的网络协议。因此本小节讨论的TCP/IP协议结构是从软件角度来说的。,在网络协议发展的初期,人们并没有想到要将网络协议进行分层设计,只是在后来的研究与应用中才逐步认识到网络协议的复杂性,于是才想到了人类在解决复杂问题时所广泛使用的“分层管理”的思想。,如在人类社会中,中央政府管理省级政府,省级政府管理地区级政府,地区级政府管理县级政府等。这样,中央政府的管理指令先下达到省级政府,省级政府现再下达到地区级政府,地区级政府再下达到县级政府。同样县级政府有问题先要向上一级地区政府汇报,然后由地区政府再向上一级政府汇报。将这一思想应用到网络软件的设计上,人们就把网络系统的软件按功能划分为若干个层次(一般少则可分成4层,多则可达7层),每层负责不同级别的通信功能。,.,1.2TCP/IP协议的体系结构,1.2.1TCP/IP协议的分层体系结构与协议栈的概念,按照上面介绍的思想,人们将TCP/IP协议分为四层,这四层由高到低分别是:应用层、传输层、网络层(IP层)和网络接口层(物理层),如图1-1所示。,Telnet、,FTP,、HTTP、DNS、SNMP和SMTP等,TCP和UDP,IP、ICMP和IGMP,设备驱动程序和网络接口卡等,第3层 传输层,第1层 网络接口层,第2层 网际层,第4层 应用层,图1-1TCP/IP协议的层次结构,各层常用的协议,应用程序,.,1.2TCP/IP协议的体系结构,1.2.1TCP/IP协议的分层体系结构与协议栈的概念,其中每一层完成不同的通信功能,一个层就好像一个“黑匣子”一样。每个“黑匣子”的内部是如何实现的其他层并不关心,其他层只关心的是这个“黑匣子”对外部提供了什么样的服务。,在这样一种体系结构中,每一层都向它的上层提供一定的服务,每一层同时可以使用它的下层所提供的功能。这样在相邻层之间就有一个接口,通过这个接口将相邻层之间联系起来。这种网络协议的层次结构主要有如下优点:,(1)各层之间相互独立:只要保持相邻层之间的接口不变,一个层内部可以用不同的方式来实现。各层独立的另外一个好处是一个层内部实现升级或改变时,,不影响与该层相邻的上层和下层,。,(2)易于设计与实现:各层都可以使用最合适的技术来实现,并且,不同层都可以由不同的团队来设计,。,(3)易于维护:由于将一个复杂的系统分解为若干个相对简单的层次,,并且各层由于完成的功能不同,当系统出现问题时易于分析与维护。,.,1.2TCP/IP协议的体系结构,1.2.1TCP/IP协议的分层体系结构与协议栈的概念,一般情况下,把网络的层次结构和每层所使用协议的集合称为网络体系结构(Network Architecture)。一个具体的网络协议其所包含的层数和每层所使用的协议是确定的,如TCP/IP协议分为四层,每层所使用的协议如图1-1所示。,如上所述,,网络协议是分层的,在这种层次结构中各层有明确的分工,不同层的协议从上到下形成了一个栈结构的依赖关系,通常将其形象的称为协议栈(Protocol Stack)。,如图1-1所示是TCP/IP协议的栈结构,从该结构中可以看出,在TCP/IP协议栈中包括很多协议,但TCP协议和IP协议是该协议栈中两个最重要的协议,所以人们常常将该协议栈简称为TCP/IP协议。,下面我们介绍一下TCP/IP协议栈中的4个层及其主要功能。,.,1.2TCP/IP协议的体系结构,1.2.2网络接口层(物理层),网络接口层处于TCP/IP协议栈的最低层,它负责将其之上的网络层要发送出去的数据(即IP数据报)发送到其下面的物理网络。或接收由物理网络发送到该目标机的数据帧,并抽出IP数据报交网络层。要注意,这里所说的物理网络是指各种实际传输数据的局域网或广域网等。,这里有一点大家要明白,,在TCP/IP协议栈中并没有具体定义网络接口层的内容,一般情况,人们认为只要是在其上能进行IP数据报传输的物理网络,(如常用的局域网中的以太网、令牌环网、FDDI-光纤分布式数据接口、IEEE802.3及RS-232串行线路等),,都可以当成TCP/IP协议栈的网络接口层。,那么,为什么在TCP/IP协议栈中没有定义网络接口层呢?这是因为不定义网络接口层的具体内容有如下两点好处:,(1)便于实现不同互联网,不同硬件之间的互联,(2)为物理互联网的发展留下广阔的空间。,.,1.2TCP/IP协议的体系结构,1.2.3网际层,网际层(internet layer)在TCP/IP协议栈的第2层,也称为互联网络层(互联层),因该层的主要协议是IP协议,,也可简称为IP层,。它是TCP/IP协议栈中最重要的一层,主要功能是它可以把源主机上的分组根据需要发送到互联网中的任何一台目标主机上。当然在一般情况下,发送信息的源主机要知道接收信息的目标主机的“地址”(该内容在第3章中介绍)。通信时,源主机与目标主机可以在同一个网络中,也可以在不同的网络中。,在网际层传输的数据单位叫IP数据报,也称为IP分组。,在一个由很多网络组成的互联网中,一台主机(即源主机)与不在同一个网络中的另一台主机(目标主机)通信时,可能有多条通路相连,网际层的一个重要功能就是要在这些通路中做出选择,这就是所谓的,路由选择功能。路由选择是网际层一个非常重要的功能。,.,1.2TCP/IP协议的体系结构,1.2.3网际层,网际层的本质是在各种物理网络基础上,使用IP协议将它们互联,组成了一个传输IP数据报的虚拟网络,所以网际层实现了不同网络的互联功能。,总之,在IP层提供的是一种“尽力而为”的数据报传输服务,它不能保证数据总是可靠的从源主机传输到目标主机。,在TCP/IP协议族中,网际层协议包括IP协议(网际协议)、ICMP协议(Internet Control Message Protocol,即Internet互联网控制报文协议)以及IGMP协议(Internet Group Management Protocol,即Internet组管理协议)等。,.,1.2TCP/IP协议的体系结构,1.2.4传输层,在TCP/IP协议族中,传输层(Transport Layer)处于第3层。传输层完成我们通常所说的两台主机之间的通信,其实质是两台主机上对应的应用进程之间的通信。传输层提供的应用进程之间的通信,也叫端到端(end to end)的通信。端到端的通信是在传输层两个通信的实体之间进行的,这就好像是在两个通信的实体之间建立了一条逻辑通路一样,它屏蔽掉了IP层的路由选择和物理网络等细节。,在实际的通信过程中,传输层应用进程之间对通信质量的要求是不一样的。这了满足不同的需要,在TCP/IP协议族中传输层定义了两个不同的传输协议:一个是TCP(传输控制协议);另一个是UDP(用户数据报协议)。,.,1.2TCP/IP协议的体系结构,1.2.4传输层,TCP协议为两台主机提供高可靠性的数据通信服务,它可以将源主机的数据流无差错的传输到目标主机。当有数据要发送时,它对应用进程送来的数据进行分片,以适合于在网络层中传输;当接收到网络层传来的分组时,它对收到的分组要进行确认;还要对丢失的分组设置超时重发等,为此TCP需要增加额外的许多开销,以便于在数据传输过程中进行一些必要的控制,以确保数据的可靠传输。,UDP协议则为应用层提供一种非常简单的服务,它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能正确到达目标端,通信的可靠性必须由相应的应用程序来提供。,TCP协议和UDP协议各有其特点,TCP协议可以确保数据传输的可靠性,但由于需要额外的开销,所以数据传输的效率比较低;UDP协议虽然不能保证数据传输的可靠性,但数据传输的效率比较高。,用户在开发应用程序时,可以根据实际通信的情况,选用TCP协议或UDP协议进行数据传输。,.,1.2TCP/IP协议的体系结构,1.2.5应用层(Application Layer),应用层在TCP/IP协议族的第4层,即最高层,它提供面向用户的网络服务,如进行文件的传输服务和远程登录服务等。,不同的用户,对应用层服务的需求不同,因此应用层定义了许多面向用户的、提供特定服务的协议。比较常用的有远程登录协议(Telnet)、文件传输协议(FTP)、超文本传输协议(HTTP)、域名系统(DNS)、简单网络管理协议(SNMP)和简单邮件传输协议(SMTP)等。,由于传输层可以使用TCP协议,也可以使用UDP协议。因此,有些应用层协议是基于TCP协议的(如FTP和HTTP等),有些应用层协议是基于UDP协议的(如SNMP等)。,.,1.2TCP/IP协议的体系结构,1.2.5应用层(Application Layer),尽管应用层提供了较多的应用程序,但这些程序只能满足普通用户在一般情况下使用网络的需求,如果用户要在网络上进行一些特殊的应用,如网把管理或需要一个公司内部使用的邮件系统等,应用层并没有提供这样的程序,这就要由网络用户根据自己的实际需要,开发所需的应用软件。,.,1.3TCP/IP协议的工作原理,1.3.1使用TCP/IP协议的Internet网络结构,Internet是全球最大的、开放的、由众多网络互联而成的计算机互联网,Internet使用的通信协议就是TCP/IP。如图1-2所示的是Internet的结构示意图。,图1-2 Internet结构示意图,国际或国家主干网,地区主干网,企业网,企业内部局域网,.,1.3TCP/IP协议的工作原理,1.3.1使用TCP/IP协议的Internet网络结构,如图1-2所示,Internet网络的整体结构可以看成是由三个级别的网络组成的。第一个级别是组成Internet的国际或国家主干网,第二个级别是连接到国际或国家主干网上的地区级网络,第三个级别是接入地区主干网的企业或校园网。这三种级别的网络通过路由器相互连接在一起。,在图1-2所示的Internet网络中,企业网或校园网的形式是多种多样的,它们的拓扑结构可能不同,所使用的网络协议可能不同,但前面我们分析过,TCP/IP协议的最大优点是可以将物理结构不同的网络相互连接在一起。,那么,不同的网络连接起来的互联网,它们是如何通信的呢?下面我们以一个具体的小互联网为例,简要的说明一下TCP/IP协议是如何工作的。,.,1.3TCP/IP协议的工作原理,1.3.2TCP/IP协议通信模型,设如图1-3是Internet网络中某个局部的结构图,该结构图是简化以后的Internet网络逻辑连接示意图。,主机A,路由器31,路由器32,路由器33,路由器21,路由器22,路由器11,图1-3 Internet网络的基本结构图,主机B,主机C,主机D,主机E,主机F,主机G,主机H,主机I,.,1.3TCP/IP协议的工作原理,1.3.2TCP/IP协议通信模型,图1-3中的3个局域网通过一些不同层次的路由器连接起来。为了便于问题分析,连接3个物理网络的主干网只标出了路由器的连接示意图。左边的以太网有3台编号分别为A、B和C的主机,中间的令牌环网有3台编号为D、E和F的主机,右边的以太网有3台编号为G、H和I的主机。假设这里的路由器11是国家主干网中的某个路由器,路由器21和路由器22是地区级的路由器,路由器31、路由器32和路由器33是连接企业外部Internet网络的路由器。,现在如果主机A要与同一个物理网络中的主机C进行通信,则传输的信息被送到企业内部网的路由器31后,路由器31并不把信息传输它的上层路由器21。如果是主机A与主机D要进行通信,由于这两台主机不在同一个物理网络中,主机A发送出的信息要通过企业内部网路由器31传输到地区级的路由器21,然后由路由器21再将信息传输到另外一个企业内部网的路由器32,路由器32将该信息传输到令牌环网中后,主机D就可以收到该信息。,.,1.3TCP/IP协议的工作原理,1.3.2TCP/IP协议通信模型,如果是主机A与主机H要进行通信,由于这两台主机也不在同一个物理网络中,主机A发送出的信息通过企业内部网路由器31传输到路由器21,然后由路由器21再将信息传输到Internet的主干网路由器11,路由器11再将该信息传输到另外一个地区级路由器22,路由器22将该信息传输到企业内部网路由器33,路由器33再将该信息转发到企业内部网后,主机H就收到该信息。,下面我们从TCP/IP协议的角度来分析一下在主机之间通信时,TCP/IP协议在通信过程所起的作用。假设在某次通信过程中,以太网中的主机A要与令牌环网中的主机D使用文件传输协议FTP(该协议是TCP/IP协议栈中应用层的一具专门用于在网络中传输文件的协议,该协议在第5章中介绍)完成一次文件传输过程,主机A向主机D中的FTP服务器发出文件传输的请求,由此开始了在TCP/IP协议控制下的主机A与主机D之间的通信过程。,.,1.3TCP/IP协议的工作原理,1.3.2TCP/IP协议通信模型,为了便于分析问题,我们可以暂时不考虑网络中与本次通信过程无关的其他内容,并把以太网用一条直线来表示,令牌环网用一个椭圆表示,主机A和主机D都使用TCP/IP协议,如图1-4所示。,以太网,客户方FTP,程序,TCP协议,IP协议,以太网驱动,程序,客户方FTP,程序,TCP协议,IP协议,令牌环驱动,程序,以太网驱动程序,IP协议,网络接,口层,IP协议,令牌环驱动程序,IP协议,令牌环网,图1-4TCP/IP协议的通信模型,路由器31,主机A,路由器21,路由器32,主机D,.,1.3TCP/IP协议的工作原理,1.3.2TCP/IP协议通信模型,该模型中,主机A和主机D组成了端到端(End-to-End)的系统,前面我们分析过,传输层(这里使用的是TCP协议,在其他类型的通信中也可以使用UDP协议)完成的是端对端的通信。在端系统中,必须具有TCP/IP协议的四层完整结构。,中间的路由器有些资料称为中间系统(Intermediate system),中间系统一般只把网络中传输的数据包从一个网络转发到另一个网络,它只有网络接口层和网络层就可以进行工作。,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,在本节图1-3所示的主机A与主机D通信的例子中,当FTP应用程序用TCP传送数据时,数据被送入主机A的协议栈中,然后从应用层开始依次通过协议栈的每一层,直到数据被当作一串比特流送入物理网络,其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),这个过程就是TCP/IP协议中数据的封装过程(或叫打包)。,在目标主机D接收到数据流以后,又要从主机D的最低层协议开始,依次通过协议栈的每一层,直到数据被送到最高层应用层为止,接收方的每一层要对发送方对等层所加的数据头进行识别、提取和处理,这个过程就是TCP/IP协议中数据的解封过程(或叫拆包)。TCP/IP协议正是通过对数据的封装与拆封过程完成一次数据传输的。,数据的封装与拆封过程不是TCP/IP协议所特有的。其实,日常生活中人们所熟知的邮政系统,在传输各种信件时,信件的发送与接收过程也是通过对信件进行“封装与拆封”来完成,如图1-5所示。,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,写信者,信件通过邮政运输部门运送,邮政业务服务部,邮政局,邮政运输部门,写信、信件封闭、贴邮票,收信件、盖邮戳,信件分拣、打包,运输信件,收信者,邮政业务服务部,邮政局,邮政运输部门,拆信、阅读信件,信件投送,拆包、信件分发,运输信件,图1-5 邮政系统信件发送与接收过程,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,在图1-5所示的邮政系统信件发送与接收过程中,如果家住北京的A先生要给家住上海的D先生写信,其整个通信过程分为4个步骤(也可以看成分为4个层次)。第1个步A先生写好信件内容后,要将信件进行封装,在信封上写好收信人D先生的地址和收信人姓名,并将自己的地址写在信封的右下方,贴上邮票后就完成了通信的第1步工作;第2步要将信送到邮政业务服务部门,邮政业务服务部门在检查信件符合投送条件后在信封上加盖邮戳,表示已经接收了信件;第3步信件被送到邮政局后,由邮政局将收集到的所有信件进行分拣,分拣后的信件按投送目标地的不同进行打包,送往同一个地区信件被装进同一个大邮包中,并在邮包上贴上运输线路和目标地址;第4步是打包后的邮包由邮政运输部门选择合适的线路和合适的运输工具进行运输。,在这个邮政系统的通信过程,A先生所写的信被A先生本人和A先生所在地区邮政系统的不同部门(即层次)被“封装”后再进行传递,D先生所在地区的邮政部门收到信件后将包含有D先生信件的邮包打开,D先生收到信件后再将信件打开,阅读到信中的内容。,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,当主机A的FTP客户程序向主机D的FTP服务器程序提出服务请求时,我们可以把由用户输入的FTP命令和参数看成是要由主机A传到主机D的“信件”(即数据包)。FTP命令可以看成该“信件”的封装信息,参数可以看成该信件的内容(数据),如图1-6所示所示:,FTP命令,FTP命令的参数,封装信息,数据部分,图1-6 FTP数据的封装结构,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,在图1-6中,数据包的头部是FTP命令,数据部分是FTP命令的参数。该数据包通过网络由主机A送到主机D后,由主机D的应用层解释并执行该命令,主机D又把该命令执行后的结果通过网络传到主机A的应用层(结果可能是把某一文件下载到主机A)。因此,在图1-4所示的模型中有一条由主机A的客户FTP程序到主机D的FTP服务器程序的双向线来指示它们的通信过程,该线被画成了虚线,原因是它们之间的通信是一个对等层之间进行的“虚通信”。所谓“虚通信”,顾名思义,它们之间不能直接进行通信,是一种逻辑意义上的通信,如数据从主机A的应用层通过协议栈向下传输到网络接口层后,数据通过物理介质传输到主机D的网络接口层(这也是在图1-4中主机A与主机D的协议栈中,相邻两层之间画双向实线的原因),然后数据在主机D的协议栈中从下向上依次传输,最后到达主机D的应用层,这样好像是主机A的应用层在与主机D的应用在进行通信。,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,TCP层为了进行可靠性控制和识别数据从源主机的哪个程序(进程)来,要送到目标主机的哪个程序(进程)去,应加上一些TCP层的控制信息(常称为TCP报文头),这些控制信息由目标端的TCP层进行识别,以查看是否有差错,以及应把该TCP报文送到哪个目标程序,这样源端和目标端的TCP对等层之间也有一个虚通信过程,在图1-4中用虚线表示。,实际的通信也是TCP层把加了TCP报文头的报文送到IP层,IP层再加上用于识别互联网中源主机和目标主机的IP地址以及上层协议类型等(该内容的在第3章进行详细分析),组成IP层数据报头后送到网络接口层,网络接口层把从IP层收到的数据报加上以太网数据帧头后(主要为48位的以太网地址和上层协议类型,该内容在第2章中详细介绍),通过以太网网卡向物理介质中传输比特流,只有数据传到这里时才进行真正意义上的物理信号传输,一般叫“实通信”。,.,1.3TCP/IP协议的工作原理,1.3.3TCP/IP协议中数据的封装与解封过程,一般TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作数据帧(Frame)。,.,1.3TCP/IP协议的工作原理,1.3.4TCP/IP协议的操作系统边界与地址边界,TCP/IP协议分为四层结构,这四层结构中有两个重要的边界:一个是将操作系统与应用程序分开的边界;另一个是将高层互联网地址与低层物理网卡地址分开的边界,如图1-8所示。,应用层,传输层,网际层,网络接口层,应用层,传输层,网际层,网络接口层,应用层由操作系统之上的应用软件实现,之下各层由操作系统内核实现,操作系统边界,地址边界,上层使用IP地址,下层使用物理地址,图1-8TCP/IP协议模型的两个边界,.,1.3TCP/IP协议的工作原理,1.3.4TCP/IP协议的操作系统边界与地址边界,(1)操作系统边界,操作系统边界的上面是应用层,应用层处理的是用户应用程序(用户进程)的细节问题,提供面向用户的服务。这部分的程序一般不包含在操作系统内核中,由一些独立的应用程序组成,我们在本书中设计的网络程序就属于这一层。操作系统边界的下面各层是包含在操作系统内核中的由操作系统来实现的,它们共同处理数据传输过程中的通信问题。,(2)地址边界,地址边界的上层为网际层,网际层用于对不同的网络进行互联,连接在一起的所有网络为了能互相寻址,要使用统一的互联网地址(IP地址)。而地址边界的下层为各个物理网络,不同的物理网络使用的物理地址各不相同,因此,在地址边界的下面只能是各个互联起来的网络使用自己能识别的物理地址。,.,1.3TCP/IP协议的工作原理,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,在计算机网络技术研究与发展的初期(20世纪60年代和70年代),网络研究机构和计算机公司各自为政,开发出了互不开放的计算机网络体系结构。1974年IBM公司提出的世界上第一个计算机网络体系结构SNA(System Network Architecture,系统网络体系结构),随后一些著名的计算机公司也都提出了自己的网络体系结构,如Digial公司的DNA(Digital Network Architecture)、Honeywell公司的DSA(Distribute Systems Architecture,分布式网络体系结构)等。这些网络体系结构的出现大大加快了计算机网络技术的发展。尽管不同公司提出的网络体系结构都采用了分层技术,但它们又各有特点,虽然SNA设备(指所有遵循SNA网络体系结构的设备)之间可以很方便地进行互联,但SNA设备与DNA设备(指所有遵循DNA网络体系结构的设备)之间是无法直接相连的,也就是说遵循不同网络体系结构的设备之间是互不开放的,这显然会制约了网络技术的发展与应用。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,为了使不同的网络设备能实现互联,1977年国际标准化组织(ISO)的TC97技术委员会成立了一个分委员会,专门进行网络体系结构的研究工作,并在1983年提出了开放系统互联参考模型(Open System Interconnection/Reference Model,OSI/RM),我国对应的标准是GB9387。,所谓开放式系统是指为了与其他系统通信而相互开放的系统,只要遵循OSI/RM的系统就是一个开放式系统,开放式系统可以在不同厂家的环境中支持互联。OSI/RM为计算机间开放式通信所需要定义的功能层次建立了全球标准。,OSI/RM同TCP/IP类似,也是一个分层的模型结构,共由7个功能层组成,如表1-1所示:,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,层次号层次名英文名缩写,第7层应用层Application LayerA,第6层表示层Presentation LayerP,第5层会话层Session LayerS,第4层传输层Transport LayerT,第3层网络层Network LayerN,第2层数据链路层Data Link LayerDL,第1层物理层Physical LayerPH,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,OSI/RM的7个功能层划分原则是:,(1)网路中各节点都有相同的层次;,(2)不同节点的同等层具有相同的功能;,(3)同一节点内相邻层之间通过接口通信;,(4)每一层使用下层提供的服务,并向其上层提供服务;,(5)不同节点的同等层按照协议实现对等层之间的通信。,下面简要介绍一下各层的概念及功能。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,1物理层,物理层是OSI参考模型的第1层(最低层),它是整个开放式系统的基础,,完成比特流的传输工作,。物理层的主要功能是为设备之间的数据传输提供介质及互连设备,即建立源节点与目标节点之间的数据传输通路,实现比特流的透明传输,为第二层即数据链路层提供数据传输服务。物理层的数据传输单元是比特。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,2数据链路层,数据链路层是OSI参考模型的第2层。物理层上传输的比特流要在数据链路层以“帧”为单元进行传输,因此数据链路层要将原始的比特流封装成帧进行发送。另外,在物理介质上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,并为上层(即网络层)提供无差错的数据传输,就要对数据进行检错和纠错。因此,数据链路层可以在不可靠的物理介质上提供可靠的数据传输,该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。,一个网络系统一般至少要包括物理层和数据链路层。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,3网络层,网络层是OSI参考模型的第3层,也叫通信子网层,它要定义通过网络传输的数据单元。在源主机与目标主机通信时,它们之间可能有很多中间节点和物理网络,这样,网络层就要解决数据传输过程中的路由选择问题,。如果在网络中出现了过多的分组,就可能互相阻塞通路,造成网络的“拥塞”问题,因此网络层还要进行网络拥塞控制。所以,网络层的主要功能是,定义通信子网络之间传输的数据单元,建立网络之间的互联,进行路由选择和中继,进行拥塞控制等。,具有开放特性的网络中的数据终端设备都要配置网络层。网络层传输的数据单元是分组或包,网络层的主要硬件设备有网关和路由器。,只进行通信的网络具有物理层、数据链路层和网络层就可以了。因此我们所说的通信子网,就提供低3层的服务。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,4传输层,传输层是OSI参考模型的第4层,传输层也称为运输层。各种通信子网在性能上存在着很大的差异,例如电话交换网、分组交换网、公用数据交换网、局域网等通信子网都可互连,但它们提供的吞吐量、传输速率、数据延迟、通信费用等各不相同。,当通信子网的网络层服务质量不能满足要求时,传输层将网络层的服务加以提高,以满足高层协议的要求;当网络层服务质量较好时,传输层提供的服务有限,因此传输层提供源节点和目标节点之间端到端(end to end)的可靠传输服务。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,5会话层,会话层是OSI参考模型的第5层,会话层的功能是在传输层的基础上提供应用进程之间的会话控制机制,包括建立和维持会话,并使会话过程保持同步。,会话过程类似于两个人之间的交谈,在交谈时约定双方交换信息的方式,如双方是交替的谈话,还是一方整个说完后,再由另一方回答。在有外界干扰听话方没有听清楚对方的内容后,可请求对方重复,以保持会话过程的同步。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,6表示层,表示层是OSI参考模型的第6层,,表示层的主要作用是为异构的计算机通信提供一种公共表示方式,以便使传输的信息最终送到目标端以后,仍保持原来信息的含义而不发生改变。,这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,通信的双方,如果源主机使用IBM机器上所使用的EBCDIC编码,而目标主机使用大部分PC机器上使用的ASCII编码,这时表示层就要将源主机用EBCDIC编码表示的数据流,转化为一种在网络中大家都可以理解的、统一的表示方式,数据流传输到目标端以后,又要将其转化为目标主机所使用的ASCII编码方式,以保持传输数据意义的不变。,.,1.4ISO/OSI与TCP/IP的关系,1.4.1ISO/OSI网络体系结构概述,7应用层,应用层处于OSI参考模型的最高层,它直接面向用户应用,包含了使用网络服务的各种应用程序。如虚拟终端协议(Virtual Terminal Protocol,VTP)、文件传送与操作等。,.,1.4ISO/OSI与TCP/IP的关系,1
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服