1、第十二章第十二章 网络编程网络编程计算机网络概述计算机网络概述l计算机作为信息处理的工具计算机作为信息处理的工具,已经渗透到的社会生活的各个方面。l一方面要利用计算机进行信息的保存、处理.l另一方面,相互之间还需要进行信息交流,共享各种资源(包括软件资源和硬件资源)现在,计算机网络已经成为社会生活中一种不可缺少的信息处理和通信工具,成为社会生活的重要组成分。l计算机网络的基本功能是数据通信和资源共享。l定义定义:计算机网络是相互连接的独立自主独立自主的计算机的集合.l最简单的网络形式由两台计算机组成,如下图:l计算机及其外设,如打印机等通过传输介质互连起来,不仅可以完成本地的功能,相互之间可以
2、共享资源并进行通信.Ethernet什么是计算机网络什么是计算机网络什么是局域网什么是局域网l定义:局域网局域网(Local Network)是将小区域内计算机及其各种通信设备互连在一起的通信网络l局域网的数据传输速率:局域网的数据传输速率:10Mbps、100Mbps、甚至1Gbps。l局域网的传输距离:一般为0.1-25公里l决定局域网特性的主要技术:传输介质、拓扑结构、介质访问控制方法园区网、城域网和广域网园区网、城域网和广域网l局域网的不足局域网的不足:范围是有限的,不能满足某些大型跨地区的计算机通信和数据共享的需要。l园区网、城域网和广域网园区网、城域网和广域网:把地理位置分散的若干
3、局域网互连起来形成的规模更大的计算机网络系统。l园区网园区网:一般是一个学校范围内的计算机网络系统l城域网城域网:一般是一个城市范围内的计算机网络l广域网广域网:是在很大的距离(一般是在几百公里、几千公里甚至全球)范围内,连接处在不同地区的局域网之间的通信网络。广域网的建立可以通过租用公共通信线路来实现,如电话线路、卫星通信线路、分组无线网等。l广域网的传输速度广域网的传输速度:带宽有限,传输速度很慢,通常只用于数据通信,发送简短报文,如电子邮件、WWW浏览等。l应用最广的广域网应用最广的广域网:因特网(Internet):):全球信息高速公路的中枢神经(150个国家,2亿用户),应用:,应用
4、:发送电子邮件、传输文件、多媒体信息浏览、各种讨论组、运行异地计算机上的程序等网络体系结构网络体系结构网络体系结构发展的背景网络的状况l多种通信媒介有线、无线。l不同种类的设备通用、专用。l不同的操作系统Unix、Windows。l不同的应用环境固定、移动。l不同种类业务分时、交互、实时。l宝贵的投资和积累有形、无形。l用户业务的延续性不允许出现大的跌宕起伏l它们互相交织,形成了非常复杂的系统应用环境。网络异质性问题的解决网络异质性问题的解决l 网络体系结构网络体系结构就是使这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务的需求的一种粘合剂,它营造了一种
5、“生存空间”任何厂商的任何产品、以及任何技术只要遵守这个空间的行为规则,就能够在其中生存并发展。l 网络体系结构网络体系结构解决异质性问题采用的是分层方法。把复杂的网络互联问题划分为若干个较小的、单一的问题,在不同层上予以解决。就像编程时把问题分解为很多小的模块来解决一样。就像编程时把问题分解为很多小的模块来解决一样。l1.网络应该具有哪些层次?每一层的功能是什么?(分层与功能)l2.各层之间的关系是怎样的?它们如何进行交互?(服务与接口)l3.通信双方的数据传输要遵循哪些规则?(协议)层次结构方法要解决的问题层次结构方法要解决的问题层次结构方法包括三个内容:分层及每层功能,服务层次结构方法包
6、括三个内容:分层及每层功能,服务与层间接口,协议。与层间接口,协议。什么是通讯协议什么是通讯协议l通信协议又称通信规程,是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。l例如:TCP/IP协议层次结构方法的优点层次结构方法的优点l把网络操作分成复杂性较低的单元,结构清晰,易于实现和维护.l定义并提供了具有兼容性的标准接口.l使设计人员能专心设计和开发所关心的功能模块l独立性强上层只需了解下层通过层间接口提供什么服务黑箱方法.l适应性强只要服务和接口不变,层内实现方法可任意改变.l一个区
7、域网络的变化不会影响另外一个区域的网络,因此每个区域的网络可单独升级或改造.开放系统互联参考模型(开放系统互联参考模型(OSI)lOSI参考模型将网络的不同功能划分为7层应用层应用层Application表示层表示层Presentation会话层会话层session传输层传输层transport物理层物理层Physical数据链路层数据链路层Data Link网络层网络层Network7654321对等层通信实质对等层通信实质l每一层必须依靠相邻层提供的服务来与另一台主机的对应层通信。l上层使用下层提供的服务。l下层向上层提供服务。以不同国籍的人进行信息交流为例。以不同国籍的人进行信息交流为例
8、。(见下页图见下页图)对等层通信示例:中德教师之间的对话对等层通信示例:中德教师之间的对话“你好你好”“Hello”传真传真中国中国教师教师翻译翻译秘书秘书“Hallo”“Hello”传真传真德国德国教师教师翻译翻译秘书秘书对交谈内容的共识对交谈内容的共识用英语对话用英语对话使用传真通信使用传真通信P3P2P1物理通信线路物理通信线路问题:问题:中国教师与德国教师之间、翻译之间,他们是在直接通信吗?中国教师与德国教师之间、翻译之间,他们是在直接通信吗?翻译、秘书各向谁提供什么样的服务?翻译、秘书各向谁提供什么样的服务?中德教师、翻译各使用谁提供的什么服务?中德教师、翻译各使用谁提供的什么服务?
9、TCP/IP模型模型lTCP/IP起源于美国国防部高级研究规划署(DARPA)的一项研究计划实现若干台主机的相互通信。l现在TCP/IP已成为Internet上通信的标准。TCP/IP模型包括4个概念层次:l应用层(application)l传输层(transport)l网络层(internet)l网络接口(network interface)TCP/IP与与OSI参考模型的对应关系参考模型的对应关系应用层应用层表示层表示层会话层会话层传输层传输层物理层物理层数据链路层数据链路层网络层网络层7654321OSI参考模型参考模型应用层应用层传输层传输层网络接口网络接口网络层网络层TCP/IP概念
10、层次概念层次TCP/IP与传输层与传输层l传输层的两项主要功能:传输层的两项主要功能:流量控制。流量控制。可靠传输。可靠传输。l传输层提供了传输层提供了TCP和和UDP两种传输协议:两种传输协议:TCP协议是一种面向连接的,可靠的,端到端的字节流协议是一种面向连接的,可靠的,端到端的字节流通讯协议。通讯协议。UDP协议是一种面向无连接的,不可靠的协议。为应用协议是一种面向无连接的,不可靠的协议。为应用程序提供了一种发送封装的原始程序提供了一种发送封装的原始IP数据的方法。数据的方法。TCP段格式段格式源端口源端口代码位代码位目的端口目的端口顺序号顺序号确认号确认号窗口大小窗口大小保留保留报头长
11、度报头长度校验和校验和紧急指针紧急指针选项(可省略)选项(可省略)数据数据端口号端口号lTCP和UDP都用端口(socket)号把信息传到上层。FTPSMTPTFTPDNSTelnetSNMP2123255369161TCP UDP应用层应用层传输层传输层TCP连接的建立连接的建立三次握手三次握手方向方向消息消息含义含义握手握手1.ABSYN我的序号是我的序号是X12.AB3.ABACKSYN知道了,你的序号是知道了,你的序号是X我的序号是我的序号是Y24.ABACK知道了,你的序号是知道了,你的序号是Y3合合并并序号用于跟踪通信顺序序号用于跟踪通信顺序,确保多个包传输时无数据丢失。确保多个包
12、传输时无数据丢失。通信双方在建立连接时必须互相交换各自的初始序号。通信双方在建立连接时必须互相交换各自的初始序号。UDP段格式段格式lUDP不用确认。可靠性由应用层协议保证。l使用UDP的协议包括:TFTP、SNMP、NFS、DNS等源端口源端口目的端口目的端口长度长度校验和校验和16b16b16b16b数据数据TCP/IP与网络层与网络层l网络层的主要协议IP协议。本层提供无连接的传输服务(不保证送达)。本层的主要功能是寻找一条能够把数据报送到目的地的路径。IP数据报数据报版本号版本号报头长度报头长度服务类型服务类型数据报长度数据报长度DFMF段偏移段偏移标识标识生存时间生存时间TTL协议协
13、议报头校验和报头校验和源源IP地址地址目的目的IP地址地址选项和填充(最大为选项和填充(最大为40字节)字节)数据区数据区IP地址地址lIP网络中每台主机都必须有一个惟一的IP地址;lIP地址是一个逻辑地址;(与MAC地址比较一下)l因特网上的IP地址具有全球唯一性;lIP地址划分为五类:A-E类,常用的为A、B、C类A A类地址:允许类地址:允许2727个网络,每个网络个网络,每个网络224-2224-2个主机;个主机;B B类地址:允许类地址:允许214214个网络,每个网络个网络,每个网络216-2216-2个主机;个主机;C C类地址:允许类地址:允许221221个网络,每个网络个网络
14、,每个网络28-228-2个主机;个主机;IP地址分类地址分类A类类B类类C类类0 00 00 01 11 1 1 17bits7bits24 bits24 bits14 bits14 bits16 bits16 bits网络号网络号主机号主机号网络号网络号主机号主机号21bits21bits8bits8bits网络号网络号主机号主机号A类类 0.0.0.0 126.255.255.255B类类 128.0.0.0 191.255.255.255C类类 192.0.0.0 223.255.255.255 地址范围地址范围Socketlsocket通常也称作“套接字”,用于描述IP地址和端口,应用程序通常通过套接字向网络发出请求或者应答网络请求。lJ包中定义了两个类Socket和ServerSocket,分别用来实现双向连接的client和server端。l建立连接时需要IP和端口TCP连接连接l示例:lSimpleServer.javalSimpleClient.javalTestSockServer.javalTestSockClient.javaUDP连接连接lTestUDPClient.javalTestUDPServer.java简单的聊天室简单的聊天室lChatServer.javalChatClient.java
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。