十八、网络基础(一)

文章目录

  • 一、协议
    • (一)前置
    • (二)协议分层
      • 1.软件分层
      • 2.协议分层
      • 3.OSI七层模型
      • 4.TCP/IP五层(或四层)模型
        • (1)物理层:
        • (2)数据链路层:
        • (3)数据链路层:
        • (4)传输层:
        • (5)应用层:
      • 5.网络和操作系统之间的关系
      • 6.数据包的封装(封包)和解包,分用
        • (1)下图为数据封装,解包的过程
        • (2)分用
        • (3)示例
        • (4)数据包传输通过路由器转发
  • 二、网络基础(一)
    • (一)局域网(以太网)通信的原理
      • 1. 局城网中两台主机可以互相通信
      • 2.局域网通信原理
    • (二)MAC地址和IP地址
      • 1.生活小例子类比MAC地址和IP地址
    • (三)IP 地址和MAC地址详细解释
      • 1.IP地址
      • 2.MAC地址
      • 3.主机改变所在网络时需要修改IP地址,不可修改MAC地址。
      • 4.IP协议的两个版本, IPv4和IPv6。
  • 三、网络基础(二)
    • (一)源IP地址和目的IP地址
    • (二)端口号,套接字组成介绍
    • (三)理解 "端口号" 和 "进程ID"(端口号的意义)
    • (四)源端口号和目的端口号
    • (五)TCP协议与UDP协议
      • 1.TCP协议
      • 2.UDP协议
    • (六)网络字节序

一、协议

(一)前置

协议其实是一种约定!!!

计算机之间的传输媒介是光信号和电信号 , 通过 " 频率 " 和 " 强弱 " 来表示 0 和 1 这样的信息 , 要想传递各种不同的信息 , 就需要约定好双方的数据格式。
计算机生产厂商有很多;
计算机操作系统, 也有很多 ;
计算机网络硬件设备, 还是有很多 ;
如何让这些不同厂商之间生产的计算机能够相互顺畅的通信?
就需要有人站出来 , 约定一个共同的标准 , 大家都来遵守, 这就是网络协议。
计算机技术和通信协议是计算机网络产生于发展的两个最基本的因素
协议——计算机的视角,如何看待协议:① 体现在代码逻辑上 ② 体现在数据上
以寄快递为例:你和卖家沟通好,买一个鼠标,实际上快递员给你的是 一个包裹,里面有鼠标,实际上多给了我一些东西,多了一张快递单。
快递单是一块数据=>快递公司和快递点,快递小哥之间的协议。
为了维护协议,一定要在被传输的数据上,新增其他数据(协议数据)。

举例:
HTTP协议是超文本传输协议;DNS协议为域名解析协议;FTP协议为文件传输协议;SMTP协议为电子邮件传输协议;

(二)协议分层

1.软件分层

软件是可以分层的,为什么要分层?

  • 软件在分层的同时,也把问题归类了!
  • 分层的本质:软件上解耦
  • 便于工程师进行软件维护

网络本身的代码,就是层状结构!

2.协议分层

层状结构下的网络协议,我们认为,同层协议——都可以认为自已在和对方直接通信,忽略底层细节同层之间一定都要有自己的协议。
在下面这个例子中, 我们的协议只有两层(汉语协议和电话机协议); 但是实际的网络通信会更加复杂, 需要分更多的层次。分层最大的好处在于 “封装”,面向对象例子。
在这里插入图片描述

3.OSI七层模型

OSI ( Open System Interconnection ,开放系统互连)七层网络模型称为开放式系统互联参考模型, 是一个逻辑上的定义和规范。
把网络从逻辑上分为了7 层 . 每一层都有相关、相对应的物理设备,比如路由器,交换机 ;

OSI七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整;
通过七个层次化的结构模型使不同的系统,不同的网络之间实现可靠的通讯;
但是, 它既复杂又不实用 ; 所以我们按照 TCP/IP 四层模型来学习!
在OSI模型网络分层当中,自下而上,下层为上层提供服务,下层将从上层接的信息增加一个头部。
在这里插入图片描述

4.TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求!

(1)物理层:

负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.

(2)数据链路层:

负责设备之间的数据帧的传输 和识别,完成帧同步, 差错控制,流量管理,链路管理。 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准。交换机(Switch)工作在数据链路层.

(3)数据链路层:

网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.

(4)传输层:

负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.

(5)应用层:

负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层。
在这里插入图片描述
在这里插入图片描述
物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型.
一般而言
对于一台主机 , 它的操作系统内核实现了从传输层到物理层的内容 ;
对于一台路由器 , 它实现了从网络层到物理层 ;
对于一台交换机 , 它实现了从数据链路层到物理层 ;
对于集线器 , 它只实现了物理层 。

5.网络和操作系统之间的关系

  • 体系结构直接决定, 数据包在主机内进行流动的时候,一定是要进行自顶向下(封包)或者自底向上(解包)进行流动的。以前的所有的IO都是这样的。
  • tcp/ip协议和操作系统之间的关系是:操作系统内部,有一个模块,就叫做tcp/ip协议(传输层和网络层),网络协议栈是隶属于OS的。
  • 同层协议都认为自已在和对方直接通信——所以每一层都要有自己的协议。
  • 重谈协议——计算机的视角,如何看待协议:① 体现在代码逻辑上 ② 体现在数据上

以寄快递为例:你和卖家沟通好,买一个鼠标,实际上快递员给你的是一个包裹,里面有鼠标,实际上多给了我一些东西,多了一张快递单,快递单是一块数据=>快递公司和快递点,快递小哥之间的协议。为了维护协议,一定要在被传输的数据上,新增其他数据(协议数据)。

6.数据包的封装(封包)和解包,分用

不同的协议层对数据包有不同的称谓, 在传输层叫做段 (segment), 在网络层叫做数据报 (datagram), 在链路层叫做帧(frame).应用层数据通过协议栈发到网络上时, 每层协议都要加上一个数据首部 (header), 称为封(Encapsulation).
首部信息中包含了一些类似于首部有多长, 载荷 (payload) 有多长 , 上层协议

数据封装成帧后发到传输介质上, 到达目的主机后每层协议再剥掉相应的首部 , 根据首部中的 " 上层协议字段" 将数据交给对应的上层协议处理

网络传输数据的本质就是数据不断的封装和解包!

(1)下图为数据封装,解包的过程

在这里插入图片描述
在这里插入图片描述

(2)分用

有效载荷的分用过程:数据包添加报头的时候,也要考虑未来解包的时候,将自己的有效载荷交付给上层的哪一个协议!
在这里插入图片描述
两个结论:(大部分协议的公共属性)

  • 一般而言,任何报头属性里面,一定要存在的一些字段支持,我们进行封装和解包,即:报头中一定要存着用于区分报头和有效载荷 的数据
  • 一般而言,任何报头属性里面,一定要存在的一些字段支持我们进行分用。即:报头中一定要存着用于 得知报文的有效载荷要给上层哪个协议的数据!

(3)示例

路由器可看做一个主机同时横跨了两个局域网

所有的IP向上的协议,发送和接受主机看到的数据是一模一样的
网络 -> IP网络,IP协议屏蔽了底层网络的差异! ! !

在这里插入图片描述
数据“你好”从客户发出,不断封装,到以太网驱动程序完成最后封装,再通过以太网传输给路由器下的以太网驱动程序,路由器下的以太网驱动程序解包数据,传给路由器,路由器发现这个数据是要传给IPB的,再通过路由器下的以太网驱动程序封装,通过令牌环传输给目标主机所在网络,自底向上解包传输!

(4)数据包传输通过路由器转发

网络传输数据的本质就是数据不断的封装和解包。
路由器可看做一个主机同时横跨了两个局域网

所有的数据,必须在”网线”上跑!

二、网络基础(一)

(一)局域网(以太网)通信的原理

1. 局城网中两台主机可以互相通信

如果两台主机,处于同一个局城网。这两台主机可以直接通信——以太网,一种局域网的标准(以太——物理学界太空中不存在的物质叫以太,为了致敬命名以太网)
以太网:站在系统的角度 就是两台主机之间的临界资源。

2.局域网通信原理

  • 每一台主机都要有唯一的标识:该主机对应的MAC地址!
  • 任何一台主机,在任何时刻,都可以随时发消息——碰撞域——无法准确的听到对应的消息——识别发生了碰撞(碰撞检测)——碰撞避免——等不碰撞了过一会儿再发消息!

在这里插入图片描述

(二)MAC地址和IP地址

1.生活小例子类比MAC地址和IP地址

举例:从西安往北京去旅游:常识告诉我们,一般我们在进行路线选择的时候,我们一般有两套地址:

  • 从哪里来<源IP>,到哪里去<目的IP>——IP地址:源IP,目的IP
  • 上一站从哪里来<源mac地址>,下一站要去哪里<目标mac地址>(由“到哪里去<目的IP>”决定)——MAC地址: 源mac地址,目标mac地址!

MAC地址:用来在局域网中,标定主机的唯一性。
IP地址:用来在广域网(公网),标定主机的唯一性。

(三)IP 地址和MAC地址详细解释

1.IP地址

P协议有两个版本 , IPv4 和IPv6. 我们凡是提到 IP 协议 , 没有特殊说明的 , 默认都是指 IPv4
IP 地址是在 IP 协议中 , 用来标识网络中不同主机的地址 ;
对于 IPv4 来说 , IP 地址是一个4字节, 32位的整数;
我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

2.MAC地址

MAC地址是物理网卡硬件地址 :用于识别相邻的两个物理硬件设备,它的大小为:6字节
①长度为48位, 及6个字节 . 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
②在出厂时就会设定,不能修改,MAC地址通常是唯一的,它的大小是6字节,用于识别相邻设备,在链路层完成相邻设备之间的数据传输。 (虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)。
③MAC地址与网络无关
一台计算机可以有多个MAC地址:一台计算机可以绑定多个网卡,进而可以拥有多个MAC地址。
举例:IP数据报的收发方进行跨网投递时,发送方需利用ARP协议获取发送方本网段路由器对应端口的MAC地址,因为当需要跨网络进行传递的时候,也就是意味着需要找到该数据包的下一跳的MAC地址,所以认为从发送方出来,首先先到到达本网段的路由器,所以获取本网段的路由器的MAC地址。

3.主机改变所在网络时需要修改IP地址,不可修改MAC地址。

A、B两个网络,IP均为静态分配,且IP段不同。 当一台主机从一个A网络移到B一个网络时:必须改变它的IP地址,但不需改动MAC地址。
解释:每个网络都会有不同的网段,网段是该网络的标识,在该网络中分配的IP地址都会带有网段标识,标识自己所属网络,这样路由器才能进行路径规划,因此当主机改变所在网络时需要将IP地址改成该网段的ip地址,但是MAC地址不用修改,MAC地址本身也是不允许修改。

4.IP协议的两个版本, IPv4和IPv6。

IPv4和 IPv6的地址格式定义在 netinet/in.h 中 ,IPv4 地址用 sockaddr_in 结构体表示 , 包括 16 位地址类型 , 16位端口号和32 位 IP 地址。
IPv4 、 IPv6 地址类型分别定义为常数 AF_INET 、 AF_INET6. 这样 , 只要取得某种 sockaddr结构体的首地址 ,不需要知道具体是哪种类型的sockaddr 结构体 , 就可以根据地址类型字段确定结构体中的内容。
socket API 可以都用 struct sockaddr * 类型表示 , 在使用的时候需要强制转化成 sockaddr_in; 这样的好处是程序的通用性, 可以接收 IPv4, IPv6, 以及 UNIX Domain Socket 各种类型的 sockaddr 结构体指针做为参数。

三、网络基础(二)

(一)源IP地址和目的IP地址

IP地址:用来在广域网(公网),标定主机的唯一性。

源 IP 地址:通信主机的源主机
目的IP地址:通信主机目的主机

两主机可以在同一个局域网也可以不在。

(二)端口号,套接字组成介绍

我们在网络通信的时候,不止是让两台主机通信。实际上,在进行通信的时候,不仅仅要考虑两台主机间互相交互数据。本质上讲,进行数据交互的时候是用户和用户在进行交互。用户的身份,通常是用程序体现的。程序一定是在运行中——进程!

主机间在通信的本质是:在各自的主机上的两个进程在互相交互数据!

IP地址可以完成主机和主机的通信,而主机上各自的通信进程,才是发送和接受数据的一方!

  • IP :确保主机的唯一性
  • 端口号(port):确保该主机上某一个进程的唯一性(则一个进程只能占用一个端口号)
  • IP:PORT = 标识互联网中唯一的一个进程!——>这两个合起来叫 socket(套接字)(翻译是插座)

网络通信的本质:就是进程间通信! ! !

端口号(port)是传输层协议的内容:

端口号是一个 2字节16位的整数 ;类型是uint16_t,不过传uint32_t也可以,最终会截断成uint16_t。 因为一般1-1023端口属于系统保留端口,这些端口已经分配给一些应用了,所以我们只能使用1024及以上的端口。即:assert(clientPort >= 1024);
端口号用来标识一个进程 , 告诉操作系统 , 当前的这个数据要交给哪一个进程来处理 ;

IP 地址 + 端口号能够标识网络上的某一台主机的某一个进程;

注1: 一个端口号只能被一个进程占用(一个进程可以有多个端口号,但一个端口号不可以对应多个进程,只要保证从端口号到进程的数据链路是唯一的 )
注2: Socket客户端的端口是不固定的, Socket服务端的端口是固定的。

解释:客户端的端口我们推荐是不主动绑定策略,这样可以尽可能的避免端口冲突,让系统选择合适端口绑定,因此不固定;

服务端的端口必须是固定的,因为总是客户端先请求服务端,因此必须提前获知服务端地址端口信息,但是一旦服务器端端口改变,会造成之前的客户端的信息失效找不到服务端了。

(三)理解 “端口号” 和 “进程ID”(端口号的意义)

pid在进程管理中表示唯一一个进程,端口号在网络通信中表示唯一一个进程的。

区别:
端口号是网络通信的概念,pid是进程管理的概念。如果我们非要用进程pid在网络通信中标识唯一一个进程,又在进程管理中标识唯一一个进程,即让进程pid两用,本质上是可以的。但是这增加了网络通信和进程管理的强耦合性。

端口号更侧重于表示这个进程是需要进行网络通信的,没有端口号就表示这个进程只在本地运行而不进行网络通信。(类似于学号和身份证号,要用学号表示一个学生在学校的唯一性)
总结: 端口号的意义:①使网络模块和进程管理模块解耦。② 有端口号就表示这个进程是网络进程,没有端口号可以不考虑该进程的网络功能。

(四)源端口号和目的端口号

传输层协议(TCP 和 UDP) 的数据段中有两个端口号 , 分别叫做源端口号和目的端口号 。 就是在描述 " 数据是谁发的, 要发给谁";

源IP:源端口, 目的IP:目的端口——两个socket对。

(五)TCP协议与UDP协议

1.TCP协议

此处我们先对TCP(Transmission Control Protocol 传输控制协议 ) 有一个直观的认识 ; 后面我们再详细讨论 TCP 的一些细节问题。
传输层协议

  • 有连接(要有建立连接的预备工作)
  • 可靠传输(可靠性:丢包重传,数据乱序排序等,但是会做更多工作,比较复杂。使用实例:例如转账不能丢包必须用 TCP协议 )
  • 面向字节流

2.UDP协议

此处我们也是对 UDP(User Datagram Protocol 用户数据报协议 ) 有一个直观的认识 ; 后面再详细讨论。
传输层协议

  • 无连接(不需要建立连接,直接发数据)
  • 不可靠传输(虽然无可靠性,但是做的工作很少,是简单协议。使用实例:例如全球直播就用 UDP协议 即可,网好就看,网不好就别看)
  • 面向数据报

(六)网络字节序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/31363.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Golang每日一练(leetDay0104) 最小高度树、戳气球

目录 310. 最小高度树 Minimum Height Trees &#x1f31f;&#x1f31f; 312. 戳气球 Burst Balloons &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一…

普通单目相机标定

前言 这里我们还是以普通相机为例(非鱼眼相机)来进行后续的相关标定操作,再回顾下相机的成像模型如下所示。 已知相机内参(fx,fy,u0,v0),畸变系数[k1,k2,k3,p1,p2],相机外参[R|T]。世界坐标系中点Pw(Xw,Yw,Zw),投影至像素坐标系点p(u,v)的计算过程如下。 1)由世…

Qt下使用QPainter实现界面上饼状图、圆环图的绘制

文章目录 前言一、示例讲解二、圆环图绘制步骤三、设置圆环图数据四、示例完整代码五、下载链接总结 前言 前面的文章有讲述使用Qt下的Charts 模块来进行饼图的绘制&#xff1a;QChart实现ui界面上指定位置饼状图、圆环图的绘制&#xff0c;但是使用过程中并不能很好的实现自己…

【LeetCode】动态规划 刷题训练(二)

文章目录 62. 不同路径题目解析状态转移方程完整代码 63. 不同路径 II题目解析状态转移方程完整代码 剑指 Offer 47. 礼物的最大价值题目解析状态转移方程完整代码 62. 不同路径 点击查看&#xff1a;不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图…

数据库架构是否该随着公司估值一起变化?

原文&#xff5c;The growing pains of database architecture 作者&#xff5c;Tim Liang, Software Engineer at Figma 2020 年&#xff0c;因为 Figma 不断加入新功能&#xff0c;筹备第二条产品线和用户不断增长导致数据库流量每年以 3x 速度增长&#xff0c;我们的基础设…

云原生之深入解析Kubernetes中Kubectl Top如何进行资源监控

一、Kubectl top 的使用 kubectl top 是基础命令&#xff0c;但是需要部署配套的组件才能获取到监控值&#xff1a; 1.8 以下&#xff1a;部署 heapter&#xff1b; 1.8 以上&#xff1a;部署 metric-server&#xff1b; kubectl top node&#xff1a;查看 node 的使用情况&a…

【C++】构造函数调用规则

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 &#xff01;时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 1、缘起 &#xff08;1&#xff09;默认情况下&#xff0c;C 编译器至少给一个类添加 3 个函数 ① 默认构造函数&#xff08;无参&#…

开源软件介绍——国内和国际主要开源社区

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来看一看国内和国际上有哪些主要开源社区。 开源社区的定义 开源社区又称为开放源代码社区&#xff0c;一般由拥有共同兴趣爱好的人组成。根据相应的开源软件许可证协议公布软件源代码的网络平台&a…

ChatGPT从入门到精通,深入认识ChatGPT

ChatGPT从入门到精通&#xff0c;一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定1、ChatGPT从入门到精通&#xff0c;一站式掌握办公自动化/爬虫/数据分析和可视( 点击观看完整版本 )https…

Clickhouse之物化视图分享

前言 ClickHouse广泛用于用户和系统日志查询场景中&#xff0c;主要针对于OLAP场景&#xff0c;为业务方提供稳定高效的查询服务。在业务场景下&#xff0c;数据以不同的格式、途径写入到clickhouse。用传统JOIN方式查询海量数据&#xff0c;通常有如下痛点: 每个查询的代码冗…

CTFshow-pwn入门-前置基础pwn23-pwn25

pwn23-25的题目会涉及到ret2shellcode、ret2libc等内容&#xff0c;本篇文章只会侧重研究这几道题目的wp&#xff0c;不会过多涉及到ret2shellcode、ret2libc的基本原理&#xff0c;等有时间再来写关于ret2libc、ret2shellcode…的相关内容。大家可以参考CTFwiki的文章去慢慢学…

【机器学习】十大算法之一 “SVM”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

Kubernetes(k8s)部署模式发展

目录 1 简介2 物理单机(~2000)2.1 主要代表 3 虚拟化&#xff1a;初期&#xff08;2001~2009&#xff09;3.1 VMware3.2 laaS 4 虚拟化&#xff1a;成熟期&#xff08;2010~至今&#xff09;4.1 OpenStack4.2 虚拟化四巨头 5 容器化:&#xff08;2013-至今&#xff09;5.1 Dock…

【备战秋招】每日一题:2023.04.26-华为OD机式-第三题-MC方块

在线评测链接:P1231 题目内容 MC最新版本更新了一种特殊的方块&#xff0c;幽匿催发体。这种方块能够吸收生物死亡掉落的经验并感染周围方块&#xff0c;使其变成幽匿块。Steve想要以此为基础尝试搭建一个经验仓库&#xff0c;他来到了创造超平坦模式&#xff0c;在只有草方块…

被测系统架构与数据流分析

开源项目litemall系统架构(https://github.com/linlinjava/litemall) 角色与数据用户产品前端技术栈后端技术栈数据存储 开源项目Mall的系统架构(https://github.com/macrozheng/mall) 角色与数据用户产品前端技术栈后端技术栈服务治理技术栈监控技术栈大数据处理技术栈数据存…

自动化测试工具 AirTest 的使用方法与简介

目录 前言&#xff1a; Airtest简介 1.基于图像识别的Airtest框架 2.基于UI识别的Poco框架 Airtest环境搭建 Airtest布局 Airtest使用步骤 第一步&#xff1a;连接移动设备 第二步&#xff1a;创建一个.air文件&#xff08;也就是我们的测试脚本&#xff09; 第三步&#xff1a…

【MySQL数据库 | 第二十篇】explain执行计划

目录 前言&#xff1a; explain&#xff1a; 语法&#xff1a; 总结&#xff1a; 前言&#xff1a; 上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具&#xff1a;SQL执行频率&#xff0c;慢日志查询&#xff0c;profile。但是这三个方法也只是在时间角度粗略的…

如何在 XMind 中绘制流程图

XMind 是专业强大的思维导图软件,由于其结构没有任何限制,很多朋友特别喜欢用它来绘制流程图。禁不住大家的多次询问,今天 XMind 酱就将这简单的流程图绘图方法分享给大家。 在 XMind 中,绘制流程图的主角是「自由主题」和「联系」。它们可以打破思维导图的限制,让你自由…

Type-C PD显示器方案简介

方案概述 LDR6020 Type-C PD显示器方案可以给显示器提供一个全功能C口&#xff0c;支持手机&#xff0c;电脑&#xff0c;游戏主机等一线投屏功能&#xff0c;同时支持PD快充输出。LDR6020内置了 USB Power Delivery 控制器和 PD BMC PHY 收发器&#xff0c;支持PD2.0/3.0等快…

Java多线程与并发

1、JDK版本的选择 选择JDK8、JDK11进行讲解的原因&#xff1a;Oracle长期支持 2、进程和线程的区别 进程和线程的由来 3、进程与线程的区别 进程是资源分配的最小单位,线程是cpu调度的最小单位. 所有与进程相关的资源&#xff0c;都被记录在PCB(进程控制块)中。进程是抢占…