网络通信——OSI七层模型和TCP/IP模型

OSI模型

一.OSI七层模型

OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和管理网络通信的过程。

7.应用层——提供可视化界面,提供人机交互,网络服务

6.表示层——区分你所发的数据(图片),对数据进行格式化,加密,解密

5.会话层—— 建立,维护,管理连接(进程)

4.传输层——区分上层应用(通过不同应用对应不同的端口号来区分),建立端到端连接。

3.网络层——ip寻址和路由选择

2.数据链路层——mac寻址

1.物理层——比特流的传输(高低电平)

二.OSI为什么要分成/优点

1.促进标准化

2.各层结构相互独立,将网路操作低复杂化

3.灵活性,某层的变化不会影响到其他层

4.各层之间相互连接,实现上下层通信

5.易于维护和实现

三.缺点

1.各层之间的某些功能重复,冗余感。

2.各层之间的功能分配不均。

3.功能和服务定义复杂,不好实现

这就是为什么会有TCP4层或5层模型的说法,因为OSI在实际应用中不便于实现。

TCP/IP模型

一.TCP/IP

下面是OSI七层对应TCP/IP模型的,以及在TCP/IP模型中对数据的封装过程

我喜欢TCP/IP的五层模型

5.应用层——提供可视化界面,提供人机交互,网络服务。区分你所发的数据(图片),对数据进行格式化,加密,解密。 建立,维护,管理连接(进程)

4.传输层——区分上层应用(通过不同应用对应不同的端口号来区分),建立端到端连接。

3.网络层——ip寻址和路由选择

2.数据链路层——mac寻址

1.物理层——比特流的传输(高低电平)

功能进行了一些整合,并且有了相对应的协议。 

 二.应用层协议和对应的端口号(常见的)

(1)HTTP(HyperText Transfer Protocol/超文本传输协议):用于在客户端和服务器之间传输超文本数据,通常用于 Web 浏览器和 Web 服务器之间的通信。(TCP 80端口)

(2)HTTPS(HyperText Transfer Protocol Secure/超文本传输安全协议):是 HTTP 的安全版本,通过 SSL/TLS 加密传输数据,保证通信过程中的安全性。(TCP 443端口)

(3)FTP(File Transfer Protocol/文本传输协议):用于在客户端和服务器之间传输文件,支持上传和下载文件的功能。(TCP 20传输端/21控制端)

(4)TFTP(Trivial File Transfer Protocol/简单文件传输协议):在计算机网络中传输文件。它设计上相对简单,通常用于在不需要复杂控制的情况下进行文件传输(UDP 69端口)

(5)SMTP(Simple Mail Transfer Protocol/简单邮件传输协议):用于在邮件服务器之间传输电子邮件,负责发送邮件。(TCP 25端口)

(6)POP3(Post Office Protocol version 3/邮局协议版本3):用于从邮件服务器上下载邮件到本地计算机,负责接收邮件。(TCP 110端口)

(7)IMAP(Internet Message Access Protocol/互联网消息访问协议):也是用于接收邮件的协议,与 POP3 类似,但提供了更丰富的功能,如在服务器上管理邮件等。(TCP 143端口)

(8)Telnet:用于远程登录和执行命令,类似于 SSH,但不提供加密功能,通信数据不安全。(TCP 23 端口)

(9)SSH(Secure Shell/安全外壳协议):用于远程登录和执行命令,提供了加密的网络连接,保证了通信的安全性。(TCP 22端口)

(10)RDP(远程桌面协议):是一种由微软开发的协议,用于通过网络远程访问Windows桌面和应用程序。

(11)SNMP(Simple Network Management Protocol/简单网络管理协议):用于网络设备之间的管理和监控,可以实现对网络设备的远程配置和监控。(UDP161主要通信,包括请求和响应/UDP162为网络设备向管理系统发送重要事件通知提供通道,比如故障)

(12)DNS:用于将域名解析为对应的 IP 地址,从而实现域名和 IP 地址之间的映射。( udp/TCP 53)(域名解析协议)企业里  114.114.114.114(电信)   8.8.8.8(谷歌)

              注:将域名转换为ip地址 

                 域名给人看

                 IP给机器识别

                 eg:www.baidu.com 对应的 ip

(13)DHCP(Dynamic Host Configuration Protocol/动态地址分配协议):用于自动分配IP地址和其他网络配置参数给网络中的设备(   67(UDP)用于DHCP服务器接收客户端请求/ 68(UDP)用于DHCP客户端接收服务器的响应。)

三.传输层协议

(1)TCP(Transmission Control Protocol/传输控制协议):提供可靠的、面向连接的数据传输服务,确保数据的可靠性、顺序性和完整性。TCP适用于对数据传输质量要求较高的场景,如文件传输、网页浏览等。

(2)UDP(User Datagram Protocol/用户数据报协议):提供无连接的数据传输服务,不保证数据的可靠性,也不保证数据的顺序性和完整性。UDP适用于实时性要求较高、对数据传输质量要求不那么严格的场景,如音视频传输、在线游戏等。

四.网络层协议 

(1)IP(Internet Protocol/互联网协议):用于在网络中定位和传输数据包。它负责将数据从源地址传送到目标地址。

(2)IPv6(Internet Protocol version 6):互联网协议的第六版,旨在替代IPv4,提供更大的地址空间和改进的路由效率。它使用128位地址,能够支持更多的设备和用户。

(3)ICMP(Internet Control Message Protocol/互联网控制消息协议):用于网络设备之间发送控制消息的协议,主要用于错误报告和诊断。

(4)ARP(Address Resolution Protocol/地址解析协议):将网络层地址(如IPv4地址)转换为数据链路层地址(如MAC地址)的协议。它允许设备在局域网内找到其他设备的物理地址,从而能够进行数据包的发送和接收。

(5)RARP(Reverse Address Resolution Protocol/反向地址解析协议:是一种用于将数据链路层地址(如MAC地址)转换为网络层地址(如IPv4地址)的协议。它的主要用途是在设备启动时,特别是那些没有本地存储的设备(如网络终端或无盘工作站),以获取其IP地址。

五.数据链路层协议

 TYPE字段:

0x0800             IP

0x0806             ARP

0x08DD            IPV6

以太网(Ethernet)最广泛使用的数据链路层协议,支持局域网中的设备连接,特性:基于CSMA/CD(载波监听多路访问/碰撞检测)机制,使用MAC地址进行设备识别。

注意:Ethernet II和IEEE 802.3是两种不同的以太网协议,主要区别在于帧结构和处理方式:

(1)帧格式

Ethernet II:帧头包括目的MAC地址、源MAC地址和类型字段(用于指示上层协议,如IP)。

IEEE 802.3:帧头也包括目的和源MAC地址,但使用长度字段来指示数据字段的长度,而不是类型。

(2)协议支持

Ethernet II:广泛用于IP协议及其他网络层协议,主要在现代网络中使用。

IEEE 802.3:最初是为了标准化以太网的物理层和数据链路层,后续也支持了以太网的各种扩展。

(3)兼容性

Ethernet II可以被视为较新的标准,广泛兼容现代网络,而IEEE 802.3是早期的标准,后续演变为多个版本,适应不同的应用。

这两者的共同点是都用于局域网传输,但在具体实现上有所不同

六.物理层 

传媒介质

双绞线:如以太网(CAT5、CAT6),用于局域网传输。

同轴电缆:用于有线电视和某些网络。

光纤:用于高速数据传输,具有较低的信号衰减。

无线传输:通过电磁波(如Wi-Fi、蓝牙)实现无线通信。

数据传输速率

物理层定义了设备之间的传输速率,如10 Mbps、100 Mbps、1 Gbps等

等等

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

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

相关文章

KamaCoder 103. 水流问题

题目要求 N*M的矩阵,数值代表位置的相对高度。矩阵模拟了一个地形,当雨水落上时,会根据地形倾斜向低处流动。但是只能从较高或等高的地点流向较低或等高并且相邻的地点,我们的目标是确定那些单元格,从这些单元格出发的…

Vue(14)——组合式API①

setup 特点&#xff1a;执行实际比beforeCreate还要早&#xff0c;并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法&#xff0c;想要在…

101. 对称二叉树(共含三道leetcode题)

文章目录 101. 对称二叉树递归法迭代法 小结100.相同的树572.另一个树的子树 101. 对称二叉树 101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#…

Administration Console后台弱⼝令登录

1.环境搭建 cd vulhub-master/iboss/CVE-2017-12149 docker-compose up-d 2.访问登录页面 JBoss AS 6 Admin Consolehttp://47.121.211.205:8080/admin-console/login.seam?conversationId4用户名admin 密码vulhub 3.上传war文件 4.访问上传文件并进行连接 访问上传文件 使…

kubectl 执行一条命令之后发生了什么?

kubectl 是与 Kubernetes 集群交互的命令行工具&#xff0c;用户通过它可以对集群资源进行操作和管理。你有没有想过&#xff0c;当我们执行一条 kubectl 命令之后&#xff0c;背后都发生了什么&#xff1f; 详细过程 kubectl -> kube-api-server 根据通信类型&#xff0…

算法题之宝石与石头

宝石与石头 给你一个字符串 jewels 代表石头中宝石的类型&#xff0c;另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型&#xff0c;你想知道你拥有的石头中有多少是宝石。 字母区分大小写&#xff0c;因此 "a" 和 "…

EECS498 Deep Learning for Computer Vision (一)软件使用指南

#最近开始学习深度学习的相关基础知识&#xff0c;记录一下相关笔记及学习成果# learning&#xff1a;building artificial systems that learn from data and experience deep learning(a set of machine learning): hierarchical learning algorithms with many "laye…

制作一个rabbitmq-sdk以及rabbitmq消费者实现定时上下线功能

目录结构 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">&l…

低版本JMX Console未授权

1.环境搭建 cd vulhub-master/jboss/CVE-2017-7504 docker-compose up -d 2.访问漏洞网站 http://47.121.211.205:8080/jmx-console/http://47.121.211.205:8080/jmx-console/ 3.然后找到jboss.deployment (jboss ⾃带得部署功能) 中的flavorURL,typeDeploymentScanner点进 …

比 Kimi 更强!用 Claude 仿写头条文章,轻松过原创(附完整指令)

最近&#xff0c;我有个做头条号的朋友跟我吐槽&#xff0c;说每天都要更新内容&#xff0c;经常写文章写到半夜&#xff0c;他已经快撑不住了。我听完实在有点不忍心&#xff0c;就告诉他&#xff0c;其实可以用 AI 来帮忙写头条文章。 朋友一脸怀疑&#xff0c;说“怎么可能&…

UML图之类图关系例题

答案&#xff1a;B C 知识点 依赖关系 一个事物发生变化影响另个一个事物 泛化关系 特殊/一般关系 关联关系 描述了一组链&#xff0c;链是对象之间的连接 实现关系 接口与类之间的关系

客户转化预测以及关键因素识别_支持向量机与相关性分析

数据入口&#xff1a;数字营销转化数据集 - Heywhale.com 数据集记录了客户与数字营销活动的互动情况。它涵盖了人口统计数据、营销特定指标、客户参与度指标以及历史购买数据&#xff0c;为数字营销领域的预测建模和分析提供了丰富的信息。 数据说明&#xff1a; 字段说明Cu…

【verilog】4. gtkwave的调用

文章目录 前言实验步骤 前言 进行 数电 FPGA 实验 实验步骤 将 GTKwave 的 bin 文件夹路径添加到 “系统环境变量” 的 “Path” 中 启动 debugger wizard, 设置观测信号 编译选择 2进制 文件 点击 start programming connect debugger 选择触发方式 Run 自动打开 gtkwave&a…

priority_queue 与 deque

priority_queue的介绍与使用 简单介绍 priority_queue - Referencep 从模板可以看出&#xff0c;优先级队列这里的有着新的东西&#xff0c;Compare&#xff1b; 首先&#xff1a;class T 我们都知道&#xff0c;是元素类型&#xff0c;比如int char 一类的&#xff1b; 其实…

基于 jenkins 配置自动化邮件发送

文章目录 安装插件测试配置开始配置邮件创建项目并配置常见问题 安装插件 搜索 Email Extension 测试配置 Manage Jenkins -> System -> E-mail Notification&#xff0c;测试配置是否可以正常发送邮件&#xff1b; 此时可以看到接收到的邮件&#xff1b; 开始配置邮…

矩阵范数介绍

这里写目录标题 理论1 诱导范数 (induced norm)2 “元素形式”范数(“entrywise" norm)3 Schatten 范数 论文中常用范数的书写 理论 参考张贤达矩阵分析page 34 矩阵范数主要有三种类型&#xff1a;诱导范数&#xff0c;元素形式范数和Schatten范数 1 诱导范数 (induce…

Lua中..和...的使用区别

一. .. 的用法 二. ... 的用法 在 Lua 中&#xff0c;... 是一个特殊符号&#xff0c;它用于表示不定数量的参数。当你在函数定义或调用中使用 ... 时&#xff0c;它可以匹配任意数量的参数&#xff0c;并将它们作为列表传递。在您的代码示例中&am…

【C++ Primer Plus习题】17.5

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <fstream> #include <…

【深入Java枚举类:不仅仅是常量的容器】

前言&#xff1a; Java 枚举类&#xff08;enum&#xff09;是一种特殊的数据类型&#xff0c;用来定义一组预定义的常量。枚举类不仅可以包含常量&#xff0c;还能定义方法、字段和构造器&#xff0c;使其功能更加强大和灵活。 引入 【1】数学&#xff1a;枚举法&#xff1a;…

Qt系统相关——事件

文章目录 事件和信号槽的关系事件处理鼠标事件鼠标进入和离开鼠标点击获取位置鼠标释放鼠标双击鼠标移动鼠标滚轮 键盘事件定时器事件窗口移动和窗口改变 事件和信号槽的关系 Qt信号槽机制&#xff1a; 用户进行的操作就可能产生信号&#xff0c;可以给某个信号指定槽函数&…