华为数通——网络参考模型

OSI参考模型

七层  应用层:最靠近用户的一层,为应用程序提供网络服务。

六层  表示层:数据格式转换编码格式UTF-8。

五层  会话层:双方之间建立、管理和终止会话。

四层  传输层:建立、维护和取消端到端的数据传输过程。

三层  网络层:定义逻辑地址;实现数据从源到目的地的转发。

二层  数据链路层: 数据封装成帧;实现数据的点到点、或点到多点直接通信。

一层  物理层:规定物理介质、网线、光纤、电流等、以电压的高低代表0 、1 。

TCP/IP参考模型

传输控制协议/网际协议,是互联网相关各类协议族的总称。

TCP/IP常见协议

应用层

TeInet

FTP

TFTP

SNMP

HTTP

SMTP

DNS

DHCP

传输层

TCP

UDP

网络层

ICMP

IGMP

IP

ARP

数据链路层

PPPOE

Ethernet

PPP

物理层

......

应用层

HTTP(超文本传输协议):用来访问在网页服务器上的各种页面。

FTP(文件传输协议):为文件传输提供了途径,允许数据从一台到另一台主机。

DNS(域名称解析服务):用于实现从主机域名到IP地址之间的转换。

传输层

TCP (传输控制协议) :为应用程序提供可靠的面向连接的通信服务。

UDP(用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠性的保证。

网络层

IP(互联网协议):将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。

IGMP(因特网组管理协议):负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

ICMP(网际报文控制协议):基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

TCP/UDP区别总结

TCP

UDP

是否连接

面向连接

无连接

是否可靠

可靠传输,使用流量控制和拥塞控制

不可靠传输,不使用流量控制和拥塞控制

连接对象个数

只能是一对一通信,全双工

支持一对一,一对多,多对一和多对多交互通信

传输方式

面向字节流

面向报文

传输效率

传输效率低

传输效率高

传输速度

首部开销

首部最小20字节,最大60字节

首部开销小,仅8字节

适用场景

适用于要求可靠传输的应用,例如文件传输,对效率要求低、准确性高

适用于实时应用(视频会议、直播等),对效率要求高、准确性低

TCP和UDP协议端口进行分类

使用TCP协议常见端口主要有以下几种:

  1. FTP——文件传输协议——20、21号端口
  2. Telnet——远程登陆协议——23号端口
  3. SMTP——简单邮件传送协议——25号端口
  4. POP3——接收邮件——110号端口(POP3仅仅是接收协议,POP3客户端使用SMTP向服务器发送邮件。)
  5. HTTP——超文本传输协议——80号端口
  6. HTTPS——超文本传输安全协议——443端口
  7. SSH——安全外壳协议——22端口
  8. RDP——远程桌面连接协议——3389端口

使用UDP协议常见端口主要有以下几种:

  1. DNS——域名解析服务——53号端口
  2. SNMP——简单网络管理协议——161号端口
  3. TFTP——简单文件传输的协议——69号端口
  4. OICQ——网络即使通讯协议——服务器8000,客户端4000端口

TCP和UDP协议

在这里,建立连接阶段,我们只关注ACK 、SYN 2个字段就够了。挥手阶段还会需要用到FIN字段。

SYN:发起一个新连接,SYN=1表示发起一个新连接。
ACK:确认号是否有效,ACK=1表示确认号有效,ACK=0表示报文不含确认号信息。
FIN:结束标志,用于释放连接,FIN=1表示关闭本方数据流。

通道的建立———三次握手:

(1)在建立通道时,客户端首先要向服务端发送一个SYN同步信号。

(2)服务端在接收到这个信号之后会向客户端发出SYN同步信号和ACK确认信号。

(3)当服务端的ACK和SYN到达客户端后,客户端与服务端的这个“通道”就会建立起来。

通道的关闭———四次挥手:

(1)在数据传输完毕之后,客户端会向服务端发出一个FIN终止信号。

(2)服务端在收到这个信号之后会向客户端发出一个ACK确认信号。

(3)如果服务端此后也没有数据发给客户端时服务端会向客户端发送一个FIN终止信号。

(4)客户端在收到这个信号之后会回复一个确认信号,在服务端接收到这个信号之后,服务端与客户端的通道也就关闭了。

FTP文件传输协议

端口问题∶2120端口

使用FTP进行文件传输时,会使用两个TCP连接。

第一个连接是FTP客户端和FTP服务器间的控制连接。FTP服务器开启21号端口,等待FTP客户端发送连接请求。FTP客户端随机开启端口,向服务器发送建立连接的请求。控制连接用于在服务器和客户端之间传输控制命令。

第二个连接是FTP客户端和FTP服务器间的数据连接。服务器使用TCP的20号端口与客户端建立数据连接。通常情况下,服务器主动建立或中断数据连接。

传输模式(类型) :ASCIl模式和二进制模式

FTP传输数据时支持两种传输模式:ASCIl模式和二进制模式。ASCII模式用于传输文本。发送端的字符在发送前被转换成ASCIl码格式之后进行传输,接收端收到之后再将其转换成字符。二进制模式常用于发送图片文件和程序文件。发送端在发送这些文件时无需转换格式,即可传输。

DNS域名解析协议

作用:将域名(网址)解析成对应的IP地址 www.baidu.com  ------ 115.239.211.112。DNS主要解决IP地址不便记忆的问题。

ARP地址解析协议

本功能:知道目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP工作原理

假设有一台主机想要向本地局域网上的另一台目标主机发送 IP 分组时,首先会在本地主机的 ARP 高速缓存中查询是否有目标主机的 IP 地址,如果有该 IP 地址对应的条目,则可以直接查出其 MAC 地址,写入 MAC 帧,然后通过局域网将该帧发送给对应 MAC 地址的主机上。

如果没有,则先通过广播 ARP 请求分组(如上图),在获得目标主机的 ARP 响应分组后(如下图),将目标主机的 MAC 地址写入 ARP 高速缓存,建立目标主机的 IP 地址到 MAC 地址的映射关系。注意: ARP 请求分组是广播发送的,但 ARP 响应分组是普通的单播。

ARP 的 4 种典型情况总结:

  1. 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
  2. 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成。
  3. 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。
  4. 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

七. 使用ts写一个贪吃蛇小游戏

之前学习了几篇的ts基础,今天我们就使用ts来完成一个贪吃蛇的小游戏。 游戏拆解 我们将我们的任务进行简单拆解分析。 首先我们应该有一个窗口,我们叫做屏幕。让蛇在里面移动,所有我们应该想到要设计一个大盒子当作地图。考虑到食物以及蛇…

Spark编程实验一:Spark和Hadoop的安装使用

一、目的与要求 1、掌握在Linux虚拟机中安装Hadoop和Spark的方法; 2、熟悉HDFS的基本使用方法; 3、掌握使用Spark访问本地文件和HDFS文件的方法。 二、实验内容 1、安装Hadoop和Spark 进入Linux系统,完成Hadoop伪分布式模式的安装。完成Ha…

字符串——OJ题

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、字符串相加1、题目讲解2、思路讲解3、代码实现 二、仅仅反转字母1、题目讲解2、思路讲解3…

DSP的ADC简单笔记

DSP不需要复用GPIO,是单独的ADC引脚,与GPIO不共用 ADC时钟在PCLKCR0寄存器 所以还要配置HSPCLK HISPCP/HSPCLK寄存器 所以ADC的输入时钟,有固定公式; 控制寄存器1 简单配置3个东西; 控制寄存器2 设置为1软件触发 控…

如何使用ArcGIS Pro拼接影像

为了方便数据的存储和传输,我们在网上获取到的影像一般都是分块的,正式使用之前需要对这些影像进行拼接,这里为大家介绍一下ArcGIS Pro中拼接影像的方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的…

GZ015 机器人系统集成应用技术样题2-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题2 选手须知: 本任务书共 25页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…

【Qt QML 入门】TextField

TextField 是一个单行文本编辑器,它继承自TextInput,具备TextInput的所有功能,同时扩展了 TextInput 并增加了占位符文本功能和装饰选项。 自定义文本输入框: import QtQuick import QtQuick.Window import QtQuick.ControlsWindo…

【Android】MVC与MVP的区别,MVP网络请求实践

一、MVC模式 目录 一、MVC模式二、MVP模式 1、MVP的简单应用 1.1 导入相关依赖包并设置权限1.2 实现Model1.2 实现Presenter1.3 实现View1.4分析项目结构和绑定过程1.5效果展示 2、MVP结合RxJava 一、MVC模式 MVC(Model(模型)——View(视图)——Controller(控制…

QT-坦克大战游戏

QT-坦克大战游戏 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "score.h" Score::Score(){health30; maxHealthhealth;QLabel *label1 new QLabel(this);label1->setFrameStyle(QFrame::Plain | QFrame::Box);label1->setStyle…

element-plus 结合Vue Router时出现的问题及解决方法之一

1、单文件应用element-plus中的Menu 侧边栏 <template><el-row class"tac"><el-col :span"12"><!-- <h5 class"mb-2">Custom colors</h5> --><el-menuactive-text-color"#ffd04b"background-…

Leetcode—2414.最长的字母序连续子字符串的长度【中等】

2023每日刷题&#xff08;六十&#xff09; Leetcode—2414.最长的字母序连续子字符串的长度 实现代码 class Solution { public:int longestContinuousSubstring(string s) {int ans 1;int t 1;for(int i 1; i < s.size(); i) {if(s[i] - s[i - 1] 1) {t;ans max(an…

大数据生态圈kafka在物联网中的应用测试

背景 由物联网项目中使用到了Tbox应用管理车辆&#xff0c;在上报数据的过程中&#xff0c;需要将终端产生的数据通过kafka的produce topic customer对数据进行处理后&#xff0c;放置到mysql中。完成数据二进制到json转换工作。 Kafka的使用 查看kafka的topic ./kafka-topi…

直角三角形判断_分支结构 C语言xdoj56

问题描述 设直角三角形两条直角边长度为a和b&#xff0c;斜边长度为c&#xff0c;则a&#xff0c;b&#xff0c;c满足a^2b^2c^2&#xff0c; 输入三个整数a&#xff0c;b&#xff0c;c&#xff0c;判断对应的三角形是不是直角三角形&#xff0c;不是则输出“no”&#xff0…

docker consul容器自动与注册

微服务&#xff08;容器&#xff09;注册与发现&#xff1a;是一种分布式的管理系统&#xff0c;定位服务的方法。 在传统架构当中&#xff0c;应用程序之间直连到已知服务&#xff0c;设备提供的网络&#xff1a;IP地址&#xff0c;基于tcp/ip&#xff0c;端口&#x…

Apache Flume(4):日志文件监控

1 案例说明 企业中应用程序部署后会将日志写入到文件中&#xff0c;可以使用Flume从各个日志文件将日志收集到日志中心以便于查找和分析。 2 使用Exec Soucre Exec Source Exec Source通过指定命令监控文件的变化&#xff0c;加粗属性为必须设置的。 属性名默认值说明chan…

借助文档控件Aspose.Words,在Java中比较 Word、PDF 和 PPT 文档

文档比较是各个领域的一项关键任务&#xff0c;包括法律、出版和内容管理。它确保准确跟踪和审查对合同、报告或法律协议等文档的更改。Java 开发人员经常寻求高效可靠的方法来执行文档比较&#xff0c;而Aspose提供了强大的解决方案。在这篇博文中&#xff0c;我们将探讨如何高…

npm详解

NPM&#xff08;Node Package Manager&#xff09;是Node.js的包管理工具&#xff0c;用于管理和共享被发布到模块仓库的JavaScript代码. NPM的定义 NPM是Node.js的默认包管理工具&#xff0c;它的功能包括安装、管理、卸载和发布开源模块。NPM提供了一个模块仓库&#xff0c;开…

牛客网BC100有序序列合并

思路&#xff1a; 运用归并排序&#xff1a; 假设给定我们两个都是升序的数组&#xff0c;要求我们要把这两个数组以升序的方式合并到一个数组中&#xff0c;则我们就可以在这两个数组中分别各拿取一个元素进行比较&#xff0c;将二者之间较小值先放在这个新数组中&#xff0c…

记一次clickhouse启动报错

clickhouse一次排错 clickhouse启动报错 报错&#xff1a; Application: Code: 210. DB::Exception: Listen [::]:8123 failed: Poco::Exception. Code: 1000, e.code() 0, DNS error: EAI: Address family for hostname not supported (version 23.3.1.2823 (official bui…

一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程

MongoDB 是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档&#xff0c;数据结…