《软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第5章 网络编程技术1_Internet基础》由会员分享,可在线阅读,更多相关《软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第5章 网络编程技术1_Internet基础(42页珍藏版)》请在金锄头文库上搜索。
1、第5章 网络软件开发技术 Internet基础,西安交通大学 计算机教学实验中心 http:/,软件开发技术基础,本章内容,Internet基础 Socket概述 面向连接的客户服务器编程 无连接的客户服务器编程 迭代和并发服务器的设计 MFC网络编程,2,3,5.1 Internet基础,因特网?,4,Internet的组成,成千上万的计算机设备: 主机,端系统 PC机, 服务器 移动计算机, PDA 通信链路 光纤, 铜线, 无线电, 卫星 路由器:在网络上传递(转发)数据分组 协议:控制信息的发送接收 如TCP,IP,HTTP, FTP, PPP 各种各样的网络软件,5,网络结构,网络的
2、边缘: 主机(端系统) 网络的核心: 路由器 由网络构成的网络 访问网络的物理介质: 通信链路,6,因特网的边缘,端系统 (主机): 在“网络的边界” 运行网络应用程序,如 WWW, email等 客户/服务器模型 客户发出请求, 接收服务器的服务 例如, WWW客户(浏览器)/ 服务器; email客户/服务器 peer-peer模型: 主机之间的交互完全对称 例如: Windows 98用户互相访问,5.1.1 网络协议和网络体系结构,本节我们介绍网络尤其是Internet的相关概念,着重对网络协议、IP地址、域名以及TCP和UDP协议进行了讨论,这些是Internet下的网络编程技术的重
3、要理论基础,7,1.网络协议,为进行网络中的数据交换而建立的规则、标准或约定称为网络协议 一个网络协议主要由三个要素组成: 语法 语义 时序,8,2.网络体系结构,问题: 异质环境中任意两台计算机之间如何通信? 网络体系结构 定义了一个框架, 它使用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务的需求, 它营造了一种“生存空间”任何厂商的任何产品、以及任何技术只要遵守这个空间的行为规则,就能够在其中生存并发展。 网络体系结构解决异质性问题采用的是分层方法 把复杂的网络互联问题划分为若干个较小的、单一的问题,在不同层上予以解决。,9,10,OSI参考模型,网络
4、体系结构的几个基本概念,对等层 实体 对等实体 协议 接口 服务,11,12,开放系统互联参考模型(OSI/RM),OSI/RM国际标准的正式文本是ISO 7498 OSI体系结构将网络的不同功能划分为7层,应用层Application,表示层Presentation,会话层session,传输层transport,物理层Physical,数据链路层Data Link,网络层Network,7 6 5 4 3 2 1,处理网络应用 数据表示 主机间通信 端到端的连接 寻址和最短路径 介质访问(接入) 二进制传输,TCP/IP参考模型,OSI/RM太复杂,不实用 美国国防部高级研究规划署(DAR
5、PA)的一项研究计划实现若干台主机之间的相互通信TCP/IP TCP/IP已成为Internet上通信的标准。 TCP/IP定义五层协议的体系结构,13,应用层Application,传输层transport,数据链路层Data Link,网络层Network,5 4 3 2 1,物理层Physical,14,TCP/IP与OSI参考模型的对应关系,应用层,表示层,会话层,传输层,物理层,数据链路层,网络层,7 6 5 4 3 2 1,OSI参考模型,应用层,传输层,网络接口 (数据链路层 +物理层),网络层,TCP/IP概念层次,Ethernet,802.3,802.5,FDDI等等,15,
6、TCP/IP与应用层,应用层协议支持了文件传输、电子邮件、远程登录、网络管理、Web浏览等应用。,应用层,传输层,网络层,物理层,数据链路层,16,传输层提供了两种传输协议,TCP UDP,物理层,数据链路层,17,TCP/IP网际层的四个主要协议,IP ICMP ARP RARP,TCP/IP的网络层协议,IP:IP数据报; ICMP(Internet Control Message Protocol); ARP(Address Resolution Protocol); RARP(Reverse Address Resolution Protocol),18,数据链路层和物理层,TCP/I
7、P没有规定这两层的协议 在实际应用中根据主机与网络拓扑结构的不同,局域网主要采用IEEE802系列协议,如802.3以太网协议、802.5令牌环网协议; 广域网常采用HDLC、帧中继、X.25、PPP等协议,19,20,3.数据封装,一台计算机要发送数据到另一台计算机,数据首先必须打包,打包的过程称为封装。 封装就是在数据前面加上特定的协议头部。,发送邮件的例子:信装入写有源地址和目的地址的信封中发送,还要写明用航空或挂号。,数 据,数据封装2,网络体系结构中每一层都要依靠下一层提供的服务。为了提供服务,下层把上层的PDU作为本层的数据封装,然后加入本层的头部(和尾部)。头部中含有完成数据传输
8、所需的控制信息。 数据自上而下递交的过程实际上就是不断封装的过程。到达目的地后自下而上递交的过程就是不断拆封的过程。由此可知,在物理线路上传输的数据,其外面实际上被包封了多层“信封”。 某一层只能识别由对等层封装的“信封”,而对于被封装在“信封”内部的数据仅仅是拆封后将其提交给上层,本层不作任何处理。,21,22,数据多层封装,数据,数据 段 数据包 帧 比特 电脉冲,011101000011000010100101111010110,23,TCP/IP协议的封装过程,TCP头,应用层数据,应用层数据,TCP头,应用层数据,IP头,帧头,TCP头,应用层数据,IP头,帧尾,应用层,传输层,网际
9、层,数链层,数据的封装和拆封的过程,24,5.1.2 TCP/IP地址模式,1.IP地址,25,IP网络中每台主机都必须有一个惟一的IP地址; IP地址是一个逻辑地址; IP是层次性地址:网络号+主机号 因特网上的IP地址具有全球唯一性; 32位,4个字节,常用点分的十进制标记法: 如 00001010 00000010 00000000 00000001 记为 10.2.0.1 IP地址划分为五类:A-E类,常用的为A、B、C类,A类地址:允许27-2个网络,每个网络224-2个主机; B类地址:允许214个网络,每个网络216-2个主机; C类地址:允许221个网络,每个网络28-2个主机
10、;,26,IP地址分类,A类 0.0.0.0 126.255.255.255 B类 128.0.0.0 191.255.255.255 C类 192.0.0.0 223.255.255.255,地址范围,27,保留的IP地址,11.11,1111 . 1111,本机,本网中的主机,局域网中的广播,对指定网络的广播,回路,一般来说,主机号部分为全“1 ”的IP地址保留用作广播地址; 主机号部分为全“0 ”的IP地址保留用作网络地址。,0000 . 0000,网络号,网络地址,IPV4的限制,从理论上讲,IPV4能编址1600万个网络、40亿台主机。 但采用A、B、C三类编址方式后,可用的网络地址
11、和主机地址的数目大打折扣,以至目前的IP地址近乎枯竭。 其中北美占有3/4,约30亿个, 而人口最多的亚洲只有不到4亿个, 中国只有3千多万个,只相当于美国麻省理工学院的数量。 地址不足,严重地制约了我国及其他国家互联网的应用和发展。,28,IPV6的优势,(1) IPv6具有更大的地址空间。 IPv4中规定IP地址长度为32,即有232-1(符号表示升幂,下同)个地址; 而IPv6中IP地址的长度为128,即有2128-1个地址。是IPv4的约81028倍 (2) IPv6使用更小的路由表。 IPv6的地址分配一开始就遵循聚类的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子
12、网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。,29,(3) IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control) 使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台。 (4) IPv6加入了对自动配置(Auto Configuration)的支持。 这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。 (5) IPv6具有更高的安全性。 在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。,30,2.域名,DNS服务主要基于U
13、DP来实现,端口号=53。 三个组成部分: 域名空间、名字服务器、解析程序,31,32,域名空间的树型结构,根,INT,CN,MIL,NET,COM,JP,IBM,intel,eng,www,jack,edu,net,xjtu,www,ftp,西安交大的Web服务器:,33,名字空间,DNS顶级域名 域名 含义 com 商业组织,比如HP,Sun,IBM公司等 edu 教育机构,比如U.C.Berkeley,Stanford University,MIT等 gov 政府部门,比如 NASA,the National Science Foundation mil 军队组织,比如 the U.S
14、Army 和 Navy net 网络组织和ISP等 org 非商业组织 arpa 用于返向地址查询的 cn 居于国家代码的域名,cn 表示“中国” 叶节点名.三级域名.二级域名.顶级域名,34,域名解析过程,主机 要求 www.umass.edu 的IP 地址 1. 联系本地域名服务器, 202.117.0.20 2.如有必要202.117.0.20 会联系根域名服务器 3.如有必要根域名服务器会联系授权域名服务器, dns.umass.edu,requesting host ,www.umass.edu,root name server,authorititive name server
15、dns.umass.edu,1,2,3,4,5,6,DNS查询举例,5.1.3 Internet传输层协议,1.传输层和网络层之间的关系 传输层向它上面的应用层提供通信服务,它只存在于通信子网以外的主机中 在通信子网中(路由器)没有传输层。 传输层为应用进程之间提供了逻辑通信 网络层则是为主机之间提供了逻辑通信 逻辑通信的含义?,35,传输层和网络层提供的逻辑通信,36,2. TCP协议,Internet的传输层协议包括两个协议: 传输控制协议TCP(Transmission Control Protocol) 用户数据报协议UDP(User Datagram Protocol)。,37,4.端口,Internet的传输层协议包括TCP和UDP,它们都借助于端口(port)与上层的应用进程进行交互 端口 复用 分用,38,39,端口号,TCP和UDP都用端口(socket)号把信息传到上层。 端口号指示了正在使用的上层协议。,F T P,S M T P,T F T P,D N S,T e l n e t,H T T P