计算机网络实验二

数据链路层

一、前期准备

(1)设置数据包的过滤

可通过ip.src== 192.168.254.134和ip.dst== 192.168.245.128进行过滤。也可使用逻辑运算符and or !进行复杂过滤。此外还可使用http、端口、包的长度等进行过滤。

(2)数据流跟踪

在这里插入图片描述

二、熟悉Ethernet的帧结构

(1)选择一个数据包

将其选中,发现其有如下结构:

在这里插入图片描述

(2)Frame的展开信息

得到其长度为833bytes(最长为1500B),即6664bits。

在这里插入图片描述

(3)Ethernet数据链路层

读取到目的地址为:9a:6b:9c:54:39:e4,源地址为:10:5b:ad:b3💿cb。并且,其网络协议为IPv4。

在这里插入图片描述

(4)IPv4网络层

读取到源ip地址为192.168.26.99,目的地址为120.204.17.16,总长度为819。

在这里插入图片描述

(5)综上

源MAC地址为5c:ea:1d:25:b3:07。目的MAC地址为00:74:9c:9f:40:13。类型为IPV4,0x00000800。字段Frame number为14558。字节长度Frame Length为833bytes(6664 bits)。

三、了解子网内/外通信时的 MAC 地址

(1)ping旁边机子,并用WireShark抓包

(2)ping qige.io

通过ipv6.dst进行包过滤,得到如下包。

在这里插入图片描述
其中的mac地址Destination(9a:6b:ad:b3💿cb)为qige官网服务器的mac地址,Source(10:5b:ad:b3💿cb)为本机所在子网网关的mac地址。

(3)清空缓存arp -d *

需要升级管理员权限运行arp -d*,运行界面如下。

在这里插入图片描述

(4)ping www.cqjtu.edu.cn

在这里插入图片描述
发现其Source地址和ping qige.io时的一样,Destination的前几位也是一样的。

四、掌握 ARP 解析过程

(1)arp -d *

在这里插入图片描述

(2)ping旁边的计算机

在这里插入图片描述
发出广播帧地址为ff:ff:ff:ff:ff:ff,但接收回复时,是其MAC地址。

(3)再次使用 arp -d *

在这里插入图片描述

(4)ping qige.io

在这里插入图片描述
发出帧的目的 MAC 地址:ff:ff:ff:ff:ff:ff。这个地址是广播地址。回复的是本子网的网关MAC地址。

(5)问题1

为何ARP 请求都是使用广播方式发送的?

当本机访问的是本子网的计算机,数据包无需离开本通信子网, ARP 解析将也是在本子网里进行,所以ARP解析得到是对方主机的MAC物理地址;

(6)问题2

如果访问的是本子网的IP,那么ARP解析将直接得到该IP对应的MAC如果访问的非本子网的IP,那么 ARP解析将得到网关的 MAC。

当本机访问的是非本子网的计算机,也就是说此时有两个不同通信子网的主机之间需要通信,数据包就需要离开本通信子网,这里就涉及到数据包在两个通信子网的传输,传输数据要离开本通信子网,ARP 解析就势必要经过网关,因此,该ARP 解析得到的目的MAC物理地址就是本网关的物理地址。

网络层

一、熟悉 IP 包结构

使用wireshark进行抓包,刷新依次棋哥主页后,发现抓到如下包。
在这里插入图片描述

使用ip.addr进行过滤包:
在这里插入图片描述

观察ip包结构:
在这里插入图片描述

发现其结构包括版本号、头部长度、总长、标志位、TTL、协议名称、头部校验、源ip和目的ip等内容。
在这里插入图片描述

使用头部长度,可以使得接收端计算出报头在何处结束及从何处开始读数据。总长度的字段是因为接收端需要读数据,接收数据。

二、IP 包的分段与重组

使用ping 202.202.240.16 -l 2000命令指定要发送的数据长度。使用 Wireshark 抓包:
在这里插入图片描述
请求超时,查看包内容:
在这里插入图片描述
包内容如下:

在这里插入图片描述

在这里插入图片描述

IPv6 中,如果路由器遇到了一个大数据包会直接丢弃,然后通知发送端重新传输。

三、考察 TTL 事件

TTL 字段限定该包可以在 Internet上传输多少跳(hops),一般该值设置为 64、128等。

使用tracert www.baidu.com命令追踪访问百度的跳点:

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

在这里插入图片描述

>=50

传输层

一、熟悉 TCP 和 UDP 段结构

实作一 熟悉 TCP 和 UDP 段结构

使用Wireshark任意抓包,并使用TCP过滤。

在这里插入图片描述

随便选中一个查看
在这里插入图片描述
TCP段中的内容包括源端口和目的端口、序列号、计算后的序列号、确认号、计算后的确认号、头部长度、窗口大小、计算后的窗口大小、可选、校验和和标记。标记中记录着该段的性质,上图中为三次握手中第一次的段[SYN]

用 Wireshark 任意抓包(可用 udp 过滤),如下:
在这里插入图片描述
选中一个并查看:
在这里插入图片描述
UDP的段简单多了,只有源端口和目的端口、校验和、长度和时间戳。

在这里插入图片描述

计算机通信归根到底是计算机中的进程之间的通信。如果说网络层解决了不同主机之间的通信,那么传输层解决的就是不同主机之间不同进程之间的通信。端口号就是来确定是哪两个进程之间在通信。

分析 TCP 建立和释放连接

访问qige.io并抓包,下图为建立请求时三次握手的数据包。
在这里插入图片描述
红框中即为三次握手的TCP段。建立连接时的前三个数据包的特征在于:
(1)第一个标志为为[SYN],表示请求建立连接。
(2)第二个为服务器回复的[SYN, ACK],表示为服务器发送的建立请求,并确认了对方的请求。
(3)第三个为客户端发送的确认。
通过了两次请求建立和两次确认请求,连接得以建立。

下图为断开连接的四次握手相关的数据包:
在这里插入图片描述
四次握手时,需要经过如下过程:
在这里插入图片描述
所以,这四个数据包中的标志为依次为:
(1)FIN:客户机请求和服务器断开连接。
(2)ACK:服务器确认该请求。
(3)FIN:服务器请求和客户机断开连接。
(4)ACK:客户端确认该请求。

在这里插入图片描述

有时为了加快访问网页的速度,会打开多个连接,并行地传输数据,所以建立多个连接。

在这里插入图片描述

在第二次和第三次握手时,如果对方仍然有数据发送,那么等数据发完,再发FIN关闭连接,这时候就是正常的四次挥手。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值