计算机网络概念初探-计算机网络实验教程-实验一

计算机网络概念初探-计算机网络实验教程-实验一

Computer Science Class1 GuoYiXuan 2021/12/25


计算机网络学习笔记系列
计算机网络实验教程-实验一:计算机网络概念初探.
计算机网络实验教程-实验二:ProtocolDataUnit初探.
计算机网络实验教程-实验三:CiscoPacketTracer初探.


写在前面

计算机网络、数据结构、计算机组成原理和操作系统,408考研的四大天王。本系列为计算机网络实验教程,这个系列将会对计算机网络进行从概念到实践的全方位探究,实际上就是我个人对于计算机网络从零到一的学习历程。
还有,觉得文章写的不错的话,可以给我一个小小的赞!也可以在评论区给给予我指点!你小小的动作将会成为我程序员路上极大的鼓励!!



1.ipconfig

1.1 ipconfig/all

子网掩码: 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

IP地址:IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

网关:网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层–应用层。

ipconfig/all 自机

ipconfig1

1.2 ipconfig/all (other’s computer)

ipconfig/all 我的虚拟机

ipconfig2

补充我的计算机和旁边的计算机处于同一个子网,同一个局域网的网关、网络号是一样的,也就是IPv4地址和子网掩码相与得到的地址是一样的。但是,我的虚拟机是通过虚拟网卡接入主机的,我的虚拟机的IP地址是通过NAT转换得到的,如下图所示,通过NAT连上了主机的网卡。

NAT

在这里插入图片描述

NAT模式参考https://blog.csdn.net/chuanxincui/article/details/80931197

在这里插入图片描述

可以看到,上图的网络号和我虚拟机网络的网络号是一致的,也就是说,它们在同一个子网内。

NAT


2.ping

ping(Packet Internet Groper:因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

2.1 ping webserver

ping1

2.2 ping/?

ping/?

问题1:ping不通?
ping的原理是向目的ip发送一个ICMP(InternetControlMessageProtocol),请求对方的数据包。
这样ping不通就很好理解了,假设你是一个男孩,你希望和女孩谈恋爱,然后你写了一封信,希望得到她
的爱,那就好分析了,1.要么人家就不存在(可能是纸片人)2.要么人家不想理你 3.要么被她爸爸截胡了(防火墙) 4.要么可能是父子关系(NAT),儿子可以不理爸爸(叛逆期哈哈哈)

互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)是互联网协议族的核心
协议之一。它用于TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信
息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。 —— 维基百科

秘籍
当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下:
ping 127.0.0.1 ,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等
ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管
ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?

问题2:假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

这还不简单,百度的域名和ip又不是一对一的关系,一个域名可以被不同的Server根据不同情况解析成不同IP,这个中间的搭桥就需要通过DNS(Domain Name Server)解析。就像古时候听媒婆说李家有女初长成,然后你去李府提亲,结果你去人家李府,结果你去了隔壁村的李府,结果被人家轰出来了,这不就是媒婆搭错桥了,当然也可能是人家搬家了(换ip),媒婆那里的消息还没更新
另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。
ICMP


3.tracert

tracert (Trace Route 的组合缩写)也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。

3.1 tracert

在这里插入图片描述

tracert1
tracert2
tracert3
tracert4
tracert5
tracert6

在这里插入图片描述

3.2 ping.pe

在这里插入图片描述

问题1: tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
tracert和ping类似,我们知道在IP包里面有TTL字段,每到一个路由器他的值就会减去1,然后在某个路由器变成0,然后路由器就会丢掉这个包然后给ICMP到源路由器上,这样tracert就知道了这个路由器存在这个路径上,tracert就通过这种方式从TTL为1的包开始发起,一直到目的地,tracert还能够知道等待的时间,这就知道了延迟了。

问题2:在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
我自己不过是在通信子网上的一个小小局域网的渺小的存在,我要通过网关再到重庆移动路由器等等,一步一步往上级提交消息才能真正和其它渺小的存在交互。

问题3:在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
我是一个渣男,我由近及远向周边的女性看能否建立关系,那我的等待时间肯定是有限的,天涯何处无芳草,我去更远处找了!也就是tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。


4.ARP

arp(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

4.1 arp -a

arp -a

4.2 arp/?

在这里插入图片描述

4.3 更改为静态网关

在这里插入图片描述

遇到ARP项添加失败,请求的操作需要提升那还不简单,直接cmd管理员运行,包治百病
在这里插入图片描述
问题:>在实作三中,为何缓存中常常有网关的信息?我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
刚刚接触这个概念,我就在思考,为什么有了ip还要有mac,后来才知道,先有mac再有的ip,形象的比喻就是ip是世界语,而以太网就像是汉语,还有的网络叫做"令牌环网"就像是英语,ip不可能凭空存在,就像世界语不可能凭空存在,要基于某种语言之上才能存在,ip是虚拟的,mac是物理的,知乎上形象的比喻
mac就像是自己的ID号,而IP就像是带着邮政编码的住址,各有各的用途,缺一不可。那么回到现在的问题,缓存中有网关的信息是因为,我要和外界通信必须经过网关,那么我和网关的通信必须要有mac地址才能通信,将它们设置成为静态好处是显然的,至少在安全这一方面,不会受到arp攻击
参考连接:https://www.zhihu.com/question/21546408/answer/53576595


5.DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,有两个用途:

  • 用于内部网或网络服务提供商自动分配IP地址给用户(像我们的流量上网)
  • 用于内部网络管理员对所有电脑作中央管理(我们教室的电脑都是选择了固定的IP和掩码,这样就能够免登录与校园外的网络进行通信)

简单的说,DHCP 可以让计算机自动获取/释放网络配置。

5.1 ipconfig/release ipconfig/renew

可以看到这里并没有 ipconfig/release的图片,因为被释放的瞬间所有网络连接都被切断了,以至于我没有ip去和外界通信,所以我的图片就没有上传上来。
在这里插入图片描述

问题:在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
不能获取DHCP服务器的配置数据也就以为着没办法得到上层分配给你的ip地址,但是我们能够根据这个自动分配的IP去做一些其它的事情,我想可能是还有子网,比如NAT这样的要保证稳定性,就和路由器的缺省端口一样


6.netstat

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

6.1 check C:\WINDOWS\system32\drivers\etc\services

在这里插入图片描述

6.2 netstat -an

在这里插入图片描述


7.DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。

7.1 check C:\WINDOWS\system32\drivers\etc\hosts

在这里插入图片描述

7.2 ipconfig /displaydns ipconfig /flushdns

在这里插入图片描述
在这里插入图片描述

可以看到DNS并没有被全部清掉,全部清掉了怕会变成很麻烦的事情吧

7.3 nslookup qige.io

在这里插入图片描述

问题上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
可以看到上面的jetbrain的account的dns被改成了0.0.0.0,和屏蔽广告如出一辙,都是讲这些请求被解析到黑洞里面去,让他们得不到回应。还有,这里声明一点:我是正版用户,上面那个是为了实验,纯属巧合!


8.Cache

cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

8.1 F12/Ctrl+Shift+I

在这里插入图片描述

8.2 Disable Cache

在这里插入图片描述

秘籍
你的计算机可能还在使用 XX 管家,XX 卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的弹窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗?
那肯定不清理啊,9000毫秒和10秒的差距,该被清理的是 XX 管家,XX 卫士之类的垃圾软件,我说的没错吧?!


写在最后

本篇博客从常见的控制台指令入手,用常见的计算机网络控制台指令,对计算机网络的许多概念有了初步的认识。通篇来看,我们自下而上的对计算机网络的结构进行了初步的探究,网络层的:ip,数据链路层的:mac,传输层的:host,应用层的Cache,dns。还有跨越网络层和数据链路两层的:arp,还有跨越多层的ping。

下一篇,我将用Wireshark通过抓包来更加仔细的探究各层之间的关系,以及通过ProtocolDataUnit进一步了解计算机网络的组成

还有,觉得文章写的不错的话,可以给我一个小小的赞!也可以在评论区给给予我指点!你小小的动作将会成为我程序员路上极大的鼓励!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【推荐】, 本书中的实验与《计算机网络:系统方法》(第5版)的内容组织相一致。两者结合使用,更有利于理解计算机网络的功能及原理。, 网络技术和概念通常比较复杂,即使通过详细的描述和深思熟虑的例子,也往往难以解释清楚。利用软件工具仿真网络的功能,为网络专业人员和学生创建可视化环境以展示网络是如何工作的,这是深入理解网络技术和概念的好方法。, 本书进一步把这种仿真工具应用在网络课程的教学中,为核心网络拓扑结构中所应用的仿真环境提供了详细的实验指导。在每个拓扑中设置了不同的场景,并通过实验概览、进一步阅读、实验报告及练习等环节来加深理解。书中还指出了如何下载使用免费和易于安装的OPNET IT Guru学术版软件。该软件提供了一个用来对应用程序、服务器和网络技术等进行建模、分析和性能预测的虚拟环境。, 本书特色:, 内容丰富:实验覆盖了核心的网络技术,包括交换式局域网、网络设计、载波监听多路访问(CSMA)、路由信息协议(RIP)、传输控制协议(TCP)、排队准则和Web缓存等。, 易于更新、扩展性强:教师可以在课堂上使用OPNET仿真工具对现有模型进行更新和扩展,以方便对更多示例和实际网络场景进行仿真。, 广泛使用的优秀仿真软件:本书所使用的仿真软件是由OPNET公司编制的备受赞誉的软件,世界各地数以千计的商业和政府组织以及超过500所大学都在使用OPNET软件。, 实用性强:能为有兴趣学习、评估不同商业网络产品(如Cisco路由器)的专业人士设计有用的实验

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值