网络协议由什么组成?

网络协议

在我们日常生活中,运用互联网已经是必不可少的事情了,常常会通过电脑或者手机去追剧、购物、聊天、办公,在使用的过程中,其实会涉及到很多的网络协议。

网络协议由什么组成?

以最常见的家庭网络为例,我们在办理了宽带后(不管从电信、联通、移动),接上一个家用无线路由器简单初始化后,对于用户而言它就可以直接使用了,它不会去关心怎么是实现的上网,上网的过程中发生了什么!但是作为学习计算机网络的我们,这个是必须了解了,毕竟以后是吃饭的家伙。我们使用手机连接WIFI连接到无线路由器,使用的是802.11(WLAN协议),而电脑通常通过网线接入到路由器的LAN口,使用的是以太网(ETHER2协议),在接入的过程中,无线路由器会给电脑、手机下发网络配置信息,这个使用的是DHCP协议,这个时候手机跟电脑获取完成后可以正常开始正常的局域网通信了,访问局域网里面的共享文件夹或者设备,而访问互联网的应用,比如抖音、B站、微信等,就依赖无线路由来进行相关协议的对接,把局域网接通互联网,接通后,那么手机与电脑就可以正常的访问需要的互联网应用了。

这里就带来了一个疑问,互联网各式各样的厂商设备都有,像普通个人用户产品无线路由器设备有TP、华为、华三、小米、华硕等厂商,企业/运营商级别网络产品有思科、华为、华三、Juniper等厂商,服务器有HP、DELL、IBM,终端设备厂商就更多了,那么这些厂商设备在对接的时候怎么保证互相通信不出问题呢?答案就是:网络协议,网络协议的出现就是为了让各方通信设备之间能够通过标准与规范来进行相互交流,制定出来的一套标准,那么这个标准就是下面要介绍的。

OSI参考模型

网络协议由什么组成?

OSI参考模型把网络协议提供的服务分为7层,定义了每一层的服务内容(把复杂的事情分层次的去完成),但是OSI参考模型只是对各层的服务做了一个大纲,里面具体的协议内容并没有详细的规定,在实际中使用的是TCP/IP协议,OSI更多会出现在考试、面试的环节里面,在这里呢就作为一个了解。

应用层

OSI参考模型的第七层(最高层),直接向用户提供服务,并且规定应用程序中通信相关的细节,比如我们常用的HTTP、HTTPS、邮件、FTP、远程登录等。

网络协议由什么组成?

表示层

OSI参考模型第六层,负责数据格式的互相组转换,转换成各自看得懂的内容,比如我们看到的是图片、文字、音频、视频等内容,但是计算机看不懂这些,需要转换成计算机能看懂的”语言”形式,同样的计算机的”语言”形式,用户也看不懂,同样需要转换成成用户能看懂的形式。

网络协议由什么组成?

会话层

OSI参考模型的第五层,管理和协调不同主机上各种进程之间的通话,负责建立、维护、终止。在Windows上面其实很好体现,通过CMD输入netstat -anob,就可以看到主机上面各种进程的会话信息,有建立的,有超时的,比如下面使用同一个浏览器(edge),访问不同的网页服务,在计算机里面有不同的进程,当用户访问优酷完毕后,关掉了这个浏览器的页面,那么对应的整个进程的状态会变成结束,会话层就会关掉这个进程。

传输层

OSI参考模型的第四层,为上几层协议提供主机之间端到端的可靠或者不可靠访问(经常听到的TCP与UDP),并且通过端口号+地址来区分不同的应用进程。(如上图netstat -anob进程里面,包含地址+端口号)

网络层

OSI参考模型的第三层,在网络层将数据传输到目的地,主要负责寻址和最优路径的选择。

数据链路层

OSI参考模型的第二层,在通信传输过程中,实际上都是通过物理介质进行传输实现(比如有线、WIFI、光纤),数据链路层的作用就是把物理层的比特流划分成数据帧传输,并且在不同的链路层有不同的寻址方式(比如以太网、PPP)

物理层

OSI参考模型的第一层(最底层),负责逻辑信号(比特流)与物理信号(电信号、光信号)之间的相互转换,并且通过传输介质为数据链路层提供物理连接。

TCP/IP协议

上面提到OSI 7层参考模型在实际中并没有被使用,真正目前广泛使用的则是TCP/IP协议,主要原因(仅代表个人观点)

历史原因:计算机网络发展开始之处,各大厂商为了能在数据通信网络占据主导地位,都推出了各自的网络架构体系跟标准,比如IBM公司的IPX(玩过红警的都知道),Apple公司的Apple Talk协议等,并且针对自己的协议推出了不同的硬件跟软件,各个厂商的努力促进了整个网络技术的快速发展和网络设备种类的增长,但是带来了一个严重的问题,各个厂商有自己的标准跟协议,使得整个网络变的越来越复杂,并且协议之间大部分兼容性存在问题,无法进行通信,这个就是OSI参考模型出现的原因,试图让计算机网络世界各种终端、协议之间能够相互通信,达成互联。这个理想是很美好的,但是在OSI参考模型成立研究之前,就已经有人研究出来了两个协议,分别是TCP与IP协议(后续版本改名为TCP/IP),并且开始在大学学院之间开始进行测试,随着不断的人员加入测试并且完善,并且能够兼容各个厂商平台的协议特性,就使得大量厂商开始使用TCP/IP协议,尽管后面推出了标准OSI参考模型,但是此时TCP/IP协议已经在大范围内开始运行,并且由IETF组织不断的进行完善推进。

理想与现实:OSI模型属于理论型产物,分层太过于明细,导致在实际产物的时候,成本、周期等增加,并且OSI并没有在实际中验证过,存在不确定性,导致很多公司不愿意使用OSI,对于比TCP/IP来说,已经在网络中大范围开始使用,有市场验证,而且TCP/IP协议对比OSI来说简单些,实现起来比较容易,更加符合市场的需求,最终TCP/IP成为了使用的主流,用到至今。(目前使用的主流是TCP/IP V4,也推出了V6版本,在慢慢的普及)

网络协议由什么组成?

会发现在TCP/IP协议体系中会话层与表示层没有了,并不是消失了,而是”合并在了应用层里面”,应用程序开发的时候,都会涉及到会话ID、将不同的文字、图片、音频、视频有不同的表示,而OSI模型它希望把会话层与表示层独立出来:让不同的应用程序共享”会话层””与表示层”,但是这个愿望一直没有实现过,原因是不同应用程序有不同的会话ID、表示内容,程序开发者直接在应用开发的时候就把”会话层””表示层”需要的内容完美的给实现了,对于程序开发者来说实现起来更加方便,也更效率。

其他层与OSI参考对应的作用是一致的。

一定要记住TCP/IP协议体系是随着互联网发展不断的在加入新的技术以及完善,也有设计之初没有考虑到internet发展的这么壮大,也是遗留下来一些问题。(这个随着慢慢的学习,会有所体会)

分层有什么好处?

举几个例子,来理解下分层的概念跟好处(生活中的举例只能让我们方便去理解,实际网络处理起来会更加复杂)

(1)公司有多个部门,每个部门都有一个部门经理、一个助理,助理负责帮忙处理很多琐事,这个时候A经理有一份文件想让B经理签字,把文件交给了A助理,A助理将文件交给B助理,B助理把文件交给了B经理,B经理签字完成后,在由B助理交给A助理,A助理交给A经理,完成整个过程。

对于经理来说,他们关心的是这份文件的签字;对于助理来说,他们关心的是如何以效率的方式送到双方完成经理交代的任务。

可以把经理看作是上层,他不会关心A助理具体是如何将文件交给B助理的,不管你是面对面交付还是邮寄、叫跑腿,同样的助理作为下层,他也不会去关心这份文件的内容是什么。从这个角度可以发现,下层(助理)对上层(经理)提供了透明的服务,上层只关注下层是否能够提供正确的服务,分层在这里可以看成是层层交付 ,下层向上层提供服务,对于上层来说,如同A、B经理之间直接完成的签字交付,他们不关心下层(底层)的具体细节操作与实现,相当于底层是透明的存在。(比如我们用浏览器访问优酷,浏览器就会发送请求,对于浏览器来说,它不会去关心具体是怎么到达优酷服务器的,是从电信出去的、或者联通、还是移动)

(2)计算机网络其实是一个庞大的群体体系,包含了非常多的方向,数通工程师、安全工程师、无线工程师、核心骨干网、系统运维工程师、程序开发工程师、前端、后端等,如果不区分方向,把每个方向的具体作用跟分工划分出来,都合并到一起,没人能够这么全面的掌握其内容,不利于职业的发展跟岗位人才的培养,同样在TCP/IP协议体系中,每一层都有对其的职责跟分工,大家各司其职,这样不管从效率还是实现起来更加的容易。

(3)便于排错定位问题

假设某个公司要组建一套网络,有网络设备、有服务器,它想划分成2个区域,一个服务器的一个办公的,并且两个区域之间访问没问题,另外服务器区域要搭建各种的服务,这个公司请来了两个工程师,一个数通网络工程师,一个系统运维工程师,数通网络工程师负责把网络设备跟区域之间的底层打通,而系统运维工程师,负责把服务搭建起来,在验收的时候出现了一个问题,客户发现办公区访问不到服务器区域,客户又找到两个工程师,让他们来处理这个故障。(从服务器角度来看,它们跑的都是应用,提供服务为主,而办公区到服务器涉及的则是网络层与数据链路层的转发,从不同层次的作用去检查对应的服务是否正常工作来定位解决问题会比盲目的找要轻松很多。)

(4)从学习的角度来说,这个其实跟第二点很相似,比如学习路由交换,主要精力是放在网络层与链路层(后面经常称为三层与二层),把某个网络的底层链路都连通起来,至于在这个网络上面跑什么样的应用,不去关心。而像程序开发、前端、后端这些主要精力则是放在应用层上面,应用程序搭建好了,接入到网络里面来,至于它怎么被人访问到的,怎么实现的,不去关注。(这不去关心指的是职责方面,但是作为学习的话,重点放在对应的层面上面即可,而随着知识点的增加可以去了解了解其他层的工作流程,有时候其实也挺有用的)

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2788.html

Like (0)
Previous 2026年5月27日 上午10:07
Next 2026年5月28日 下午3:36

相关推荐

  • http和https的区别及优缺点

    你有没有注意到,有些网站的网址开头是http://,有些则是https://? 虽然看起来只差了一个「s」,但它们的安全性和运作方式却完全不同。 什么是 HTTP? http 的定…

    2026年5月13日
    0
  • 如何修复 DNS_PROBE_FINISHED_NXDOMAIN 错误

    当浏览器找不到网站的 IP 地址时,会出现 DNS_PROBE_FINISHED_NXDOMAIN 错误。简单来说,域名的解析不正常。 如果你遇到这个错误,请先尝试以下快速修复方法…

    2026年3月26日
    0
  • 浏览器缓存是什么?网页缓存配置机制推荐

    当用户访问网站时,浏览器会向网页服务器请求所需文件,这些文件会在用户屏幕上显示。为了避免反复请求相同的资源并加快加载过程,浏览器缓存将这些文件的副本存储在本地。当用户再次访问该网站…

    2026年4月11日
    0
  • 云计算安全防护方案解析

    云计算安全是指一系列旨在保护数据、应用程序及技术基础设施的技术、解决方案与流程。它的重要性体现在,不仅能够守护企业与客户的数据安全,还能确保业务的持续稳定运行。本文将具体阐述云计算…

    2026年4月25日
    0
  • 什么是点对点协议(PPP)?

    互联网依赖于许多通信规则,即协议,在设备之间移动数据。PPP (Point-to-Point Protocol,点对点协议)是早期最重要的直接连接协议之一。 PPP允许两台设备在一…

    2026年4月13日
    0
  • DNS服务器是做什么的?

    接触过网页开发、自主搭建过网站的人群,基本都对DNS服务器十分熟悉,可从未涉足相关领域的普通人,大多对它没有清晰认知。接下来本文就通俗易懂地科普DNS服务器的基础知识,同时介绍市面…

    2026年6月24日
    0
  • 如何更新Ubuntu和Debian版本

    过时的操作系统一旦停止接收安全补丁,便会成为攻击者眼中的”软柿子”。那些心怀不轨的人往往专门盯着这类系统下手——利用已知漏洞悄无声息地渗透服务器,进而窃取用…

    2026年5月11日
    0
  • 什么是 HTML5?含义、元素和优势

    HTML5 是 HTML 的第五个版本,HTML 是一种标记语言,供 Web 浏览器用于可视化代码。它在网站功能、Web 内容开发等方面进行了多项改进。本文将介绍 HTML5 的含…

    2026年4月27日
    0
  • SQL 与 NoSQL 数据库对比:该怎么选?

    NoSQL 数据库凭借易用、好开发、扩展性强等特点,一直备受认可。在处理海量数据时速度快、使用灵活,如今在大数据和实时互联网应用中越来越普及。 但这不代表任何场景都适合换成 NoS…

    2026年4月22日
    0
  • 什么是 Node.js?一文读懂其优势与不足

    在 Web 开发领域,JavaScript 长期占据客户端编程语言的主流地位。它的价值早已不局限于前端交互,在跨平台应用开发方面同样用途广泛。React Native、PhoneG…

    2026年4月20日
    0