IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络数据传输流程 -> 正文阅读

[网络协议]网络数据传输流程

目录

一,局域网传输流程

1.集线器

2.交换机

?3.交换机+路由器

二,广域网数据传输流程

主要过程


一,局域网传输流程

1.集线器

主要过程

  1. 源主机:从上到下封装,如果知道目的IP主机的MAC地址就直接封装在数据链路层的以太网帧头中,如果没有找到进行ARP寻址(相当于喊话)收到MAC地址后,封装好在发送
  2. 集线器给每一台主机都发,不同主机判断这个数据包是不是给自己的
  3. 目的主机进行从下到上的分用

2.交换机

主要过程

  1. 源主机从上到下封装数据包中,如果知道目的IP主机的MAC地址,就封装在以太网帧头中,没有的话,就进行ARP寻址,找到后就发送给交换机
  2. 交换机在内部维护了一个MAC地址表,记录了MAC地址对应的端口号,如果有,就通过相应的端口直接发送,如果没有就进行ARP广播找,记录返回的端口并发送
  3. 目的主机接收到数据包,从下到上进行分用

?3.交换机+路由器

主要过程(我们这里以同一局域网,不同网段)

  1. 源主机从上到下封装数据包(根据子网掩码计算不是在同一网段,封装目的MAC为网关路由器的MAC地址,通过本地的ARP缓存表从网关的IP找到MAC)
  2. 将数据包交给交换机,交换机通过本地维护的MAC地址表,找到网关对应的端口发送给网关路由器
  3. 路由器接收到数据包进行分用,将源IP和源MAC修改为自己的IP/MAC地址,同时通过分用获取到目的IP,并将目的MAC修改为目的IP主机的MAC
  4. 目的主机收到数据包,从下到上分用

二,广域网数据传输流程

或者可以说:在浏览器地址栏输入url按下回车后,发生了什么事情?(

主要过程

1)解析域名,通过DNS协议找到域名对应ip地址

2)源主机:

  1. 通过子网掩码计算目的主机是否是在同一网段,如果是同一网段就直接设置目的IP和MAC为目的主机的IP和MAC,表明下一跳的设备就是目的设备
  2. 如果不是同一网段,就设置目的MAC为网关路由器的MAC(找不到就基于ARP缓存表找)
  3. 将源IP和源MAC设置为源主机的IP和MAC

3)交换机

  1. 交换机接收到数据包后,根据目的MAC,在本地维护的MAC地址转换表寻找对应的端口,找到了就直接通过对应端口,发送到相应的设备
  2. 如果没找到就进行ARP广播,找到对应的端口,更新到MAC地址转换表中,并通过这个端口发送出去

4)路由器

  1. 先下到上分用到网络层
  2. 通过NAPT技术将源IP和源port(局域网内源主机的IP和port),修改为路由器的公网ip和port
  3. 基于路由功能,根据目的ip,计算出下一跳的设备是哪个,到目的主机更近
  4. 从上到下进行封装,将源IP和port修改为路由器的IP和port,修改源MAC修改为路由器的MAC地址,通过ARP缓存表(依据路由功能找的下一跳设备的IP)找到下一跳设备的MAC,修改目的MAC为下一跳设备的MAC地址

5)路途中其他的设备

和(4)中除了第二步之外,其余的基本类似,只需修改目的MAC和源MAC

6)目的主机接收到数据

  1. ?从下到上进行分用,分用到网络层,目的IP和我一样,交给传输层
  2. 分用到传输层:根据目的端口号,将数据报发送至相应的端口,交给对应的进程来处理(如tomcat
  3. 分用到应用层:tomcat根据相应协议来进行解析

7)tomcat处理数据

8)tomcat返回响应

  1. 从上到下进行封装
  2. 将目的IP和port与源IP和port进行交换操作
  3. 执行相应的流程,把数据发送给对应主机?
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:20:11  更:2022-04-18 18:22:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:52:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码