OSI七层网络参考模型

简介: OSI七层网络参考模型

七层模型的诞生

深夜中,在一家美国酒吧坐着几个正在谈论迪斯尼电影里的7个小矮人,他们把小矮人的名字写在餐巾纸上,有人开玩笑说7对于网络分层是个好数字,这几个人就是制定OSI标准小组的成员,后来OSI真的就设计成了七层模型,不过给七层模型重新起了听上去更科学的名字,就这样诞生了。

OSI 七层网路模型

7.应用层

应用层就是我们使用最多的一层,例如ajax调用接口发送http请求,再比如域名系统DNS,邮件协议SMTP,webSocket长连接,SSH协议

6.表示层

表示层主要做了几件重要的事情 安全,压缩,也是程序在网络中的一个翻译官。

1.安全 在你的数据发送之前进行加密,在接受者的表示层进行解密。

2.表示层还会对图片文件等格式进行解码和编码 例如 JPEG、ASCll 图片是人类能读懂的计算机需要转换成计算机能读懂的编码。

5.会话层

会话层,是在发送方和接收方之间进行通信时创建、维持、之后终止或断开连接的地方,与电话通话有点相似。

会话层定义了一种机制,允许发送方和接收方启动或停止请求会话,以及当双方发生拥塞时仍然能保持对话。

会话层包含了一种称为检查点(Checkpoint) 的机制来维持可靠会话。检查点定义了一个最接近成功通信的点,并且定义了当发生内容丢失或损坏时需要回滚以便恢复丢失或损坏数据的点,即断点下载的原理

4.传输层

传输层主要就是定义我们的端口号,以及控流,和校验。

并且拥有两个熟知的协议 TCP UDP

TCP 是面向连接的协议并且TCP是可靠的

因为TCP会进行三次握手四次挥手所以是可靠的,但是这样会降低速度

UDP 具有较好的实时性 效率比TCP高

UDP是没有三次握手四次挥手的,故此不稳定,但是速度快 常用于直播,游戏

3.网络层

网络层是最复杂的一层,在这一层就定义了我们的IP,220.xxx.xxx.xxx。

该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备

1.寻址:对网络层而言使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信(类似于数据链路层的MAC地址)

2.路由:在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。

我们的路由器就是在第三层工作的

在数据链路层的时候说过了如果所有的使用互联网的用户在同一个网段中,会产生广播风暴,所以要将用户进行划分,让他们在不同的网段中,自己在自己的小网段中广播。而互联网就是这无数的子网络构成的一个巨型网络。

在网络层中引入了一套新的地址,让我们能够区分不同的网段。这套地址就叫做“网络地址”,简称“网址”。

于是,”网络层”出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。

网络地址帮助我们确定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理MAC地址。

这一层中有一个规定网络地址的协议,叫做IP协议,它所定义的地址,就被称为IP地址。目前,广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。因为IPv4的地址已经不够用了,所以现在推广IPv6,

2.数据链路层

建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)

将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。

MAC地址:每个网卡的唯一标识

有了Mac地址之后就可以知道谁是接收者,谁是发送者,并且知道了数据的内容并且进行了分组。

那么他如何进行传播数据,他是进行广播的方式进行传输,在局域网内所有的计算机都能收到消息

1.物理层

物理层是直接和物理介质打交道的。

物理层的设备 网卡,网线,集线器,中继器,调制解调器

物理层信道

1.有线信道

明线

明线是指平行架设在电线杆上的架空线路。它本身是导电裸线或带绝缘层的导线。虽然它的传输损耗低,但是由于易受天气和环境的影响,对外界噪声干扰比较敏感,已经逐渐被电缆取代。

对称电缆

对称电缆是由多对双绞线组成的线缆

同轴电缆

同轴线缆的应用范围极为广泛,同轴电缆能以低损耗的方式传输模拟信号和数字信号,适用于各种应用,其中常见的有电视广播系统、长途电话传输系统、计算机系统之间的短距离跳线以及局域网互联等

光纤

光导纤维是由玻璃或塑料制成的纤维,利用光在这些纤维中以全反射原理传输的光传导工具(全反射现象是光的折射的特殊现象,只有光从光密介质射向光疏介质并且入射角大于等于临界角全反射 现象才会发生)

2.无线信道

以辐射无线电波为传输方式无线信道主要有地波传输,天波传输和视距传输 例如:卫星通讯,电台广播

在这一层通过以上的方式,会获取他们对应的传送信号,电压,转换成010101010101但是数据还未组织,仅作为原始的电气电压处理单位为bit

目录
相关文章
|
6月前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
335 58
|
6月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
242 2
|
6月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
191 1
|
6月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
8月前
|
域名解析 网络协议 安全
计算机网络TCP/IP四层模型
本文介绍了TCP/IP模型的四层结构及其与OSI模型的对比。网络接口层负责物理网络接口,处理MAC地址和帧传输;网络层管理IP地址和路由选择,确保数据包准确送达;传输层提供端到端通信,支持可靠(TCP)或不可靠(UDP)传输;应用层直接面向用户,提供如HTTP、FTP等服务。此外,还详细描述了数据封装与解封装过程,以及两模型在层次划分上的差异。
1941 13
|
8月前
|
网络协议 中间件 网络安全
计算机网络OSI七层模型
OSI模型分为七层,各层功能明确:物理层传输比特流,数据链路层负责帧传输,网络层处理数据包路由,传输层确保端到端可靠传输,会话层管理会话,表示层负责数据格式转换与加密,应用层提供网络服务。数据在传输中经过封装与解封装过程。OSI模型优点包括标准化、模块化和互操作性,但也存在复杂性高、效率较低及实用性不足的问题,在实际中TCP/IP模型更常用。
1143 10
|
3月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
4月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
312 2
|
4月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
115 8
|
6月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
353 60