从头开始,带你分析ftp报文内容

前言

最近计网老师要求参照课本中的PPPoE协议,分析自己用wireShark抓取的ftp用户名报文,分析帧结构,解析报文内容。
image.png

计算机网络体系结构

分析报文,我们就需要回头认真地了解计算机网络体系结构

(主要是因为忘了)
从头开始,带你分析ftp报文内容_第1张图片


计算机网络是个非常复杂的系统。

设想一下:连接在网络上的两台计算机要互相传送文件。我们需要做什么?image.png

显然,在这两台计算机之间必须有一条传送数据的通路。

但这还远远不够。我们还有很多工作需要去完成: image.png

  • 计算机保证要数据能在这条通路上正确发送和接收
  • 要告诉网络如何识别接收数据的计算机。
  • 必须查明对方计算机是否已开机,并且与网络连接正常。
  • 必须弄清楚,对方是否已做好接收文件和存储文件的准备工作。
  • 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能。
  • 对出现数据传送错误、重复或丢失,网络中某个结点交换机出现故障等,应采取措施保证对方能够收到正确的文件。

为了设计和解决这些问题,我们最好把这些庞大而复杂的问题转换成小的问题。也就是分层

如何把这些问题分层,形成一种体系结构呢?image.png

  • 国际标准化组织于1977年开始研究该问题,最后提出了一个 OSI标准,但可惜的是,由于实现复杂,效率较低,制定周期长等问题,并没有得到广泛的应用。并且在当时,基于TCP/IP的互联网已在全球大范围地成功运行,OSI标准的产品并没有多少人生产。
  • 而另一个标准:TCP/IP标准。如今规模最大、覆盖全球的互联网应用的的就是TCP/IP标准。成为了事实上的国际标准。

让我们来看看这两种标准是如何分层的:

从头开始,带你分析ftp报文内容_第2张图片

OSI分为图中的七层协议,TCP/IP标准分为图中的四层协议。

OSL的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。

TCP/IP体系结构则不同,但它现在却得到了非常广泛的应用。TCP/IP是一个四层
体系结构, 它包含应用层、运输层、网际层和网络接口层(用网际层这个名字
是强调这一层是为了解决不同网络的互连问题)。

不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。

因此在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构。

image.png

数据流动

OK, 有了两台计算机之间传输数据的体系结构之后,让我们开始传输数据吧。Y(~PM34@B)CK9~5IOS{JD}U.jpg

传输开始。 我的计算机向小明的计算机开始传送数据。

于是我计算机的一个应用进程 AP1 尝试 向小明计算机的一个应用进程 AP2 传输数据

我的传输

此时我要传输的数据按照五层协议自顶向下流动。

分别通过应用层,运输层,网络层,数据链路层,物理层。

  • 应用层: 数据经过应用层时,它给数据添加了必要的控制信息。应用层定义了应用进程间交互的规则。 这些规则有HTTP协议、DNS协议、SMTP协议等
  • 运输层: 运输层收到应用层传给它的信息后,添加了自己的控制信息,也传给了下一层。运输层作用是向上面的运输层提供通信服务。协议有TCP,UDP。
  • 网络层: 网络层将运输层传给它的报文段或用户用户数据报封装成分组或包进行传输,分组的数据叫做IP数据报。协议使用的是IP协议。
  • 数据链路层:数据链路层将网络层传下来的IP数据报封装成帧,每一帧都包括数据和必要的控制信息,使接受端能够知道哪一个比特开始,哪一个比特结束。并提供纠错功能。
  • 物理层: 物理层将数据比特流,通过物理传输媒体,如电缆等传输出去。

从头开始,带你分析ftp报文内容_第3张图片

小明的接收

数据比特流通过物理传输媒体到了小明计算机这后,通过物理层到应用层,由下到上的层层操作,小明计算机的进程AP2就能接受到数据了。image.png

分析FTP报文内容

未完待续

你可能感兴趣的:(ftp)