计算机网络——OSI网络层次模型

news2024/10/1 17:25:46

计算机网络——OSI网络层次模型

  • 应用层
  • 表示层
  • 会话层
  • 传输层
    • TCP和UDP协议
    • 复用分用
  • 网络层
  • 数据链路层
  • 物理层
  • OSI网络层次模型中的硬件设备
    • MAC地址和IP地址
    • MAC地址
    • IP地址
    • MAC地址和IP地址区别
  • OSI网络层次模型通信过程解释
    • 端到端
    • 点到点
    • 端到端和点到点的区别

我们之前简单介绍了一下网络层次模型,如果还没有看过上一篇网络层次模型的小伙伴可以点击这里:

https://blog.csdn.net/qq_67693066/article/details/136596939

虽然OSI网络层次模型并没有被使用,但是,它的思想,可以帮助我们更好理解数据的传输过程,所以我们今天来讲OSI

应用层

我们先从应用层开始,应用层是直接面向用户的,是用户和网络的界面。

应用层是OSI(开放系统互连)七层模型中的最高层,也被称为应用实体(AE)。它直接与应用程序接口,并提供常见的网络应用服务。应用层的作用不仅在于实现多个系统应用进程之间的通信,还负责完成一系列业务处理所需的服务。

既然每一层都有自己的协议,那么常见的应用层协议有哪些呢?

HTTP协议(Hyper Text Transfer Protocol,超文本传输协议):这是一种最基本的客户机/服务器的访问协议。浏览器向服务器发送请求,而服务器回应相应的网页。它是万维网上能够可靠地交换文件的重要基础。
DNS协议(Domain Name System,域名系统):是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。
FTP协议(File Transfer Protocol,文件传输协议):是因特网上使用得最广泛的文件传送协议。它提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限。
SMTP协议(Simple Mail Transfer Protocol,简单邮件传送协议):是电子邮件的发送协议,用于将电子邮件从发送者传递到接收者的邮件服务器。
POP3协议(Post Office Protocol 3):邮件读取协议,通常被用来接收电子邮件。
Telnet协议(Telnet Remote Terminal Protocol):是一个简单的远程终端协议,也是因特网的正式标准,用于实现远程登录功能。
SNMP协议(Simple Network Management Protocol,简单网络管理协议):用于网络设备的管理,如路由器、交换机等。
SSH(Secure Shell):是建立在应用层基础上的安全协议,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

在这里插入图片描述

表示层

接着我们来看表示层:表示层的主要作用是处理两个通信系统中信息的交换方式

就好像翻译,如果我们要跟一个泰国人讲话,我们要找一个翻译,将我们的中文翻译成泰文,然后才能和这个泰国人交流。

表示层是OSI(开放系统互连)七层模型中的第六层,位于会话层之上,应用层之下。其主要任务是为异种机通信提供一种公共语言,以便能进行互操作。由于不同的计算机体系结构使用的数据表示法可能不同,表示层便负责处理与数据表示有关的问题,以确保不同系统之间的数据能够正确交换和理解。

具体来说,表示层的主要功能包括:

数据格式化:将应用层提供的数据转换为适合传输的格式,例如文本、图像、音频等数据可以被转换为二进制格式,以便于在网络中传输。同时,也可以对数据进行加密,保证数据的安全性和机密性。
数据压缩与解压缩:为了减少传输的数据量,表示层可以对数据进行压缩。接收端在接收到数据后进行解压缩,还原原始数据。
数据描述和语法:定义数据的结构、语法和描述方式,包括数据格式、数据类型、数据字段的解释等,以确保数据的正确传输和解释。
数据转换:表示层还可以将数据从一种表示形式转换为另一种表示形式,以适应不同系统之间的数据交换要求。

具体来说,表示层没有具体的协议,但是有数据转换、编码和加密的技术和方法:

数据转换(Data Translation):
数据压缩(Data Compression): 通过减少数据的冗余性,将数据压缩成更小的形式,以节省带宽和存储空间,并提高传输效率。常见的压缩算法包括无损压缩(如 DEFLATE、LZ77)和有损压缩(如 JPEG、MP3)。
数据加密(Data Encryption): 将数据转换为密文,以保护数据的机密性和安全性。常见的加密算法包括对称加密算法(如 AES、DES)和非对称加密算法(如 RSA、DSA)。
数据编码(Data Encoding):
字符编码(Character Encoding): 将字符集中的字符映射到数字代码的过程,以便计算机能够处理和存储文本数据。常见的字符编码包括 ASCII、UTF-8、UTF-16、ISO-8859 等。
传输编码(Transfer Encoding): 在数据传输过程中对数据进行编码,以确保数据的可靠传输。例如,Base64 编码用于将二进制数据转换为可打印字符,以便通过电子邮件等文本协议传输。
数据加密(Data Encryption):
对称加密(Symmetric Encryption): 使用相同的密钥进行加密和解密的加密算法。这种加密方式简单高效,但需要确保密钥的安全性,常见的算法有 AES、DES、3DES 等。
非对称加密(Asymmetric Encryption): 使用一对密钥(公钥和私钥)进行加密和解密的加密算法。公钥用于加密数据,私钥用于解密数据,常见的算法有 RSA、DSA、ECC 等。
哈希函数(Hash Functions): 将任意长度的数据映射为固定长度的哈希值的算法。哈希函数通常用于数据的完整性验证和数字签名,常见的算法有 SHA-256、MD5 等。

在这里插入图片描述

会话层

会话层的功能是向表示层实体或者用户提供连接,并且有序的传输数据

会话层是OSI(开放系统互连)七层模型中的第五层,位于传输层之上,它利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。会话层主要负责建立、管理和终止应用程序之间的会话。具体来说,

会话层的主要功能包括:

会话管理:会话层负责提供会话的开始和结束控制,包括会话的建立、认证、维护和关闭等。它确保应用程序之间的会话得以正确建立和有效管理。
同步:会话层提供同步机制,确保应用程序之间的数据交换和通信按照正确的顺序进行。它可以在数据流中插入同步点,以便在接收端正确解析和处理数据。
对话控制:会话层支持应用程序之间的对话控制,定义对话规则和协议,如请求-应答模式、双向通信等,以确保应用程序之间的交互是有序、可靠的。
会话恢复:在会话中断或失败的情况下,会话层提供会话的恢复机制,能够恢复到之前的状态,以便应用程序能够继续进行数据交换和通信。
安全性和身份验证:会话层可以提供安全性和身份验证的功能,确保会话中的数据传输和通信是安全的,防止未经授权的访问和数据泄露。

会话层的主要协议有:

RPC(远程过程调用):这是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
SQL(结构化查询语言):虽然SQL主要被用作数据库查询语言,但在某些情况下,它也可以被用作会话层协议,特别是在数据库驱动的分布式应用程序中。
NFS(网络文件系统):这是一种分布式文件系统协议,允许计算机客户端将远程NFS服务器共享的目录挂载到本地的文件系统中,从而像访问本地文件一样访问远程文件。
NetBIOS:这是一种网络基本输入输出系统,主要用于在局域网内实现计算机之间的通信。NetBIOS提供了网络会话服务,允许应用程序之间建立和维护会话连接。
ASP协议:是端云一体的协议,旨在为用户提供超低时延、超高画质的实时交互体验。这是一套高性能、高可靠、高安全的协议,其中Streaming是指流式、流化传输,图形命令流、图像流、音视频流等均已纳入到ASP协议的设计考虑之中

在这里插入图片描述

传输层

传输层的功能是:负责两个进程之间的通信,即端到端的通信。传输单位是报文段或用户数据报

传输层在整个网络体系结构中扮演着至关重要的角色,其主要功能包括但不限于以下几个方面:

提供进程间的逻辑通信:传输层是实现网络环境中源端节点和目标端节点两个对等实体间进行数据通信的端到端的服务层。这一层为运行在不同主机上的进程提供了逻辑通信,确保数据能够准确、有序地从发送方传输到接收方。
复用和分用:复用是指发送方不同的应用进程都可以使用同一个传输层协议传送数据。分用则是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。这种机制确保了数据能够在多个应用进程之间有效地共享网络资源。
差错检测:传输层会对收到的报文进行差错检测,以确保数据的完整性和准确性。如果检测到错误,传输层会采取相应的措施,如请求重传或丢弃错误数据,以保证数据的可靠传输。
流量控制:传输层通过流量控制机制,调节发送方和接收方之间的数据传输速率,以避免因数据发送过快而导致接收方缓冲区溢出或网络拥塞。
拥塞控制:当网络出现拥塞时,传输层会采取拥塞控制策略,如降低发送速率或丢弃部分数据,以减轻网络负担并维护网络的稳定性。

此外,传输层还提供了诸如连接管理、分段与重组、端口寻址等功能,以确保数据的可靠、高效传输。这些功能共同协作,为上层应用提供了稳定、可靠的通信服务。

TCP和UDP协议

TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)都是位于传输层的协议,它们在功能和应用场景上存在显著的差异。

TCP协议提供的是面向连接的、可靠的字节流服务在客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,然后才能传输数据。TCP提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传到另一端。由于TCP的这些特性,它适用于对数据传输的可靠性有较高要求的应用场景,如文件传输、电子邮件等
相比之下,UDP协议则是一个简单的面向数据报的运输层协议即面向非连接。在传输数据报前,UDP不需要在客户和服务器之间建立一个连接,且没有超时重发等机制,因此其传输速度相对较快。UDP协议不保证数据传输的可靠性、顺序性和流量控制,它只是简单地把应用程序传给它的数据报发送出去,因此,UDP适用于对实时性要求较高、但可以接受一定数据丢失或乱序的应用场景,如实时音视频传输、在线游戏等

值得注意的是,传输层协议如TCP和UDP在提供这些功能时有所不同。例如,TCP协议提供面向连接的可靠传输服务,而UDP协议则提供无连接的不可靠传输服务。这些差异使得它们在不同的应用场景中具有不同的优势和适用性。

复用分用

复用分用听起来很难理解,其实核心就是哪个端口的信息就给哪个端口

假设在一个网络中,有两个主机A和B,它们之间通过传输层进行通信。主机A上有两个进程QQ微信,它们都需要向主机B发送数据。同样,主机B上也有两个进程QQ和微信,它们需要接收这些数据。

复用:

当主机A的进程QQ想要发送数据时,它会将数据交给传输层,并指定目标为主机B的进程QQ。同样,进程微信也会将数据交给传输层,并指定目标为主机B的进程微信。
传输层在接收到这些数据后,会负责将它们封装成适合网络传输的格式,并添加必要的头部信息,如源端口号、目标端口号等。这样,即使两个进程P1和P2的数据都经过同一个传输层接口发送,传输层也能根据头部信息将它们区分开,实现多个进程的复用。

分用:

当主机B接收到来自主机A的数据包时,传输层首先会根据头部信息中的目标端口号来确定这些数据应该交付给哪个进程。例如,如果目标端口号对应进程QQ,那么这些数据就会被交付给QQ;如果目标端口号对应进程微信,那么数据就会被交付给微信。
这样,即使主机B同时接收到来自多个源的数据包,传输层也能根据目标端口号将它们正确地分发给对应的进程,实现分用。

通过这个例子,我们可以看到复用和分用在传输层中的作用。复用使得多个进程可以共享同一个传输层接口发送数据,提高了资源的利用效率;而分用则确保了接收方能够正确地将数据交付给对应的进程,实现了数据的准确传输。这两个概念共同构成了传输层的核心功能之一,为网络通信提供了可靠的数据传输服务。

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

网络层

网络层的主要功能是:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,传输单位为数据报

网络层还有以下功能:

路由选择与分组转发:网络层负责确定数据从源主机到目标主机传输的最佳路径,即路由选择。它还会将传输层的数据报文封装成分组(Packet,也称为“包”),并基于选择的路由将分组转发到下一个节点,直至到达目标主机。
网络连接复用:网络层能够实现网络连接的复用,即允许多个进程或应用通过同一个网络连接进行数据传输,从而提高网络资源的利用效率。
差错检测与恢复:在数据传输过程中,网络层会进行差错检测,如果发现数据错误或丢失,会采取相应的措施进行恢复,如请求重传,以确保数据的完整性和准确性。
服务选择:网络层可以为传输层提供不同的服务,如数据报服务和虚电路服务。这些服务可以根据应用的需求进行选择,以满足不同的通信需求。
网络管理:网络层负责管理网络中的数据通信过程,确保数据能够正确地从源端传输到目的端。它还需要采用适当的控制措施来进行疏导,以应对网络中的拥塞等问题。
流量控制与拥塞控制:网络层通过流量控制机制,调节发送方和接收方之间的数据传输速率,以避免因数据发送过快而导致接收方缓冲区溢出或网络拥塞。同时,当网络出现拥塞时,网络层会采取拥塞控制策略,如降低发送速率或丢弃部分数据,以减轻网络负担并维护网络的稳定性。
网络互连:网络层还负责将一个网络与另一个网络互相连接起来,实现跨网络的通信。这使得不同网络之间的主机能够互相通信,实现数据的共享和交换。

网络层的主要协议:

Internet 协议(IP): IP 协议是互联网中最基础和最重要的协议之一,用于在网络中定位和传输数据包。它定义了数据包的结构、寻址和路由规则。
Internet 控制报文协议(ICMP): ICMP 主要用于在 IP 网络上发送控制消息。它用于检测网络设备的可达性、诊断网络故障和执行路径 MTU(最大传输单元)发现等功能。
地址解析协议(ARP): ARP 用于将 IP 地址解析为 MAC 地址(物理地址)。在局域网中,ARP 通过广播查询目标 IP 地址对应的 MAC 地址,以便实现数据包的传输。
Reverse ARP(RARP): RARP 与 ARP 相反,它用于将 MAC 地址解析为 IP 地址。通常用于无盘工作站等场景中。
Internet 组管理协议(IGMP): IGMP 用于在 IP 多播网络中管理组成员关系。它允许主机加入或离开多播组,并向路由器提供关于组成员的信息。
Internet 服务质量(QoS)协议: QoS 协议用于在 IP 网络中提供不同的服务质量。它包括各种机制,如流量调度、拥塞控制、优先级标记等,以满足不同应用对服务质量的需求。
IPv6: IPv6 是 IP 协议的下一代标准,用于解决 IPv4 地址枯竭等问题。它提供了更大的地址空间、更好的安全性和配置管理等功能。
IPsec(IP Security): IPsec 提供了在 IP 层上进行安全通信的机制,包括加密、身份验证和完整性检查等功能,用于保护数据包的安全性。
Internet 协议集成服务(IP Integrated Services): IP Integrated Services 定义了一系列服务质量(QoS)相关的协议和机制,以支持在 IP 网络中提供差异化的服务。

这些协议和技术在网络层中发挥着重要作用,为数据包的传输、路由和安全提供了基础支持。在实际应用中,不同的网络层协议可能会根据网络拓扑、需求和应用场景的不同而有所选择和组合。
在这里插入图片描述

数据链路层

数据链路层的主要任务就是将网络层传下来的数据报组装成帧
数据链路层在计算机网络中扮演着关键的角色,其主要作用可以总结为以下几点:

帧同步与成帧:数据链路层负责将数据组合成数据块,封装成帧。帧是数据链路层的数据传输单位,这种封装方式有助于实现数据的有效差错控制。通过帧同步技术,数据链路层能够确保在数据传输过程中,接收方能够准确地识别并处理每一个帧。
差错控制:数据链路层具有差错控制功能,以确保数据在传输过程中的准确性。通过采用一系列差错检测与纠正机制,如循环冗余检验(CRC)等,数据链路层能够发现并修复在传输过程中可能出现的错误。
流量控制:为了保证数据通信的有序进行,数据链路层还负责流量控制。通过调整发送速率和接收速率,数据链路层可以避免因接收方接收延迟而造成的数据丢失,确保数据的稳定传输。
链路管理:数据链路层还负责数据链路的建立、维护和释放。这包括处理链路建立过程中的各种信令和协议,以及监测和维护链路的稳定性,确保数据能够在两个相邻节点之间可靠地传输。
MAC寻址:数据链路层还负责MAC寻址,即计算机网卡的MAC地址的识别。MAC地址是计算机在网络中的唯一标识,数据链路层通过MAC地址来识别并定位网络中的设备。
区分数据和控制信息:在很多情况下,数据和控制信息是在同一帧中传输的。数据链路层能够区分这些数据和控制信息,以确保它们能够被正确地处理和应用。
透明传输:数据链路层能够将任何比特组合的数据有效传输,即实现透明传输。这意味着无论数据的类型和格式如何,数据链路层都能够将其准确无误地传输到目的地。

数据链路层的主要协议包括以下几种:

点对点协议(Point-to-Point Protocol, PPP):这是一种用户计算机和ISP进行通信时所使用的数据链路层协议。PPP协议必须规定特殊的字符作为帧定界符,以便使接收端从收到的比特流中准确地找到帧开始的位置和结束的位置。同时,它还需要保证传输的透明性,并且能够在同一条物理链路上同时支持多种网络层协议的运行。
以太网(Ethernet)协议:以太网协议用于实现链路层的数据传输和地址封装。在Ethernet II帧中,目的地址和源地址字段各占6个字节,用于确定帧的接收者和标识帧发送者。
高级数据链路协议(High-Level Data Link Protocol, HDLC):HDLC协议用于同步或异步点到点或多点配置的链路层通信。它提供了数据完整性检查、流量控制和错误恢复机制。
帧中继(Frame Relay):帧中继是一种面向连接的、在数据链路层上实现的数据传输技术。它使用虚电路来提供可靠的、高速的数据传输服务。
异步传输模式(Asynchronous Transfer Mode, ATM):ATM是一种面向连接的、基于信元的传输技术。它支持多种类型的数据传输,包括语音、视频和数据。

在这里插入图片描述

物理层

物理层的主要功能是在物理媒介上实现比特流的透明传输

物理层是计算机网络OSI模型中的最低层,它直接涉及通信信道上的原始比特流的传输。以下是物理层的主要功能:

比特编码: 物理层负责将数字数据转换为比特流,以便在通信媒体上传输。这包括将高层数据编码成电压、光脉冲、电磁波或其他物理信号。
传输媒体: 物理层定义了数据传输所使用的传输媒体的类型,如双绞线、同轴电缆、光纤等。它规定了电缆的规格、特性和传输速率等信息。
物理拓扑: 物理层定义了网络的物理拓扑结构,包括总线型、星型、环型等。物理拓扑描述了连接在网络中的设备之间的实际物理关系。
时钟同步: 物理层确保通信设备的时钟同步,以便正确地解释比特流。时钟同步对于准确地发送和接收比特流非常重要。
物理接口标准: 物理层定义了设备之间的物理接口标准,包括连接器类型、电缆引脚分配、电压等。这确保了不同设备之间的互操作性。
数据传输速率: 物理层规定了数据传输的速率,即比特率。这决定了在通信媒体上传输数据的速度。
传输模式: 物理层定义了数据的传输模式,如单工、半双工和全双工。单工是指数据只能在一个方向上传输,半双工是指数据可以在两个方向上传输但不能同时进行,而全双工则允许双方同时进行数据传输。

总的来说,物理层提供了实际的硬件传输基础,确保数据可以在不同设备之间通过物理媒体进行可靠的传输。物理层的规范和标准对于确保不同厂商生产的设备和传输媒体之间的互操作性至关重要。

物理层的协议和技术有:

Ethernet(以太网): Ethernet 是一种常见的局域网(LAN)技术,它定义了在物理层和数据链路层之间的协议。Ethernet 协议包括了物理层的细节,如数据的编码方式、传输速率和电缆规范等。
Wi-Fi(无线局域网): Wi-Fi 是一种无线网络技术,它定义了在物理层和数据链路层之间的协议。Wi-Fi 协议规定了无线信号的频率、调制方式、数据传输速率等。
Fiber Channel(光纤通道): 光纤通道是一种用于存储网络的高速数据传输技术,它在物理层上使用光纤传输数据,并定义了光纤的规范和标准。
RS-232: RS-232 是一种常见的串行通信标准,它定义了在物理层上的电气特性、信号传输方式等。虽然 RS-232 主要用于串行通信,但它也涉及到物理层的一些方面。
USB(通用串行总线): USB 是一种用于连接计算机及外部设备的通信接口,它定义了在物理层上的连接器、电缆规范等。
IEEE 802.3: IEEE 802.3 是一个网络标准,定义了以太网的物理层和数据链路层的细节,包括数据的编码方式、传输速率等。
IEEE 802.11: IEEE 802.11 是一个无线局域网标准,定义了 Wi-Fi 的物理层和数据链路层的细节,包括无线信号的调制方式、频率、数据传输速率等。
DSL(数字用户线): DSL 是一种用于在普通电话线上传输数字数据的技术,它涉及到在物理层上的调制、解调和信号传输等。

在这里插入图片描述

OSI网络层次模型中的硬件设备

我们上面提到的都只是一些抽象的概念,那么如何通过硬件实现呢?

物理层
网卡:是计算机与网络的接口,它负责将计算机的数据转换为能够在物理介质上传输的格式。
网线:用于连接网络设备,实现数据的物理传输。
集线器:也称为多口中继器,可以看作是多口中继器,每个端口可以看做一个中继器,负责将电缆传输来的信号进行调整和放大再传输给另一个电缆。
中继器:负责将减弱的信号进行放大和发送,确保信号在传输过程中的稳定性和完整性。
调制解调器:用于将数字信号转换为模拟信号(或反之),以便在电话线等模拟介质上传输数据。
数据链路层
网桥:能够识别数据链路层的数据帧,并根据数据帧的内容将数据发送到相邻的其他网络段。
交换机:交换机是用来进行报文交换的机器,多为链路层设备(二层交换机),能够进行地址学习,采用存储转发的形式来交换报文。交换机还可以将网络“分段”,通过对照MAC地址表,只允许必要的网络流量通过交换机,从而隔离广播风暴,减少误包和错包的出现。
网络层
路由器:路由器的主要作用是连通不同的网络,并选择信息传送的线路。它能选择通畅快捷的近路,提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。
传输层
TCP 卡和 UDP 卡: 用于加速和卸载传输层协议处理。
负载均衡器: 分发传入的连接请求到多个服务器,实现负载均衡。
会话层
操作系统的会话管理软件: 管理应用程序之间的对话,确保数据的正确流动。
表示层
加密硬件和解密硬件: 用于加密和解密数据以确保安全性。
数据格式转换设备: 负责在不同系统之间转换数据格式。
应用层
服务器硬件(Web 服务器、邮件服务器等): 提供各种网络服务和应用。
客户端设备: 运行各种应用程序,例如 Web 浏览器、电子邮件客户端等。

MAC地址和IP地址

MAC地址

MAC地址(Media Access Control Address)是网络设备(如计算机、路由器、网络打印机等)网卡上的硬件地址,用于在局域网内唯一标识每个网络设备。MAC地址是由48位二进制数表示,通常以十六进制表示,并由连字符或冒号分隔成六组。例如,一个典型的MAC地址可能是类似于 00:1A:2B:3C:4D:5E 的形式。

MAC地址是由网络设备的制造商在生产过程中分配的,因此每个网络设备的MAC地址都是唯一的。在数据链路层中,交换机和网桥使用MAC地址来识别和转发数据帧,以确保数据包通过正确的路径到达目的地。MAC地址通常不会改变,除非网络设备的网卡被替换或重新编程。

Windows下的Mac地址用:ipconfig /all命令
在这里插入图片描述Linux下用:ip link
在这里插入图片描述

IP地址

IP地址(Internet Protocol Address)是用于在计算机网络中唯一标识和定位网络上设备的一种地址。IP地址是由数字和点号组成的标识符,用于在互联网上路由数据包。它允许网络中的设备相互通信,并确保数据能够从源地址传输到目标地址。

有两个主要版本的IP地址,即IPv4(Internet Protocol version 4)和IPv6(Internet Protocol version 6):

IPv4地址
32位长,通常以点分十进制表示,如 192.168.0.1。
由四个八位组(字节)组成,每个八位组用十进制表示。
由于IPv4地址空间有限,随着互联网的发展,IPv6逐渐成为主流。
IPv6地址
128位长,通常以冒号分隔的八组十六进制表示,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334。
提供了更广泛的地址空间,以满足互联网增长的需求。
IPv6的采用旨在解决IPv4地址枯竭的问题,并提供更多的地址以支持日益增长的设备数量。

IP地址的两个主要类型是公有IP地址和私有IP地址:

公有IP地址: 用于在互联网上唯一标识设备。这些地址是由互联网服务提供商(ISP)分配的,使设备能够直接访问互联网。
私有IP地址: 用于在局域网内部唯一标识设备。这些地址在局域网内部使用,不直接暴露在互联网上。常见的私有IP地址范围包括 192.168.x.x、172.16.x.x 到 172.31.x.x、以及 10.x.x.x。

路由器和交换机是网络中的设备,负责在不同网络之间传递数据包,并根据IP地址路由数据。 IP地址是互联网通信的基础,它使得数据能够在全球范围内进行有效的传输和交流。

Windows下输入:ipconfig
在这里插入图片描述Linux下输入:ip addr

在这里插入图片描述

MAC地址和IP地址区别

MAC地址(Media Access Control Address)和IP地址(Internet Protocol Address)是网络通信中两个不同的标识符,各自在 OSI 模型的不同层次上发挥作用。以下是它们的主要区别:

位置在OSI模型中的不同层次
MAC地址: 位于 OSI 模型的数据链路层。它是一个由硬件制造商分配的物理地址,用于在局域网内唯一标识网络设备。
IP地址: 位于 OSI 模型的网络层。它是一个逻辑地址,用于在全球互联网络中唯一标识网络上的设备。
唯一性
MAC地址: 全球唯一,由硬件制造商分配,并通常以十六进制表示。MAC地址用于在局域网内确保每个设备的唯一性。
IP地址: 在全球互联网络中唯一。IP地址由网络管理员或Internet服务提供商(ISP)分配,它可以是IPv4地址(32位)或IPv6地址(128位)。
作用范围
MAC地址: 主要用于本地网络中的数据链路层通信。交换机和网桥使用MAC地址来识别和转发数据帧。
IP地址: 用于在全球互联网络中定位和标识设备。路由器使用IP地址来路由数据包,确保它们达到正确的目的地。
分配方式
MAC地址: 随着网络设备的制造而分配。每个网络接口卡(NIC)都有一个唯一的MAC地址。
IP地址: 由网络管理员或ISP分配。IP地址可以是静态分配(手动配置)或动态分配(通过DHCP协议)。
关联层次
MAC地址: 直接与数据链路层相关,用于局域网内直接通信。
IP地址: 与网络层相关,使设备能够在不同网络之间进行通信。

总体而言,MAC地址是一个更低层次的标识符,用于局域网内的直接通信,而IP地址是一个更高层次的标识符,用于在全球互联网络中唯一标识设备并实现跨网络通信。

OSI网络层次模型通信过程解释

OSI网络层次模型通信中上四层为端到端,下三层为点到点
在这里插入图片描述

端到端

“端到端”(End-to-End)是一种通信架构或网络设计模式,其中通信系统的端点(即通信的起始点和目标点)直接相互通信,而不需要通过中间节点进行处理或存储。这种设计模式的核心思想是在通信链路的两端实现必要的功能,以确保通信的可靠性、安全性和效率。
在端到端的通信模式中,数据在通信的源和目的之间直接传输,中间节点(如网络设备或服务器)只负责传输数据,而不修改数据内容或执行特定的处理。这种设计模式的一个重要优势是可以减少中间节点对通信过程的影响,提高通信的安全性和可靠性。此外,端到端通信还可以降低通信延迟,提高通信的效率。
端到端通信在许多领域都有应用,包括网络通信、数据传输、加密和安全通信等。例如,在互联网通信中,端到端加密技术可以确保数据在通信的两端之间进行加密和解密,从而保护数据的隐私和安全

点到点

“点到点”(Point-to-Point)是一种通信模式,其中通信系统中只有两个节点直接相连,形成一条直接的通信链路。这两个节点分别是通信的源(发送方)和目的地(接收方)。在点到点通信中,信息从源节点发送到目的地节点,不涉及其他中间节点或设备。

点到点通信的特点包括:

直接连接: 只有两个节点直接相连,没有中间节点。这种直接性有助于简化通信过程和降低延迟。
专用通信链路: 通常,点到点通信使用专门的通信链路,这可以是物理电缆、光纤或虚拟连接。
一对一通信: 每个节点只与一个特定的对端节点通信,形成一对一的关系。
适用于远程连接: 点到点通信常用于连接远距离的地理位置,例如两个远程办公室之间或两个城市之间的通信。
点到点协议: 通常,点到点通信需要使用特定的协议,确保源节点和目的地节点能够正确理解和处理传输的数据。

点到点通信可以在各种领域应用,包括计算机网络、电信、远程控制系统等。在计算机网络中,点到点连接可以用于建立私有网络连接、虚拟专用网络(VPN)或直接的物理连接。

端到端和点到点的区别

端到端(End-to-End)和点到点(Point-to-Point)是网络通信中的两个重要概念,它们之间存在一些关键的区别。

首先,从定义上来看端到端通信指的是在数据传输之前,先为数据的传输开辟一条通道,然后再进行数据的传输。这种方式确保了数据从发送端能够直接、无误地传输到接收端。而点到点通信则是发送端设备将数据传给与其直接相连的设备,这台设备在合适的时候再将数据传给与之直接相连的下一台设备,通过一系列直接相连的设备,最终将数据传到接收端
其次,从传输方式和特点上来看端到端传输在数据发送前会经过各种交换设备建立一条链路,使发送端和接收端之间仿佛直接相连。一旦链路建立,发送端就可以开始发送数据,直到数据发送完毕并得到接收端的确认。这种方式的优点在于发送端知道接收设备一定能收到数据,而且在经过中间交换设备时不需要进行存储转发,因此传输延迟较小。然而,端到端传输也存在一些缺点,如直到接收端收到数据为止,发送端的设备需要一直参与传输,如果整个传输的延迟很长,那么对发送端的设备可能会造成浪费;另外,如果接收设备关机或故障,端到端传输将无法实现。
相比之下,点到点传输则没有建立专门的链路而是依赖于设备之间的直接连接进行数据的逐跳传输。这种方式的优点在于发送端设备在送出数据后,其任务就已经完成,不需要参与整个传输过程,因此不会浪费发送端设备的资源。即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲。然而,点到点传输的缺点在于发送端发出数据后,并不知道接收端能否收到或何时能收到数据。

简单来说,端到端的方式给人感觉就是一下子就传过来了,没有经过复杂处理,而点到点是一步一步传过来的。

了解这些之后OSI网络层次模型通信过程就是一个逐级打包和解包的过程
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数组:初始化,访问某一个,遍历

文章目录 静态初始化数组数组的访问:遍历数组案例 动态初始化数组总结案例 静态初始化数组 定义数组的时候直接给数组赋值。 简化格式: int[] ages {12,52,96}; 完整格式: int[] ages new int[]{12,16,26};数组变量名中存储的是数组在内存…

LINUX ADC使用

监测 ADC ,使用CAT 查看&#xff1a; LINUX ADC基本使用 &adc {pinctrl-names "default";pinctrl-0 <&adc6>;pinctrl-1 <&adc7>;pinctrl-2 <&adc8>;pinctrl-3 <&adc9>;pinctrl-4 <&adc10>;pinctrl-5 …

xxl-job学习记录

1、应用场景 例&#xff1a; 某收银系统需要在每天凌晨统计前一天的财务分析、汇总 某银行系统需要在信用卡还款日前三天发短信提醒等 2、为什么需要使用任务调度 spring中提供了注解Scheduled的注解&#xff0c;这个注解也可以实现定时任务的执行 我们只需要在方法上使用这…

安全加速SCDN在网站运营中的重要作用

SCDN&#xff08;Secure Content Delivery Network&#xff09;是一种安全加速技术&#xff0c;对于网站运营起到非常重要的作用。它能够提升用户体验&#xff0c;保护网站安全&#xff0c;提高网站的性能和可靠性。本文将详细介绍SCDN在网站运营中的作用。 首先&#xff0c;SC…

STM32基础--启动文件详解

启动文件简介&#xff08;我的建议是记住这个就行&#xff09; 启动文件由汇编编写&#xff0c;是系统上电复位后第一个执行的程序。主要做了以下工作&#xff1a; 初始化堆栈指针 SP_initial_sp &#xff08;没错就是你机组学的那个堆栈指针&#xff09;初始化 PC 指针 Rese…

《vtk9 book》 官方web版 第3章 - 计算机图形基础 (4 / 6)

3.10 将所有内容整合起来 本节概述了图形对象以及如何在 VTK 中使用它们。 图形模型 我们已经讨论了许多在场景渲染中起作用的对象。现在是将它们整合到一个全面的图形和可视化对象模型中的时候了。 在可视化工具包中&#xff0c;有七个基本对象用于渲染场景。幕后有许多其他对…

【开发】JavaWeb开发中如何解析JSON格式数据

目录 前言 JSON 的数据类型 Java 解析 JSON 常用于解析 JSON 的第三方库 Jackson Gson Fastjson 使用 Fastjson Fastjson 的优点 Fastjson 的主要对象 JSON 接口 JSONObject 类 JSONArray 类 前言 1W&#xff1a;什么是JSON&#xff1f; JSON 指 JavaScrip t对象表…

c++0305习题

一、求下面表达式的值 1&#xff0e;0 2&#xff0e;-1 3&#xff0e;1 4&#xff0e;&#xff08;1&#xff09;1 &#xff08;2&#xff09;3.2 &#xff08;3&#xff09;0 &#xff08;4&#xff09;7.0 5.&#xff08;1&#xff09;0&#xff08;2&#xff09;300.005&a…

【蓝桥·算法双周赛】第七场分级赛——小白入门赛

2.霓虹【算法赛】 - 蓝桥云课 (lanqiao.cn) st数组用来存第i个位置&#xff0c;这个字母有没有编号j #include<bits/stdc.h> const int N1e610; using lllong long; std::map<std::string,std::string> mp;std::string a,aa; int st[N][10];// int stt[N][10];//对…

Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows+Linux

Tensorflow2.0部署&#xff08;tensorflow/serving&#xff09;过程备忘记录 部署思路&#xff1a;采用Tensorflow自带的serving进模型部署&#xff0c;采用容器docker 1.首先安装docker 下载地址&#xff08;下载windows版本&#xff09;&#xff1a;https://desktop.docke…

算法设计与分析---递归算法

递归算法 排列问题&#xff1a; 设计递归算法生成n个元素R{r1,r2,r3…rn}的全排列 将排列R个元素拆解为RiR-{ri}个元素的全排列 &#xff08;r)perm(X)表示在全排列perm(X)的每一个排列前加上前缀得到的排列 汉诺塔问题&#xff1a; void hanoi(int n,int a,int b,int c) …

第八个实验:(A+B)-C的结果判断奇偶特性

实验内容:(A+B)-C的结果判断奇偶特性,最后显示结果 实验步骤: 第一步:建立项目 第二步:实验步骤,编写程序 第三步:实验结果

【FindAllMarkers】Seruat鉴定差异表达基因的方法与P值的理解

目录 差异表达分析 用法简单示例 结果解读 P值与P adjust值的区别 假设检验 Bonferroni校验 reference 差异表达分析 seruat中差异表达分析的函数主要有两个&#xff1a;FindAllMarkers()和FindMarkers()&#xff0c;前者是比较一个cluster与所有其他cluster之间的基因…

鸿蒙开发(一)-环境配置

鸿蒙开发(一)-环境配置 本篇文章主要介绍下鸿蒙开发环境的配置。 1&#xff1a;下载DevEco Studio 可以直接访问以下网址下载&#xff1a; https://developer.huawei.com/consumer/cn/deveco-studio#download 当前window的使用版本是&#xff1a;devecostudio-windows-3.1…

Openharmony的设备开发流程 Hi3516DV300

安装VirtualBox 这里用VirtualBox 6.1.3 https://download.virtualbox.org/virtualbox/6.1.30/VirtualBox-6.1.30-148432-Win.exe 安装 安装Ubuntu镜像 Ubuntu系统要求&#xff1a;Ubuntu18.04~21.10版本。推荐使用20.04版本&#xff0c;内存16 GB及以上。 https://mirrors…

错误票据 刷题笔记

开数组 读入数据 记录最小值和最大值 每次读入x; 让a[x]; 从最小值开始 向上扫 当扫到a[x]0时候为断号 扫到a[x]>1为重号&#xff1b; 该题的小技巧 未知长度的数据的读入方式 1.首先在头文件敲上 #include<sstream> #include<string> #include<…

SpringCloudGateway理论与实践

文章目录 网关介绍为什么需要网关Gateway 使用gateway pom依赖yml 配置重启测试总结 断言过滤器工厂路由过滤器的种类请求头过滤器默认过滤器全局过滤器总结 Gateway解决跨域 网关介绍 Spring Cloud Gateway 是一个基于Spring Framework 5&#xff0c;由Spring Cloud团队开发的…

FPGA - 科学设计复位信号(XILINX)

1&#xff0c;同步复位与异步复位 简单来说&#xff1a;复位信号与时钟同步&#xff0c;称之为同步复位。 复位信号与时钟不同步&#xff0c;称之为异步复位。 2、xilinx 的复位策略 ① 同步高复位 ② 计数器和状态机必须复位 ③ 能不使用复位尽量不使用复位&#xff0c;比如中…

一键部署Tesseract-OCR环境C++版本(Windows)

环境&#xff1a;Windows 10 工具&#xff1a;git vcpkg vscode cmake 库&#xff1a;Tesseract 一键部署Tesseract-OCR环境C版本&#xff08;Windows&#xff09; 分享这篇文章的原因很简单&#xff0c;就是为了让后续的朋友少走弯路。自己在搜索相关C版本的tesseract部署时…

C/C++指针详解

接下来我们来介绍一下什么是指针&#xff1f; 指针其实就是元素存放地址&#xff0c;更加形象的比喻&#xff1a;在酒店中如果你想要去注必须去付费不然不能住&#xff0c;在计算机也同样如此&#xff08;但是不需要付费哦&#xff09;每当我们使用一个变量或其他需要申请空间…