第1章网络编程基础精.ppt
《第1章网络编程基础精.ppt》由会员分享,可在线阅读,更多相关《第1章网络编程基础精.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章网络编程基础第1页,本讲稿共49页1.1 概述一、网络编程一、网络编程 网络编程网络编程网络编程网络编程就是利用网络应用编程接口编写网就是利用网络应用编程接口编写网就是利用网络应用编程接口编写网就是利用网络应用编程接口编写网络应用程序,实现网络应用进程间的信息交络应用程序,实现网络应用进程间的信息交络应用程序,实现网络应用进程间的信息交络应用程序,实现网络应用进程间的信息交互功能。互功能。互功能。互功能。主要内容:主要内容:主要内容:主要内容:基于基于基于基于NETBIOSNETBIOSNETBIOSNETBIOS的网络编程的网络编程的网络编程的网络编程 基于基于基于基于TCP/IPTC
2、P/IPTCP/IPTCP/IP协议栈的协议栈的协议栈的协议栈的WindowsWindowsWindowsWindows网络编程网络编程网络编程网络编程 多线程网络编程多线程网络编程多线程网络编程多线程网络编程第2页,本讲稿共49页1.1 概述二、应用进程间的通信二、应用进程间的通信 同一系统上的应用进程间的通信同一系统上的应用进程间的通信同一系统上的应用进程间的通信同一系统上的应用进程间的通信l l也称为进程间通信也称为进程间通信也称为进程间通信也称为进程间通信 不同系统上的应用进程间的通信不同系统上的应用进程间的通信不同系统上的应用进程间的通信不同系统上的应用进程间的通信l l必须通过网络
3、编程接口访问网络协议提供的服必须通过网络编程接口访问网络协议提供的服必须通过网络编程接口访问网络协议提供的服必须通过网络编程接口访问网络协议提供的服务来实现务来实现务来实现务来实现第3页,本讲稿共49页网络协议 网网网网络协议络协议是网是网是网是网络络上所有上所有上所有上所有设备设备(网(网(网(网络络服服服服务务器、器、器、器、计计算算算算机及机及机及机及交交交交换换机机机机、路由器路由器路由器路由器、防火防火防火防火墙墙等)之等)之等)之等)之间间通信通信通信通信规则规则的集合,它定的集合,它定的集合,它定的集合,它定义义了通信了通信了通信了通信时时信息必信息必信息必信息必须须采用的格式和
4、采用的格式和采用的格式和采用的格式和这这些格式的意些格式的意些格式的意些格式的意义义。大多数网。大多数网。大多数网。大多数网络络都采用分都采用分都采用分都采用分层层的体系的体系的体系的体系结结构,每一构,每一构,每一构,每一层层都建立在它的下都建立在它的下都建立在它的下都建立在它的下层层之上,向它的上之上,向它的上之上,向它的上之上,向它的上一一一一层层提供一定的服提供一定的服提供一定的服提供一定的服务务.常常常常见见的的的的协议协议有:有:有:有:TCP/IPTCP/IP协议协议、IPX/SPXIPX/SPX协议协议、NetBIOSNetBIOS协议协议等。在局域网中用得的比等。在局域网中用
5、得的比等。在局域网中用得的比等。在局域网中用得的比较较多的是多的是多的是多的是NetBIOS.NetBIOS.。用用用用户户如果如果如果如果访问访问InternetInternet,则则必必必必须须在网在网在网在网络协络协议议中添加中添加中添加中添加TCP/IPTCP/IP协议协议。第4页,本讲稿共49页1.2 TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制传输控制协议协议/网际协议)是一系列协议,或者网际协议)是一系列协议,或者说是一个协议族,它定义了数据传输如说是一个协议族,它定义了数据传输如何通过因
6、特网进行交换。允许分布在各何通过因特网进行交换。允许分布在各地的装着完全不同系统的计算机互相通地的装着完全不同系统的计算机互相通信,是一个真正的开放系统。信,是一个真正的开放系统。第5页,本讲稿共49页1.2 TCP/IP简介1.2.1 开放系统互连参考模型(开放系统互连参考模型(OSI/RM模型)模型)应用层(Application)传输层(Transport)网络层(Network)表示层(Presentation)会话层(Session)链路层(Data Link)物理层(Physical)7654321面向数据处理(资源子网)面向数据处理(资源子网)面向数据通信(通信子网)面向数据通信
7、(通信子网)承上启下,接口沟通的作用承上启下,接口沟通的作用第6页,本讲稿共49页层层 次次数据数据单位单位功功 能能物理层物理层比特比特或位或位物物理理层层负负责责把把逐逐个个的的比比特特从从一一跳跳(结结点点)移移动动到到另另一一跳(结点)跳(结点)链路层链路层帧帧数数据据链链路路层层负负责责把把帧帧从从一一跳跳(结结点点)移移动动到到另另一一个个结结点点网络层网络层分组分组或包或包网络层负责把逐个的分组从源主机交付到目的主机网络层负责把逐个的分组从源主机交付到目的主机传输层传输层会话会话报文报文运运输输层层负负责责把把完完整整的的报报文文进进行行源源点点到到终终点点(端端到到端端)的交付
8、的交付会话层会话层会话会话报文报文会话层负责对话的控制和同步会话层负责对话的控制和同步表示层表示层会话会话报文报文表示层负责转换、压缩和加密表示层负责转换、压缩和加密应用层应用层用户用户数据数据应应用用层层负负责责向向用用户户提提供供服服务务。为为用用户户提提供供相相应应的的界界面面,以便使用提供的连网功能以便使用提供的连网功能第7页,本讲稿共49页应用层运输层网络层表示层会话层 链路层物理层7654321应用层运输层网络层表示层会话层 链路层物理层7654321对等层协议(第对等层协议(第对等层协议(第对等层协议(第6 6层)层)层)层)网络层 链路层物理层321网络层 链路层物理层321数
9、据传输媒体数据传输媒体对等层协议(第对等层协议(第对等层协议(第对等层协议(第7 7层)层)层)层)对等层协议(第对等层协议(第对等层协议(第对等层协议(第5 5层)层)层)层)对等层协议(第对等层协议(第对等层协议(第对等层协议(第4 4层)层)层)层)设备设备A中间结点中间结点中间结点中间结点7-6 接口设备设备B6-5 接口5-4 接口4-3 接口3-2 接口2-1 接口7-6 接口6-5 接口5-4 接口4-3 接口3-2 接口2-1 接口第8页,本讲稿共49页vvOSIOSI模型是一个模型是一个模型是一个模型是一个7 7层模型。每一层实现特定的功能,层模型。每一层实现特定的功能,层模
10、型。每一层实现特定的功能,层模型。每一层实现特定的功能,并且只与上下两层直接通信。高层协议偏重于处并且只与上下两层直接通信。高层协议偏重于处并且只与上下两层直接通信。高层协议偏重于处并且只与上下两层直接通信。高层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理实际的信息传输。理实际的信息传输。理实际的信息传输。理实际的信息传输。vv分层协议的目的在于把各种特定的功能分离开来,分层协议的目的在于把各种特定的功能分离开来,分层协议的目的在于把各种特定的功能分离开来,
11、分层协议的目的在于把各种特定的功能分离开来,并使其实现对其他层次来说是透明的。这种分层并使其实现对其他层次来说是透明的。这种分层并使其实现对其他层次来说是透明的。这种分层并使其实现对其他层次来说是透明的。这种分层结构使各个层次的设计和测试相对独立。结构使各个层次的设计和测试相对独立。结构使各个层次的设计和测试相对独立。结构使各个层次的设计和测试相对独立。第9页,本讲稿共49页1.2 TCP/IP简介1.2.2 互联网参考模型(互联网参考模型(TCP/IP模型)模型)运输层运输层网间网层网间网层应用层应用层(各种应用层(各种应用层协议)协议)网络接口层网络接口层 负责将发送的信息组帧,通过物理层
12、向选定网络负责将发送的信息组帧,通过物理层向选定网络负责将发送的信息组帧,通过物理层向选定网络负责将发送的信息组帧,通过物理层向选定网络发送,或者从网络上接收物理帧,将取出数据控发送,或者从网络上接收物理帧,将取出数据控发送,或者从网络上接收物理帧,将取出数据控发送,或者从网络上接收物理帧,将取出数据控制信息的制信息的制信息的制信息的IPIP数据包交给网间网层数据包交给网间网层数据包交给网间网层数据包交给网间网层 负责相邻计算机之间的通信,包括路径选择、流负责相邻计算机之间的通信,包括路径选择、流负责相邻计算机之间的通信,包括路径选择、流负责相邻计算机之间的通信,包括路径选择、流量控制、拥塞、
13、差错报告功能量控制、拥塞、差错报告功能量控制、拥塞、差错报告功能量控制、拥塞、差错报告功能 提供应用程序之间端到端的通信提供应用程序之间端到端的通信提供应用程序之间端到端的通信提供应用程序之间端到端的通信 向用户提供一组常用的应用程序,使用户在需要时调向用户提供一组常用的应用程序,使用户在需要时调向用户提供一组常用的应用程序,使用户在需要时调向用户提供一组常用的应用程序,使用户在需要时调用该程序就可以完成对用该程序就可以完成对用该程序就可以完成对用该程序就可以完成对TCP/IPTCP/IP互连网络的访问互连网络的访问互连网络的访问互连网络的访问第10页,本讲稿共49页1.2 TCP/IP简介T
14、CP/IP与与OSI/RM的关系:的关系:应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层链路层链路层物理层物理层运输层运输层网际层网际层应用层应用层(各种应用(各种应用层协议)层协议)网络接口网络接口层层第11页,本讲稿共49页1.2 TCP/IP简介应用层应用层表示层表示层会话层会话层各种应用程序层各种应用程序层SMTPFTPHTTPDNSSNMPNFSTFTPRPC运输层运输层SCTPTCPUDP网络层网络层ICMPIGMPIPRARPARP数据链路层数据链路层物理层物理层由底层网络定义的协议由底层网络定义的协议1.2.3 TCP/IP协议族协议族第12页,本讲稿共49页1.
15、2 TCP/IP简介 应用层协议:应用层协议:应用层协议:应用层协议:DNSDNS:域名系统。它是用分布式数据库实现的命名系统。域名系统。它是用分布式数据库实现的命名系统。域名系统。它是用分布式数据库实现的命名系统。域名系统。它是用分布式数据库实现的命名系统。NFSNFS:网络文件系统。在不同的系统间达到文件共享的系统。网络文件系统。在不同的系统间达到文件共享的系统。网络文件系统。在不同的系统间达到文件共享的系统。网络文件系统。在不同的系统间达到文件共享的系统。SNMPSNMP:简单网络管理协议。简单网络管理协议。简单网络管理协议。简单网络管理协议。FTPFTP:文件传输协议。文件传输协议。文
16、件传输协议。文件传输协议。TFTPTFTP:简单文件传输协议。简单文件传输协议。简单文件传输协议。简单文件传输协议。POPPOP:邮局协议。邮局协议。邮局协议。邮局协议。SMTPSMTP:简单邮局传输协议。它只是完成通过一条链路传递消息的工作。简单邮局传输协议。它只是完成通过一条链路传递消息的工作。简单邮局传输协议。它只是完成通过一条链路传递消息的工作。简单邮局传输协议。它只是完成通过一条链路传递消息的工作。TelnetTelnet:远程登录协议远程登录协议远程登录协议远程登录协议 第13页,本讲稿共49页1.2 TCP/IP简介传输层协议:传输层协议:TCPTCP:传输控制协议。它是面向连接
17、的全双传输控制协议。它是面向连接的全双传输控制协议。它是面向连接的全双传输控制协议。它是面向连接的全双工协议工协议工协议工协议 UDPUDP:用户数据报协议。提供非可靠数据报用户数据报协议。提供非可靠数据报用户数据报协议。提供非可靠数据报用户数据报协议。提供非可靠数据报服务的无连接协议。服务的无连接协议。服务的无连接协议。服务的无连接协议。SCTPSCTP:流控制传输协议。它是一个把流控制传输协议。它是一个把流控制传输协议。它是一个把流控制传输协议。它是一个把UDPUDP和和和和TCPTCP的优点合并起来的传输层协议。提供的优点合并起来的传输层协议。提供的优点合并起来的传输层协议。提供的优点合
18、并起来的传输层协议。提供对新的应用(如对新的应用(如对新的应用(如对新的应用(如IPIP电话)的支持电话)的支持电话)的支持电话)的支持第14页,本讲稿共49页1.2 TCP/IP简介网络层协议:网络层协议:IPIP:网际互连协议。它是无连接的,负责数网际互连协议。它是无连接的,负责数网际互连协议。它是无连接的,负责数网际互连协议。它是无连接的,负责数据包的发送。据包的发送。据包的发送。据包的发送。ARPARP:地址解析协议地址解析协议地址解析协议地址解析协议 RARPRARP:逆地址解析协议逆地址解析协议逆地址解析协议逆地址解析协议 ICMPICMP:网际控制报文协议网际控制报文协议网际控制
19、报文协议网际控制报文协议 IGMPIGMP:网际组管理协议网际组管理协议网际组管理协议网际组管理协议第15页,本讲稿共49页1.2 TCP/IP简介网络接口层(物理层和数据链路层)协议:网络接口层(物理层和数据链路层)协议:在网络接口层,在网络接口层,在网络接口层,在网络接口层,TCP/IPTCP/IP并没有定义任何并没有定义任何并没有定义任何并没有定义任何特定的协议。它支持所有标准的和专用的协特定的协议。它支持所有标准的和专用的协特定的协议。它支持所有标准的和专用的协特定的协议。它支持所有标准的和专用的协议。在议。在议。在议。在TCP/IPTCP/IP互联网中的网络可以是局域互联网中的网络可
20、以是局域互联网中的网络可以是局域互联网中的网络可以是局域网(网(网(网(LANLAN)、)、)、)、城域网(城域网(城域网(城域网(MANMAN)或广域网或广域网或广域网或广域网(WANWAN)。)。)。)。第16页,本讲稿共49页1.3 网络编程接口 完整的计算机网络系统中,仅提供完整的计算机网络系统中,仅提供了基于网络操作系统之上的编程接口了基于网络操作系统之上的编程接口 WindowsWindows的的的的Winsock APIWinsock API NetwareNetware的的的的IPX/SPX APIIPX/SPX API NetBIOS APINetBIOS API第17页,本
21、讲稿共49页 网络编程接口定义了应用程序与网络通信协议的连接:应用网络编程接口定义了应用程序与网络通信协议的连接:应用网络编程接口定义了应用程序与网络通信协议的连接:应用网络编程接口定义了应用程序与网络通信协议的连接:应用程序调用网络编程接口实现应用程序相互之间的通信,而网程序调用网络编程接口实现应用程序相互之间的通信,而网程序调用网络编程接口实现应用程序相互之间的通信,而网程序调用网络编程接口实现应用程序相互之间的通信,而网络编程接口则利用下层的网络通信协议功能与操作系统调用络编程接口则利用下层的网络通信协议功能与操作系统调用络编程接口则利用下层的网络通信协议功能与操作系统调用络编程接口则利
22、用下层的网络通信协议功能与操作系统调用实现实际的通信工作。它们之间的关系如图:实现实际的通信工作。它们之间的关系如图:实现实际的通信工作。它们之间的关系如图:实现实际的通信工作。它们之间的关系如图:应用程序应用程序A A应用程序应用程序B B网络编程接口,例如网络编程接口,例如Windows SocketsWindows Sockets网络通信协议服务界面,例如网络通信协议服务界面,例如TCP/IPTCP/IP操作系统,例如操作系统,例如WindowsWindows物理通信介质物理通信介质第18页,本讲稿共49页1.3 网络编程接口1.3.1 基于基于NetBIOS的网络编程的网络编程 Net
23、BIOSNetBIOS是一种标准的应用程序编程接口,是一种标准的应用程序编程接口,是一种标准的应用程序编程接口,是一种标准的应用程序编程接口,它为网络通信定义了一组编程接口。它为网络通信定义了一组编程接口。它为网络通信定义了一组编程接口。它为网络通信定义了一组编程接口。NetBIOSNetBIOS与与与与TCP/IPTCP/IP和和和和IPX/SPXIPX/SPX相比,具有极相比,具有极相比,具有极相比,具有极高的通信效率。高的通信效率。高的通信效率。高的通信效率。NetBIOSNetBIOS支持面向连接和无连接服务。支持面向连接和无连接服务。支持面向连接和无连接服务。支持面向连接和无连接服务
24、。NetBIOSNetBIOS编程接口对应于编程接口对应于编程接口对应于编程接口对应于OSIOSI模型的会话层模型的会话层模型的会话层模型的会话层和传输层。和传输层。和传输层。和传输层。NetBIOSNetBIOS不是一种不是一种不是一种不是一种“可路由可路由可路由可路由”协议。协议。协议。协议。第19页,本讲稿共49页1.3 网络编程接口1.3.2 基于基于Winsock的网络编程的网络编程 WinsockWinsock是是是是WindowsWindows环境下实现基于环境下实现基于环境下实现基于环境下实现基于TCP/IPTCP/IP协议的网络编程的接口。协议的网络编程的接口。协议的网络编程
25、的接口。协议的网络编程的接口。WinsockWinsock规范并定义了如何使用规范并定义了如何使用规范并定义了如何使用规范并定义了如何使用APIAPI和和和和InternetInternet协议簇,并提供了一组针对协议簇,并提供了一组针对协议簇,并提供了一组针对协议簇,并提供了一组针对WindowsWindows的扩展库函数,以使程序员能充分的扩展库函数,以使程序员能充分的扩展库函数,以使程序员能充分的扩展库函数,以使程序员能充分的利用的利用的利用的利用WindowsWindows消息驱动机制进行编程。消息驱动机制进行编程。消息驱动机制进行编程。消息驱动机制进行编程。所有的所有的所有的所有的W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 基础
限制150内