一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示:
![908204126aac0087902af728b300ec19.png](https://i-blog.csdnimg.cn/blog_migrate/32eeda87f0697fbdd88fec8ea6364cba.jpeg)
详细解答如下
1.1、假设初始设置如下所示:
客户端FTP端口号为:32768
服务器端FTP端口号为:21
![5d1e53d6ab21349028d33419974171e7.png](https://i-blog.csdnimg.cn/blog_migrate/d9fdcd9a3c51171fac4332026c1c7069.jpeg)
1.2、不同网络段上的两台计算机通过TCP/IP协议通讯的过程如下所示:
协议是水平的,服务是垂直的。
![17fef95c5e0b478f8a04120f1cdbc6d5.png](https://i-blog.csdnimg.cn/blog_migrate/7fe1e32d9248429b44cc3721ace22aae.jpeg)
物理层,指的是电信号的传递方式,透明的传输比特流。
链路层,在两个相邻结点间的线路上无差错地传送以帧为单位的数据。
网络层,负责为分组交换网上的不同主机提供通信,数据传送的单位是分组或包。
传输层,负责主机中两个进程之间的通信,数据传输的单位是报文段。
网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。
1.3、数据包的封装过程
![9a8acb1bfd6556fa4bdb54b6287aa39a.png](https://i-blog.csdnimg.cn/blog_migrate/71dfd575a3b60e204f4b561aaaa155e5.jpeg)
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。
1.4、工作过程
(1)在PC1客户端,将原始数据封装成帧,然后通过物理链路发送给Switch1的端口1。形成的帧为:
![dfbe03405d0e7f9e11e7a6dc7754c30d.png](https://i-blog.csdnimg.cn/blog_migrate/393525fd53a0645278e265b83a65c2b6.jpeg)
注:发送方怎样知道目的站是否和自己在同一个网络段?每个IP地址都有网络前缀,发送方只要将目的IP地址中的网络前缀提取出来,与自己的网络前缀比较,若匹配,则意味着数据报可以直接发送。也就是说比较二者的网络号是否相同。本题中&#