《【教学课件】第5章网络软件开发技术-概念篇.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第5章网络软件开发技术-概念篇.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5章章 网络软件开发技术网络软件开发技术概念篇概念篇西安交通大学西安交通大学西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心计算机教学实验中心计算机教学实验中心软件开发技术基础软件开发技术基础软件开发技术基础软件开发技术基础1l因特网?因特网是在TCP/IP协议基础上建立的国际互联网。它是“计算机网络的网络”,即将全世界不同国家、不同地区、不同部门和机构的不同类型的计算机网络互联在一起,形成一个世界范围的信息网络。5.1 Internet基础2q成千上万个互相连接起来的计算机设成千上万个互相连接起来的计算机设备备:主机,端系统主机,端系统n PC机机,服务器服务器n移动计算机移
2、动计算机,PDAq 各种各样的各种各样的网络软件网络软件q通信链路通信链路n光纤光纤,铜线铜线,无线电无线电,卫星卫星q路由器:路由器:在网络上传递在网络上传递(转发转发)数据分数据分组组q协议:协议:控制信息的发送接收控制信息的发送接收n如TCP,IP,HTTP,FTP,PPPInternet的组成3q因特网因特网:“由成千上万个网络连接起来的网络由成千上万个网络连接起来的网络”-网络的网网络的网络络q松散的层次结构q公用的因特网与私有的内联网q因特网的标准因特网的标准qRFC:Request for commentsqIETF:Internet Engineering Task Force
3、q中国协议分析网中国协议分析网qhttp:/ 访问网络的物理介质访问网络的物理介质:通信链路主机主机主机主机主机主机主机主机主机主机路由器路由器通信链路通信链路网络结构5q端系统端系统(主机主机):在“网络的边界”运行网络应用程序,如 WWW,email等q客户客户/服务器模型服务器模型客户发出请求,接收服务器的服务例如,WWW客户(浏览器)/服务器;email客户/服务器qpeer-peer模型模型:主机之间的交互完全对称例如:Windows 98用户互相访问因特网的边缘6协议协议n为进行网络中的数据交换而建立的规则、标准或约为进行网络中的数据交换而建立的规则、标准或约定称为网络协议定称为网
4、络协议n网络协议是网络通信的语言,网络协议是网络通信的语言,n是通信的规则和约定。是通信的规则和约定。n规定了通信双方互相交换数据或者控制信息的格式、所规定了通信双方互相交换数据或者控制信息的格式、所应给出的响应和所完成的动作以及它们之间的时序关系。应给出的响应和所完成的动作以及它们之间的时序关系。n一个网络协议主要由三个要素组成:一个网络协议主要由三个要素组成:n语法:数据与控制信息的结构或格式语法:数据与控制信息的结构或格式n语义:控制信息的含义,需要做出的动作及响应语义:控制信息的含义,需要做出的动作及响应n时序:规定了操作的执行顺序时序:规定了操作的执行顺序7问题问题:异质环境中任意两
5、台计算机之间如何通信异质环境中任意两台计算机之间如何通信?网络体系结构网络体系结构定义了一个框架,它使这些用不同定义了一个框架,它使这些用不同媒介连接起来的不同设备和网络系统在不同的应用媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务的需求,它环境下实现互操作性,并满足各种业务的需求,它营造了一种营造了一种“生存空间生存空间”任何厂商的任何产品、任何厂商的任何产品、以及任何技术只要遵守这个空间的行为规则,就能以及任何技术只要遵守这个空间的行为规则,就能够在其中生存并发展。够在其中生存并发展。网络体系结构网络体系结构解决异质性问题采用的是分层方法。解决异质性问题采用
6、的是分层方法。把复杂的网络互联问题划分为若干个较小的、把复杂的网络互联问题划分为若干个较小的、单一的问题,在不同层上予以解决。单一的问题,在不同层上予以解决。网络体系结构网络体系结构8OSI参考模型9网络体系结构的几个基本概念网络体系结构的几个基本概念n实体实体:任何可以发送或接收信息的硬件:任何可以发送或接收信息的硬件/软件进程。软件进程。n对等层对等层:两个不同系统的同名层次。:两个不同系统的同名层次。n 对等实体对等实体:位于不同系统的同名层次中的两个实:位于不同系统的同名层次中的两个实体。体。n协议是对等实体之间互相交流所使用的语言。协议是对等实体之间互相交流所使用的语言。n接口接口:
7、相邻两层之间交互的界面,定义相邻两层之:相邻两层之间交互的界面,定义相邻两层之间的间的操作及下层对上层的服务。操作及下层对上层的服务。n服务服务:某一层及其以下各层的一种能力,通过接口:某一层及其以下各层的一种能力,通过接口提供提供给其相邻上层。给其相邻上层。10OSI/RM国际标准的正式文本是国际标准的正式文本是ISO 7498OSI体系结构将网络的不同功能划分为体系结构将网络的不同功能划分为7层层应用层应用层Application表示层表示层Presentation会话层会话层session传输层传输层transport物理层物理层Physical数据链路层数据链路层Data Link网络
8、层网络层Network7 76 65 54 43 32 21 1处理网络应用处理网络应用数据表示数据表示主机间通信主机间通信端到端的连接端到端的连接寻址和最短路径寻址和最短路径介质访问(接入)介质访问(接入)二进制传输二进制传输开放系统互联参考模型(开放系统互联参考模型(OSI/RM)11TCP/IP参考模型参考模型 nOSI/RM太复杂,不实太复杂,不实用用n美国国防部高级研究规美国国防部高级研究规划署划署(DARPA)的一项研究的一项研究计划计划实现若干台主实现若干台主机之间的相互通信机之间的相互通信TCP/IP于于n现在现在TCP/IP已成为已成为Internet上上通信的标准。通信的标
9、准。nTCP/IP定义五层协议定义五层协议的体系结构的体系结构应用层应用层Application传输层传输层transport数据链路层数据链路层Data Link网络层网络层Network5 54 43 32 21 1物理层物理层Physical12应用层应用层表示层表示层会话层会话层传输层传输层物理层物理层数据链路层数据链路层网络层网络层7 76 65 54 43 32 21 1OSI参考模型参考模型应用层应用层传输层传输层网络接口网络接口(数数据链路层据链路层+物理层物理层)网络层网络层TCP/IP概念层次概念层次Ethernet,802.3,802.5,FDDI等等等等TCP/IP支持
10、支持所有标准的数所有标准的数据链路层和物据链路层和物理层协议理层协议TCP/IP与与OSI参考模型的对应关系参考模型的对应关系13应用层协议支持了文件传输、电子邮件、远程登录、网应用层协议支持了文件传输、电子邮件、远程登录、网络管理、络管理、Web浏览等应用。浏览等应用。文件传输文件传输 FTP、TFTP、NFS电子邮件电子邮件 SMTP、POP3WWW应用应用 HTTP远程登录远程登录 Telnet、rlogin网络管理网络管理 SNMP域名系统域名系统 DNS 应用层应用层传输层传输层网络层网络层物理层物理层数据链路层数据链路层TCP/IP与应用层与应用层14应用层应用层传输层传输层网络接
11、口网络接口网际层网际层 TCP UDP物理层物理层数据链路层数据链路层传输层提供了两种传输协议传输层提供了两种传输协议15 IP ICMP ARP RARP应用层应用层传输层传输层网际层网际层物理层物理层数据链路层数据链路层TCP/IP网际层的四个主要协议网际层的四个主要协议16IP:本层提供无连接的传输服务(不保证送达,不保序)本层提供无连接的传输服务(不保证送达,不保序)。本层的主要功能是寻找一条能够把数据报送到目的。本层的主要功能是寻找一条能够把数据报送到目的地的路径。地的路径。网际层的网际层的PDU称为称为IP数据报;数据报;ICMP(Internet Control Message
12、Protocol)提供控制和传递消息提供控制和传递消息的功能;的功能;ARP(Address Resolution Protocol)为已知的为已知的IP地址确定相应的地址确定相应的MAC地址;地址;RARP(Reverse Address Resolution Protocol)根据根据MAC地址确定相地址确定相应的应的IP地址。地址。TCP/IP的网络层协议的网络层协议17 一台计算机要发送数据到另一台计算机,数据首先必须一台计算机要发送数据到另一台计算机,数据首先必须打包,打包的过程称为打包,打包的过程称为封装封装。封装就是在数据前面加上特定的协议头部。封装就是在数据前面加上特定的协议头
13、部。数数 据据协议头协议头发送邮件的例子:信装入写有源地址和目的地址的信封中发送,还发送邮件的例子:信装入写有源地址和目的地址的信封中发送,还要写明用航空或挂号要写明用航空或挂号。数数 据据数据封装数据封装18网络网络网络网络体系结构中每一层都要依靠下一层提供的服务。为了提体系结构中每一层都要依靠下一层提供的服务。为了提供服务,下层把上层的供服务,下层把上层的PDU作为本层的数据封装,然后加入本作为本层的数据封装,然后加入本层的头部(和尾部)。头部中含有完成数据传输所需的控制信层的头部(和尾部)。头部中含有完成数据传输所需的控制信息。息。数据自上而下递交的过程实际上就是不断封装的过程。到达数据
14、自上而下递交的过程实际上就是不断封装的过程。到达目的地后自下而上递交的过程就是不断拆封的过程。由此可知,目的地后自下而上递交的过程就是不断拆封的过程。由此可知,在物理线路上传输的数据,其外面实际上被包封了多层在物理线路上传输的数据,其外面实际上被包封了多层“信封信封”。某一层只能识别由对等层封装的某一层只能识别由对等层封装的“信封信封”,而对于被封装在,而对于被封装在“信封信封”内部的数据仅仅是拆封后将其提交给上层,本层不作内部的数据仅仅是拆封后将其提交给上层,本层不作任何处理。任何处理。数据封装数据封装219数据数据 段头段头数据数据 段头段头数据数据网络头网络头帧头帧头 段头段头数据数据网
15、络头网络头帧尾帧尾数据数据段段数据包数据包帧帧比特比特电脉冲电脉冲封装封装拆封拆封数据多层封装数据多层封装20 TCP头头应用层数据应用层数据应用层数据应用层数据 TCP头头应用层数据应用层数据IP头头帧头帧头 TCP头头应用层数据应用层数据IP头头帧尾帧尾应用层应用层 传输层传输层 网际层网际层 数链层数链层 TCP/IP协议的封装过程协议的封装过程21IP网络中每台主机都必须有一个惟一的网络中每台主机都必须有一个惟一的IP地址;地址;IP地址是一个逻辑地址;地址是一个逻辑地址;IP是层次性地址:网络号是层次性地址:网络号+主机号主机号因特网上的因特网上的IP地址具有全球唯一性;地址具有全球
16、唯一性;32位,位,4个字节,常用点分的十进制标记法:个字节,常用点分的十进制标记法:如如 00001010 00000010 00000000 00000001 记为记为 IP地址划分为五类:地址划分为五类:A-E类,常用的为类,常用的为A、B、C类类A类地址:允许类地址:允许27-2个网络,每个网络个网络,每个网络224-2个主机;个主机;B类地址:允许类地址:允许214个网络,每个网络个网络,每个网络216-2个主机;个主机;C类地址:允许类地址:允许221个网络,每个网络个网络,每个网络28-2个主机;个主机;三、三、TCP/IPTCP/IP地址模式地址模式-IP-IP 22A A类类
17、B B类类C C类类0 00 00 01 11 1 1 17bits7bits24 bits24 bits14 bits14 bits16 bits16 bits网络号网络号主机号主机号网络号网络号主机号主机号21bits21bits8bits8bits网络号网络号主机号主机号A A类类 0.0.0.0 0.0.0.0 B B类类 128.0.0.0 128.0.0.0 C C类类 192.0.0.0 192.0.0.0 223.255.255.255 223.255.255.255 地址范围地址范围IP地址分类地址分类2300.0000.000000 .00000000 .000011.11
18、11.11 1111 .11111111 .1111本机本机本网中的主机本网中的主机局域网中的广播局域网中的广播对指定网络的广播对指定网络的广播回路回路00.0000.00主主 机机 号号1111 .11111111 .1111网络号网络号127127任任 意意 值值一般来说,主机号部分为全一般来说,主机号部分为全“1”的的IP地址保留用作广播地址;地址保留用作广播地址;主机号部分为全主机号部分为全“0”的的IP地址保留用作网络地址。地址保留用作网络地址。0000 .00000000 .0000网络号网络号网络地址网络地址保留的保留的IP地址地址24q DNS域名系域名系统统是一种帮助人是一种
19、帮助人们们在在Internet上用名字来唯一上用名字来唯一标识标识自己的自己的计计算机,并保算机,并保证证主机名和主机名和IP地址一一地址一一对应对应的网的网络络服服务务。DNS用于在主机用于在主机名和名和IP地址间进行转换。地址间进行转换。qDNS服务主要基于服务主要基于UDP来实现,端口号来实现,端口号=53。q三个组成部分:域名空间、名字服务器、解析程序三个组成部分:域名空间、名字服务器、解析程序q域域名名空空间间:分分布布式式的的、层层次次型型(分分级级)的的树树形形结结构构,根根没没有有名名字字,顶顶层层域域由由组组织织域域(如如org、com、edu)和和国国家家域域(如如cn)构
20、构成成。在在往往下下分分还可分为若干层还可分为若干层子域子域,如下页图。通常用点来分隔域的层次,如,如下页图。通常用点来分隔域的层次,如 q域域名名服服务务器器负负责责管管理理存存放放主主机机名名和和IP地地址址的的数数据据库库文文件件,以以及及域域中中的的主机名和主机名和IP地址映射。域名服务器是一个分布式的系统地址映射。域名服务器是一个分布式的系统q解解析析程程序序:从从名名字字服服务务器器中中提提取取信信息息把把主主机机域域名名翻翻译译成成IP地址。地址。三、三、TCP/IPTCP/IP地址模式地址模式-域名域名25根根INTCNMILNETCOMJPIBMintelengwwwjack
21、edunetxjtuwwwftp交大的交大的Web服务器:服务器:域名空间的树型结构域名空间的树型结构26 DNS顶级域名顶级域名域名域名 含义含义 com 商业组织,比如商业组织,比如HP,Sun,IBM公司等公司等edu 教育机构,比如教育机构,比如U.C.Berkeley,Stanford University,MIT等等gov 政府部门,比如政府部门,比如 NASA,the National Science Foundationmil 军队组织,比如军队组织,比如 the U.S Army 和和 Navynet 网络组织和网络组织和ISP等等org 非商业组织非商业组织arpa 用于返
22、向地址查询的用于返向地址查询的cn 居于国家代码的域名,居于国家代码的域名,cn 表示表示“中国中国”q顶级域名之下是二级域名。二级域名通常是由顶级域名之下是二级域名。二级域名通常是由NIC授权给的其他单位或组织自己管理授权给的其他单位或组织自己管理的。一个拥有二级域名的单位可以根据自己的情况再将二级域名分为更低级的域名授权给的。一个拥有二级域名的单位可以根据自己的情况再将二级域名分为更低级的域名授权给单位下面的部门管理。单位下面的部门管理。qDNS域名树的最下面的叶节点为单个的计算机。域名的级数通常不多于域名树的最下面的叶节点为单个的计算机。域名的级数通常不多于5个。个。q在在DNS树树中中
23、,每每一一个个节节点点都都用用一一个个简简单单的的字字符符串串(不不带带点点)标标识识。这这样样,在在DNS域域名名空空间间的的任何一台计算机都可以用从叶节点到根的节点标识,中间用点任何一台计算机都可以用从叶节点到根的节点标识,中间用点“.”相连接的字符串来标识:相连接的字符串来标识:叶节点名叶节点名.三级域名三级域名.二级域名二级域名.顶级域名顶级域名名字空间名字空间27q 解析过程为:解析过程为:1.首先从本地首先从本地Hosts文件查找。文件查找。2.没找到就向本地没找到就向本地DNS名字服务器发出请求;名字服务器发出请求;3.若若本本地地DNS服服务务器器也也找找不不到到,它它就就把把
24、请请求求发发给给顶顶层层域域名名字字服服务务器器,然然后后由由顶顶层层域域名名字字服服务器把请求传递给相应子域的名字服务器。务器把请求传递给相应子域的名字服务器。4.最最后后由由该该名名字字服服务务器器把把域域名名对对应应的的IP地地址址按按相反的路径传递给发出请求的站点。相反的路径传递给发出请求的站点。域名的解析过程域名的解析过程28主机 要求 www.umass.edu 的的IP 地址 1.联系本地域名服务器,2.如有必要 会联系根域名服务器3.如有必要根域名服务器会联系授权域名服务器,dns.umass.edurequesting www.umass.eduroot name serve
25、rauthorititive name serverdns.umass.edulocal name server202.117.0.20123456DNS查询举例查询举例29四、四、InternetInternet传输层协议传输层协议 n传输层为应用进程之传输层为应用进程之间提供了逻辑通信,间提供了逻辑通信,网络层则是为主机之网络层则是为主机之间提供了间提供了逻辑通信逻辑通信 n逻辑通信的含义是指:逻辑通信的含义是指:尽管通信实体之间并尽管通信实体之间并没有物理上直接进行没有物理上直接进行连接,但是从实体上连接,但是从实体上层的角度来看,它们层的角度来看,它们之间就之间就好像具有物理好像具有物
26、理连接连接一样可以直接通一样可以直接通信信 30传输层复用和分用传输层复用和分用nInternet的传输层协议包括的传输层协议包括TCP和和UDP,它们都借助于端口(,它们都借助于端口(port)与上层的应用进程进行交互与上层的应用进程进行交互 n端口端口是一个编号和与编号对应的软是一个编号和与编号对应的软件数据结构件数据结构n复用复用:应用层中不同进程的报文通:应用层中不同进程的报文通过不同的端口向下交给传输层,再过不同的端口向下交给传输层,再往下就共用网络层提供的服务往下就共用网络层提供的服务n分用分用:当这些报文被网络传输到目:当这些报文被网络传输到目的主机后,目的主机的传输层就使的主机
27、后,目的主机的传输层就使用其分用功能,通过不同的端口将用其分用功能,通过不同的端口将报文分别交付到相应的应用进程报文分别交付到相应的应用进程31TCP和和UDP都用端口都用端口(socket)号把信息传到上层。号把信息传到上层。端口号指示了正在使用的上层协议。端口号指示了正在使用的上层协议。FTPSMTPTFTPDNSTelnetSNMP2123255369161TCP UDP应用层应用层传输层传输层保留的端口号:保留的端口号:255,公共应用,公共应用255-1023,公司,公司1023,未规定,未规定端口号端口号32目的:在主机系统之间传输数据。qTCP 传输控制协议 RFC 793n用于
28、因特网的用于因特网的面向连接的服务面向连接的服务面向连接的服务面向连接的服务n传输前需建立连接传输前需建立连接n可靠的可靠的,有序的有序的 字节流传输n流量控制与拥塞控制流量控制与拥塞控制qUDP 用户数据报协议 RFC 768:n用于因特网的用于因特网的无连接的服务无连接的服务无连接的服务无连接的服务n不可靠的不可靠的数据传输n无流量控制n无拥塞控制面向连接的和无连接的服务面向连接的和无连接的服务33使用TCP服务的应用:qHTTP(WWW)qFTP(file transfer)qTelnet(remote login)qSMTP(email)使用UDP服务的应用:q流媒体,电信会议,因特网
29、电话TCP和和UDP的应用范围的应用范围34五、客户五、客户/服务器计算模型服务器计算模型 n一个应用被分成两部分:一个应用被分成两部分:n客户客户客户指向服务器发送请求并从服务器接收客户指向服务器发送请求并从服务器接收响应结果的任何软件程序。响应结果的任何软件程序。n和用户直接交互,向用户显示信息以及从用户收集信息;和用户直接交互,向用户显示信息以及从用户收集信息;n服务器服务器服务器的概念是指任何运行在联网的计服务器的概念是指任何运行在联网的计算机上并提供某种服务的软件程序。算机上并提供某种服务的软件程序。n负责存储、提取和处理数据,执行客户请求的各项任务。负责存储、提取和处理数据,执行客户请求的各项任务。n服务器通过网络接收请求,然后为该请求执行相应的处服务器通过网络接收请求,然后为该请求执行相应的处理,最后将处理结果通过网络返回给请求的客户。理,最后将处理结果通过网络返回给请求的客户。n应用案例:应用案例:n万维网(万维网(Web)、电子邮件()、电子邮件(Email)、文件传输)、文件传输(FTP)、远程登录()、远程登录(Telnet)、新闻组)、新闻组353637383940