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