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

2024-03-11 06:36

本文主要是介绍计算机网络——OSI网络层次模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机网络——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网络层次模型通信过程就是一个逐级打包和解包的过程
在这里插入图片描述

这篇关于计算机网络——OSI网络层次模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/796952

相关文章

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit