Windows网络编程 教学课件 ppt 作者 罗莉琴 詹祖桥 第2章

上传人:E**** 文档编号:89400665 上传时间:2019-05-24 格式:PPT 页数:41 大小:587KB
返回 下载 相关 举报
Windows网络编程 教学课件 ppt 作者  罗莉琴 詹祖桥 第2章_第1页
第1页 / 共41页
Windows网络编程 教学课件 ppt 作者  罗莉琴 詹祖桥 第2章_第2页
第2页 / 共41页
Windows网络编程 教学课件 ppt 作者  罗莉琴 詹祖桥 第2章_第3页
第3页 / 共41页
Windows网络编程 教学课件 ppt 作者  罗莉琴 詹祖桥 第2章_第4页
第4页 / 共41页
Windows网络编程 教学课件 ppt 作者  罗莉琴 詹祖桥 第2章_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《Windows网络编程 教学课件 ppt 作者 罗莉琴 詹祖桥 第2章》由会员分享,可在线阅读,更多相关《Windows网络编程 教学课件 ppt 作者 罗莉琴 詹祖桥 第2章(41页珍藏版)》请在金锄头文库上搜索。

1、,Windows网络编程实用教程,授课教师: 职务:,第2章 TCP/IP协议簇及其应用,课程描述 本章将介绍TCP/IP协议簇中包含的常用网络协议及其应用,使读者了解它们的基本功能和工作原理,为后面基于这些协议编写网络应用程序奠定基础。,本章知识点,IP协议 TCP协议 UDP协议 TCP/IP协议簇中的其他常用协议,2.1 IP协议,2.1.1 IP协议基础 2.1.2 IP协议的关键机制,2.1.1 IP协议基础,IP协议包含两个最基本的功能,即寻址和分片。 当发送或接收数据时(例如收取电子邮件或浏览网页),信息将被拆分成若干个小块,称为数据包。每个数据包都包含发送者和接收者的IP地址。

2、数据包首先被发送到网关,网关读取数据包中的目的地址,然后将其转发到能够到达该目的地址的邻近的网关;每个网关都重复上面的过程,直到网关认定目的主机在其可以直接到达的网段或域中,则网关将数据包直接发送给目的计算机。 IP是无连接的协议,也就是说在通信的两个端点之间不存在持续的连接。,使用IP协议发送数据包的示意图,IP数据包的格式,IP数据包各字段的含义,版本,目前使用的IP版本,大小为4位。 包头长度,用于指定数据包头的长度,大小为4位。 服务类型(TOS),用于设置数据传输的优先权或者优先级,大小为8位。 总长度,用于指定数据包的总长度,等于包头长度加上数据长度,大小为16位。 标识,用于指定

3、当前数据包的标识号,大小为16位。 分段标志,确定一个数据包是否可以分段,同时也指出当前分段后面是否还有更多分段,大小为3位。 分段偏移量,帮助目标主机查找分段在整个数据包中的位置,大小为13位。 生存时间(TTL),设置数据包可以经过的最多路由器数,每经过一个路由器,该值会减1。该值等于0时,数据包被丢弃。该字段的长度为8位。 协议,指定与该数据包相关联的上层协议,大小为8位。 包头校验和,检查传输数据的完整性,大小为16位。 源地址,发送数据包的计算机的IP地址,大小为32位。 目的地址,接收数据包的计算机的IP地址,大小为32位。 选项,指定IP数据包中的选项。关于选项的具体含义请参照2

4、.1.2小节理解。 数据,数据包中传输的数据。,IP协议的关键机制,服务类型。 生存时间。 选项。 包头校验和。,ping命令结果中的TTL值,2.2 TCP和UDP协议,2.2.1 TCP协议的网络功能 2.2.2 TCP段结构 2.2.3 TCP的基本工作流程 2.2.4 UDP协议,2.2.1 TCP协议的网络功能,TCP(Transmission Control Protocol,传输控制协议)是面向连接的传输协议,通过序列确认和包重发机制提供可靠的数据流发送和应用程序的虚拟连接服务。TCP协议和IP协议相结合,构成了Internet协议的核心。 TCP是一个精确传输协议,但并不是及时

5、传输协议。使用TCP传输数据可能会导致相对较长的延时,通常用来等待打乱顺序的消息或者重新传输丢失的消息。 TCP是可靠的流传输服务,它可以保证从一个主机传送到另一个主机的数据流不会出现重复数据或丢失数据的情况。因为在IP协议中数据包的传输是不可靠的,所以在传输时需要使用一种叫做主动确认的技术来确保数据包传输的可靠性。,2.2.2 TCP段结构,为了更高效地在网络中传输,消息被拆分成一个个消息单元,在网络上的计算机之间传递。消息单元被称为段(segment)。,TCP段结构,2.2.3 TCP的基本工作流程,两个主机使用TCP协议进行通信可以分为3个阶段,即建立连接阶段、数据传输阶段和断开连接释

6、放资源阶段。 1TCP的状态 2建立连接 3数据传输 4断开连接,1TCP的状态,LISTEN:服务器端等待远程客户端连接请求的状态。 SYN-SENT:当要访问其他计算机的服务时,首先要发送一个同步信号给该端口,此时状态变为SYN_SENT。如果连接成功了,状态就会变为ESTABLISHED,因此SYN_SENT状态是非常短暂的。但如果发现SYN_SENT非常多且在向不同的机器发送数据,那这台计算机很可能中了冲击波或震荡波之类的病毒。 SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认。 ESTABLISHED:代表一个打开的连接。 FIN-WAIT-1:等待远程T

7、CP的连接中断请求,或者等待对先前连接中断请求的确认。 FIN-WAIT-2:从远程TCP等待连接中断请求。 CLOSE-WAIT:等待从本地用户发来的连接中断请求。 CLOSING:等待远程TCP对连接中断的确认。 LAST-ACK:等待对上次发向远程TCP的连接中断请求的确认。 TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认。 CLOSED:没有任何连接状态。,2建立连接,3数据传输,TCP是一种可靠的传输协议,它使用序列号来标识数据中的每个字节。 序列号中包含每个主机中发送的字节的顺序,从而使目的主机可以按照顺序对数据进行重组。 每个字节的序列号是递增的。 在

8、建立连接时3次握手的前两次中,两端的主机会交换初始序列号(ISN)。初始序列号是随机的,不可预知的。 TCP还提供流量控制的功能。如果发送方主机的网卡带宽高于接收方主机的网卡带宽,则要对发送数据的流量进行控制,否则接收方将无法稳定地接收和处理数据。,4断开连接,在多数情况下,TCP使用4次握手来断开连接。当一方希望断开连接时,它会向对方发送一个FIN包;对方在收到FIN包后,会发送一个ACK确认包。因此,通常来说双向连接需要从每个TCP端点发送一对FIN和ACK段。 也可以使用3次握手的方式断开TCP连接。当主机A发送FIN包后,主机B回复FIN加ACK包,将上面的两个步骤合并为一个步骤,然后

9、主机A再回复ACK包。 如果两个主机同时发送FIN包,然后又都收到了对应的ACK包,则这种情况可以看作是2次握手。,2.2.4 UDP协议,UDP(User Datagram Protocol,用户数据报协议)可以提供一种基本的、低延时的数据报传输。 UDP协议的主要作用是将网络数据流量压缩成数据报的形式进行传输。每个数据报的前8个字节用来包含报头信息,剩余字节则是具体的传输数据。 与TCP相比,UDP更适合发送数据量比较少、但对响应速度要求比较高的情况。,常用的TCP和UDP端口,2.3 其他常用协议,2.3.1 ARP协议 2.3.2 ICMP协议 2.3.3 Telnet协议 2.3.4

10、 FTP协议 2.3.5 SMTP和POP3协议,2.3.1 ARP协议,大多数应用程序都根据IP地址实现网络通信,那么如何将IP地址转换为对应的MAC地址呢?ARP(Address Resolution Protocol,地址解析协议)可以帮助用户实现此功能。查看本地ARP表的命令如下: arp -a,动态维护ARP表的过程,手动删除ARP表项中的条目,arp d 【例2.1】从本地ARP表中删除IP地址为192.168.5.205的条目,命令如下: arp d 192.168.5.205,2ARP攻击,ARP欺骗通常有如下两种情况 (1)对路由器ARP表的欺骗,感染ARP木马的主机会不断地

11、向路由器发送一系列错误的内网MAC地址,使真实的地址信息无法通过更新保存在路由器上。因为路由器负责转发数据包,是主机连接Internet的关键设备,所以路由器被欺骗后,网络中的大量主机都无法正常上网。 (2)伪造网关,欺骗其他主机向假网关发送数据,而不是通过正确的路由器途径上网。,3RARP协议,RARP(Reverse Address Resolution Protocol,反向地址解析协议)可以根据局域网中一个设备的MAC地址获取它的IP地址。 RARP协议广泛应用于无盘工作站,用于获取IP地址。普通计算机的IP地址保存在硬盘上,每次启动系统时可以从硬盘的配置文件中获得。但无盘工作站没有硬

12、盘,因此它只能在每次启动时通过RARP协议向RARP服务器申请IP地址。,RARP协议的工作过程,(1)申请IP地址的主机在本地网络中发送一个RARP广播包,其中包括自己的MAC地址,希望任何收到该请求的RARP服务器为其分配一个IP地址。 (2)收到请求的RARP服务器将检查其RARP列表,判断是否存在该MAC地址对应的IP地址。如果存在,则给源主机发送一个响应数据包,并将此IP地址提供给对方主机使用;如果不存在,则RARP服务器对该请求不做响应。一个网段中可以存在多个RARP服务器。 (3)源主机收到RARP服务器发回的响应信息后,使用得到的IP地址进行通讯。 (4)如果一直没有收到RAR

13、P服务器的响应信息,则表明初始化失败。,2.3.2 ICMP协议,ICMP(Internet Control Message Protocol,Internet控制报文协议),用于在IP主机、路由器之间传递控件消息。通常可以使用它来探测主机或网络设备的在线状态。 ICMP报文可以分为差错报文和询问报文两种类型。在ICMP数据包中,使用类型和代码两个字段来描述ICMP报文的具体类型。,2.3.3 Telnet协议,Telnet(Teletype network,网络终端协议)是在Internet和局域网上应用的网络协议,用于提供双向交互式的通讯功能。Telnet可以提供对远程主机进行访问的命令行

14、接口,到远程主机的连接是基于TCP协议的虚拟终端连接。 Telnet是客户机/服务器结构的协议,它基于可靠的、面向连接的数据传输。通常,Telnet协议使用TCP端口23来建立连接,Telnet服务器应用程序会在该端口上监听连接请求。,实现Telnet远程登录服务的4个步骤,(1)与远程主机建立一个TCP连接,用户需要指定远程主机的IP地址和域名。 (2)在本地终端上输入用户名和口令,然后输入控制命令,客户端会将它们以NVT(Net Virtual Terminal)格式传送到远程主机。 (3)将远程主机输出的NVT格式的数据转化为本地所接受的格式,然后送回本地终端,包括命令的回显和命令的执行

15、结果。 (4)最后,本地终端断开连接,结束到远程主机的TCP连接。,telnet命令,telnet -a-e escape char-f log file-l user-t termhost port 参数说明如下: -a,试图自动登录。除了使用当前已经登录的用户名之外,与-l选项的功能相同。 -e,指定Escape字符。telnet客户端将不发送Escape字符到远程主机。默认的Escape字符中CTRL+。 -f,指定客户端登录的文件名。 -l,指定远程系统上登录的用户名。 -t,指定终端类型,包括vt100、vt52、ansi和vtnt等。 host,指定要连接的远程主机的名称或IP地址

16、。 port,指定端口号或服务名。,Telnet命令,2.3.4 FTP协议,FTP(File Transfer Protocol,文件传输协议)是TCP/IP网络中交换和管理文件的标准网络协议。FTP基于客户机/服务器结构,用户使用FTP客户端可以连接到一个运行FTP服务器程序的远程计算机,查看它上面有哪些文件,并可以在本地计算机和远程计算机之间复制文件。 FTP服务器程序在端口20和端口21上进行监听。FTP客户端程序首先连接服务器的端口21,该连接被称为控制连接,它在整个会话过程中都处于开放状态;当需要传输文件数据时,客户端程序将连接服务器的端口20。,运行模式,1主动模式 在主动模式下,客户端向服务器发送自己用于数据连接的IP地址和端口号,然后由服务器程序打开数据连接。 2被动模式 当客户端在防火墙后面或者无法接收TCP连接时,通常建议采用被动模式。在被动模式下,服务器向客户端发送自己用于数据连接的IP地址和端口号,则客户端打开数据连接。,数据表示模式,ASCII模式,只能传送纯文本。 二进制模

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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