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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

目录

第一章:实验准备

1.1:实验目的 (2)

1.2:实验介绍 (2)

第二章:正式实验

2.1: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有线网卡10.1.13.222 255.255.255.0 PC2有线网卡10.1.13.34 255.255.255.0

PC1机IP信息:

PC2机IP信息:

PC1pingPC2连通性如下图所示:

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

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.1 PC1与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 源ip:10.1.13.222 源Mac:pc1的Mac

目的ip:10.1.13.34目的Mac:?

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

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

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

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

2.2 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 源ip:10.1.13.222

目的ip:10.1.12.34 源Mac:pc1的Mac 目的Mac:网关

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

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

1)实验目的

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

2)实验环境

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

相关文档
最新文档