C1-02任务报告
任务一:使用 Charles 抓取、然后修改发送数据
-
首先打开 Charles,开始捕捉数据
-
访问网址:http://temp.blog8090.com/ ,提交手机号和姓名(这里的姓名和手机号均为虚构)
我们得到了这样一串字符,将这一串Unicode编码使用编码转换工具转换,就可以得到了“今晚打老虎”的口令
-
可以看到,Charles 已经成功截取了我们刚才提交的数据
-
使用 Compose 来添加额外的字段 “Kouling” ,然后输入刚才的口令“今晚打老虎”
-
执行后就得到了返回结果
任务二:在 code.org 上完成互联网模拟器的系列任务(单人操作)
首先用至少 3 个不同的浏览器登陆 code.org 学习网站,在每个浏览器上分别注册一个账号,将这三个账号加入同一个学习小组,然后分别在三个浏览器打开:https://studio.code.org/s/netsim,进入互联网模拟器的学习页面。
1.点对点数据收发
点对点技术解释:点对点技术,就是我们常说的 P2P ,也称对等式网络,他的主要特点是没有中心服务器,数据是在结点与结点之间直接进行收发的,每一个结点都同时作为客户端和服务器。点对点技术的特点是结点不需要依靠一个中心服务器进行数据通讯,某一节点失效了也不会影响其他结点之间的通信、数据传输效率更高、成本低,易于维护。
1.1.模拟点对点发送比特位
-
使用两个不同的浏览器分别注册一个账号,加入网络实验室:
-
随便输入一串比特位,并逐一发送。这里由 Amiya 向 Ceobe 发送:
-
在 Ceobe 的界面接收刚才发送的比特位。注意,必须发送一次接收一次,这样才能得到正确的结果,否则接收方只会接收到最后一个发送的字符。
-
同样,可以由 Ceobe 向 Amiya 发送比特位:
1.2.模拟点对点发送二进制数字信息
- 同样,由 Amiya 向 Ceobe 发送一串二进制数字。这里的二进制组块大小选择4
- 点击发送,等待系统将数据一位一位发送给对方:
发送数据是根据比特率为:2bps 的速度一位一位地发送的,待全部发送完毕后,对方可以自动接收到数据。 - 接收方查看结果:
1.3.模拟点对点发送ASCII码
-
在上面发送数字的基础上,我们可以把数字转化成其对应的ASCII字符,然后就可以实现文字字符的发送:
由于文字占用的二进制位比较长,发送需要更多的时间。我在这里使用了 2bps 的比特率进行传输,花费了将近半分钟的时间。因此,网络数据传输的速度,也就是网速(bps)的快慢至关重要。 -
接收方收到的结果:
必须注意的是,接收方的二进制组块长度必须与发送方保持一致,才能够正确接收到传输过来的消息。
小结:点对点数据传输的实验,让我明白了计算机网络中的数据传输方式:先逐个发送二进制的比特位,待全部发送完毕后对方即可接收到发送方发送的比特位,再讲其转化为对应的ASCII字符,这样就成为了我们所能看见的文字字符。而其中网速(比特率bps)决定了数据传输的快慢,也就是每秒发送的比特位数。
2. 广播消息
在计算机网络中,有一种叫广播的数据发送方式,就是信息由一个人发出,然后其他所有设备正常的用户都会无差别地接收到该信息。就和我们日常生活中的电视台广播一样。
- 三个账号加入实验室:
- 由“艾雅法拉”发送的出一条信息,其他成员均可收到:
Ceobe:
Amiya:
在“广播”中,数据的发送是无差别的,每一个人的数据都会发送给所有人,这样一来就没有办法实现对特定目标的单独通讯。要实现数据在网络中的定向发送,需要使用一定的机制来实现。↓
3. 路由和地址
在网络中,数据的定向发送需要通过路由和地址共同实现。路由器如同是十字路口的指路人,通过读取你的 IP 地址,为你指明正确的方向,最终寻找到数据要发送的目标。
- 在实验中,我使用 Amiya 向 Ceobe 发送一串文字,将对方的IP地址填写好,然后将文字内容输入上去,发送:
可以看到 Ceobe 收到了这条信息,而“艾雅法拉”没有收到:
Ceobe:
艾雅法拉:
数据成功实现了定向传输!但在实际的网络中,可能会因为各种原因,而出现“丢包”的情况,导致消息丢失。
4. 网络数据丢包
丢包的现象在网络传输中时有发生,主要表现为A发送的数据,B没有收到,也就是在传输过程中数据包无法到达目的地。
- 如图所示,我使用“艾雅法拉”向阿米娅发送了一堆英文顺序的字符串,由AA→AB→AC→…→ZX→ZY→ZZ一直发送,到BO的时候出现了丢包:
数据发送日志:
由此可以知道,数据在传输中的丢包现象是时有发生的,而丢包的原因又是多种多样的,比如信号衰减、通道阻塞、数据包损坏等等。丢包的现象在多人联机的网络游戏中最为常见,比如说在你保障网络流畅的情况下,看到其他玩家出现瞬移、反应迟钝等情况,就是典型的丢包。
5.DNS(域名服务器)
IP 地址不可能成为某一台机器的绝对地址或者标识,因为 IP 地址我们通常难于记忆,即便记住了,机器的 IP 地址也可能会经常更换。因此,我们需要用一个特定的名称来代替 IP 地址标识机器,这就是域名系统。
在本次 DNS 的实验中将模拟域名解析的过程。我们需要向 DNS 服务器发送请求指令,才能获取其他用户的 IP 地址。
- 首先向 DNS 服务器发送一个获取某一位用户 IP 地址的指令(这一过程在实际应用中为:调用解析器,解析器发送分组给 DNS 服务器)
- 可以看到,DNS 服务器返回了 amiya1 的 IP 地址:
(这一过程在实际应用中为:DNS 调拨资源记录,返回给发送方)
接下来就可以使用该 IP 地址与其对应的用户进行通讯了
拓展任务—子网规划:
问题描述:使⽤⼦⽹掩码将⼀组C类IP地址(范围为192.168.99.0~192.168.99.255)划分成四个⼦⽹
1. 根据所需要划分的子网数量,来确定需要向主机位借的位数
设需要划分的子网个数为 x,需要向主机位借的位数为 n,则子网规划的公式应为:x≤2^n
上述问题中需要规划 4 个子网,因此需要向主机位借 2 位数
2. 确定借位数后,就可以划分出四个子网:
子网一:192.168.99.00 000000,即:192.168.99.0 ~ 192.168.99.63
子网二:192.168.99.01 000000,即:192.168.99.64 ~ 192.168.99.127
子网三:192.168.99.10 000000,即:192.168.99.128 ~ 192.168.99.191
子网四:192.168.99.11 000000,即:192.168.99.192 ~ 192.168.99.255
自测
1. ⾄少说出四种常⽤的⽹络拓扑结构
答:星形网络、环形网络、总线型网络、树形网络
2. OSI 应⽤层⽀持哪些协议?
答:电子邮件的 SMTP、远程终端的 TELNET、万维网的 HTTP、文件传输的 FTP 等等
3. DNS 的作⽤是什么?
答:DNS叫做域名服务器,也可以叫做名字服务,用于为机器提供一个特定的名字来代替IP地址标识机器,以便于人们记忆和使用
4. ARP 和 RARP 的主要作⽤分别是什么?
答:地址解析协议(ARP)用于将 IP 地址映射为 MAC 地址,以便在物理链路上进行数据帧的传输;逆地址解析协议(RARP)则是将 MAC 地址映射为 IP 地址。现在单独的 RARP 协议的使用已经几乎没有了,而都是使用包含了 RARP 协议的 DHCP 协议。
5. C类 IP 地址预留了多少位⽹络号和主机号?
答:C类地址预留为:网络号24位,主机号8位
6. 要将 B 类 IP 地址 168.195.0.0 划分成8个⼦⽹,⼦⽹掩码是什么?
答:255.255.0.0
7. 回环地址属于哪⼀类 IP 地址?访问环回地址数据包会流向⽹络吗?
答:回环地址是以 127 为前缀的 IP 地址,属于 E 类(保留类)IP地址,主要用于某台机器内部进程间的通讯。使用了回环地址的机器,其数据不会向任何网络发送。
如有表述不清或错误请各位大佬不吝指出!