TCP/IP协议学习之实例ping命令学习笔记

简介: TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详细过程的深入研究。

TCP/IP协议学习之实例ping命令学习笔记(一)

一. 目的
为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详细过程的深入研究。包括的知识点有:ping,ICMP,IP,协议系统,ARP.包含的章节有第1,3,4,6,7章。

二. 实践环境
1. 网络环境

2. 协议分析工具
Ethereal工具。在本机上安装并进行抓包观察。
三. 工具设置
由于Ethereal工具在进行网络监视时,会抓取来自其他机器的数据包,为了清楚的看到本机和远程机之间的数据包交流,需要设置下ethereal。过程如下:
1. 选择正确的网卡接口,下面的IP address出现正确的IP地址即可。如下图:
 
注:每次打开该软件后,都需要再一次设置网卡接口。
2. 设置好捕捉过滤器(Capture Fileter),只捕捉我们想要的数据包,需要观察IP地址远程机和本机之间的数据交流,并保存好过滤条件,如下图:
 
 
四. 抓包
1. 设置好Captrue Fileter后,点击开始录制按钮。
2. 进入本机的DOS环境下,执行命令:ping 10.13.0.5。
3. 等到ping命令结束时,点击Ethereal的停止抓包按钮。
4. ping命令的显示结果和Ethereal上捕捉数据分别如下面的图所示。
 
 
说明:为了能抓到ARP协议的包,在本机DOS中先运行arp –d 清除arp缓存。

五.过程分析
1. 理解TCP/IP协议层结构
这里省略,参考另一篇学习日志看图熟记TCP/IP协议系统
2. 过程
分析一下上述例子中数据的传输步骤:
1)ARP协议层,查找远程机的MAC地址。
2)ICMP协议层,执行ping命令过程

参考资料:http://www.cnpaf.net/forum/archiver/tid-3060.html
http://blog.csdn.net/lichengiggs/archive/2006/04/19/669444.aspx
http://network.ccidnet.com/art/1084/20070615/1113987_1.html
http://publish.it168.com/2005/0831/20050831015601.shtml
http://www.cnpaf.net/class/OtherAnalysis/0532918532942694.html

 

 

前文请看:TCP/IP协议学习之实例ping命令学习笔记(一)

六.实例分析+学习过程

1.ARP协议的学习
《TCP/IP协议详解》中包含的章节有第1,2,4章。
学习方法:从上面实例的观察中提出问题(Q),先在TCP/IP协议详解书中寻找答案,如果答案还不够详细,再从网上寻找答案。得到答案后,简短的写出答案(A)。在寻找答案中,可以对不懂的地方再次提出问题(Q),然后一样的过程寻找答案(A),如此反复进行。网上查找到的资料将会在问答(QA)的后面被记录下链接地址。书上查找到的资料位置不记录。

Q:什么是ARP协议?
A:ARP(Address Resolution Protocol)是指地址解析协议,为IP地址到对应的硬件地址之间提供动态映射,将网络中的协议地址(当前网络中大多是IP地址)解析为本地的硬件地址(MAC地址)

Q:IP地址是什么?MAC地址又是什么?
A:IP地址:也可以称为互联网地址或Internet地址。是用来唯一标识互联网上计算机的逻辑地址。每台连网计算机都依靠IP地址来标识自己。
MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。
参考资料:http://wlzx.ncu.edu.cn/yhfw/jczs/ip2.htm
http://baike.baidu.com/view/69334.htm

Q:如何查看本机和远程机的网卡的MAC地址是多少?
A:在windows下,在DOS下运行命令:ipconfig \all.即可看到网络连接详细信息。如下图所示,本机的MAC地址是00-19-D1-22-8F-9A

而在HP-UX系统下,以太网的地址被典型的称为lan0。通过键入lanscan并查看返回信息就可以得到MAC地址。如下所示:
#lanscan
Hardware Station        Crd Hdw   Net-Interface  NM  MAC       HP-DLPI DLPI
Path     Address        In# State NamePPA        ID  Type      Support Mjr#
0/0/0/0  0x00306E08CE8A 0   UP    lan0 snap0     1   ETHER     Yes     119
HP系统中,默认是去掉了MAC地址各个字段的分割符“:”。在上面的例子中,这台机器的实际MAC地址应该为:00:30:6E:08:CE:8A。
再和上个实例中捕捉到的MAC地址相比较,将会发现是一致的。如下图:

参考资料:http://www.itpub.net/118118.html

Q:10.13.0.5属于哪类IP地址?为什么和上家公司使用内网IP地址(192.168.0.5)不一样?
A:现在的IP网络使用32位地址,以点分十进制表示。IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。
IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。其中一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。
在IP地址A类和C类型里,各保留了1个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
C类地址:192.168.0.0~192.168.255.255
所以,10.13.0.5属于A类地址,192.168.0.5属于C类地址。2类私有地址都可以被使用,所以并无本质区别。
参考资料:http://www.99net.net/study/know/52810535.htm

Q:在IP地址类型中,什么是私有地址?
A:私有地址(Private address)属于非注册地址,专门为组织机构内部使用。
所以公司内部使用的内网地址,可以随便分配,但必须是同一类IP地址。
参考资料:http://www.ikaka.com/ip/label.htm

Q:ARP协议属于哪一层?为什么实例中协议工具抓的数据包没有IP协议数据包?
A:属于链路层,而IP协议数据包属于网络层,而网络层在链路层的上面,自然没有IP数据包的产生,而ICMP协议属于网络层,所以有IP数据包。

Q:链路层是什么?有什么作用?
A:链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
在T C P / I P协议族中,链路层主要有三个目的:(1)为I P模块发送和接收I P数据报;(2)为A R P模块发送A R P请求和接收A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。
由此可见,该实例中用到了链路层的第二个目的。

Q:为什么在Ping命令过程中需要ARP请求过程,也就是说为什么需要知道远程机的MAC地址?
A:P i n g程序的目的是为了测试另一台主机是否可达。该程序发送一份I C M P回显请求报文给主机,并等待返回I C M P回显应答。在发送过程中,本机把以太网数据帧(包含了ICMP请求)发送到位于同一局域网上的远程机时,是根据48 bit的MAC地址来确定目的接口的,设备驱动程序(网卡的)从不检查I P数据报中的目的I P地址。当使用ping 10.13.0.5命令时,告诉本机系统的只是IP地址,本机系统并不知道对方的MAC地址是多少,内核(如以太网驱动程序)必须知道目的端的MAC地址才能发送数据。所以需要ARP请求得到远程机的MAC地址,才能开始发送ICMP。

Q:ARP请求过程,是如何得到目的主机的MAC地址的?是向网关询问吗?
A:A R P发送一份称作A R P请求的以太网数据帧给以太网上的每个主机。这个过程称作广播。A R P请求数据帧中包含目的主机的I P地址,其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。”目的主机的A R P层收到这份广播报文后,识别出这是发送端在寻问它的I P地址,于是发送一个A R P应答。这个A R P应答包含I P地址及对应的硬件地址。
由此看出,是远程机响应了请求,并将自己的MAC地址应答回本机。

 

 

前文请看:TCP/IP协议学习之实例ping命令学习笔记(二)

Q:广播是什么原理?广播地址又是什么?这次的实例中,广播地址是多少?
A:一个主机要向网上的所有其他主机发送帧,这就是广播。
主机对由信道传送过来帧的过滤过程:网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。
一共有四种I P广播地址
1.受限的广播:受限的广播地址是255.255.255.255。
2.指向网络的广播:地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。
3.指向子网的广播:主机号为全1且有特定子网号的地址。作为子网直接广播地址的I P地址需要了解子网的掩码。
4.指向所有子网的广播:也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1。
在本实例中,只能看出广播地址的MAC地址是ff:ff:ff:ff:ff:ff,而无法看出IP地址属于哪一种广播地址。待解决。如下图

参考资料:http://www.cnpaf.net/Class/TCPANDIP/0532918532733861.html

Q:ARP请求和应答包的格式什么?包含哪些内容?
A:书中关于ARP格式的如下图所示:

其中:帧类型表示后面数据的类型。硬件类型表示硬件地址的类型。协议类型表示要映射的协议地址类型。硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。op是操作字段,指出四种操作类型:A R P请求(值为1)、A R P应答(值为2)、R A R P请求(值为3)和R A R P应答(值为4)。其他字段很好理解。
从Ethereal工具中分别截取ARP请求和应答包内容,如下图:

和ARP格式图示相比较:
以太网首部:以太网目的地址是广播地址(全1),以太网源地址是本机的MAC地址,帧类型是ARP的标志值0x0806。
28字节ARP请求/应答:硬件类型是以太网标志值0001,协议类型是I P地址标志值0800,硬件地址长度是6,协议地址长度是4,操作字段是ARP请求标志值0001,发送端以太网地址是本机的MAC地址,发送段IP地址是本机的IP地址(176),目标以太网地址还没有获取到,所以为全0,目标IP地址是远程机的IP地址(5)。


和ARP格式图示相比较:
以太网首部:以太网目的地址是本机的MAC地址,以太网源地址是远程机的MAC地址,帧类型是ARP的标志值0x0806。Trailer是什么?待解决。
28字节ARP请求/应答:硬件类型是以太网标志值0001,协议类型是I P地址标志值0800,硬件地址长度是6,协议地址长度是4,操作字段是ARP应答标志值0002(与ARP请求区别开来),发送端以太网地址是远程机的MAC地址,发送端IP地址是远程机的IP地址(5),目标以太网地址是本机的MAC地址,目标IP地址是本机的IP地址(176)。
由此看来,ARP请求和应答包非常相似,标志性的区别在操作字段的不同。

Q:为什么需要在本机DOS中先运行arp –d 清除arp缓存,才能抓到ARP协议包?
A: A R P高效运行的关键是由于每个主机上都有一个A R P高速缓存。这个高速缓存存放了最近I n t e r n e t地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为2 0分钟,起始时间从被创建时开始算起。可以用a r p命令来检查ARP高速缓存。参数-a的意思是显示高速缓存中所有的内容,如下图所示:其中包括了远程机(5)的MAC映射记录。

一般情况下,当系统收到A R P请求或发送A R P应答时,都要把请求端的硬件地址和I P地址存入A R P高速缓存。在获取目标机的MAC地址时,会先从ARP高速缓冲中查找是否存在,如果存在,则可以不用进行ARP请求过程。为了确保可以抓到ARP的请求数据包,因此,先用命令arp –d清除掉本地的MAC地址映射。

 

 

前文请看:TCP/IP协议学习之实例ping命令学习笔记(三)

2.ICMP协议的学习
《TCP/IP协议详解》中包含的章节有第6、7章。
学习方法:从上面实例的观察中提出问题(Q),先在TCP/IP协议详解书中寻找答案,如果答案还不够详细,再从网上寻找答案。得到答案后,简短的写出答案(A)。在寻找答案中,可以对不懂的地方再次提出问题(Q),然后一样的过程寻找答案(A),如此反复进行。网上查找到的资料将会在问答(QA)的后面被记录下链接地址。书上查找到的资料位置不记录。

Q:什么是ICMP协议?属于哪一层?
A:ICMP(Internet Control Message Protocal)是指Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的状态信息。
I C M P经常被认为是IP层(也就是指网络层)的一个组成部分。ICMP报文通常被I P层或更高层协议(TCP或UDP)使用(在本实例中是在IP层使用)。一些ICMP报文把差错报文返回给用户进程(在本实例中的用户进程是指ping进程)。ICMP报文是在IP数据报内部被传输的。如下图所示:

和Ethereal中捕捉到的ICMP数据进行比较,其中包含了IP首部和ICMP报文,如下图所示:

Q:ICMP报文的格式是什么?
A:如下图所示:

所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。类型字段可以有1 5个不同的值,以描述特定类型的I C M P报文。某些ICMP报文还使用代码字段的值来进一步描述不同的条件。检验和字段覆盖整个ICMP报文。

Q:ICMP报文有哪些类型?ping所使用的是其中哪种?
A:共有18种类型字段,每种类型字段对应多个代码字段,所以,不同ICMP类型由报文中的类型字段和代码字段来共同决定。每种ICMP类型属于2种报文性质中的其中一种:查询报文和差错报文,具体见TCP/IP协议详解中的图6-3。
Ping请求和应答的ICMP报文类型是不同的:
Ping请求所使用的类型字段=8,代码字段=0,对应的类型名为请求回显,属于查询报文。
Ping应答所使用的类型字段=0,代码字段=0,对应的类型名为回显应答,属于查询报文。

Q:ping命令的请求ICMP报文格式是什么?应答ICMP报文格式又是什么?
A:ping命令的ICMP请求和应答报文格式如下图所示:
 
类型、代码、检验和在前面的问答已经得到解释。
标识符:U n i x系统在实现p i n g程序时是把I C M P报文中的标识符字段置成发送进程的I D号。这样即使在同一台主机上同时运行了多个p i n g程序实例, p i n g程序也可以识别出返回的信息。(那windows系统下呢?是否也是进程ID号?待解决)
序号:序列号从0开始,每发送一次新的回显请求就加1(在本实例中,共发送了4次请求,但是序列号分别是3200、3300、3400、3500,和书中所说的不一致?在ping参数中并没有设置序列号这种功能的选项,所以第一个序列号可能是随机产生的,待解决)。p i n g程序打印出返回的每个分组的序列号,允许我们查看是否有分组丢失、失序或重复。
选项数据:客户发送的选项数据必须回显,假设客户对这些信息都会感兴趣。也就说,应答和请求的选项数据是一样的。(那么选项数据是如何被定制的?在ping参数中同样没有设置选项数据这种功能的选项,所以可能是DOS下默认发送的数据,待解决。)
Ethereal工具捕捉到的ICMP第一次的请求报文数据,如下图所示:

 

和上面所说的ICMP请求报文相比较:
类型=8,代码=0,检验和=175c,标识符=0400,序列号=3200,
选项数据=abcdefghijklmnopqrstuvwabcdefghi(第二个图的蓝色背景部分).
观察后面的3次请求,它们的标识符都是0400,序列号是递增的,选项数据都是一样的。

Ethereal工具捕捉到的ICMP第一次的应答报文数据,如下图所示:

 

和上面所说的ICMP应答报文相比较:
类型=0,代码=0,检验和=1f5c,标识符=0400,序列号=3200,
选项数据=abcdefghijklmnopqrstuvwabcdefghi(第二个图的蓝色背景部分)
和对应的第一次请求报文比较,除了类型字段和检验和字段不一样,其他字段都相同。

 

 

前文请看:TCP/IP协议学习之实例ping命令学习笔记(四)

Q:IP首部的报文格式是什么?
A:IP数据报文如下图所示:
 
其中的数据字段就是ICMP数据报文。前20个字节是IP首部。和前面所提到过的IP数据报文是一致的。
版本:目前的协议版本号是4,因此I P有时也称作IPv4。
首部长度:指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为6 0个字节。普通I P数据报(没有任何选择项)字段的值是5(从图中可看出首部一共5行)。
服务类型(TOS):包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TO S子字段和1 bit未用位但必须置0。4 bit的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。在书中的图3 - 2列出了对不同应用建议的TO S值,具体可以查阅,在本实例中,ICMP查询对应的TOS值是0000,属于一般服务。
总长度(字节数):指整个I P数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道I P数据报中数据内容的起始位置和长度。
标识:唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。(该字段和数据报的分片有关,这里暂时不展开)
标志:(同样,和数据报的分片有关,这里暂时不介绍)
片偏移:(同样,和数据报的分片有关,这里暂时不介绍)
生存时间(TTL):设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L的初始值由源主机设置(通常为3 2或6 4),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据报就被丢弃,并发送I C M P报文通知源主机。
协议:被I P层用来对数据报进行分用,根据这个字段可以识别是哪个协议向I P传送数据。本实例中,是ICMP协议。
首部检验和:是根据I P首部计算的检验和码。它不对首部后面的数据进行计算。也就是说,在本实例中,不包含ICMP报文的检验,因为ICMP报文有自己的检验和字段。
源IP地址:本机或远程机的IP地址。
目的IP地址:本机或远程机的IP地址。
选项(如果有):是数据报中的一个可变长的可选信息。这些选项很少被使用,并非所有的主机和路由器都支持这些选项。在本实例中,IP数据报文是没有该字段的。
在Ethereal中捕捉的第一个ICMP请求的IP数据报首部如下图所示:

和上面所说的IP首部进行比较:
版本=4,首部长度=20(这里的单位是字节,和书中说的单位是32bit不一致,5个32bit是等于20个字节,但为什么不一样?待解决),服务类型=00,总长度=60,标识=3b7c(和后面的来回7个首部比较该字段,每个都不相同),标志=00,片偏移=0,TTL=128(应该是默认值,后面3个请求的该字段都是128,但应答包的该字段不一样,是255),协议=ICMP(01),首部检验和=ea76,源IP地址=10.13.0.5(本机IP),目的IP地址=10.13.0.5(远程机IP),无选项。
在Ethereal中捕捉的第一个ICMP应答的IP数据报首部如下图所示:

和上面所说的IP首部进行比较:
版本=4,首部长度=20,服务类型=00,总长度=60,标识=6105,标志=04(注意,和请求的IP数据报中的不一样),片偏移=0,TTL=255,协议=ICMP(01),首部检验和=05ed,源IP地址=10.13.0.5(远程IP),目的IP地址=10.13.0.176(本机IP),无选项。
本实例中,请求和应答的IP数据报基本相似,在IP首部并不区别是ICMP请求还是ICMP应答。

Q:什么是数据报分用?
A:当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demult iplexing),书中的图1-8显示了该过程是如何发生的。具体请查阅该章内容。在我另一篇学习日志中也有这张图片。

 

 

前文请看:TCP/IP协议学习之实例ping命令学习笔记(五)

Q:除了ping命令使用外,什么情况下会使用到ICMP协议?
A:从书中的图6-3 ICMP报文类型中,可以看出相关的章节有:
第六章的3、4、5节:ICMP地址掩码请求与应答;ICMP时间戳请求与应答;ICMP瑞口不可达差错
第七章:Ping程序
第八章:Traceroute程序
第九章的3、5、6节:IP选路。ICMP主机与网络不可达差错;ICMP重定向差错;ICMP路由器发现报文
第十一章的5、6、11节:UDP。IP分片;ICMP不可达差错(需要分片);ICMP源站抑制差错。

Q: 在本机DOS下显示的ping的输出结果都表示什么意思?
A: 如下图所示:

1. 每次发送32字节的数据,和Ethereal工具捕捉到的ICMP数据报中的data字段大小一致,都是32字节
2. 只显示ICMP返回的4次应答,并且打印出每次应答的data大小(都是32)和T T L(都是255,和Ethereal捕捉到的ICMP应答的IP首部TTL字段值一样),并计算往返时间time(都小于1ms).
3. 共发送了4个ICMP请求,收到4个ICMP应答,无数据报丢失
4. ping程序通过在I C M P报文数据中存放发送请求的时间值(ICMP数据报格式中并没有这个时间值字段,怎么回事?)来计算往返时间。当应答返回时,用当前时间减去存放在I C M P报文中的时间值,即是往返时间。在本实例中, 平均往返时间最小/最大/平均时间都近似等于0ms, 这是因为程序使用的计时器分辨率低的原因.

Q: 发送4次ICMP请求时,间隔多少时间一次?
A: ping命令默认是每间隔1秒发送一次请求.在Ethereal中可以看出这个时间间隔是1秒左右,如下图所示的第二列:

第一次是0.000186秒钟,第二次是0.992374秒钟,第三次是1.992331秒钟,间隔约为1秒.

本学习记录已完结。

技术改变世界! --狂诗绝剑
目录
相关文章
|
9天前
|
运维 监控 Linux
别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
在 Linux 系统中,ping 命令不仅用于检测网络连通性和延迟,还拥有多种高级选项和技巧,如定制数据包大小、获取详细统计信息、持续 ping、指定源地址和多目标 ping。本文详细介绍这些高级命令及其在性能测试、故障排查和网络监控中的实际应用,帮助你提升网络管理效率。
49 3
|
11天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
40 3
|
14天前
|
域名解析 网络协议 测试技术
IP、掩码、网关、DNS1、DNS2到底是什么东西,ping telnet测试
理解IP地址、子网掩码、默认网关和DNS服务器的概念是有效管理和配置网络的基础。通过使用ping和telnet命令,可以测试网络连通性和服务状态,快速诊断和解决网络问题。这些工具和概念是网络管理员和IT专业人员日常工作中不可或缺的部分。希望本文提供的详细解释和示例能够帮助您更好地理解和应用这些网络配置和测试工具。
42 2
|
1月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
136 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
1月前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
|
3月前
|
监控 网络协议 JavaScript
tcping和ping命令
【8月更文挑战第2天】`tcping` 是一款基于 TCP 协议的网络测试工具,不同于传统的 `ping` 命令使用 ICMP 协议,`tcping` 通过尝试与目标主机的特定端口建立 TCP 连接来检查网络连通性和端口状态。这使其在一些禁用了 ICMP 的网络环境中特别有用。`
115 3
tcping和ping命令
|
3月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
3月前
|
网络协议 网络安全 网络架构
ping命令详解
【8月更文挑战第14天】 ping命令详解
160 3
|
3月前
|
域名解析 监控 网络协议
Ping命令的替代工具有哪些?
【8月更文挑战第14天】Ping命令的替代工具有哪些?
190 2
|
3月前
|
网络协议 测试技术 网络架构
Ping命令的用途?
【8月更文挑战第14天】Ping命令的用途?
91 2
下一篇
无影云桌面