网络通信程序设计计算机网络基础松柏书屋

上传人:ni****g 文档编号:579232005 上传时间:2024-08-26 格式:PPT 页数:65 大小:3.96MB
返回 下载 相关 举报
网络通信程序设计计算机网络基础松柏书屋_第1页
第1页 / 共65页
网络通信程序设计计算机网络基础松柏书屋_第2页
第2页 / 共65页
网络通信程序设计计算机网络基础松柏书屋_第3页
第3页 / 共65页
网络通信程序设计计算机网络基础松柏书屋_第4页
第4页 / 共65页
网络通信程序设计计算机网络基础松柏书屋_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《网络通信程序设计计算机网络基础松柏书屋》由会员分享,可在线阅读,更多相关《网络通信程序设计计算机网络基础松柏书屋(65页珍藏版)》请在金锄头文库上搜索。

1、windows网络通信程序设计参考书参考书王艳平主编王艳平主编 WindowsWindows网络与通信程序设计网络与通信程序设计(第二版)人民邮电出版社(第二版)人民邮电出版社任泰明任泰明 TCP/IPTCP/IP协议与网络编程协议与网络编程 西安电西安电子科技大学出版社子科技大学出版社 谢希仁谢希仁 计算机网络教程计算机网络教程 2优选课讲第一章计算网络基础 内容提要1、网络基本概念2、计算网络参考模型3、网络程序寻址4、网络程序体系结构4优选课讲1 网络的定义n网络是连接在一起的可以互相通信的设备的集合。 1.1 网络基本概念5优选课讲自主计算机(Autonomous computers)

2、互联/互连(Interconnected) 通信物理:通信线路/网络;逻辑:交换信息。6优选课讲两台计算机通过网络进行通信AB网络网络192.168.0.118192.168.0.10协议协议协议协议端端口口号号端端口口号号7优选课讲用户因特网ISP1ISP2因特网服务提供者用户通过用户通过 ISP 上网上网8优选课讲1.2 计算机网络参考模型1. OSI模型OSI/RM(Open System Interconnection/Reference Model,开放系统互连参考模型)将计算机网络通信定义为一个七层框架模型,如图1.1所示。 图1.1 OSI模型与通信流程 9优选课讲对等通信示例“

3、你好你好”“HelloHello”传真传真中国中国教师教师翻译翻译秘书秘书“HalloHallo”“HelloHello”传真传真德国德国教师教师翻译翻译秘书秘书对交谈内容的共识对交谈内容的共识用英语对话用英语对话使用传真通信使用传真通信P3P3P2P2P1P1物理通信线路物理通信线路10优选课讲表1.1 OSI模型中各个层的功能 名称 层次 功 能 物理层 1 提供比特流传输 数据链路层 2 进行数据打包与解包,形成信息帧 网络层 3 提供数据通过的路由 传输层 4 提供传输顺序与相应信息 会话层 5 建立和中止连接 表示层 6 数据转换,确认数据格式 应用层 7 提供用户程序接口 11优选

4、课讲OSI模型的数据传输PHSHTHNHDHDTAH应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层链路层链路层物理层物理层应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层链路层链路层物理层物理层发送进程发送进程接收进程接收进程物理传输媒体数据数据数据AH数据PHAH数据PHSHAH数据PHSHTHAH数据PHSHTHNHAH比特流12优选课讲2. TCP/IP参考模型参考模型TCP/IP的架构的架构OSI参考模参考模型层次描述型层次描述OSI层次层次号号应用层应用层7表示层表示层6会话层会话层5传输层传输层4网络层网络层3数据链路层数据链路层2物理层物理层1TCP/I

5、P参考模型参考模型应用层应用层传输层传输层网络层网络层网络接口层网络接口层13优选课讲TCP/IP中每一层负责不同的功能:中每一层负责不同的功能:应用层,负责处理特定的应用程序细节。各种不同的TCP/IP实现都会提供下面这些通用的应用程序: Telnet 远程登录。 FTP 文件传输协议。 SMTP 简单邮件传送协议。 SNMP 简单网络管理协议。 HTTP 超文本传输协议。 TFTP 简单文件传输协议。传输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。14优选课讲UDP 用户数据报的首部格式用户数据报

6、的首部格式 伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报15优选课讲TCP首部20 字节的固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 位SYNRSTPSHACKURG位 0 8 16 24 31填 充TCP 数据部分TCP 首部TCP 报文段IP 数据部分IP 首部发送在前TCP传输控制协议的首部格式传输控制协议的首部格式 16优选课讲网络层网络层,有时也称作互联网层,处理分组在网络中

7、,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。的活动,例如分组的选路。网络层协议包括网络层协议包括:IP协议(网际协议),协议(网际协议),ARP协议(地址解析协议),协议(地址解析协议),RARP(逆地址解析协议),(逆地址解析协议),ICMP协议(协议(Internet互联网控制报文协议),互联网控制报文协议), IGMP协议(协议( Internet组管理协议)。组管理协议)。17优选课讲固定部分可变部分04816192431版 本标志生 存 时 间协 议标 识服务类型总 长 度片 偏 移填 充首 部 检 验 和源 地 址目 的 地 址可 选 字 段 (长 度 可 变)位

8、首部长度数 据 部 分数 据 部 分首 部传送IP 数据报首部发送在前18优选课讲网络接口层网络接口层,通常包括,通常包括操作系统中的设备驱动程序操作系统中的设备驱动程序和计算机中对应的和计算机中对应的网络接口卡网络接口卡。它们一起处理与电。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。缆(或其他任何传输媒介)的物理接口细节。19优选课讲 采用五层结构 计算机 1 向计算机 2 发送数据5432154321计算机 1AP2AP1计算机 2应 用 程 序 数 据应用层首部H510100110100101 比 特 流 110101110101注意观察加入或剥去首部(尾部)的层次应 用 程

9、 序 数 据H5应 用 程 序 数 据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据H4运输层首部H3网络层首部H2链路层首部T2链路层尾部20优选课讲计算机 1 向计算机 2 发送数据5432154321计算机 1AP2AP1计算机 210100110100101 比 特 流 110101110101计算机 2 的物理层收到比特流后交给数据链路层H2T2H3H4H5应 用 程 序 数 据21优选课讲计算机 1 向计算机 2 发送数据H3H4H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层H2

10、T2H3H4H5应 用 程 序 数 据22优选课讲计算机 1 向计算机 2 发送数据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2网络层剥去分组首部后把分组的数据部分交给运输层23优选课讲计算机 1 向计算机 2 发送数据H5应 用 程 序 数 据H4H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2运输层剥去报文首部后把报文的数据部分交给应用层24优选课讲计算机 1 向计算机 2 发送数据应 用 程 序 数 据H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2应用层剥

11、去应用层首部后把应用程序数据交给应用进程25优选课讲计算机 1 向计算机 2 发送数据5432154321计算机 1AP2AP1计算机 2收到了 AP1 发来的应用程序数据!26优选课讲TCP/IP 协议族协议族网络网络接口层接口层网络层网络层ICMPICMPIPIPIGMPIGMPRARPRARPARPARP传输层传输层TCPTCPUDPUDPHTTPHTTP。SMTPSMTPFTPFTPTELNETTELNETSNMPSNMPTFTPTFTP。应用层应用层PortPort23232121252580801611616969网络接口 1网络接口 2网络接口327优选课讲局域网广域网主机 H1

12、主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动28优选课讲 Windows操作系统的总体架构应用程序应用程序(EXE)(EXE)动态链接库动态链接库(DLL)(DLL)应用程序应用程序(EXE)(EXE)驱动程序驱动程序(VXD,(VXD, SYS)SYS)硬件硬件应用层核心层q EXE是一个独立且能直接执行的模块。DLL是一个共享的函数库,它提供标准的接口供其它应用程序调用,本身不能单独运行,被应

13、用程序调用时就成为程序的一部分。 应用层是可以直接接触到的,各种用户界面都是应用层程序执行的结果。文件扩展名是.exe或.dll。 在应用层下面是核心层(kernel)。Windows95/98下核心层程序扩展名是.vxd;WindowsNT/2000下核心层扩展名是.sysq 核心层的程序叫驱动程序。驱动程序为上层应用程序提供底层的支持。29优选课讲应用层应用层传输层传输层网络层网络层网络接口层网络接口层TCP/IP协议Windows程序User.exeWS2_32.DLLftp.exeTcpip.sysTcpip.sysNe2000.sys网卡应用层核心层系统文件,主要提供了TCP、UDP

14、、IP协议的实现网卡驱动程序 TCP/IP 协议在Windows中的实现30优选课讲1.3 网络程序寻址方式IP地址MAC地址端口NAT31优选课讲使用使用TCP/IP协议的互连网使用协议的互连网使用3个等级的地址:即个等级的地址:即物理物理(硬件)地址(硬件)地址、互连网(互连网(IP)地址)地址、端口地址端口地址。每一种地址都与每一种地址都与TCP/IP体系结构中的特定层相对应。体系结构中的特定层相对应。底层物理网络IP协议TCP 进程UDP物理地址 IP地址端口地址 地址分类32优选课讲1. IP地址地址(IPV4) IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范

15、围地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的是唯一的 32 位的标识符。位的标识符。目前目前IP地址是一个地址是一个32位地址位地址(IPv4),可以用来标识连接在因特网上的每一个主机。,可以用来标识连接在因特网上的每一个主机。在因特网上没有两个主机具有同样的在因特网上没有两个主机具有同样的IP地址。地址。下一代的下一代的IP为为IPv6。33优选课讲 IP地址采用点分十进制记法10000000000010110000001100011111 机器中存放的 IP 地址是 32 位二进制代码每隔 8 位插入一个空格能够提高可读性10000000 00001011

16、00000011 00011111 128 11 3 31 将每 8 位的二进制数转换为十进制数采用点分十进制记法则进一步提高可读性128.11.3.31 34优选课讲IP 地址的编址方法地址的编址方法 分类的分类的 IP 地址地址。这是最基本的编址方法。这是最基本的编址方法。划分子网划分子网。这是对最基本的编址方法的改进。这是对最基本的编址方法的改进。无无分分类类编编址址(CIDR)。这这是是比比较较新新的的无无分分类类编编址方法。址方法。35优选课讲net-id24 位host-id24 位net-id16 位net-id8 位IP 地址中的网络号字段和主机号字段 0A 类地址host-i

17、d16 位B 类地址C 类地址01 1host-id8 位D 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 10136优选课讲特殊的IP地址:网络地址:IP中主机地址为0的地址表示网络地址,如128.211.0.0。广播地址:网络号后跟一个所有位全是1的后缀,就是广播地址。环回地址:127.*.*.*,用于测试。 37优选课讲TCP 报文IP 数据报MAC 帧应用层数据首部首部尾部首部链路层及以下使用硬件地址硬件地址网络层及以上 使用 IP 地址IP 地址38优选课讲划分子网纯属一个单位内部的事情。这个单位对外仍然表现为没有划分子网的网络。从主机号借用若干

18、个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。IP地址 := , , 三级的 IP 地址-划分子网39优选课讲CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP 地址从三级编址(使用子网掩码)又回到了两级编址。 无分类编址无分类编址-CIDR 最主要的特点 40优选课讲无分类的两级编址的记法是: IP地址 := , 掩码无分类的两级编址 41优选课讲2. MAC地址硬件地址又称为物理地

19、址或MAC地址,这一地址被固化在每个网卡的ROM中,每个网卡在出厂时都赋于了一个全世界范围内唯一的地址编号,地址为6字节(即48位)。MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地址。MAC地址6字节(48比特)。42优选课讲地址解析地址解析(Address Resolution)就是将计算机中的协议地址翻译成物理地址(或称MAC地址,即媒体映射地址)。地址解析只能在本地网内进行。43优选课讲ARP 响应AYXBZ主机 B 向 A 发送ARP 响应分组 主机 A 广播发送ARP 请求分组 ARP 请求ARP 请求ARP 请求A

20、RP 请求209.0.0.5209.0.0.600-00-C0-15-AD-1808-00-2B-00-EE-0A我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18我想知道主机 209.0.0.6 的硬件地址我是 209.0.0.6硬件地址是 08-00-2B-00-EE-0AAYXBZ209.0.0.5209.0.0.600-00-C0-15-AD-1844优选课讲HA1HA5HA4HA3HA6主机 H1主机 H2路由器 R1硬件地址路由器 R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机 H1主机 H2路由器 R1IP 层上

21、的互联网MAC 帧IP2IP4IP3IP5路由器 R2 IP1 IP2IP1 IP2IP1 IP2从 HA1 到 HA3从 HA4 到 HA5从 HA6 到 HA2MAC 帧MAC 帧IP 数据报从协议栈的层次上看数据的流动45优选课讲3.端口网络中可以被命名和寻址的通信端口是操作系统可分配的一种资源。按照OSI协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信,从这个意义上讲,网络通信的最终地址不仅仅是主机地址,还包括可以描述进程的某种标识符。TCP/IP协议提出协议端口(protocol port,简称端口)的概念,用于标识通信的进程。 46优选课讲端口是一种抽象的软件结构(

22、包括一些数据结构和I/O缓冲区)。应用程序(进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。端口是用来标志应用层的进程端口是用来标志应用层的进程。TCP/IP中的端口地址是中的端口地址是16位。位。47优选课讲端口号的两种基本分配方式全局分配全局分配是一种集中控制方式,由一个公认的中央机构根据用户需要进行统一分配,并将结果公布于众。本地分配本地分配又称动态分配,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回一个本地唯一的端口号,进程再通过合适的系统调用,将自己与该端口号联系起来。48优

23、选课讲TCP/IP中端口号的分配综合了上述两种方式,TCP/IP将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程,因此每个标准服务器都拥有一个全局公认的端口即周知端口(well-known port) 。 例如,服务器提供的服务一般都是通过通用端口号来识别的,对于TCP/IP实现来说,FTP服务器的TCP端口号都是21,Telnet服务器的TCP端口号都是23,TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都使用通用端口号1-1023。这些通用端口号由Internet号分配机构(Internet Assigned Numbers Au

24、thority, IANA)来管理。49优选课讲4. 网络地址转换 NAT (Network Address Translation)网络地址转换 NAT 方法于1994 年提出。缓解IPv4地址危机:专用地址只能用于结构内部通信 ,不用用于和因特网的主机通信. 需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成 IPG 才能和因特网连接。 50优选课讲内部地址 :是指在内部网络中分配给节点的私有IP地址,这个地址只能在内部网络

25、中使用,如果不通过路由器它是不能被外部不同的IP网段访问到的。 内部地址也称私有地址,它是可以随机挑选。但是通常使用的是RFC 1918中定义的NAT专用地址:10.0.0.0-10.255.255.255;172.16.0.0-172.16.255.255;192.168.0.0-192.168.255.255。其中10.X.X.X地址最常用也是NAT推荐的一种地址。 全局地址,是指合法的IP地址,它是由NIC(国际IP授权机构)或者网络服务提供商分配的地址,对外代表一个或多个内部地址,是全球统一的可寻址的地址即可路由地址。 NAT概念51优选课讲NAT的工作原理52优选课讲NAT的工作原理

26、(1)客户机将数据包发给运行NAT的计算机。(2)NAT将数据包中的端口号和专用的IP地址换成它自己的端口号和公用的IP地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中(NAT 转换表),以便向客户机发送回答信息。(3)外部网络发送回答信息给NAT。(4)NAT将所收到的数据包的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机。53优选课讲NAT类型NAT有三种类型:静态NAT(static NAT)、NAT池(pooled NAT)和端口NAT(PAT)。静态NAT设置简单,内部网络中的每个主机都被永久映射成 外部网络中的某个合法的地

27、址,多用于服务器。NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。多用于网络中的工作站。PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。54优选课讲在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(Client/Server Model)。客户机/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软/硬件资源、运算能力和信息不均等,需要共享,从而形成拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对称的情况。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需

28、要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。4 .网络程序体系结构55优选课讲 客户机服务器结构 网络应用程序一般是以客户机服务器结构工作的。在这种工作方式中,一个服务器程序通常事先已经启动,并在一个众所周知的端口监听对服务的请求。客户应用程序需要服务时,便向提供该服务的服务器发出请求,服务器在接收到请求后,就响应客户提出的请求。ClientInternetServer56优选课讲 客户机服务器结构的特点 客户机程序之间并不直接交流信息,它们仅与服务器通信。客户机之间可以通过服务器中转通信。 服务器方有一个固定的、公开的地址,包括

29、IP地址和端口号码。IP地址唯一地标识主机,端口号标识主机上运行的某个服务进程。57优选课讲 网络程序中通信双方的标识 为了唯一地标识网络中通信的某一方,就要使用一个如下的三元组:(本地协议,本地IP地址,本地端口号) 因此通信的双方可以使用如下六元组:(本地协议,本地IP地址,本地端口号,远程协议,远程IP地址,远程端口号) 由于通信的双方在端到端的传输层只能使用相同的协议,因此一个完整的网间通信可简化为一个五元组:(协议,本地IP地址,本地端口号,远程IP地址,远程端口号) 这里的协议主要是TCP、UDP58优选课讲传统客户传统客户/服务器模式的不足服务器模式的不足1.瓶颈问题:服务器的带

30、宽、存储、计算等资源受限,容易成为网络瓶颈2.单点失效问题:服务器是整个网络的中心,失效将会导致服务无法访问59优选课讲网络边缘闲置资源利用的需求随着计算技术的发展,位于Internet边缘的接入设备(也就是网络的最终用户)拥有越来越强的计算、存储等能力,传统的网络结构无法有效地利用这些资源60优选课讲完全分布式的网络结构无中心服务器,网络中的节点既是客户端又是服务器将服务器的功能分布到各个网络中的各个节点,充分利用这些节点的计算、存储、带宽等资源P2P(Peer-to-Peer,点对点)结构61优选课讲客户机/服务器模式在操作过程中采取主动请求方式:(1) 服务器方启动,并根据请求提供相应服

31、务:打开一通信通道并告知本地主机,它愿意在某公认地址(如FTP:21)上接收客户请求。等待客户请求到达该端口。接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一新进程来处理这个客户请求(如UNIX系统中用fork、exec)。新进程处理此客户请求,并不需要对其他请求作出应答。返回第二步,等待另一客户请求。关闭服务器。 62优选课讲(2) 客户机方:打开一通信通道,并连接到服务器所在地的主机特定端口。向服务器发送服务请求报文,等待并接收应答,继续提出请求。请求结束后关闭通信通道并终止。从上面描述的过程可知:客户机与服务器进程的作用是非对称的,因此编码不同。服务进程一般是先于客户机请求而启动的,只要系统运行,该服务进程一直存在,直到正常终止或强迫终止。63优选课讲网络程序通信实体进程是通信的实体,它们在不同终端系统上通过计算机网络来交流信息。发送进程创建消息,将之发送到网络。接收进程接收这些消息,发送响应。64优选课讲客户和服务器进程对于相互通信的两个进程,通常称一方为客户,另一方为服务器。在一对进程的通信会话上下文中,初始化通信的进程称为客户。等待通信连接的进程称为服务器。65优选课讲

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号