简单理解2台主机数据通信过程

TCP/IP为例,TCP为数据传输协议,IP为网络通信协议,传输和通信协议共同构建了数据通信;

(一)、通过IP确定是否同属于一个局域网
通过(IP&子网)做位运算,IP和子网掩码都是32位,去掉.,每8位一段,最大为255,如:IP:10.0.0.15,子网掩码:255.255.255.0,表示需要比较 10.0.0前面24位,如果相同,就判断是同一个局域网,如果不同,则表示不是同一个局域网,需要通过网线(或者运营商的基站进行通信):

(二)、同一个局域网的通信:
直接广播数据信息,如果IP相同,这找到对应的机器,进行3次握手通信,互相记录对方的MAC地址(每一个网卡都有一个唯一的MAC地址)。

(三)、不是一个局域网的通信:
1、主机发送数据包(数据,传输协议,域名,自己的子网IP,MAC地址,网关等);
2、路由器包装(把IP换成对外的IP);
3、DNS解析域名为具体的IP;
4、通信商查找对应的IP是否存在(不存在,往上面查找(跨通信商,国家等));
5、找到对应的服务器IP路由器;
6、对应的路由器找到对应的主机(每个路由器都有它自己子服务器的路由表),每个对外的端口只能指向一个子网IP,多个会报错;
在这里插入图片描述

7、根据对应的内网端口找到对应的程序;
8、根据传输协议开始建立连接,如:TCP的三次握手连接;
9、开始传输数据包;
10、原路返回,根据对应的子网IP找到对应的电脑;

中间发生了多次发送和接收IP变更;
每次查询寻址效率会比较低,而一般IP不会变动,所以每个地方都做了一定的缓存;
距离过远,及时通过一定的距离算法找到最优的基站通信,性能上也有一定的,所以阿里云等供应商会在不同的域部署服务器,这样可以一定程度的提高一点性能;

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值