3-网络初识——协议

目录

1.概念

①语法:即数据与控制信息的结构或格式。

②语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。

③时序:即事件实现顺序的详细说明。

2.作用

3.知名协议的默认端口

4.协议分层

4.1.什么是协议分层

4.2.作用

4.3.OSI七层模型

4.4.TCP/IP五层(或四层)模型

5.网络设备所在分层

6.网络分层对应


1.概念

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:

①语法:即数据与控制信息的结构或格式。

类似打电话时,双方要使用同样的语言:普通话。

②语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。

语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。

类似打电话时,说话的内容。一方道:你瞅啥?另一方就得有对应的响应:瞅你咋的!

③时序:即事件实现顺序的详细说明。

时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输。

女生和男生的通话,总是由男生主动发起通话,而总是在男生恋恋不舍的时候,由女生要求结束通话。

协议(protocol)最终体现为在网络上传输的数据包的格式。

2.作用

计算机之间的传输媒介是光信号和电信号。通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。

  • 计算机生产厂商有很多。
  • 计算机操作系统,也有很多。
  • 计算机网络硬件设备,还是有很多。
  • 如何让这些不同厂商之间生产的计算机能够相互顺畅地通信? 就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是网络协议。

3.知名协议的默认端口

系统端口号范围为 0 ~ 65535,其中:0 ~ 1023 为知名端口号,这些端口预留给服务端程序绑定广泛使用的应用层协议,如:

  • 22端口:预留给SSH服务器绑定SSH协议
  • 21端口:预留给FTP服务器绑定FTP协议
  • 23端口:预留给Telnet服务器绑定Telnet协议
  • 80端口:预留给HTTP服务器绑定HTTP协议
  • 443端口:预留给HTTPS服务器绑定HTTPS协议

需要补充的是: 以上只是说明 0 ~ 1023 范围的知名端口号用于绑定知名协议,但某个服务器也可以使用其他 1024 ~ 65535 范围内的端口来绑定知名协议。

餐厅的VIP包房是给会员使用,但会员也可以不坐包房,坐其他普通座位。

4.协议分层

4.1.什么是协议分层

协议分层类似于打电话时,定义不同的层次的协议:

在这个例子中,我们的协议只有两层;但是实际的网络通信会更加复杂,需要分更多的层次。

4.2.作用

如果某个协议太复杂了,学习成本、使用成本、维护成本都会非常高。因此实际上会针对这个复杂的大协议,拆分成若干个相对简单的小协议,每个小协议负责一部分功能。此时发现,某些协议之间起到的功能和作用是类似的,那么就针对这些小协议,再进行分层。好比代码拆分成好多类,功能类似的类就可以放在一个包里。

好处:

  1. 降低学习维护成本。(封装)
  2. 灵活地针对这里的某一层协议进行替换。

分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。

在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类 (使用方,使用服务):

  • 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可。
  • 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。

这样能更好的扩展和维护,如下图:

4.3.OSI七层模型

OSI:即Open System Interconnection,开放系统互连。

  • OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了7层。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

OSI 七层模型划分为以下七层:

OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。

实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

4.4.TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  • 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
  • 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠地从源主机发送到目标主机。
  • 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
  • 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。 有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
  • 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

越往上层的协议越接近用户,越往下层的协议越接近硬件。

上层协议要调用下层协议,下层协议要给上层协议提供服务。

驱动程序,是和硬件设备关联的,每个硬件厂商都会提供对应的驱动软件,操作系统内核通过驱动程序来控制硬件。

  • 物理层:约定了网络通信中基础的硬件设备。如网线、网口等设备。因此咱们使用的网线、网口都是相同规格的。
  • 数据链路层、网络层、传输层:像快递公司,具体帮我们完成送快递的过程。
  • 数据链路层:主要负责相邻的两个节点之间,具体怎么进行传输。如"上海->苏州"通过卡车;"苏州->西安"通过飞机。

  • 网络层:主要负责路径的规划,看走哪条路比较划算。如:"上海->苏州->西安"还是"上海->南京->西安"?
  • 传输层:站在顾客和商家的角度,只关心起点和终点,不关心传输的具体过程。端到端之间的传输。
  • 应用层:应用程序,描述了传输的数据,用户要怎样来使用。如顾客在淘宝上买了个刷子,可以刷沙发、刷床、打儿子~

物理层我们考虑的比较少。因此很多时候也可以称为 TCP/IP四层模型。

5.网络设备所在分层

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层。
  • 对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层。
  • 对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层。
  • 对于集线器,它只实现了物理层。

注意这里说的是传统意义上的交换机和路由器,也称为二层交换机(工作在TCP/IP五层模型的下两层)、三层路由器(工作在TCP/IP五层模型的下三层)。 随着现在网络设备技术的不断发展,也出现了很多3层或4层交换机,4层路由器。以下说的网络设备都是传统意义上的交换机和路由器。

6.网络分层对应

网络数据传输时,经过不同的网络节点(主机、路由器)时,网络分层需要对应。

以下为同一个网段内的两台主机进行文件传输:

以下为跨网段的主机的文件传输:数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器:

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

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

相关文章

我是如何录制技术视频教程的?

今天这篇文章为大家分享一下本人录制技术教学视频的一些经验。这样的经验可能很难在网上找到这么全的。 如果你正在录制视频教程,希望能对你有新的启发;如果你还未录制过视频教程,看完之后要么获取经验,要么考虑是否入行。如果你…

计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...

电脑录屏的方法有4种,一键开启很简单,大家都来学一学 如果你想要和我一样,想要进行一些电脑屏幕步骤的操作,想要把屏幕录制下来,这时候很多人就会选择使用QQ自带的录屏功能,其实除了QQ录屏,电脑…

卢松松:口播类视频快速剪辑初级教程!

卢松松编著 对新手来说,口播类视频核心理念就是:大力出奇迹。 口播类视频是短视频领域最简单、最初级的一种视频模式。只要你人站在哪里说话就可以了,门槛非常低。因为口播类视频,在同一时期可产生几个、甚至几十个视频。所以“…

电脑上用什么软件录制屏幕以及剪辑视频?

这是一个知乎上颇有热度的的问题,说明越来越多的小伙伴有录屏剪辑视频的需求了 我把所有的回答都看完了,几乎所有的答主都在推荐好用的录屏软件或者好用的剪辑软件。 但是小编在这里要别出心裁,给大家推荐两款既可以录制高清视频又可以满足基…

Camtasia Studio2021视频录制及剪辑工具

Camtasia Studio是TechSmith旗下一款专门录制屏幕动作的工具,它能在任何颜色模式下轻松地记录屏幕动作,包括影像、音效、鼠标移动轨迹、解说声音等等,另外,它还具有即时播放和编辑压缩的功能,可对视频片段进行剪接、添…

Camera 录制视频 掉帧、退帧

录制出来的视频帧率有问题 30帧录制出来的不够,出现丢帧、 退帧的问题 1. 录制出来的掉帧 、预览不容易看出 (预览看不出来,因为预览绘制实际是 来什么我绘制什么,但是编码器不一样) 1.1 视频模式,录制…

计算机怎么录制视频教程,怎么录制视频教程?查看电脑具体录屏方法

怎么录制视频教程?查看电脑具体录屏方法 2020年04月07日 15:25作者:黄页编辑:黄页 分享 怎么录制视频教程?有时候在生活中遇到了喜欢的视频、直播等,想在电脑上通过录屏的方式记录下来。高质量的录屏视频怎么实现?其实具体录屏的…

计算机的自带拍视频教程,电脑如何录制视频并剪辑

各类游戏的兴起,许多玩家都希望通过录屏来分享自己在游戏中的精彩瞬间,既能秀出操作,也能吸引粉丝传递经验;网络授课形式的普及,录制电脑屏幕也成为了常见视频剪辑操作,如录制PPT。除此之外,对录…

【探索】机器指令翻译成 JavaScript

前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念。为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学。 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript,这样就能在浏览器中&am…

Games104现代游戏引擎学习笔记11

胶囊:两层。 内层:真正碰撞的层级 外层:类似保护膜,防止离别的东西太近,高速移动时卡进物体。另一个作用是防止过于贴近摄像机的进平面,看到墙背后的物体 朝墙移动时,实际往往并不是撞击&#…

硬件工程师-BUCK开关电源设计

一、电感的伏安特性 电感线圈通电之后,会产生磁场,磁场是有一定极性的,而且磁场分布,是一个封闭的回路。在线圈的内部磁力线是比较密集的,磁场的强度是比较强的,外面空气中的的这个磁力线是比较稀疏的&…

chatgpt赋能python:Python中的并:优化代码执行效率的利器

Python中的并:优化代码执行效率的利器 Python作为一种优秀的编程语言,被广泛使用于各种各样的项目中。然而,随着程序的不断扩张,代码的复杂度日益增加,执行效率也愈加遇到了严峻的挑战。在这种情况下,Pyth…

Win10如何启动mysql服务

点击电脑左下方有windows按钮→找到“计算机管理”的菜单选项(输入计算机管理即可)→进入计算机管理页面,点击页面左下方有“服务和应用程序”的选项,点击“服务”→直接输入“mysql”找到mysql这个服务,右击启动即可。…

教你如何启动MySQL服务

当你验证 MySQL成功安装后,用户需要启动 MySQL 数据库服务并登录。 下面介绍启动MySQL服务,具体操作步骤如下: 步骤 1):在桌面上右击“此电脑”→“管理”命令,如图所示。 步骤 2):弹出“计算机管理”对话…

mysql启动服务的两种方式

1.任务管理器启动服务 按键盘m即可定位到m开头的服务,点击mysql80右键,选择停止或者启动。 mysql80是安装mysql时命名的,记住这个是你的mysql服务名 因为我是8.0版本,所以多了一个服务mysqlrouter,不需要,…

开机手动启动 MySQL 服务

1.图形化界面启动 右击“计算机”,在快捷菜单中选择“管理”命令,如图所示,打开“计算机管理”对话框。也可以执行“开始”|“控制面板”|“管理工具”|“服务”来启动服务。 改成手动模式,每次电脑开机都需要点击启动服务 2. 命令行启动…

如何启动MySQL服务

第一种 1.通过快捷键(WinR)输入 service.msc 调出服务窗口 2.找到MySQL服务,选择打开,或者自动打开即可 第二种 1.通过 cmd 窗口,以管理员身份打开,输入指令: net start mysql 即可 2.不区分…

Windows下安装启动mysql服务步骤

1. 下载 MySQL :: Download MySQL Community Server 2. 配置 创建my.ini文件 粘贴配置信息 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 ---这里输入你安装的文件路径---- basedirD:\Develop\mysql-8.0.32-winx64 # 设置mysql数据库的数据的存放目录 datadirD:\D…

如何手动启动MySQL服务器

我在Windows上安装完MySQL后,没有设置开机自动启动MySQL服务,在我重新启动电脑后,发现无法连接数据库。 其原因就是没有启动MySQL服务,那么启动MySQL服务的方法为:开始——>运行(即命令行中&#xff09…

数据库MySQL服务器的启动

数据库MySQL服务器的启动 数据库MySQL服务器的启动方式有三种 方式一、通过服务的方式自动启动 1、右击“此电脑”,点击管理。 2、双击服务和应用程序。 3、点击服务。 4、找到MySQL,可以看到启动类型是自动,即开机时就自动启动了。 如…