网络通信程序设计 计算机网络基础PPT课件_第1页
网络通信程序设计 计算机网络基础PPT课件_第2页
网络通信程序设计 计算机网络基础PPT课件_第3页
网络通信程序设计 计算机网络基础PPT课件_第4页
网络通信程序设计 计算机网络基础PPT课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

windows网络通信程序设计,.,2,参考书,王艳平主编Windows网络与通信程序设计(第二版)人民邮电出版社任泰明TCP/IP协议与网络编程西安电子科技大学出版社谢希仁计算机网络教程,第一章,计算网络基础,.,4,内容提要,1、网络基本概念2、计算网络参考模型3、网络程序寻址4、网络程序体系结构,.,5,1网络的定义网络是连接在一起的可以互相通信的设备的集合。,1.1网络基本概念,.,6,自主计算机(Autonomouscomputers)互联/互连(Interconnected)通信物理:通信线路/网络;逻辑:交换信息。,7,.,两台计算机通过网络进行通信,A,B,18,0,协议,协议,端口号,端口号,.,8,用户,因特网,ISP1,ISP2,因特网服务提供者,用户通过ISP上网,.,9,1.2计算机网络参考模型,1.OSI模型OSI/RM(OpenSystemInterconnection/ReferenceModel,开放系统互连参考模型)将计算机网络通信定义为一个七层框架模型,如图1.1所示。,图1.1OSI模型与通信流程,.,10,对等通信示例,.,11,表1.1OSI模型中各个层的功能,.,12,OSI模型的数据传输,PH,SH,TH,NH,DH,DT,AH,应用层,表示层,会话层,传输层,网络层,链路层,物理层,应用层,表示层,会话层,传输层,网络层,链路层,物理层,发送进程,接收进程,物理传输媒体,.,13,2.TCP/IP参考模型,TCP/IP的架构,.,14,TCP/IP中每一层负责不同的功能:,应用层,负责处理特定的应用程序细节。各种不同的TCP/IP实现都会提供下面这些通用的应用程序:Telnet远程登录。FTP文件传输协议。SMTP简单邮件传送协议。SNMP简单网络管理协议。HTTP超文本传输协议。TFTP简单文件传输协议。传输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。,.,15,UDP用户数据报的首部格式,伪首部,源端口,目的端口,长度,检验和,数据,首部,UDP长度,源IP地址,目的IP地址,0,17,IP数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数据,首部,UDP用户数据报,.,16,TCP首部,20字节的固定首部,目的端口,数据偏移,检验和,选项(长度可变),源端口,序号,紧急指针,窗口,确认号,保留,FIN,32位,SYN,RST,PSH,ACK,URG,位08162431,填充,TCP数据部分,TCP首部,TCP报文段,IP数据部分,IP首部,发送在前,TCP传输控制协议的首部格式,.,17,网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。网络层协议包括:IP协议(网际协议),ARP协议(地址解析协议),RARP(逆地址解析协议),ICMP协议(Internet互联网控制报文协议),IGMP协议(Internet组管理协议)。,.,18,固定部分,可变部分,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),位,首部长度,数据部分,数据部分,首部,传送,IP数据报,发送在前,.,19,网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。,.,20,采用五层结构计算机1向计算机2发送数据,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,应用程序数据,10100110100101比特流110101110101,注意观察加入或剥去首部(尾部)的层次,应用程序数据,.,21,计算机1向计算机2发送数据,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,10100110100101比特流110101110101,计算机2的物理层收到比特流后交给数据链路层,.,22,计算机1向计算机2发送数据,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层,H2,T2,.,23,计算机1向计算机2发送数据,H3,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,网络层剥去分组首部后把分组的数据部分交给运输层,.,24,计算机1向计算机2发送数据,H4,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,运输层剥去报文首部后把报文的数据部分交给应用层,.,25,计算机1向计算机2发送数据,应用程序数据,H5,应用程序数据,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,应用层剥去应用层首部后把应用程序数据交给应用进程,.,26,计算机1向计算机2发送数据,5,4,3,2,1,5,4,3,2,1,计算机1,AP2,AP1,计算机2,收到了AP1发来的应用程序数据!,.,27,TCP/IP协议族,HTTP,。,SMTP,FTP,TELNET,SNMP,TFTP,。,应用层,Port,23,21,25,80,161,69,网络接口1,网络接口2,网络接口3,.,28,局域网,广域网,主机H1,主机H2,路由器R1,路由器R2,路由器R3,电话网,局域网,主机H1向H2发送数据,从层次上来看数据的流动,.,29,Windows操作系统的总体架构,应用程序(EXE),动态链接库(DLL),应用程序(EXE),驱动程序(VXD,SYS),硬件,应用层,核心层,EXE是一个独立且能直接执行的模块。DLL是一个共享的函数库,它提供标准的接口供其它应用程序调用,本身不能单独运行,被应用程序调用时就成为程序的一部分。,应用层是可以直接接触到的,各种用户界面都是应用层程序执行的结果。文件扩展名是.exe或.dll。,在应用层下面是核心层(kernel)。Windows95/98下核心层程序扩展名是.vxd;WindowsNT/2000下核心层扩展名是.sys,核心层的程序叫驱动程序。驱动程序为上层应用程序提供底层的支持。,.,30,TCP/IP协议,Windows程序,User.exe,WS2_32.DLL,ftp.exe,Tcpip.sys,Tcpip.sys,Ne2000.sys,网卡,应用层,核心层,网卡驱动程序,TCP/IP协议在Windows中的实现,.,31,1.3网络程序寻址方式,IP地址MAC地址端口NAT,.,32,使用TCP/IP协议的互连网使用3个等级的地址:即物理(硬件)地址、互连网(IP)地址、端口地址。每一种地址都与TCP/IP体系结构中的特定层相对应。,物理地址,IP地址,端口地址,地址分类,.,33,1.IP地址(IPV4)IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。目前IP地址是一个32位地址(IPv4),可以用来标识连接在因特网上的每一个主机。在因特网上没有两个主机具有同样的IP地址。下一代的IP为IPv6。,.,34,IP地址采用点分十进制记法,.,35,IP地址的编址方法,分类的IP地址。这是最基本的编址方法。划分子网。这是对最基本的编址方法的改进。无分类编址(CIDR)。这是比较新的无分类编址方法。,.,36,net-id24位,host-id24位,net-id16位,net-id8位,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16位,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,1111,0,1,.,37,特殊的IP地址:网络地址:IP中主机地址为0的地址表示网络地址,如。广播地址:网络号后跟一个所有位全是1的后缀,就是广播地址。环回地址:127.*.*.*,用于测试。,.,38,TCP报文,IP数据报,MAC帧,应用层数据,首部,首部,尾部,首部,.,39,划分子网纯属一个单位内部的事情。这个单位对外仍然表现为没有划分子网的网络。从主机号借用若干个位作为子网号subnet-id,而主机号host-id也就相应减少了若干个位。IP地址:=,三级的IP地址-划分子网,.,40,CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。,无分类编址-CIDR最主要的特点,.,41,无分类的两级编址的记法是:IP地址:=,掩码,无分类的两级编址,.,42,2.MAC地址硬件地址又称为物理地址或MAC地址,这一地址被固化在每个网卡的ROM中,每个网卡在出厂时都赋于了一个全世界范围内唯一的地址编号,地址为6字节(即48位)。MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地址。MAC地址6字节(48比特)。,.,43,地址解析地址解析(AddressResolution)就是将计算机中的协议地址翻译成物理地址(或称MAC地址,即媒体映射地址)。地址解析只能在本地网内进行。,.,44,A,Y,X,B,Z,主机B向A发送ARP响应分组,主机A广播发送ARP请求分组,ARP请求,ARP请求,ARP请求,,,00-00-C0-15-AD-18,08-00-2B-00-EE-0A,我是,硬件地址是00-00-C0-15-AD-18我想知道主机的硬件地址,我是硬件地址是08-00-2B-00-EE-0A,A,Y,X,B,Z,,,00-00-C0-15-AD-18,.,45,HA1,HA5,HA4,HA3,HA6,主机H1,主机H2,路由器R1,硬件地址,路由器R2,HA2,IP1,IP2,局域网,局域网,局域网,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机H1,主机H2,路由器R1,IP层上的互联网,MAC帧,IP2,IP4,IP3,IP5,路由器R2,MAC帧,MAC帧,IP数据报,从协议栈的层次上看数据的流动,.,46,3.端口网络中可以被命名和寻址的通信端口是操作系统可分配的一种资源。按照OSI协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信,从这个意义上讲,网络通信的最终地址不仅仅是主机地址,还包括可以描述进程的某种标识符。TCP/IP协议提出协议端口(protocolport,简称端口)的概念,用于标识通信的进程。,.,47,端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序(进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。端口是用来标志应用层的进程。TCP/IP中的端口地址是16位。,.,48,端口号的两种基本分配方式全局分配全局分配是一种集中控制方式,由一个公认的中央机构根据用户需要进行统一分配,并将结果公布于众。本地分配本地分配又称动态分配,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回一个本地唯一的端口号,进程再通过合适的系统调用,将自己与该端口号联系起来。,.,49,TCP/IP中端口号的分配综合了上述两种方式,TCP/IP将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程,因此每个标准服务器都拥有一个全局公认的端口即周知端口(well-knownport)。例如,服务器提供的服务一般都是通过通用端口号来识别的,对于TCP/IP实现来说,FTP服务器的TCP端口号都是21,Telnet服务器的TCP端口号都是23,TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都使用通用端口号1-1023。这些通用端口号由Internet号分配机构(InternetAssignedNumbersAuthority,IANA)来管理。,.,50,4.网络地址转换NAT(NetworkAddressTranslation),网络地址转换NAT方法于1994年提出。缓解IPv4地址危机:专用地址只能用于结构内部通信,不用用于和因特网的主机通信.需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址IPG。所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成IPG才能和因特网连接。,.,51,内部地址:是指在内部网络中分配给节点的私有IP地址,这个地址只能在内部网络中使用,如果不通过路由器它是不能被外部不同的IP网段访问到的。内部地址也称私有地址,它是可以随机挑选。但是通常使用的是RFC1918中定义的NAT专用地址:-55;-55;-55。其中10.X.X.X地址最常用也是NAT推荐的一种地址。全局地址,是指合法的IP地址,它是由NIC(国际IP授权机构)或者网络服务提供商分配的地址,对外代表一个或多个内部地址,是全球统一的可寻址的地址即可路由地址。,NAT概念,.,52,NAT的工作原理,.,53,NAT的工作原理,(1)客户机将数据包发给运行NAT的计算机。(2)NAT将数据包中的端口号和专用的IP地址换成它自己的端口号和公用的IP地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中(NAT转换表),以便向客户机发送回答信息。(3)外部网络发送回答信息给NAT。(4)NAT将所收到的数据包的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机。,.,54,NAT类型,NAT有三种类型:静态NAT(staticNAT)、NAT池(pooledNAT)和端口NAT(PAT)。静态NAT设置简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址,多用于服务器。NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。多用于网络中的工作站。PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。,.,55,在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(Client/ServerModel)。客户机/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软/硬件资源、运算能力和信息不均等,需要共享,从而形成拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对称的情况。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。,4.网络程序体系结构,.,56,客户机服务器结构,网络应用程序一般是以客户机服务器结构工作的。在这种工作方式中,一个服务器程序通常事先已经启动,并在一个众所周知的端口监听对服务的请求。客户应用程序需要服务时,便向提供该服务的服务器发出请求,服务器在接收到请求后,就响应客户提出的请求。,.,57,客户机服务器结构的特点,客户机程序之间并不直接交流信息,它们仅与服务器通信。客户机之间可以通过服务器中转通信。,服务器方有一个固定的、公开的地址,包括IP地址和端口号码。IP地址唯一地标识主机,端口号标识主机上运行的某个服务进程。,.,58,网络程序中通信双方的标识,为了唯一地标识网络中通信的某一方,就要使用一个如下的三元组:(本地协议,本地IP地址,本地端口号),因此通信的双方可以使用如下六元组:(本地协议,本地IP地址,本地端口号,远程协议,远程IP地址,远程端口号),由于通信的双方在端到端的传输层只能使用相同的协议,因此一个完整的网间通信可简化为一个五元组:(协议,本地IP地址,本地端口号,远程IP地址,远程端口号)这里的协议主要是TCP、UDP,.,59,传统客户/服务器模式的不足,瓶颈问题:服务器的带宽、存储、计算等资源受限,容易成为网络瓶颈单点失效问题:服务器是整个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论