两台PC机之间数据包发送过程.docx

上传人:b****8 文档编号:10201260 上传时间:2023-02-09 格式:DOCX 页数:14 大小:1.96MB
下载 相关 举报
两台PC机之间数据包发送过程.docx_第1页
第1页 / 共14页
两台PC机之间数据包发送过程.docx_第2页
第2页 / 共14页
两台PC机之间数据包发送过程.docx_第3页
第3页 / 共14页
两台PC机之间数据包发送过程.docx_第4页
第4页 / 共14页
两台PC机之间数据包发送过程.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

两台PC机之间数据包发送过程.docx

《两台PC机之间数据包发送过程.docx》由会员分享,可在线阅读,更多相关《两台PC机之间数据包发送过程.docx(14页珍藏版)》请在冰豆网上搜索。

两台PC机之间数据包发送过程.docx

两台PC机之间数据包发送过程

两台PC机之间数据包发送过程

 

第一章:

实验准备

1.1:

实验目的……………………………………………………………………..2

1.2:

实验介绍……………………………………………………………………..2

第二章:

正式实验

PC1与PC2的IP在同一网段,不设置网关…………………….8

2.2:

PC1与PC2的IP不在同一网段,不设置网关…………………11

2.3:

PC1与PC2的IP不在同一网段,网关为对方的IP地址…..13

2.4:

Linux之间的IP不在同一网段,网关为对方的IP地址…….15

 

第一章:

实验准备

1.1实验目的:

了解两台PC机之间数据包封装的过程。

1.2实验介绍:

该实验拓扑图如下所示:

1.TCP/IP协议栈与数据包的封装:

TCP/IP网络协议栈分为应用层、传输层、网络层和网络链路层四层。

如如下图所示:

 

两台计算机通过TCP/IP协议通讯的过程如下所示:

 

 

传输层与其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进展解释,而传输层与其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部〔header〕,称为封装〔Encapsulation〕,如如下图所示:

不同的协议层对数据包有不同的称谓,在传输层叫做段〔segment〕,在网络层叫做数据报〔datagram),在链路层叫做帧〔frame〕。

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。

1.1具体分析封装的过程:

设备

接口

IP地址

子网掩码

PC1

有线网卡

PC2

有线网卡

 

PC1机IP信息:

PC2机IP信息:

 

PC1pingPC2连通性如如下图所示:

数据封装的过程大致如下:

1.从pc1的应用层向pc2发出一个ping请求,生成数据。

2.请求下到pc1的传输层,传输层在上层数据前面加上tcp报头,报头中包括目标端口为23,以与一个大于1024,小于65535的随机端口作为源端口。

3.传输层数据下到网络层,pc1在网络层封装,源ip地址为pc1地址,目标ip地址为pc2地址。

4.pc1将pc2的ip地址和子网掩码与自己做比对,可以发现pc2与自己处于一样的子网。

所以数据传输不必经过网关设备。

5.数据包下到pc1的数据链路层进展封装,源mac地址为pc1的mac地址,目标mac地址查询自己的arp表。

6. pc1把帧转换成bit流,从物理接口发出。

7.pc2接收到这个数据帧,查看帧的目标mac地址,和自己相等,说明该帧是发送给自己的,于是将二层帧头解开。

8.pc2查看三层某某,只要目标ip地址和自己匹配,即解开第三层封装。

9. pc2查看传输层报头,目标端口为23,pc2向上层应用查看自己是否开启了端口为23的上层服务。

假如开启如此把传输层报头解封装后将数据送往上层。

第二章正式实验

2.1PC1与PC2的IP地址在同一网段,不设置网关

1)实验目的:

探索两台直连同网段PC之间的通信过程

2)实验环境:

两台pc直连,IP地址配为同一网段,不配网关。

Pc1的IP配置:

Pc2的IP配置:

3)过程分析

Pc1去访问pc2,首先pc1用源ip、目的ip与本地子网掩码做与运算,得到网络位,判断源ip与目的ip是否在同一网段,本实验都为10.1.13.0/24的网段,pc1知道pc2和自己在同一网段后,为了得到pc2的Mac地址,pc1发送ARP查寻包,pc2收到ARP查询包后,给pc1返回ARP应答包,将自己的Mac地址告诉pc1,pc1知道了pc2的ip地址和Mac地址后,就可以将数据包封装然后发给pc2.

4〕实验过程

PC1pingPC2:

Data

ICMP

 

源Mac:

pc1的Mac

目的Mac:

在封装到以太帧头时,由于不知道目的Mac地址,封装失败,需要先查本地的ARP缓存.

本地ARP缓存中没有pc2的Mac地址,需要发送ARP查询包,查询10.1.13.34的Mac地址,这是一个广播包,在同网段的所有主机都会收到.

Pc2收到ARP查询包后,在其中发现了自己的ip地址,知道这是在查寻自己的Mac地址,然后返回给pc1一个ARP应答包

Pc1知道了pc2的MAC地址后,就可以将数据包封装,发给pc2

PC1与PC2的IP地址不在同一网段,不设置网关

1〕实验目的

探索两台直连pc间的通信过程,不同网段。

2〕实验环境

两台pc直连,不同网段,不配网关。

Pc1的IP配置

Pc2的IP配置

3〕过程分析

Pc1去访问pc2,首先pc1用源ip、目的ip与本地子网掩码做与运算,得到网络位,判断源ip与目的ip是否在同一网段,pc1为10.1.13.222/24,pc2为10.1.12.34/24不在同一网段,需要将包封装后发给网关,目的ip为pc2,目的Mac为网关的Mac,因为网关不存在,所以封装失败,包不能发出。

4〕实验过程

 

PC2pingPC1:

封装过程

Data

ICMP

 

源Mac:

pc1的Mac

目的Mac:

网关?

由于网关不存在,数据包不能封装,无包发出。

2.3.PC1与PC2的IP地址不在同一网段,网关设置为对方的IP地址

1〕实验目的

探索两台直连pc间的通信过程,不同网段,配网关

2〕实验环境

两台pc直连,不同网段,配网关

Pc1的配置

Pc2的配置

3〕过程分析:

Pc1去访问pc2,首先pc1用源ip、目的ip与本地子网掩码做与运算,得到网络位,判断源ip与目的ip是否在同一网段,pc1为10.1.11.1/24,pc2为10.1.13.1/24不在同一网段,需要将包封装后发给网关,目的ip为pc2,目的Mac为网关的Mac,如下列图PC1的网关为PC2的IP地址10.1.13.1,PC2的网关为PC1的IP地址10.1.11.1.

4〕实验过程

PC1pingPC2

封装过程

Data

ICMP

 

源Mac:

pc1的Mac

目的Mac:

pc2的Mac

此时使用抓包工具进展抓包,分析所抓取到的数据包:

由此得出结论,即便默认网关和IP地址不在同一网段,但互为对方网关的话,PC机在MAC地址表查不到对方MAC地址的话也会发送ARP广播包,网关收到查询请求后知道这是查询自己的MAC地址,所以发送自己的MAC地址回复给PC1,两台机器实现正常通信。

2.4Linux之间的IP地址不在同一网段,网关设置为对方的IP地址

1〕实验目的

在Linux操作系统下,设置不同网段的IP地址且把默认网关设为对方IP,重复以上步骤,观察是否能够正常通信。

2〕实验环境

两台pc直连,不同网段,IP地址互为网关。

设备名

IP地址

子网掩码

PC1

PC2

配置两台PC机IP地址,并测试是否能互相通信,配置与测试结果如下:

测试连通性,发现能够正常PING通,说明两台LINUX主机能够建立通信。

抓取数据包进展分析:

分析数据包可以看出,首先PC1检查自己的MAC地址表查询是否有PC2的MAC地址,如果有,如此直接调用进展封装建立通信,如果没有,如此要发送ARP广播请求,PC2收到查询请求后知道这是查询自己的MAC地址,所以将PC1的MAC地址存入自己的MAC地址表并发送自己的MAC地址回复给PC1,两台机器实现正常通信。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1