网络传输数据基本流程 详解

2023-11-17

1、网络传输流程图:

在这里插入图片描述
2、两台计算机通过 TCP/IP 协议通讯的过程如下所示:
在这里插入图片描述

2、数据包的封装分用:

在这里插入图片描述

3、不同网络环境中,网络数据传输流程

(1)网络互联:

① ARP 缓存表中 可以找到 目的主机MAC
在这里插入图片描述

  • 1、主机1查找本机ARP缓存表,根据ARP协议,找到MAC
  • 2、数据报由主机1,发送到集线器(数据报中:源MAC(主机1),目的MAC(主机3))(真实的数据报)
  • 3、集线器 直接转发 数据到除主机1的其他所有相连主机(主机2,主机3)
  • 4、主机2接收:数据报中,目的MAC不是我,丢弃
    主机3接收:数据报中,目的MAC是我,接收。 目的IP是我,交给对应端口进程处理

② ARP 缓存表中 找不到 目的主机MAC
在这里插入图片描述

  • 1、主机1查找本机ARP缓存表,发现找不到目的主机MAC
  • 2、主机1发送广播数据报(非真实数据,只是要求对应主机返回MAC数据)
  • 3、广播数据报通过集线器转发到主机2、主机3
  • 4、主机2接收:要求的IP不是,丢弃
    主机3接收:要求的IP是我,返回我的MAC
  • 5、主机1收到主机3的返回数据(IP、MAC),更新自己的ARP缓存表
  • 6、主机1发送真实的数据到主机3
    (真实的数据 ,源MAC/源IP:主机1的MAC/IP , 目的MAC/目的IP :主机3的MAC/IP)

③ 使用集线器的缺陷: 网络冲突
(比如,你想知道张三的qq号,你开群聊发消息,就会对群聊里其他成员造成不必要的麻烦)

(2)局域网:

在这里插入图片描述
局域网 交换机 组网方式:(路由器(方式2)和它一样)
在这里插入图片描述

  • 1、主机1查找本机ARP缓存表,如果找不到,发送广播数据报,让IP为主机3的告诉我它的MAC
  • 2、交换机转发到其他所有端口(广播)
  • 3、主机2丢弃,主机3返回自己的MAC
  • 4、交换机知道主机3的MAC,然后主机1也就知道了主机3的MAC(更新ARP缓存表)
  • 5、主机1发真实的数据给交换机(源MAC:主机1 , 目的MAC:主机3)
  • 6、交换机查找自己的MAC地址转化表,通过MAC找端口,发送到对应端口
  • 7、主机3接收:目的MAC是我,目的IP也是我

局域网 与 网络互联 数据传输的区别在于:局域网方式是定向传输,而网络互联是广播式传输
(先问张三手机号,在打电话给张三,不影响李四)

局域网 交换机 + 路由器 的方式:
在这里插入图片描述

  • 1、通过目的 IP+子网掩码,计算出是否目的主机和本机在同一网段(IP和子网掩码位与操作,得到网络号)

  • 2、如果是,和之前交换机组局域网流程一致

  • 3、如果不是,表示我主机1处理不了,要发给网关转发(路由器)

  • 4、数据报发给路由器

    (源IP:192.168.1.x   源MAC:主机1的)
    (目的IP:192.168.2.y 目的MAC:路由器网卡1的MAC)
    
  • 5、路由器接收到数据报,分用:物理层到网络层,所以可以获取到目的IP

  • 6、路由器查找自己的ARP缓存表(IP找MAC)

  • 7、找不到,路由器发广播,主机2你在哪?告诉我你的MAC

  • 8、有了MAC,直接发送到主机2

在这里插入图片描述
局域网方式是只使用 LAN 口,而广域网 LAN口和WAN都使用

(3)广域网:

在这里插入图片描述

主机1:发送 http://www.baidu.com 网络数据报
在这里插入图片描述

  • 1、DNS协议:域名 转 IP

    源IP:主机1的IP            源MAC:主机1的MAC
    目的IP:百度服务器的IP      目的MAC:
    
  • 2、根据目的IP计算是否和主机1在同一网段
    在这里插入图片描述

  • 3、不是同一个网段:发送数据报到网关(路由器)
    在这里插入图片描述

  • 4、交换机转发(没有封装分用):在MAC地址转换表,通过目的MAC找端口

  • 5、路由器接收、分用、修改数据报
    在这里插入图片描述

  • 6、路途中的设备:
    在这里插入图片描述

  • 7、百度服务器:(接收数据并响应)
    在这里插入图片描述

  • 8、路由器1接收 百度服务器的响应数据(分用、修改、封装)
    在这里插入图片描述

  • 9、主机接收数据报(分用)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络传输数据基本流程 详解 的相关文章

  • QWidgetAction实现鼠标滑过菜单项图标高亮显示

    需求是鼠标滑过菜单项时 菜单项的文字 icon以及子菜单的小箭头都要高亮显示 qss中只能设置item背景色 文字颜色以及子菜单小箭头的样式 icon的图片不能切换 另外曾经想过用indicator 对action setCheckable

随机推荐

  • Ubuntu18.04安装QT5

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 QT5是什么 二 安装包安装 1 下载安装包 2 安装QT5 3 运行 4 其他方式 总结 前言 最近在学习QT5 在Windows上的安装自然不必多说
  • 爬虫 — 反爬

    目录 一 UA 反爬 二 Cookie 验证与反爬 1 Cookie 简介 2 使用 Cookie 原因 3 Cookie 作用 3 1 模拟登录 3 2 反反爬 三 Referer 反爬 一 UA 反爬 UA User Agent 用户代
  • [机械]“重工业面临两大危机”——向文波(三一重工股份有限公司执行总裁)

    向文波 三一重工股份有限公司执行总裁 向文波是三一重工的掌门人 但深受徐工事件影响 他以业内的视角 适时地向中国重工业的改革发出一个警示信号 提出一个超越 抓大放小 国进民退 等传统国企改革的新命题 产业安全 引起了舆论与政府的重视 中国重
  • 2021.11.13-15总结

    将C语言文件相关的内容学完了 了解了文件相关的函数
  • linux网络管理

    一 网络接口 1 在Linux系统中 主机的网络接口卡通常称为网络接口 使用ifconfig命令来查看网络 2 eth0 是Linux系统中第一块以太网卡的名称 3 lo 是Linux系统中的 环回 网络接口 lo 并不代表真正的网络接口
  • 用户访问session分析-按session粒度进行数据聚合

    思路 之前模拟创建了两张表 user visit action 和 user info 对于user visit action表 1 通过用户传过来的指定日期范围内 从user visit action中查询出指定的用户访问数据 变成 ac
  • nginx根据url参数动态代理

    nginx根据url参数动态代理 请求url格式 其中参数proxy后面的url就是需要访问的真实地址 http localhost 9388 proxy http localhost 8038 Content layui font ico
  • 腾讯滑块识别-通用滑块识别

    遇到滑块问题 在写爬虫的时候 经常会遇到滑块问题 很多次都想过尝试如何攻破滑块 但是每次都没成功 除了最开始的极验滑块 当时通过原图和滑块图的对比 能够得出缺口坐标 但是随着极验 网易 腾讯滑块的更新 已经不能够找到原图了 下面给出滑块通杀
  • python的gui神器——gooey

    python的gui神器 gooey python自带的gui库 tkinter库 最近研究的gui库 gooey tkinter教程 tkinter GUI编程 gooey地址和教程 gooey 入门教程 python使用tkinter库
  • Android基础知识 - 内置SQLite数据库

    文章目录 SQLite数据库简单介绍 创建数据库 SQLiteOpenHelper类 简单概述 DatabaseTest项目 升级数据库 对表中的数据进行操作 添加数据 更新数据 删除数据 查询数据 使用SQL操作数据库 SQLite数据库
  • 03 xxl-job任务执行流程

    作业类型 xxl job支持七种作业类型 Bean GLUE Java GLUE Shell GLUE Python GLUE PHP GLUE Nodejs GLUE PowerShell 其中 GLUE类型作业都是在admin管理端编辑
  • Unity3d Survival Shooter Tutorial 学习笔记(八)---游戏结束

    1 在HUDCanvas下新建Image ScreenFader 设置为全屏显示 且颜色设置为浅蓝 2 添加GameOverText 并设置Text参数 3 调整HUDCanvas顺序 与就是渲染顺序 4 初始化时 把GameOverTex
  • 用Eigen库练习代数运算方式以便后续对刚体旋转和移动做基础

    include
  • qt背景渐变色的效果

    background color qlineargradient spread pad x1 0 y1 0 x2 0 y2 1 stop 0 87CEFA stop 1 292F38 背景颜色 画线部分可以达到渐变的效果图
  • CentOS 下安装 Docker

    要求 要安装 Docker 我们需要 CentOS 7 及以上的发行版本 建议使用overlay2存储驱动程序 卸载已有 Docker 如果你已经安装过旧版的 Docker 可以先执行以下命令卸载旧版 Docker sudo yum rem
  • sqli-labs解题大法29 ~40

    Less 29 堆叠查询 在一条语句之后加上分号 然后接下一条语句 可以一次执行多条语句 order by 排序 可以 联合查询 可以 参考Less 1 Background 6 服务器 两层 架构 http www cnblogs com
  • Linux笔记

    Linux 基础笔记 Linux文件目录 目录 描述 Linux系统根目录 bin usr bin 可执行二进制文件的目录 如常用的命令ls tar mv cat等 boot 存放Linux系统启动时用到的一些文件 如Linux内核文件 b
  • OR EXISTS语句的优化方法

    OR EXISTS语句的优化方法 这库一直很空闲 但无意中看了一下 发现其中很多语句都很有问题 都是典型的OR问题语句 如果并发量大的话 CPU一下子就飙高了 OR语句一直是性能杀手 当存在一两个的时候一般可以用union和union al
  • nodejs打造cli工具

    nodejs打造cli工具 前言 项目先体验 可执行的node程序 项目实践 项目初始化 总结 前言 使用nodejs打造cli工具 本文意指通过实现一个简单的cli工具来了解nodejs可执行程序 而不是工程化具体的实现 本文适合node
  • 网络传输数据基本流程 详解

    我是目录 1 网络传输流程图 2 数据包的封装分用 3 不同网络环境中 网络数据传输流程 1 网络互联 2 局域网 3 广域网 1 网络传输流程图 2 两台计算机通过 TCP IP 协议通讯的过程如下所示 2 数据包的封装分用 3 不同网络