设为首页收藏本站
ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 4477|回复: 0

[讨论] 双机通信的细节?

[复制链接]
发表于 2009-4-29 10:17:40 | 显示全部楼层 |阅读模式
如题,所示我将我所理解的一次双机通讯过程整理出来,但是不知道理解的是否正确,还希望大家给指点:



当主机A向服务器B发出浏览网页的请求,比如在浏览器中输入http://192.168.1.2,回车确认后发生的过程。(注不考虑DNS解晰等问题),以下步骤有先后顺序。
主机A操作步骤
1操作系统(网卡驱动上的TCP/IP模块) 随机打开一个端口,比如:1520
2.通过网卡驱动 查询ARP缓存,检查是否有目标法址192.168.1.2的mac地址,假设没有找到地址.
3.主机A的网卡驱动模块发出ARP广播。
4.依据TCP/IP设置,检查目标IP地址与自己的IP地址不在一个网段中,网关的IP地址是通过微机的路由表获得,所以通过广播获取网关的MAC地址,即路由器e1的mac地址,2222.2222.2222。 此时网络上发出第一个数据包(ARP广播包),数据包到达路由器,这里是数据包还是数据帧不能确认?

路由器操作步骤:

5.路由器收到数据,通过解封装对比路由表,检查路由器中的ARP表,假设没有发现相关缓存,但是发现有目的网段路由,重新
封装数据包,源、目的IP不变,源MAC为路由器e0的mac3333.3333.3333,目标mac是ffff.ffff.ffff的广播地址。
服务器B的操作步骤:
6.服务器B收到广播后,将自己的MAC地址以ARP包形式发送给路由器,路由器将服务器B的MAC地址发送给主机A。
主机A操作步骤:

7.主机A的传输层发出三次握手连接信号,经过IP封装,MAC封装,与服务器B建立连接(硬连接)。
8.主机A应用层发出数据、对数据进行编码、建立应用程序间的会话。192.168.2.2  1520   192.168.1.2 80
9.主机A传输层,将应用层传来的数据分段,封装TCP头,再经过网络层、数据链路层的封装,将数据传送到服务器B。

结论是:一次完整的主机通信,不应该是TCP/IP四层从上到下的顺序,正确顺序应该是:
1.网际层的ARP/RARP获取目标地址,然后是传输层建立连接
2.传输层建立端到端的连接。
3.应用层建立应用程序之间的会话。
4.应用层发出数据、传输层分段封装数据、网际层、数据链路层的封装后,数据发送到目的端。

[ 本帖最后由 fsdjsb 于 2009-5-28 12:52 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?会员注册

x
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网    

GMT+8, 2021-10-27 23:46

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表