实验报告(作业)
验证性实验
ipconfig
通过ipconfig可以在“命令提示符”中查看IP配置的相关信息。
- IP地址为192.168.0.104
- 子网掩码为:255.255.255.0
- 默认网关为:192.168.0.1
你的计算机和旁边的计算机是否处于同一子网,为什么?
是,子网掩码相同,ip地址与子网掩码进行与运算的结果相同
ping
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。
- 返回4个32字节的数据,TTL为47,经过了17个服务器
- 数据包返程最短55ms,最长89ms,平均70ms
假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
如果您无法 ping 通某计算机或 IP,但网络是连通的,那么可能的原因有:
- 远程主机的防火墙禁止了 ICMP 协议,导致 ping 操作失败。
- 远程主机的网络设备(如路由器)配置了 ICMP 阻断规则,导致 ping 操作失败。
- 远程主机的网络线路可能存在故障,导致无法到达。
要解决这个问题,可以尝试以下步骤:
- 检查远程主机的防火墙设置,确保 ICMP 协议是允许的。
- 检查远程主机的网络设备(如路由器)的配置,确保没有 ICMP 阻断规则。
- 检查远程主机的网络线路是否正常。
tracert
TRACERT (Trace Route的组合缩写),也称为路由追踪,该命令行程序可用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。
tracert请求超时原因
1、那一跳禁PING
2、那一跳不对TTL超时做响应处理,直接丢弃
ARP
ARP (Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即IP地址,查找并得到其对应的数据链路层地址即MAC地址的协议。ARP协议定义在1982年的RFC 826。
DHCP
DHCP (Dynamic Host Configuration
Protocol)即动态主机配置协议,是一个用于IP网络的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:
·用于内部网或网络服务供应商自动分配IP地址给用户
·用于内部网管理员对所有电脑作中央管理
简单的说,DHCP可以让计算机自动获取/释放网络配置。
原理:
态主机设置协定(DHCP)是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。
DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地联接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。
工作流程
DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。 如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。
netstat
无论是便用TCP还是UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat (Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
DNS
DNS (Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP的53号端口。
cache
cache即缓存,是IT领域一个重要的技术。我们此处提到的cache主要是浏览器缓存。浏览器缓存是根据HTTP报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。
除了qige.io,rockte-loader.min.js,jquery.js,favicon.png,quotes.txt以外都被cache了
wireshark实验
熟悉 Ethernet 帧结构
Wireshark展现给我们的帧中没有校验字段,请了解一下原因。
在 Wireshark 中,网络帧的校验字段通常是被省略掉的。这是因为在网络传输过程中,校验字段是用来确保数据在传输过程中没有发生错误的。如果在传输过程中发生错误,则接收方会使用校验字段来检测并纠正错误。
因为在 Wireshark 中,我们可以看到数据包在传输过程中的完整内容。所以,校验字段对于 Wireshark 用户来说并不重要,所以通常会被省略。
了解子网内/外通信时的 MAC 地址
1.访问本子网的计算机时,目的MAC就是该主机的2访问非本子网的计算机时,目的 MAC是网关的
请问原因是什么?
- 访问本子网的计算机时,目的 MAC 地址是该主机的 MAC 地址,因为数据包在同一子网内传输,所以不需要经过网关。
- 访问非本子网的计算机时,目的 MAC 地址是网关的 MAC 地址,因为数据包要跨越子网边界传输,所以需要经过网关。网关会收到数据包,并将其转发到目标子网。
掌握 ARP 解析过程
ARP 请求都是使用广播方式发送的,如果访问的是本子网的 IP,那么 ARP 解析将直接得到该 IP 对应的 MAC;如果访问的非本子网的 IP, 那么 ARP 解析将得到网关的 MAC。
请问为什么?
在计算机网络中,主机通常使用 IP 地址来标识网络上的其他主机。然而,计算机网络的底层通信是通过 MAC 地址实现的。因此,主机在向其他主机发送数据包之前,需要将目标主机的 IP 地址解析为 MAC 地址。这就是 ARP(地址解析协议)的作用。
当访问的是本子网的 IP 时,主机可以直接向该子网内的所有主机广播 ARP 请求,并等待回复。如果收到的回复包含了目标 IP 地址对应的 MAC 地址,则 ARP 解析将直接得到该 IP 地址对应的 MAC 地址。
如果访问的是非本子网的 IP,那么主机无法直接广播 ARP 请求,因为该 IP 地址不在本子网内。在这种情况下,主机会向网关发送 ARP 请求,网关会收到该请求并转发到目标子网。如果网关收到的回复包含了目标 IP 地址对应的 MAC 地址,则 ARP 解析将得到网关的 MAC 地址。
熟悉 IP 包结构
可以看到ip包的结构从上到下分别是版本,报头长度,服务类型,总长度,标识,标识字段,分片偏移,生存期,协议,头部校验和,头部校验状态,源地址,目的地址
为提高效率,我们应该让 IP 的头部尽可能的精简。但在如此珍贵的 IP 头部你会发现既有头部长度字段,也有总长度字段。请问为什么?
这是为了便于传输时的识别IP总长度,节省时间,当长度超过1500B时就会被返回链路层进行分段
IP 包的分段与重组
可以看到ip包被分成了两份,第一份长度(Total Length)为1500,偏移量为(Fragment offset)为0。第二份长度为548,偏移量为1480.两个包以第1480个字节作分割。
分段与重组是一个耗费资源的操作,特别是当分段由传送路径上的节点即路由器来完成的时候,所以 IPv6 已经不允许分段了。那么 IPv6 中,如果路由器遇到了一个大数据包该怎么办?
此时会直接丢弃,并返回主机发送失败的信息。
考察 TTL 事件
熟悉 TCP 和 UDP 段结
由上大家可以看到 UDP 的头部比 TCP 简单得多,但两者都有源和目的端口号。请问源和目的端口号用来干什么
源端口和目的端口是用来确认某一个应用程序,IP 只能到达子网网关,MAC 地址到达子网下的指定主机,而端口号是达到主机上的某个应用程序。
了解 DNS 解析
了解 HTTP 的请求和应答