【Linux】网络基础常识{OSI七层模型/ TCP/IP / 端口号 /各种协议}
文章目录
- 1.网络常识
- 1.0DHCP协议
- 1. 1IP地址/MAC地址/ARP协议是什么?
- IP/MAC
- ARP:IP ⇒ MAC
- 1.2手机连接wifi的原理 + SSID与BSSID
- 手机连接wifi
- SSID与BSSID
- 1.3手机如何通过“数据/流量”上网?
- 1.4电脑连接wifi的原理?电脑通过热点上网的原理?
- 1.5固定电话打电话的原理?智能手机打手机电话/语音电话/视频电话的原理?
- 1.6 2G/5G有什么区别?
- 1.7光纤和猫和路由器和wifi有什么关系?
- 1.8OSI中物理层涉及到的物理设备有那些
- 1.9集线器有什么功能?
- 1.10调制解调器和猫是什么
- 1.11局域网工作在数据链路层
- 1.12数据链路层有什么网络标准
- 1.13以太网,令牌环网,无限lan
- 1.14网络通信的理解
- 2.网络协议
- 2.1简要叙述OSI七层模型
- 2.2为什么OSI是七层,TCP/IP是四层或五层
- 2.3TCP/IP没有遵从OSI这个基本参考模型。这句话对吗?
- 2.4为什么叫做“以太”网?
- 2.5NAT协议
- 2.6TCP/IP五层(或四层)模型
- 2.7协议栈
- 3.计算机通信流程
- 4.网络传输流程
- 端口号
- 数据包封装和数据包分用
- IP/MAC
- 5.B站Up优质截图
- 5.1各施其职
了解网络发展背景,对局域网/广域网的概念有基本认识;
了解网络协议的意义, 重点理解TCP/IP五层结构模型;
学习网络传输的基本流程,理解封装和分用;
1.网络常识
1.0DHCP协议
DHCP(动态主机配置协议,Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
DHCP有以下几个主要优点:
网络管理简化:DHCP服务器集中管理IP地址的分配,减少了网络管理员手动配置IP地址的工作量。
提高IP地址利用率:DHCP服务器可以动态地分配和回收IP地址,避免IP地址的浪费。
增强网络安全性:DHCP服务器可以配置为只分配特定的IP地址范围给特定的设备,从而增强网络的安全性。
支持移动办公:当用户从一个子网移动到另一个子网时,DHCP可以自动更新其IP地址配置,实现无缝切换。
DHCP的工作流程通常包括以下四个步骤:
DHCP Discover:新加入网络的客户机寻找DHCP服务器。
DHCP Offer:DHCP服务器响应客户的请求并向其提供IP地址。
DHCP Request:客户机选择服务器提供的IP地址。
DHCP ACK:服务器确认所提供的IP地址的有效性。
需要注意的是,DHCP并不能防止网络中的IP地址冲突,但它可以减少IP地址冲突的可能性,因为DHCP服务器会跟踪哪些IP地址已经被分配出去。
在企业网络、学校网络以及许多其他公共网络中,DHCP都被广泛应用,使得设备接入网络并获取配置变得简单且高效。
1. 1IP地址/MAC地址/ARP协议是什么?
IP/MAC
计算机网络中用于标识和定位设备的两种重要地址。
IP地址:
IP地址(Internet Protocol Address)是互联网协议地址,用于在IP网络中唯一标识每一台设备。它通常是由一串数字组成,如192.168.1.1。
IP地址是分层的,它分为网络地址和主机地址两部分,这有助于路由器确定数据包的传输路径。
IP地址可以分为公有地址和私有地址。公有地址是在全球范围内唯一的,而私有地址则是用于内部网络,通过路由器等设备接入互联网时,会被转换为公有地址。
IP地址是逻辑地址,它并不直接对应于物理设备的物理位置或物理接口。
MAC地址:
MAC地址(Media Access Control Address)是媒体访问控制地址,也称为物理地址或硬件地址。它是由网络设备制造商在制造时分配给网络接口的,是全球唯一的。
MAC地址通常用于局域网中的通信,用于标识网络上的每一台设备。路由器等设备通过MAC地址来确定数据包应该发送给哪个物理接口。MAC地址是物理地址,与设备的物理接口直接相关。
二者之间的关系:
当一个数据包需要在网络中传输时,源设备会首先使用目标设备的IP地址来确定如何发送数据包。路由器会根据IP地址的路由信息,将数据包从一个网络转发到另一个网络,直到到达目标网络。
当数据包到达目标网络后,目标网络中的设备会使用MAC地址来确定数据包应该被发送到哪个具体的设备。如果源设备知道目标设备的MAC地址,它可以直接将数据包发送给目标设备;如果不知道,它会发送一个ARP(地址解析协议)请求来询问目标设备的MAC地址。
简而言之,IP地址用于在网络中定位设备,而MAC地址则用于在同一局域网中定位设备。二者协同工作,确保数据包能够正确地从源设备传输到目标设备。
ARP:IP ⇒ MAC
ARP(Address Resolution Protocol,地址解析协议)是一个网络协议,用于将32位IP地址转换为MAC地址。它通常用于局域网内部,特别是在IPv4网络中。ARP协议的主要功能是在只知道一个设备的IP地址时,找出其对应的MAC地址。
ARP的工作过程如下:
请求:当一个设备需要知道另一个设备的MAC地址时(通常是因为它想与那个设备通信),它会发送一个ARP请求。这个请求中包含目标设备的IP地址和发送请求设备的IP地址及MAC地址。
广播:ARP请求是以广播形式发送的,这意味着它会发送到局域网内的所有设备。
响应:目标设备在接收到ARP请求后,会检查请求中的IP地址是否与其自身的IP地址匹配。如果匹配,目标设备会发送一个ARP响应,其中包含其MAC地址。
更新ARP缓存:发送ARP请求的设备在接收到响应后,会将其存储在其ARP缓存中,以便将来可以直接使用,而不必再次发送ARP请求。
ARP协议在IPv4网络中非常重要,因为它允许设备在没有预先知道MAC地址的情况下进行通信。然而,IPv6网络使用了不同的机制(如邻居发现协议)来实现类似的功能,因此ARP在IPv6中并不使用。
需要注意的是,ARP协议有时也可能被用于网络攻击,如ARP欺骗或ARP泛洪攻击。因此,在配置和管理网络时,需要确保采取适当的安全措施来防范这些攻击。
1.2手机连接wifi的原理 + SSID与BSSID
手机连接wifi
基于无线网络技术和通信协议。
无线局域网技术:WiFi基于无线局域网(WLAN)技术,使用无线电波作为传输介质。无线路由器作为接入点,通过天线发送和接收无线电信号,实现与手机等设备的通信。
SSID与BSSID:每个WiFi网络都有一个唯一的SSID(服务集标识符),这是网络的名称,手机通过搜索并识别SSID来找到要连接的网络。同时,BSSID(基本服务集标识符)是无线路由器的MAC地址,用于标识特定的接入点。
认证与加密:为了确保网络安全,WiFi网络通常使用WPA2(Wi-Fi Protected Access 2)等安全协议进行身份验证和数据加密。手机在连接WiFi时,需要与无线路由器进行握手,通过密码或其他认证方式完成身份验证,然后建立安全的通信通道。
IP地址分配:一旦手机成功连接到WiFi网络,无线路由器会为其分配一个IP地址(通常是通过DHCP协议)。这个IP地址是手机在局域网内的唯一标识,用于与其他设备进行通信。
数据传输:手机通过WiFi连接后,就可以与路由器或其他设备进行数据传输。数据在传输过程中会经过调制和解调,以适应无线传输的需求。同时,通过一定的路由算法,数据包能够在网络中正确地找到目标地址。
综上所述,手机连接WiFi的原理涉及无线局域网技术、认证与加密、IP地址分配以及数据传输等多个环节。这些技术共同确保了手机能够安全、稳定地连接到WiFi网络,实现高速的无线数据传输。
SSID与BSSID
SSID和BSSID都是无线网络中的重要概念,它们在无线网络通信中扮演着不同的角色。
SSID,全称Service Set Identifier,即服务集标识。它主要用于标识无线网络的名称,用户可以通过搜索SSID来连接到特定的无线网络。对于公共网络(如咖啡店、机场等),SSID通常是公开可见的,任何设备都可以搜索到并连接。然而,在家庭或企业内部网络中,管理员通常会更改SSID,并且可以选择将其隐藏,以增加网络的安全性。但请注意,隐藏SSID并不意味着网络绝对安全,因为专门的工具仍可能发现隐藏的SSID。
BSSID,也称为Basic Service Set (BSS)的标识符,==>基本服务集标识符,是一个长度为48位的二进制标识符,用于识别不同的BSS。每个BSS都会被赋予一个唯一的BSSID。BSSID的主要优点在于它可以作为过滤之用,帮助设备在扫描无线网络时,确定哪个网络是可用的。由于BSSID是基于MAC地址生成的,因此它对于网络管理员来说非常有用,可以用于识别连接到网络的设备和监视网络的使用情况。此外,一些安全策略也可以基于BSSID来实现,例如将无线网络限制为仅允许特定的BSSID连接。
总的来说,SSID和BSSID在无线网络中各自扮演着重要的角色,SSID主要用于标识和连接网络,而BSSID则主要用于区分不同的基础服务集并识别连接到网络的设备。
1.3手机如何通过“数据/流量”上网?
当我们在手机上使用“数据/流量”上网时,实际上是手机通过移动通信网络(如2G、3G、4G、5G等)与其他设备进行数据传输和接收的过程。
手机通过数据/流量上网的原理主要依赖于无线通信技术和数据传输技术。首先,手机通过内置的无线网卡(如移动通信芯片)与附近的基站进行连接。这个连接是通过无线电波实现的,使用了蜂窝通信的技术。在连接建立后,手机可以将数据转换为无线数字信号,并通过选定的频道发送给基站。基站接收到信号后,会将其转发到运营商的核心网络。
核心网络由多个节点和服务器组成,通过高速光纤进行数据的传输和处理。当基站接收到手机发送的数据请求(如浏览网页、观看视频等)时,它会将这些请求转发到核心网络,并进一步转发到互联网上的相应服务器。服务器处理请求后,将相应的数据返回给基站,基站再将数据发送给手机。
同时,手机的IP地址是其在互联网上的唯一标识符,它帮助互联网上的设备找到手机并与其进行数据传输。这样,手机就可以通过数据/流量与互联网上的其他设备进行通信和交互,实现上网的功能。
需要注意的是,使用数据/流量上网会消耗手机的流量套餐中的配额,超出配额后可能需要支付额外费用。因此,在使用流量上网时,用户应关注自己的流量使用情况,并选择合适的套餐和流量管理策略。
总结来说,手机通过数据/流量上网是依赖于无线通信技术和数据传输技术的过程,它实现了手机与互联网之间的连接和数据交换,为用户提供了便捷的上网体验。
1.4电脑连接wifi的原理?电脑通过热点上网的原理?
电脑连接WiFi的原理与手机连接WiFi的原理相似,都是基于无线网络通信技术实现的。
以下是电脑连接WiFi的详细原理:
首先,电脑内置有无线网卡,这相当于一个无线接收器,能够接收和发送无线信号。当电脑打开WiFi功能并搜索可用的WiFi网络时,无线网卡会向周围发送广播信号,寻找可用的无线路由器或热点。
无线路由器或热点在接收到电脑的广播信号后,会回应一个信号,包含其身份信息和加密方式(如果有的话)。电脑接收到回应信号后,会显示出可用的WiFi网络列表。
用户从列表中选择要连接的WiFi网络,并输入密码(如果网络是加密的)。电脑通过无线网卡将连接请求和密码发送给无线路由器或热点。
无线路由器或热点验证密码的正确性。如果密码正确,它会与电脑建立无线连接,并分配一个IP地址给电脑,使其能够接入网络。
一旦连接建立成功,电脑就可以通过无线路由器或热点接入互联网。无线路由器或热点作为网络的网关,负责将电脑发送的数据包转发到互联网,并将从互联网接收到的数据包转发给电脑。
当电脑连接到一个热点(如手机热点)并通过该热点上网时,原理是类似的。手机热点相当于一个临时的无线路由器,它会创建一个WiFi网络供其他设备连接。电脑连接到手机热点后,通过手机的移动网络接入互联网。手机将数据信号转换为无线信号发送给电脑,电脑再通过无线网卡接收这些信号,并通过手机的移动网络进行上网。
总结来说,电脑连接WiFi或热点的原理是通过无线网卡与无线路由器或热点建立无线连接,并通过这些设备接入互联网,实现上网功能。在连接过程中,密码验证和IP地址分配等步骤确保了连接的安全性和有效性。
1.5固定电话打电话的原理?智能手机打手机电话/语音电话/视频电话的原理?
固定电话、智能手机打电话、语音电话和视频电话的通信原理虽有所差异,但都依赖于特定的通信技术和协议。以下是关于这些电话通信方式的原理简述:
固定电话打电话的原理:
固定电话依赖于公共交换电话网络(PSTN)进行通信。当用户拨打一个电话号码时,电话机通过电话线将拨号信号发送到最近的电话交换机。交换机识别号码并确定路由,将信号传输到目标电话所在的交换机,最终到达目标电话机。整个过程中,语音信号通过模拟信号的形式在电话线上传输。
智能手机打手机电话的原理:
智能手机之间的电话通信主要依赖于移动通信网络,如2G、3G、4G或5G。当用户拨打一个手机号码时,手机会向最近的基站发送请求信号。基站接收到信号后,会将其转发到移动网络核心,核心网络负责处理呼叫请求并找到目标手机所在的基站。然后,通过基站与目标手机建立通信连接,实现语音通话。在通话过程中,语音信号会被手机转换为数字信号,通过无线电波传输,再在接收端被转换为语音信号。
智能手机打语音电话的原理:
语音电话的原理与打手机电话相似,都依赖于移动通信网络。语音通话时,手机会将用户的语音信号转换为数字信号,并通过移动网络传输到对方手机。对方手机接收到数字信号后,将其解码还原为语音信号,实现实时通话。
智能手机打视频电话的原理:
视频电话除了传输语音信号外,还需要传输视频信号。视频信号通常通过压缩编码后,以数据包的形式在移动网络上传输。在发送端,手机会捕获摄像头的视频信号,进行编码和压缩,然后通过移动网络发送给对方手机。在接收端,手机会解码接收到的视频数据包,并显示在屏幕上,实现实时视频通话。视频电话可以利用普通的电话线路传输,也可以通过IP网络进行传输,这取决于视频电话的服务提供商和技术实现方式。
总的来说,无论是固定电话还是智能手机,电话通信都依赖于特定的通信网络和协议来实现语音和/或视频信号的传输。随着技术的发展,通信方式也在不断更新和演进,为用户提供了更加便捷和丰富的通信体验。
1.6 2G/5G有什么区别?
有了大面积网络的存在,美团,淘宝这样的东西才有用。
==> 马云创造时代还是时代成就马云 ⇒ 时代成就马云
2G和5G是两种不同的移动通信技术规格,它们在多个方面存在显著的差异。
首先,2G是第二代移动通信技术,主要实现语音通信和短信功能。它采用数字信号传输,提高了语音通信的质量,并支持短信服务。然而,2G网络的数据传输速率较低,无法支持高速数据传输应用,如互联网访问。
而5G是第五代移动通信技术,它支持高速数据传输、低延迟和大连接等特点。5G网络的速度比2G网络快数百倍,可以支持更多的应用和连接设备。此外,5G还支持更低的延迟,可以实现实时互动和虚拟现实应用。5G网络还具有更大的覆盖范围,能满足工业控制、远程医疗、自动驾驶等对时延和可靠性具有极高要求的垂直行业应用需求。
总结来说,5G在传输速率、延迟、连接数以及应用场景等方面都相较于2G有显著提升。随着技术的不断进步,移动通信网络也在不断发展,为用户提供更快、更稳定、更丰富的通信体验。
1.7光纤和猫和路由器和wifi有什么关系?
光纤、光猫、路由器和WiFi在现代网络通信中各自扮演着重要的角色,并且它们之间有着密切的联系和相互依赖的关系。
光纤是一种用于高速数据传输的线缆,它能够将光信号从一端传输到另一端。光纤通常用于宽带接入,提供高速、稳定的网络连接。
光猫(Optical Network Terminal,ONT)是光纤接入网络的终端设备。它的作用是将光纤中的光信号转换为电信号,以便后续的网络设备能够识别和处理。光猫通常与光纤直接相连,作为宽带接入的起点。
路由器则是一个网络设备,它负责将光猫转换后的电信号(即网络信号)进行进一步的处理和分发。路由器具有多个端口,可以连接多台设备,并通过网络协议实现设备之间的通信。它不仅能够提供有线网络连接,还可以通过内置或外接的无线模块提供WiFi功能。
WiFi是一种无线局域网技术,它使得设备可以在不连接网线的情况下进行网络连接。路由器开启WiFi功能后,会创建一个无线网络,设备可以通过连接到这个网络来进行上网。WiFi技术的使用大大方便了用户,使得移动设备和笔记本电脑等可以轻松接入网络。
综上所述,光纤提供了高速的网络连接,光猫将光纤中的光信号转换为电信号,路由器则将电信号进行处理和分发,并通过WiFi技术提供无线连接。它们共同构成了一个完整的网络接入和传输系统,使得用户能够轻松、高效地进行网络通信。在家庭或办公环境中,这些设备通常被组合在一起使用,以满足用户多样化的网络需求。
1.8OSI中物理层涉及到的物理设备有那些
在OSI(开放系统互连)七层模型中,物理层是最低层,主要负责处理传输介质上的信号传输。在物理层中,涉及的主要物理设备有以下几种:
网卡(Network Interface Card, NIC):网卡是计算机与网络之间的接口设备,负责在计算机与网络之间进行数据的传输和接收。它可以将计算机中的数据转换成能在网络上传输的信号,并能将网络上的信号转换成计算机能够识别的数据。
网线(Ethernet Cable):网线是用于连接计算机和网络设备的线缆,如双绞线、同轴电缆或光纤等。它负责在物理层上传输比特流。
集线器(Hub):集线器是一种将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。它采用广播的形式来传输信息,即向所有端口发送数据,所有端口上的设备都可以接收到数据。
中继器(Repeater):中继器是一种用于扩展网络传输距离的设备,它可以将一个网络段上的信号复制到另一个网络段上,从而实现信号的放大和传输距离的延长。
调制解调器(Modem):调制解调器是一种用于在数字信号和模拟信号之间进行转换的设备。在通过电话线等模拟线路进行数据传输时,需要使用调制解调器将数字信号转换为模拟信号,以便在模拟线路上传输;反之,也需要将接收到的模拟信号转换回数字信号。
这些设备在OSI的物理层中共同协作,实现了比特流的传输,为数据在网络中的可靠传输奠定了基础。需要注意的是,虽然网卡在某些情况下可能被认为跨越了物理层和数据链路层,但在这里我们主要关注其在物理层的作用。
1.9集线器有什么功能?
集线器是一种特殊的中继器,也是局域网中应用最广的连接设备。其主要功能如下:
网络接口扩展:集线器提供多个网络接口,每个接口都可以连接一台计算机。这使得多台计算机可以通过集线器相互通信和传输数据。
网络扩展:当现有的网络接口不足以连接所有计算机时,集线器可以通过其多个网络接口扩展网络能力,使更多的计算机能够接入网络。
数据传输:集线器能够传输数据包,将信息从一个计算机传送到另一个计算机。它接收一个网络接口的数据包,并将其复制到其他网络接口上,使得多个计算机可以同时接收到相同的数据包。
数据共享:通过集线器,多台计算机可以共享资源和数据文件,提高了数据的可用性和效率。
支持多种网络协议:集线器可以同时支持多种网络协议,例如以太网、无线局域网等,使得不同设备之间可以进行通信。
自动转发数据:集线器能够根据数据包的地址信息,自动将数据包转发到目标计算机,从而提高了整个网络的传输效率。
需要注意的是,集线器在OSI参考模型中工作于物理层,它主要对接收到的信号进行再生整形放大,以扩大网络的传输距离,并将所有节点集中在以它为中心的节点上。此外,集线器在转发数据时采用的是广播方式,即不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。
总的来说,集线器在局域网中起到了连接、扩展、传输和共享数据的关键作用,是构建和管理网络的重要设备之一。
1.10调制解调器和猫是什么
调制解调器,简称“猫”,是一种计算机硬件,能够将计算机的数字信号翻译成可沿普通电话线传送的模拟信号,而这些模拟信号又可被线路另一端的另一个调制解调器接收,并译成计算机可懂的语言。这样,就实现了两台计算机间的通信。简单来说,调制解调器主要起到调制和解调的作用,在网络环境中,它通常用于将来自互联网服务提供商(ISP)的信号转换成电脑或路由器可识别的信号,以便建立互联网连接。
光猫,全称光调制解调器(Optical Modem),是一种将光线路信号转换成数字信号的设备。它是连接光纤线路和家庭或企业网络的桥梁,主要实现光纤信号与电信号之间的转换,并提供网络接口,方便用户接入网络。光猫的类型主要有基于GPON和EPON技术的设备。
值得注意的是,虽然调制解调器和光猫都是用于信号转换的设备,但它们的工作原理和应用场景有所不同。【调制解调器主要用于电话线或有线电视线等传输介质,而光猫则专门用于光纤线路】
总的来说,这些设备在计算机网络中各自扮演着重要的角色,共同为用户的网络体验提供支持。如需更多关于这些设备的信息,建议查阅相关的技术文档或咨询专业的技术人员。
1.11局域网工作在数据链路层
局域网确实主要工作在OSI参考模型的数据链路层。
数据链路层在局域网中的主要任务是:
将数据分成帧进行传输,并对帧进行顺序控制(流控制)和差错控制,以避免数据在传输过程中的丢失和损坏。
局域网中的数据链路层负责处理网络接口与传输介质之间的通信。它接收来自网络层的数据包,并将其封装成帧,然后发送到物理层进行传输。在接收端,数据链路层负责从物理层接收帧,并进行解封装,将数据还原为原始的数据包,再传递给网络层。
此外,数据链路层还负责处理网络中的流量控制和差错控制。流量控制确保网络中的数据传输不会过快而导致数据丢失或网络拥塞,而差错控制则通过一系列机制(如校验和、确认应答等)来检测和纠正数据传输中的错误。
因此,可以说局域网的主要工作是在数据链路层进行的,它确保了数据在局域网中的可靠传输。当然,局域网也涉及到物理层的操作,如信号传输和介质访问控制等,但这些都属于物理层的功能范围。
1.12数据链路层有什么网络标准
数据链路层有多个网络标准,这些标准确保了不同设备在数据链路层能够互相通信。以下是一些主要的数据链路层网络标准:
以太网(Ethernet):以太网是目前最广泛使用的局域网技术之一。它定义了如何在数据链路层上传输数据,包括帧格式、寻址方式以及错误检测机制。以太网标准由IEEE(电气电子工程师协会)制定,包括多种速度等级,如10Mbps、100Mbps、1Gbps和10Gbps等。
点到点协议(PPP):PPP是一种用于在点对点链路上传输多协议数据包的数据链路层协议。它提供了建立、配置、测试和拆除数据链路连接的功能,以及错误检测、数据压缩等功能。PPP广泛应用于拨号连接、专线连接以及无线连接等场景。
高级数据链路控制(HDLC):HDLC是一种面向比特的同步数据链路层协议,广泛应用于广域网(WAN)和某些局域网(LAN)环境。它支持多种数据传输模式,包括正常响应模式、异步响应模式和异步平衡模式。HDLC具有高效、可靠的特点,适用于需要高数据传输速率和低延迟的应用。
令牌环网(Token Ring):虽然以太网在现代网络中更为常见,但令牌环网在过去也曾是一种重要的局域网技术。它使用令牌传递机制来避免数据碰撞,并提供了较高的数据传输速率和可靠性。令牌环网的标准由IBM等公司制定。
除了上述几种主要的网络标准外,数据链路层还有其他一些标准和协议,如帧中继(Frame Relay)、异步传输模式(ATM)等。这些标准和协议在不同的应用场景和网络环境中发挥着重要作用,确保数据在链路层上能够可靠地传输。
需要注意的是,随着网络技术的不断发展,新的数据链路层标准和协议也在不断涌现。因此,在实际应用中,需要根据具体的网络环境和需求选择合适的标准和协议。
1.13以太网,令牌环网,无限lan
以太网、令牌环网和无线LAN是三种不同的网络技术,各自具有独特的特点和适用场景。
以太网(Ethernet)是一种基于共享介质(如双绞线或光纤)的局域网(LAN)技术。它使用CSMA/CD(载波监听多点接入/碰撞检测)协议来协调数据传输,具有高效、可靠和灵活的特点。以太网的标准由IEEE(电气和电子工程师协会)制定,有多种不同的速率和传输介质可选,是目前应用最广泛的局域网技术之一。
令牌环网(Token Ring)则是一种不同的网络技术,常用于IBM系统中。在这种网络中,有一个专门的帧称为“令牌”,在环路上持续地传输以确定一个节点何时可以发送数据包。当节点需要发送数据时,它必须等待令牌的到来,然后才能发送。这种方式可以避免多个节点同时发送数据导致的冲突,从而实现网络的稳定传输。令牌环网具有身份验证、传输流量控制、高容错性和易于安装维护等特点。
无线LAN(Wireless Local Area Network)则是一种利用无线通信技术实现局域网连接的方式。它使用无线电波、红外线等无线传输介质,允许设备在无需物理连接的情况下进行通信。无线LAN具有灵活性高、移动性强、易于扩展等优点,广泛应用于家庭、办公室、公共场所等场景。
综上所述,以太网、令牌环网和无线LAN各有其特点和适用场景。在选择网络技术时,需要根据实际需求和网络环境进行综合考虑,选择最适合的技术方案。
1.14网络通信的理解
- 华为等生产路由器等通信设备,移动,联通去装。==》国家式基础设施建设。收益可能远不如成本。买地,招人,买设备,拿授权,做基站。铺设网络一般是成熟的公司才会去做,小型公司亟待解决的问题是运营和生存,他们通常会选择做一些软件供用户使用,在短时间内变现。而铺设网络这样涉及到人/政府/物/财/时间的复杂工作且短时间内无法变现,不是他们想做的。像联通移动这样去做这样工作的公司,通常想尽一切办法增大收入,比如推销电话卡。
- 为了省电话费,通信双方规定A打电话,响一下B挂断表示B很好,无需担心。响两下表示B没有钱了。响三下表示其他事情,B直接接通电话。电话响1,2,3声代表什么==》减少成本 ⇒ 协议/约定的目的:高效通信,减少成本
- 协议同,语系不同,即不同的一方对01赋予的含义不同,频率疏密/信号强弱,虽然遵守协议,但仍然不知道什么意思。 即双方规定了协议:10分别代表什么,但是双方对01的表示方式不一样。 要想传递各种不同的信息,就需要约定好双方的数据格式。
- 计算机生产厂商有很多;计算机操作系统;也有很多;计算机网络硬件设备, 还是有很多。如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 约定一个共同的标准!大家都来遵守,这就是 网络协议;规范软硬件通信标准成为行业标准,软件协议,硬件标准。不同厂商都要遵守行业标准。全球遵守一个标准,就可以实现通信。美国制裁华为的5g,是因为谁定标准谁有话语权。
协议分层:通信的复杂,本质是和距离成正相关的!
- 操作系统要进行协议管理 – 先描述,在组织
- 协议本质就是软件,软件是可以”分层“
- 协议在设计的时候,就是被层状的划分的!
- 协议 ==> 内核结构体,结构体对象发送–报头。协议本质是一种软件,可以分层; 之前见到过的分层:类内实现方法,main函数调用;底层的文件–struct file{};类的继承。
- 为什么要划分成为层状结构呢? a.场景复杂 b.功能解耦,便于人们进行各种维护==》网络协议也是层状的!
- 双方通信在用户层理解是双方直接在通信,一旦距离放大,面对main通信不切实际,而在远距离通信时,为了把数据能够正确高效的发收,需要遵守协议,而通信双方通常不需要关心底层协议如何工作的,他们通常关心他们在通信什么内容,如:你跟好友打电话,你以为你是跟他直接交流,实际上,你说的话发给手机,手机解码播放。你也不关心你的话是怎么传给他的,你只认为你们是在“面对面交流”,并不关心底层协议的实现。你们说的英语也好,汉语也好,你们都认为是在实时“面对面交流”,并不关心数据是如何发收的。又如,老板a给秘书a,秘书a给秘书b,秘书b给老板b。人交流只管他们在交流什么:吃什么几点,去哪。而不关心电话是怎么对语音进行 解码/加密/以某个频率 发送的。
2.网络协议
2.1简要叙述OSI七层模型
- OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
- 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
- OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
- 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整.
- 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
- 它既复杂又不实用; 按照TCP/IP四层模型来学习.
详细介绍----图片来源
OSI(Open System Interconnection)七层模型,即开放系统互连参考模型,是网络通信中的一种概念模型,用于描述网络设备如何相互连接、通信以及数据如何在它们之间传输。该模型将网络通信划分为七个层次,从高到低依次为:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。每个层次都有其特定的功能和作用,它们协同工作以实现数据的完整传输。
应用层:直接为用户的应用进程提供服务,如文件传输、电子邮件等。应用层协议定义了数据格式和协议规则,以确保不同应用之间的互操作性。
表示层:对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层负责数据的表示、加密和压缩等功能。
会话层:负责建立、管理和终止会话。会话层在传输层之上提供建立、维护和终止通信连接的服务。管理和控制登陆状态/同步服务:看电影断电了,下次再看继续看。
传输层:提供端到端的可靠数据传输服务。传输层负责数据的分段、重组、流量控制和错误控制等功能,以确保数据在传输过程中的完整性和可靠性。
网络层:负责将数据从源端传输到目的端,实现路由选择和分组转发。网络层协议如IP协议,负责在不同网络之间传输数据包。
数据链路层:将数据分成帧进行传输,负责将数据帧从一个节点传输到相邻节点。数据链路层实现帧同步、差错控制等功能,以确保数据在物理链路上的可靠传输。
物理层:负责传输比特流,定义了传输介质、接口特性等物理特性。物理层为数据在通信链路上的传输提供物理基础。
OSI七层模型为网络通信提供了一个清晰的框架,有助于理解网络的工作原理和设计网络协议。虽然在实际应用中,并非所有网络设备和系统都完全遵循OSI七层模型,但该模型仍为网络通信的发展提供了重要的理论基础。
OSI vs TCP/IP
- OSI是七层,模型去创造“实物”TCP/IP时,用了四层。
- 物理层/数据链路层/网络层 是 两台计算机能够进行通信的最低要求,怎么 【传数据/能不能传 对】 由传输层/应用层维护。
- 数据链路层/网卡层 在网络驱动中完成,网卡/无线网卡/令牌环网,这一层的驱动程序有差别,不同的计算机有差别。
- 对于一台主机,操作系统内核实现了从传输层到网络层的内容;
对于一台交换机,它实现了从数据链路层到物理层;
对于一台路由器,它实现了从网络层到物理层;
对于集线器;它只实现了物理层;
现在的路由器已经到了应用层,可以完成应用层的很多功能,甚至自带了网页信息,http请求,支持htcp等。. 很多交换机也实现了网络层的转发; 很多路由器也实现了部分传输层的内容(比如端口转发)
2.2为什么OSI是七层,TCP/IP是四层或五层
OSI(开放系统互连)七层模型和TCP/IP四层或五层模型的设计差异主要源于它们的初衷、目标以及实际应用场景的不同。
OSI七层模型是国际标准化组织(ISO)制定的开放系统互连基本参考模型,旨在提供一个通用的、标准化的网络通信框架。这个模型从物理层到应用层,每一层都有其特定的功能和职责,旨在确保数据在网络中的完整、可靠传输。七层的设计使得每一层的功能划分得非常清晰,有利于网络设计的简化和清晰化,同时也提供了很大的灵活性,因为各层相对独立,修改某一层的协议不会影响到其他层。
然而,OSI七层模型在实际应用中并未得到广泛采纳,主要原因在于其实现起来过于复杂,运行效率相对较低,且层次划分在某些方面显得不够合理,一些功能在多个层次重复出现。
相比之下,TCP/IP模型则更注重实际应用和效率。TCP/IP模型将网络通信划分为网络接口层、网际层、运输层和应用层(有时将运输层和应用层之间的会话层和表示层也纳入其中,形成五层模型)。这种设计更加简洁高效,更适用于互联网的实际应用。TCP/IP模型在互联网领域得到了广泛应用,并成为了事实上的国际标准。
总的来说,OSI七层模型和TCP/IP四层或五层模型的设计差异反映了它们不同的设计初衷和目标。OSI模型更注重标准化和通用性,而TCP/IP模型则更注重实际应用和效率。在实际应用中,可以根据具体需求和场景选择合适的模型。
2.3TCP/IP没有遵从OSI这个基本参考模型。这句话对吗?
TCP/IP协议栈在设计时并没有完全遵从OSI七层模型,但这并不意味着TCP/IP与OSI没有任何关联或相似之处。
首先,TCP/IP模型与OSI模型在概念上有许多相似之处。例如,两者都涉及到数据的封装和解封装、层次化的通信以及端到端的通信。TCP/IP模型中的网络接口层、网际层、运输层和应用层,与OSI模型中的物理层、数据链路层、网络层、传输层和应用层,在功能上有很大的对应关系。
然而,TCP/IP模型并没有完全遵循OSI模型的层次划分。例如,OSI模型中的表示层和会话层在TCP/IP模型中并没有直接的对应层次。TCP/IP更注重实际应用和效率,因此在设计时对一些功能进行了合并或简化。
此外,TCP/IP模型在实际应用中得到了广泛采纳,并成为了互联网的事实标准。尽管它没有完全遵从OSI模型,但这并不影响其在网络通信中的重要性和有效性。
因此,说TCP/IP没有遵从OSI这个基本参考模型是部分正确的,因为它们在设计理念、层次划分和功能实现上确实存在一些差异。但两者在概念上仍有相似之处,且都是网络通信领域的重要参考模型。
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)
能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议
网络使用中的最基本的通信协议;对互联网中各部分进行通信的标准和方法进行了规定;保证网络数据信息及时、完整传输;严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
2.4为什么叫做“以太”网?
以太网(Ethernet)的名称源于早期的科学假设和物理学理论。当时,科学家们提出了一个假设,即声音是通过空气传播的,那么光是如何传播的呢?有人提出,光可能是通过一种叫做“以太”的物质进行传播的。然而,后来的科学研究,特别是爱因斯坦的理论,证明了以太这种物质实际上是不存在的。
尽管如此,当以太网技术诞生时,人们为了纪念这个曾经的科学假设,就将这种局域网技术命名为“以太网”。因此,以太网的名字是对早期科学假设的一种致敬,同时也体现了其在计算机领域中作为通信介质的重要角色。
此外,以太网最早是由美国的Xerox公司与前DEC公司设计的一种通信方式,后来被IEEE802.3委员会规范化。因此,以太网有时也被称为802.3以太网。在实际应用中,以太网以其高效、可靠和灵活的特点,成为了当今局域网技术的主流。
2.5NAT协议
NAT(Network Address Translation)是一种网络地址转换协议,它能够将内部网络的私有IP地址和外部网络的公网IP地址进行转换,使得内部网络的计算机能够访问公网上的资源。NAT协议的出现主要是因为IPv4地址资源有限,无法满足网络中所有设备都拥有唯一的公网IP地址的需求。NAT协议能够有效地利用现有的IPv4地址资源,实现多个内部网络设备共享同一个公网IP地址的功能,从而减轻了IPv4地址不足的压力。
NAT协议的工作原理如下:
当内部网络的设备需要访问外部网络时,NAT设备会将该设备的私有IP地址转换为公网IP地址,并将转换后的数据包发送到外部网络。当外部网络的响应数据返回时,NAT设备会将其中的公网IP地址转换回对应的私有IP地址,然后将数据包发送到内部网络的相应设备。
NAT协议有三种实现方式:
静态NAT、动态NAT和PAT(端口地址转换)。静态NAT是将一个私有IP地址映射到一个公共IP地址,实现一对一的映射关系,适用于需要固定映射关系的情况。动态NAT适用于多个内部设备共享有限的公共IP地址的情况。PAT则是通过端口号的映射,使得多个内部设备可以共享一个公共IP地址的不同端口,从而进一步提高IP地址的利用率。
NAT协议的应用场景非常广泛
包括私网主机访问外网服务器、外网主机访问私网服务器、NAT ALG(应用于一些协议中以字符串形式保存的IP地址和端口号信息的情况)、NAT多实例(将NAT的应用分成不同的虚拟NAT)以及私网主机通过域名访问私网服务器(DNS-Mapping)等。
总的来说,NAT协议在网络通信中起到了非常重要的作用,它有效地解决了公网地址不足的问题,使得内部网络的设备能够正常访问外部网络资源。
2.6TCP/IP五层(或四层)模型
- TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
- TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
分层
物理层: 负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆,(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。
数据链路层: 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(从网线上检测到什么信号算作新帧的开始)、冲突检测(检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。网络编程主要就是针对应用层.
2.7协议栈
协议栈(Protocol Stack),又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易。因为每个协议模块通常都要和上下两个其他协议模块通信,它们通常可以想象成是协议栈中的层。每个高级的层次增加更多的特性,用户应用程序只是处理最上层的协议。
协议栈是网络中各层协议的总和,其形象地反映了网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。使用最广泛的是英特网协议栈,由上到下的协议分别是:
应用层(HTTP,TELNET,DNS,EMAIL等)
运输层(TCP,UDP)
网络层(IP)
链路层(WI-FI,以太网,令牌环,FDDI等)
物理层
协议栈的设计需要考虑协议栈的特点,比如有的协议栈是对称的(比如rtsp流控协议),有些是不对称的(比如http协议),所以在把握大结构的同时要针对各自的特点来设计。
在实际应用中,协议栈的开发需要完成一系列步骤,如阅读协议定义文档,设计协议栈的框架,编码开发等。同时,还需要考虑如何处理低优先级任务,如何优化性能等问题。
请注意,协议栈只是计算机网络中的一个组成部分,其设计和实现需要综合考虑网络的整体架构和需求。因此,对于协议栈的深入理解需要具备一定的计算机网络知识和实践经验。
3.计算机通信流程
两台一根线,多台多根线,再多集线器。
- 集线器:广播式发送 ; 多设备同时发送:数据紊乱
- 交换机:交换机有多个接口,每个接口存储一台设备的mac地址,表示这台计算机可以由这个接口来向其他接口发信息。交换机mac到mac的通信;初次mac地址表的创建:A[macA,macB]通过交换机的接口泛洪式发送(该接口也就存储了A的mac地址),只有B匹配,B接收到信息;B回复A,连接到交换机对应的接口,该接口也就存储了B的mac地址,交互机上次已经存储了A的mac,那么B可以通过交换机可以向A的接口发,不用再泛洪;经过几次通信后,mac地址表会记录下所有的接口分别对应哪些设备,这样就可以实现设备间通信; mac地址跟设备的网卡绑定,网卡更换,mac地址也就变了,mac地址表接口存储的该mac地址也就无用了,于是提出来一个抽象的地址–》ip地址。
- IP地址:在不知道对方设备的mac地址但知道其ip地址时,A[macA,ipA,ipB]通过交换机的接口泛洪式发送(该接口也就存储了A的mac地址),B设备匹配ipB,之后B就会把消息的发送方A的(mac–ip)保存下来即arp记录表 供以后使用,然后B回复A,A就会把消息的回复方B的(mac–ip)保存下来。通信双方有了对应的mac地址就可以通信了,由ip-》mac的过程称为arp协议;
- 分网段:内网 — 路由器 — 外网
内网设备A向外网发消息,先去路由器,怎么去呢?A的网关记录路由器的ip;路由器上有路由表,记录着最终目的地和下一目的地。也就是说,这条消息从一开始就知道他要【ipA–>ipB】,A先去了路由器,路由器根据A的目的地B来为这条消息选择下一步【mac】去哪,即“下一跳”。然后如此一步一步到达目的地。谁来维护路由表?==》自动互相学习,自动管理路由表的OSPF协议,更牛的BGP协议。 - 端口:ip地址记录AB双方的ip,A通常发消息是要发给B的某一个应用,为每个应用配一个端口号,A发消息时报文中写(ipA,ipB,端口A1,端口B1)带端口的消息发送==》UDP协议。UDP不稳定–》TCP稳定又可靠。引入端口: 从不同的计算机设备间通信讲到端口即进程的通信:本质上是用户想要通过机器上的应用来发送或接收数据。IP地址(公网IP),标定了主机的唯一性。把数据送到对方的机器是目的吗?不是,网络通信过程,本质其实是进程间通信!将数据在主机间转发仅仅是手段,机器收到之后,需要将数据交付给指定的进程!端口号是标识特定主机上的进程的唯一性。
4.网络传输流程
同一个网段内的两台主机进行文件传输.
应用层:Telnet、FTP和e-mail等
传输层:TCP和UDP
网络层:IP、ICMP和IGMP
链路层:设备驱动程序及接口卡
两台计算机通过TCP/IP协议通讯的过程如下所示
局域网中两台主机是可以直接通信的
逻辑上每层直接通信,物理上需要经过好几层协议
每层都有自己的协议定制方案,每层协议都要有自己的协议报头
从上到下交付数据的时候,要添加报头
封装的本质: 添加报头
解包: 去掉报头&&展开分析
跨网段的主机的文件传输.
数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器
端口号
- 用端口号来标识进程的唯一性而不是用pid,pid属于进程管理的范畴:解耦!
- 进程有很多,并不是所有的进程都需要端口号,即并不是所有的进程都需要进行通信,只给需要通信的进程分配端国号。
- 10086是一个服务系统 包含很多服务人员 ⇒ ip 地址标识一个机器,机器内有许多带着端口号的进程;服务人员的工号 – 端口号。打10086==> 标识机器;服务人员服务 ⇒ 进程通信
- 一个进程可以绑定多个端口号;但是一个端口号不能被多个进程绑定
- 再理解:通常所说的计算机间通信,实际上,是用户使用计算机设备上的某一个应用来与另一台机器上的应用通信。
数据包封装和数据包分用
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
- 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation). 【报头】
- 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息
- 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
IP/MAC
认识IP地址
IP协议有两个版本,IPv4和IPv6。凡是提到IP协议,默认指IPv4
IP地址是在IP协议中,用来标识网络中不同主机的地址;
对于IPv4来说,IP地址是一个4字节, 32位的整数;
通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;
认识MAC地址
MAC地址用来识别数据链路层中相连的节点;
长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).
5.B站Up优质截图
5.1各施其职
客户端主机最初并不知道默认网关的MAC地址,没有办法封装成帧
这时候就可以用ARP协议去广播,找到网关IP对应的MAC地址:把包(客户端ip+网关ip)封装成帧(客户端mac+广播mac),源MAC地址填自己的,目标MAC地址填广播地址,假设有个二层交换机,这个交换机记录不同的接口对应的MAC地址,交换机收到广播后发送出去;
默认网关收到消息后查看帧里的包,发现发送端的ip地址是自己的ip地址,知道对方在找自己,把自己的MAC地址封装成帧还给对方,这样对方就知道网关的mac了。
继续前面的
当前设备接受到帧,目标mac是自己的,就拆开,发现ip不是,但是自己的路由表有怎么去目标ip的条目,然后把源mac重新改成自己,目标mac改成下一跳(指的是下一个三层设备),这样转发出去
相关文章:
【Linux】网络基础常识{OSI七层模型/ TCP/IP / 端口号 /各种协议}
文章目录 1.网络常识1.0DHCP协议1. 1IP地址/MAC地址/ARP协议是什么?IP/MACARP:IP ⇒ MAC 1.2手机连接wifi的原理 SSID与BSSID手机连接wifiSSID与BSSID 1.3手机如何通过“数据/流量”上网?1.4电脑连接wifi的原理?电脑通过热点上网…...
python--面向对象编程和类的定义,对象的创建
一、面向对象简介 1、什么是面向对象 面向对象是一种编程思想,把数据和对数据的多个操作方法封装在一起组成类,这样通过这个类创建出来的对象,就可以直接调用这些方法了。 2、面向对象相关的术语 类:用来描述具有相同的属性和方法的对象的…...
nssm 工具把asp.net core mvc变成 windows服务,使用nginx反向代理访问
nssm工具的作用:把项目部署成Windows服务,可以在系统后台运行 1.创建一个asp.net core mvc的项目weblication1 asp.net core mvc项目要成为windows服务需要安装下面的nuget包 <ItemGroup><PackageReference Include"Microsoft.Extension…...
String Encryptor custom Bean not found with name ‘jasyptStringEncryptor‘...
项目采用 spring boot 2.6.13 jasypt-spring-boot-starter 3.0.5 apollo-client 1.6.0 自定义jasyptStringEncryptor,服务器上启动死活报找不到bean jasyptStringEncryptor,采用默认的,密文配置项自然解密失败导致服务无法启动。 经过一…...
FastAPI+React全栈开发14 FastAPI如何开发REST接口
Chapter03 Getting Started with FastAPI 14 How does FastAPI speak REST FastAPIReact全栈开发14 FastAPI如何开发REST接口 Let’s create a minial FastAPI application, a classic Hello World example, and start examining how FastAPI structures the endpoints. I u…...
在 DDD 中,如何处理领域对象的持久化?
在 DDD 中,领域对象的持久化工作通常是通过仓库 Repository 和工厂 Factory 实现的。仓库是一种用于访问领域对象的机制。他负责将领域对象从内存中保存到持久存储,如数据库中,以及从持久存储中检索领域对象。而工厂则负责从持久存储中组装领…...
centos 如何安装nvidia-container-runtime
在CentOS上安装nvidia-container-runtime,首先需要确保你的系统已经安装了NVIDIA的驱动和docker。以下是安装步骤: 确保Docker已安装: sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/lin…...
非写代码无以致远
标题党一下,本篇文章主要汇总了一些代码题,让大家写一些代码练习一下吧! 变种水仙花_牛客题霸_牛客网 (nowcoder.com) #include<stdio.h> int main() {for (int i 10000; i < 99999; i) {int sum 0;for (int j 10; j < 1000…...
刷题之Leetcode34题(超级详细)
34. 在排序数组中查找元素的第一个和最后一个位置 力扣链接(opens new window)https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/ 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始…...
从0到1构建uniapp应用-store状态管理
背景 在 UniApp的开发中,状态管理的目标是确保应用数据的一致性,提升用户体验,并简化开发者的工作流程。通过合理的状态管理,可以有效地处理用户交互、数据同步和界面更新等问题。 此文主要用store来管理用户的登陆信息。 重要…...
Uinx线程详解
目录 一.什么是线程? 并发(Concurrency) 并行(Parallelism) 1.1 线程的概念 1.2 线程的基本函数 1.3 线程的基本使用例子: 二.线程的属性 2.1线程属性使用例子 三.线程互斥 3.1互斥锁 3.2互斥锁常用函…...
线性代数笔记23--马尔可夫矩阵、傅里叶级数
1. 马尔可夫矩阵 例子 A [ . 1 . 001 . 3 . 2 . 099 . 3 . 7 0 . 4 ] A \begin{bmatrix} .1 & .001 & .3\\ .2 & .099 & .3\\ .7 & 0 & .4 \end{bmatrix} A .1.2.7.001.0990.3.3.4 马尔可夫矩阵满足条件 λ 1 为特征值 \lambda1为特征…...
Elasticsearch 压测实践总结
背景 搜索、ES运维场景离不开压力测试。 1.宿主机层面变更:参数调优 & 配置调整 & 硬件升级2.集群层面变更:参数调优3.索引层面变更:mapping调整 当然还有使用层面变更,使用API调优(不属于该文章的讨论范围…...
Spirngboot JWT快速配置和使用
2、JWT 2.1、JWT介绍 JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌。 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。 JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从…...
【Java SE】继承
🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. 继承1.1 继承是什么1.2 继承的意义1.3 继承的语法1.4 继承的方式1.5 子类中访问父类成员1.5.1 子类中访问…...
设计模式(19):策略模式
策略模式 策略模式对应与解决某一个问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法。并且由客户端决定调用哪个算法。 本质 分离算法,选择实现; 策略模式角色 上下…...
Linux 命令 top 详解
1 top命令介绍 Linux系统中,Top命令主要用于实时运行系统的监控,包括Linux内核管理的进程或者线程的资源占用情况。这个命令对所有正在运行的进程和系统负荷提供不断更新的概览信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的内容…...
Android安卓开发 - 简单介绍(一)
最近呢需要重构还有维护安卓项目,所以最近会从零开始梳理开发的一些知识点以及开发的内容 前面已经写了安装的教程,idea怎么安装,还有官方的开发工具Android Studio怎么安装 2024最新版Android studio安装入门教程(非常详细&…...
AJAX —— 学习(二)
目录 一、利用 JSON 字符串 返回数据 (一)基础代码 (二)原理及实现 二、nodmon 工具 自动重启服务 (一)用途 (二)下载 (三)使用 三、IE 缓存问题 &a…...
CSC博士联培申请时间线
暂时只记得这么多了,有问题会及时修改。 #mermaid-svg-ZMjY9etaS7StCVuw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ZMjY9etaS7StCVuw .error-icon{fill:#552222;}#mermaid-svg-ZMjY9etaS7StCVuw .e…...
大数据实验三-HBase编程实践
目录 一.实验内容 二.实验目的 三.实验过程截图及说明 1、安装HBase 2、配置伪分布式模式: 3、使用hbase的shell命令来操作表: 4、使用hbase提供的javaAPI来编程实现类似操作: 5、实验总结及心得体会…...
【Python】Pillow支持的图像文件格式
完全支持格式只读格式只写格式仅标识格式BLPCURPALMBUFRBMPDCXPDFGRIBDDSFITSXV ThumbnailsHDF5DIBFLCMPEGEPSFPXGIFFTEXICNSGBRICOGDIMIMTJPEGIPTC/NAAJPEG 2000MCIDASMSPMICPCXMPOPNGPCDPPMPIXARSGIPSDSPIDERQOITGASUNTIFFWALwebpWMF、EMFXBMXPM 参考文献 图像文件格式 - P…...
算法——最小生成树
Prim算法: 算法步骤: 1.选择一个起始节点作为最小生成树的起点。 2.将该起始节点加入最小生成树集合,并将其标记为已访问。 3.在所有与最小生成树集合相邻的边中,选择权重最小的边和它连接的未访问节点。 4.将该边和节点加入最小…...
OpenHarmony相机和媒体库-如何在ArkTS中调用相机拍照和录像。
介绍 此Demo展示如何在ArkTS中调用相机拍照和录像,以及如何使用媒体库接口进行媒体文件的增、删、改、查操作。 本示例用到了权限管理能力ohos.abilityAccessCtrl 相机模块能力接口ohos.multimedia.camera 图片处理接口ohos.multimedia.image 音视频相关媒体业…...
【EasyExcel】多sheet、追加列
业务-EasyExcel多sheet、追加列 背景 最近接到一个导出Excel的业务,需求就是多sheet,每个sheet导出不同结构,第一个sheet里面能够根据最后一列动态的追加列,追加多少得看运营人员传了多少需求列。原本使用的 pig4cloud 架子&…...
韩顺平 | 零基础快速学Python
环境准备 开发工具:IDLE、Pycharm、Sublime Text、Eric 、文本编辑器(记事本/editplus/notepad) Python特点:既支持面向过程OOP、也支持面向对象编程;具有解释性,不需要编程二进制代码,可以直…...
docker部署DOS游戏
下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/dosgame-web-docker:latestdocker-compose部署 vim docker-compose.yml version: 3 services:dosgame:container_name: dosgameimage: registry.cn-beijing.aliyuncs.com/wuxingge123/dosgame-web-docke…...
基于单片机的无线红外报警系统
**单片机设计介绍,基于单片机的无线红外报警系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的无线红外报警系统是一种结合了单片机控制技术和无线红外传感技术的安防系统。该系统通过无线红外传感器实…...
【JAVAEE学习】探究Java中多线程的使用和重点及考点
˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…...
Day81:服务攻防-开发框架安全SpringBootStruts2LaravelThinkPHPCVE复现
目录 PHP-框架安全-Thinkphp&Laravel Laravel CVE-2021-3129 RCE Thinkphp 版本3.X RCE-6.X RCE 版本6.X lang RCE J2EE-框架安全-SpringBoot&Struts2 Struct2 旧漏洞(CVE-2016-0785等) struts2 代码执行 (CVE-2020-17530)s2-061 Str…...
烟台网站建设推荐企汇互联见效付款/如何免费建立一个网站
第九章 接口(二)(接下来的内容是(一)的补充,本篇文章主要讲三个知识点)1. 继承内部类简单来讲就是内部类中外部类继承内部类,在外部类继承内部类的时候就必须要解决对应外部类引用初…...
wordpress推荐文章/百度账号
看到一个喜欢的项目点watch,接收all activate 然后你就可以在未读中找到你关注的项目...
ukidc做电影网站/怎样优化关键词到首页
暑假期间,一些家长会要求孩子坚持每天写日记或作文,来锻炼自己的写作水平。为了让孩子可以更专心地写作,家长一般都不会直接让他们使用电子设备来写日记,而是会选择孩子更为习惯的纸质本子来写内容。对于写好的日记或作文内容&…...
知名企业文化案例/郑州seo排名工具
配置一个Linux的开发环境,用VM10CentOS7(Kernel版本3.10.0-327.10.1.el7),之后发现VMTools功能不全,查证后发现需要卸载重装,于是开始折腾。 按照各种说明,先后运行 yum install gcc、 yum install kernel-devel,gcc确…...
花店网站建设毕设介绍/电子商务平台
2009年,华晨汽车在德国的Euro NCAP标准碰撞测试中成绩糟糕,成为当年中国汽车业的典型事件。“碰撞门”后的沈阳华晨金杯汽车正视问题,对自主品牌遇到这种挫折,抑或是一种壁垒,但公司承认与和世界发达国家的一些企业有很…...
html打开网页播放视频/seo内部优化具体做什么
文章目录前言时序图常用元素人实体生命线激活生命线交互激活可以叠加提示框的使用实线与虚线的规则完整的一个例子参考前言 时序图可以反映业务场景下各主体的操作以及操作顺序,可以讲人、系统、事件有机的结合起来。 时序图常用元素 人 实体 实体可以时系统&#…...