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不会变动,所以每个地方都做了一定的缓存;
距离过远,及时通过一定的距离算法找到最优的基站通信,性能上也有一定的,所以阿里云等供应商会在不同的域部署服务器,这样可以一定程度的提高一点性能;

简单理解2台主机数据通信过程相关推荐

  1. 计算机网络两台主机互相通信过程概览

    两台主机互通过程: 地面:物理层信息 路 :数据链路层 使物理层更好的传输 车 :网络层 实现异构网络的互联 货物:传输层 实现不同主机的进程之间的通讯(TCP) 楼:应用层 为应用进程提供服务 TC ...

  2. 数据包从源主机到达目标主机的过程

    情景一:同一广播域内,两台主机通信过程 ------------------------------------------------------------------- 两主机要通信时,要把应用 ...

  3. 以太网数据帧的报尾封装字段是什么_利用TCP/IP模型理解数据通信过程

    回顾TCP/IP模型 TCP/IP模型是当今IP网络的基础(由OSI七层参考模型发展而来,也称为DoD模型). 分层参考模型的设计是非常经典的理念: 层次化的模型设计将网络的通信过程划分为更小.更简单 ...

  4. 【网络通信与信息安全】之深入解析两台主机之间的通信过程和原理

    一.前言 本文通过在 Docker 容器中执行命令,来深入了解两台主机之间的通信过程.阅读完本文,您将熟悉以下内容: Docker 的基本操作: 创建 socket 并发送 HTTP 请求: 路由表. ...

  5. 【简单实用】一台主机两个人使用,互不影响~~~

    当你只有一台主机,而且有两个人想同时使用电脑的时候,按理说一个人用一台电脑,另一个人只好坐在一旁默默地等待着......遇到这种情况的时候,怎样才可以达到一台主机两个用呢??? 今天本人就分享一款软件 ...

  6. 简单理解面向对象和面向过程

    简单理解面向对象和面向过程 一. 面向过程和面向对象的区别 面向过程:面向过程就是分析解决问题所需要的步骤,然后 用函数把这些步骤一步一步实现,使用时一个一个依次调用即可: 面向对象语言:指用于描述的 ...

  7. 华为数通笔记-网络参考模型及数据通信过程

    OSI参考模型 7. 应用层 对应用程序提供接口. 6. 表示层 进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解. 5. 会话层 在通信双方之间建立.管理和终 ...

  8. 交换机的简介及数据通信过程,子网掩码及路由基础

    交换机 1.什么是交换机? 交换机(Switch)意为"开关"是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网 ...

  9. 互联网协议-简单理解和介绍

    概念:互联网实现过程中大家都需要遵循的准则,我们称之为协议. 前提概要: 我们知道当我们访问互联网是,是在浏览器的导航栏输入一个网址,http://www.baidu.com/ 而一个网址对应的是一个 ...

最新文章

  1. python基础笔记(非系统/自用/参考小甲鱼的零基础入门学习python)下
  2. boost::python::detail::result相关的测试程序
  3. Android 图形驱动初始化
  4. RHEL5下的DHCP服务和DHCP中继
  5. cmake BUILD_SHARED_LIB变量
  6. aspjpeg已过期_Persits.Jpeg.1错误’800a0004′ AspJpeg组件过期解决方法 - YangJunwei
  7. vlan理论03-vlan映射
  8. 服务器系统如何设置屏幕保护,在windows中要设置屏幕保护程序可以使用控制面板的什么功能?_网站服务器运行维护,windows,屏幕保护程序,控制面板...
  9. 二维码和一维码生成器
  10. java 自动填充,使用java自动填充,实现mysql的创建修改时间的自动填充
  11. Arduino连接LCD1602显示屏
  12. Amazon 4.7 星评,领域新经典,了解服务设计就读它
  13. 步态识别 数据集 (一)
  14. 用IJ来java求1到100以内的偶合之数
  15. 【上海线下】FMI2017人工智能系列沙龙-解读神秘GPU
  16. 小米盒子看直播的简单方法
  17. 计算机和应用相对指标应注意,相对指标如何分析事物
  18. 2022-1-19 C++STL—— 仿函数 functor
  19. 计算机中丢失VComp140.dll
  20. 数据增强(图像处理)

热门文章

  1. 阿里云导出负载均衡SLB实例数据
  2. React 模拟点击事件
  3. 转载 美国SAP高手跳槽记-转自George
  4. 解决win10一开机内存(8G)就占用70%多,查看任务管理器并没有占用内存很高的进程的问题
  5. Bert使用之一_基本使用
  6. 线性规划之单纯形法【超详解+图解】-转载
  7. 车联网上云最佳实践 七
  8. mysql Unknown error 1146
  9. vue中 ECharts 图表使用教程
  10. RK 7.1 OTA升级提示Not enough free space on /cache to apply patches