网络协议由什么组成?

网络协议

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

网络协议由什么组成?

以最常见的家庭网络为例,我们在办理了宽带后(不管从电信、联通、移动),接上一个家用无线路由器简单初始化后,对于用户而言它就可以直接使用了,它不会去关心怎么是实现的上网,上网的过程中发生了什么!但是作为学习计算机网络的我们,这个是必须了解了,毕竟以后是吃饭的家伙。我们使用手机连接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

相关推荐

  • 深入掌握Nginx服务器

    本文介绍nginx服务器及其主要特性,首先给出了包管理器安装及编译安装两种方式,然后重点对 nginx 配置文件中的指令及参数进行详细说明,在了解 nginx 的工作方式后,从 n…

    2026年5月8日
    0
  • 企业网站应选共享 IP 地址还是独立 IP 呢?

    网站搭建包括服务器配置、网页设计以及网站内容优化等环节,通常网站管理员会着重投入网站设计和内容优化方面,以提供更优质的用户体验。此外,在搭建服务器时还会遇到共享IP与独立IP的问题…

    2026年4月1日
    0
  • 什么是ARP攻击?

    什么是ARP? ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播…

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

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

    2026年4月25日
    0
  • 网站打开速度越来越慢和主机有关系吗?

    网站上线运营一段时间后,页面加载越来越慢几乎是个绕不开的问题。 出现这种情况,很多站长的第一反应是去查代码、压图片、卸插件,或者觉得是最近网络不稳定。这些方向不能说没有道理,但常常…

    2026年4月13日
    0
  • Python如何使用Selenium抓取动态网站

    对于用静态 HTML 和 CSS 构建的网站,像 Python 的请求库和 Beautiful Soup 这样的简单工具通常能在网页抓取时完成工作。然而,在处理基于动态 JavaS…

    2026年3月30日
    0
  • 如何更新服务器CentOS版本?

    老版本系统一旦被官方”抛弃”,就再也收不到安全补丁了,如果继续使用这类过期系统,不法分子很容易利用系统漏洞发起攻击,轻则破坏服务器正常运行,重则窃取内部核心…

    2026年5月12日
    0
  • 反向代理服务器是什么?

    我们经常会碰到”反向代理服务端”这个术语,比如常见文章里提到 nginx 是一款反向代理服务端……下面就来认识下这个概念 含义 “反向代理服务端…

    2026年5月29日
    0
  • Nginx与Apache的区别,谁是主流?

    NGINX 和 Apache 是目前最流行的两款 Web 服务器软件,都属于成熟的开源项目,为全球数百万网站提供支持。根据实际需求,两者都能帮助构建强大、可扩展、高性能的 Web …

    2026年4月9日
    0
  • 如何在CentOS和Fedora操作系统上设置时区和NTP?

    对于服务器管理员来说,正确配置和维护服务器上的时间是很重要的。错误的时间配置将导致服务器环境混乱,例如数据不一致、数据同步失败和作业调度等问题。为了避免这些情况,首先需要在服务器上…

    2026年5月28日
    0