计算机网络的七层结构、五层结构和四层结构

为什么要分层:

        这个就和我们平常写程序一样,高内聚、低耦合。将网络进行分层我们就可以根据每一层的功能分开开发设计,将复杂的网络问题分解为更简单和清晰的小问题,方便设计、实现和标准化。无需在意其他层是如何实现的,再使用时只要调用其接口就好了。

         假如某一时刻某一层的技术得到了大幅度进步,此时直接应用就好了,无需考虑其他层。这样也提高的网络设计的灵活性。

有哪些分层模型:

        由图可得现在流传着三种模型,分别是OSI七层模型、TCP/IP五层模型和四层模型。

其中七层模型是国际化标准组织ISO为了使全世界不同体系结构的计算机能够互联,提出的模型。但是这个模型过于复杂,再某些层之间功能有些冗余,比较不实用,开发效率不高,所以没有被广泛采用。

而TCP/IP四层模型从结构上很明显的可以看出是OSI七层模型的简化版,但二者的核心是很相似的,虽然七层模型是官方提出,但由于四层模型于七层模型更早投入实际开发,所以现今再实际开发中按照的是四层模型。而七层模型几乎只出现在教科书中。

而此时那个TCP/IP五层协议的由来是七层和四层的结合体,因为四层贴近于开发,不易于理解,而七层又过于复杂,所以目前大多教学说的都是TCP/IP五层模型。

各个层的介绍:

我先说一下啊应用层、表示层和会话层。因为这三个层再TCP/IP模型中属于同一个应用层。

  • 应用层:为计算机用户提供服务,因为再这一层就相当于接口了,用户可以之间访问网址调用他所提供的服务了,如http.baidu.com。
  • 表示层:进行数据处理,接受到其他端传来的数据,要再这一层进行对数据的处理,让其能够使用。
  • 会话层:管理(建立、维护、重连)应用程序之间的会话。两个程序进行数据传输要记录状态,例如session就是这层的应用。

        会话层的功能是会话控制和同步,表示层是解决两个系统间交换信息的语法与语义问题,还有数据表示转化(转为主机无关编码),加解密和压缩与解压缩功能。很明显这两层在实际应用中很难保持统一性,应用通常会选择不同的加解密方式,不同的语义和时序,谈不上复用的东西作为协议的一部分自然是没有意义的,所以这两层的功能交给应用开发者作为应用层的一部分功能开发是比较合适的。这些功能可以根据不同的应用需求进行定制和选择。

        因此,将这三个层归为一个层的好处是可以让应用开发者有更多的灵活性和自主性,不需要受限于固定的协议和标准。同时,也可以简化协议的复杂性和开销,提高网络的效率和性能。

  • 传输层:为两台主机进程之间的通信提供通用的数据传输服务。也就是说两台主机间通过这一层的协议规定了发送端是如何发送数据,接受端要怎么接受数据,并将它还原,再这一层中最常见的协议就是TCP和UDP协议了。
  • 数据链路层:再介绍网络层之前我先介绍一下数据链路层,数据链路层就是管理相邻节点之间的通信,因为两个主机一个在中国,一个在俄罗斯,不可能直接就是传输端直接传输数据到接受端,而是通过好多类似于中间节点进行转发。而这一层就是规定相邻节点之间的直接通信的数据传输格式,规则。
  • 网络层:这个层路由和寻址(决定数据在网络中游走的路径),因为两节点之间的通信是经过很多节点转发的,此时这个第一个数据就会带着源ip还有目的ip在网络节点中寻找目的主机,这个寻找的过程就是由网络层的协议决定。
  • 物理层:用物理手段为数据链路提供支持,给节点间传输比特流(01)

        在一开始就只有真正的数据,然后一层层的往下,不断进行包装每一层的协议所需的内容,到了物理层传输。带接受方拿到数据包再根据协议进行拆包,最后拿到真正的数据。进行操作使用

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

maven仓库改国内源

今天准备复现漏洞环境,发现太慢,需要配置国内源 file -> settings 搜索maven 修改settings.xml,这里的需要修改两个文件 1.上图的settings.xml文件 2.idea的maven模块 settings.xml文件将原来的注释掉,然后把阿里的添加上&…

保姆级阿里云ESC服务器安装nodejs和服务器node服务管理工具PM2安装使用

一、安装Node到服务器 1. 创建node文件夹 默认 /opt 下边 /opt/node 也可建到其他地方,如/usr/local/node 等 创建后切换到文件夹下 cd /opt/node cd /opt/node2. 下载node并解压 使用命令下载node wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-…

PLC单按钮启停算法汇总

单按钮启停在三菱PLC里可以通过简单的取反指令"ALT"实现,西门子PLC如何实现ALT指令,请参考下面文章链接,这篇博客我们汇总常用的单按钮启停实现方法,希望大家读了本篇博客后有所收获。 博途ALT指令 博途S7-1200/1500PLC 取反指令(ALT)-CSDN博客SMART PLC的ALT指…

从0开始学云计算之服务器:服务的定义,特点,应用场景,分类

服务器定义 服务器是计算机的一种。它比普通计算机运行速度更快、负载更高且价格更高。 服务器的英文名称为“Server”,是指在网络上提供各种服务的高性能计算机。作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为x络的灵魂。 …

UDP网络通信反复发收

package UDP2;import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.util.Scanner;/* * 完成UDP 通信快速入门 实现发1收1*/ public class Client {public static void main(String[] args) throws Exception{// …

2023-1024‍节日(内含表白代码)

文章目录 一、前言二、代码实现三、动态展示四、总结 一、前言 1024可以是计算机操作系统的进制单位,也可以是🧑‍💻程序员们的特殊纪念日。 每年10月24日被行业认定为“程序员节”。 今天,正是一年一度的“1024程序员节”在此纪…

CVE-2022-41082:Microsoft Exchange 反序列化类型混淆 RCE 漏洞简单分析

简介 漏洞编号:CVE-2022-41082漏洞类型:类型混淆软件名称:Microsoft Exchange模块名称:Exchange 服务 powershell 接口模块历史漏洞:易受攻击的流行软件影响的版本:Microsoft Exchange Server 2019 2016 2…

【Git】升级MacOS系统,git命令无法使用

终端执行git命令报错 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun安装这个东东,?需要42小时 最终解决: 下载安装 https…

【OpenCV实现鼠标绘图,轨迹栏做调色板,图像的基本操作】

文章目录 鼠标绘图轨迹栏做调色板图像的基本操作 鼠标绘图 在OpenCV中操作鼠标事件 函数:cv.setMouseCallback() 目的是在鼠标双击的地方画一个圆。首先,我们需要创建一个鼠标回调函数,该函数会在鼠标事件发生时执行。鼠标事件包括左键按下…

python基础语法(4)

基础语法 前言文件文件是什么文件路径文件操作1.打开文件2. 关闭文件3.写文件4. 读文件5.上下文管理器 库使用库标准库第三方库 前言 本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识,是对上篇文章…

Kubernetes技术与架构-网络 3

Kubernetes集群支持为Pod或者Service申请IPV4或者IPV6的地址空间。 kube-apiserver --service-cluster-ip-range<IPv4 CIDR>,<IPv6 CIDR> kube-controller-manager --cluster-cidr<IPv4 CIDR>,<IPv6 CIDR> --service-cluster-ip-range<IPv4 CI…

论坛介绍|COSCon'23 开源百宝箱(T)

众多开源爱好者翘首期盼的开源盛会&#xff1a;第八届中国开源年会&#xff08;COSCon23&#xff09;将于 10月28-29日在四川成都市高新区菁蓉汇举办。本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01;各位新老朋友们&#xff0c;欢迎到成都&a…

proxmox pve /dev/mapper/pve-root扩容

vgs3 pvs4 vgs5 lvs6 lvremove /dev/pve/data8 lvresize -l 100%FREE /dev/pve/root9 resize2fs /dev/mapper/pve-root 10 history

安卓 实现60s倒计时的CountDownTimer(小坑)

安卓 实现60s倒计时的CountDownTimer&#xff08;小坑&#xff09; 前言一、CountDownTimer 是什么&#xff1f;二、代码示例1.使用2.小坑的点误差及时取消 总结 前言 前段时间写倒计时没有用线程&#xff0c;想换一种实现方式结果踩了个小坑&#xff0c;特此记录。 一、Count…

Rancher部署K8S集群

一、介绍 随着容器的普及和Kubernetes 的日渐成熟&#xff0c;企业内部运行多个Kubernetes 集群已变得颇为常见&#xff0c;然而部署kubernetes集群的方式也多样化&#xff0c;二进制部署、rancher、kubeadm、minikube等。然而本篇文章主要讲解的是如何使用rancher快速部署一个…

Linux笔记之diff工具软件P4merge的使用

Linux笔记之diff工具软件P4merge的使用 code review! 文章目录 Linux笔记之diff工具软件P4merge的使用1.安装和配置2.使用&#xff1a;p4merge a.cc b.cc3.配置git 参考博文: Ubuntu Git可视化比较工具 P4Merge 的安装/配置及使用 1.安装和配置 $ wget https://cdist2.per…

Linux简单安装ffmpeg 实现用PHP压缩音频

一、下载安装 1、官方下载地址&#xff1a;Download FFmpeg 2、下载完上传到服务器然 然后解压就算安装完成了 tar -xf ffmpeg-git-amd64-static.tar.xz 3、然后配置一下全局变量&#xff08;当然也可以不用配置 使用的时候带上文件路径就行&#xff09; cd /usr/bin ln -s…

【Gensim概念】02/3 NLP玩转 word2vec

第二部分 句法 六、句法模型&#xff08;类对象和参数&#xff09; 6.1 数据集的句子查看 classgensim.models.word2vec.BrownCorpus(dirname) Bases: object 迭代句子 Brown corpus (part of NLTK data). 6.2 数据集的句子和gram classgensim.models.word2vec.Heapitem(c…

Web APIs——事件监听以及案例

1、事件监听 什么是事件&#xff1f; 事件是在编程时系统内发生的动作或者发生的事情 比如用户在网页上单击一个按钮 什么是事件监听&#xff1f; 就是让程序检测是否有事件产生&#xff0c;一旦有事件触发&#xff0c;就立即调用一个函数做出响应&#xff0c;也称为绑定事…

pymavlink简单使用

环境 windows10 python3.11 pymavlink2.4.40 工具 虚拟串口工具 Virtual Serial Port Driver 6.9 串口/网络调试助手 sscom5.13.1.exe 串口通信 虚拟串口 COM1, COM2 调试助手连接COM2 pymavlink连接COM1 from pymavlink import mavutil import timeconnect mavut…