博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两台主机之间如何进行通信
阅读量:6310 次
发布时间:2019-06-22

本文共 658 字,大约阅读时间需要 2 分钟。

两台主机通信分为:同网段下通信和不同网段下通信

1、同网段下:
两台主机之间如何进行通信
应用层:主机通过tcp/ip协议中的tcp应用端口进行通信要求,主机通过打开一个会话应用窗口,通过逻辑软件的链接和相互配合(检查ARP缓存),将数据传到下一层;
传输层:进行分段,添加tcp报头(源端口,目的端口),分段为了节省时间、传输占用率和解决错误麻烦率以及解决传输单元限制问题;
网络层:给数据添加IP报头(源IP,目的IP)封装成数据包,将封装数据包又传输到下一层;
数据链路层:在数据包前加入数据帧头(源物理地址,目的物理地址),后加入校验位封装成数据帧,将数据帧传输到下一层;
物理层:将数据帧转换成可以在物流链路进行传输的电子信号并送达交换机,交换机:通过数据流里数据帧的物理地址地址找寻目的主机的地址,将数据发送到目的主机;
目的主机:通过比对目的物理地址,确认为自己接收数据,则拆去数据帧头,发往网络层,网络层比对目的IP,相同则拆包发往传输层,传输层再比对目的端口,相同则拆去数据段交给应用程序进行数据组装,完成本次同网段下通信。
两台主机之间如何进行通信

2、不同网段下:

两台主机之间如何进行通信
主机在应用层—网络层—数据链路层—物理层—交换机时需要像在同网段一样进行传输,当数据帧到达交换机时,需将数据帧传输到三层路由器,通过路由器的找寻目的主机物理地址所处的路由器,在经过路由器找寻所处主机物理地址进行分配,将数据帧根据目的主机物理地址传输,然后进行拆包等一系列的过程传输到目的主机。
两台主机之间如何进行通信

转载于:https://blog.51cto.com/14205480/2355632

你可能感兴趣的文章
NuGet学习笔记(2)——使用图形化界面打包自己的类库
查看>>
xcode中没有autoSizing的设置
查看>>
字符编码
查看>>
企业应用:应用层查询接口设计
查看>>
浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
查看>>
nfd指令的详细说明
查看>>
安装VisualSvn Server时遇到的问题
查看>>
不用Visual Studio,5分钟轻松实现一张报表
查看>>
人脸识别 开放书籍 下载地址
查看>>
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>
如何快速获取ADO连接字符串
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>
高性能Javascript--脚本的无阻塞加载策略
查看>>
Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
查看>>
完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
查看>>
iOS8 Push Notifications
查看>>
各大名企笔试及面经大全(程序猿必读)
查看>>
Oracle 连接、会话数的查看,修改
查看>>