网络的基本原理

这篇具有很好参考价值的文章主要介绍了网络的基本原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、计算机网络背景

我们用计算机完成一项工作时,不可避免地需要进行多人协同工作,这就需要有方式让我们互相传递数据。假设现在有三台计算机终端A、B、C,分别负责查找文件错别字、修改文件错别字、调整文件内容排版的工作,由于每台计算机之间是相互独立的,并且三个工作之间的联系比较紧密,必然需要使用数据传输。

比如终端B要想修改文件错别字,他必须等到终端A找出文件的所有错别字才能修改,终端C要向调整文件内容的排版,他必须等到终端B把所有错别字修改完成才能调整。在没有网络的年代,这种数据传输的方式只能依靠人工传送,比如将整理好的数据拷贝到移动存储设备中,再由人工转交给下一个工作者,这种传输方式必然导致效率低下。

网络的原理是什么,Linux,网络,网络协议,运维,linux

有了网络技术以后,我们就可以实现网络互联,让多台计算机终端连接在一起,完成数据传输共享。

网络的原理是什么,Linux,网络,网络协议,运维,linux

我们再从操作系统的角度来理解一下网络通信为什么是可以实现的。

在冯诺依曼体系结构中介绍的是输入设备将数据加载到内存,内存再将数据传给CPU进行处理,CPU处理完以后再将结果返回给内存,内存再将数据传给输出设备。这些所谓的输入输出设备,内存CPU,它们都是硬件,它们之间是通过总线来实现数据传输的。

网络的原理是什么,Linux,网络,网络协议,运维,linux

多台主机之间传输数据就相当于是网卡与网卡之间在传输数据,那么网卡也是硬件,它们也是通过总线进行数据传输,只不过可以理解成单主机内的总线是比较短一点的线,多主机之间的线是比较长一点的线。

网络的原理是什么,Linux,网络,网络协议,运维,linux

二、局域网和广域网

1.局域网(LAN)

局域网指的是在某一区域内多台主机通过网络互联形成的计算机组,一般这个区域的范围比较小,主机之间的间隔比较近,比如我们在同一个学校,同一家公司,同一个住宅内都可以组成局域网。当局域网内的计算机数量多了的时候,就需要使用交换机将多个设备连接在一起,它可以同时多个终端之间的信息交换。

网络的原理是什么,Linux,网络,网络协议,运维,linux

2.广域网(WAN)

广域网指的是连接不同地区局域网的远程联网,又称公网、外网,广域网通常跨接的范围很大,物理距离很远,比如多个城市之间甚至多个国家之间的网络连接,它需要用到路由器,将每个局域网的数据进行转发,广域网就是一张通过路由器连接多个局域网的网络图。

网络的原理是什么,Linux,网络,网络协议,运维,linux

三、认识协议

1.协议的概念

协议的本质其实就是一种约定。
计算机之间的传输媒介是光信号和电信号,有些硬件根据信号的频率来表示0和1这样的信息,而有些硬件根据信号的强弱来表示0和1这样的信息,所以如果要想传递各种不同的信息,就需要约定好双方通信的数据格式。但协议并不是制定好一份约定就可以正常运转通信了,必须让通信双方都遵守这份协议才能让通信正常进行。

2.协议分层

我们在设计软件的时候,都会将软件的不同功能模块进行封装,设计成层状结构,这也是面向对象的思想,比如我们平时在用电话机打电话时,其实也是具有层状结构的,它分为语言层和通信设备层,在语言层,两个打电话的人都遵守汉语协议,用汉语进行沟通,所以双方能够正常进行通信。在通信设备层,两台电话机都遵守电话机协议,所以才可以将每个人的声音信息进行分析、包装、分发给对方,保证通信的正常进行。

网络的原理是什么,Linux,网络,网络协议,运维,linux

层状结构有以下几个好处:

  1. 每一层都有属于自己的协议,并且每一层都认为自己在与同层的对方直接通信,比如说上面打电话的例子,两个打电话的人他们只需要遵守语言层的协议,拿起电话机就能跟对方进行通话,并不关心底层是怎么实现通话的,通信设备层的两台电话机也是类似。
  2. 分层能够很好地实现解耦,每一层之间的耦合度非常低,比如上面打电话的例子,如果语言层我们更换了协议,不使用汉语协议而是使用英语协议,双方依然能够正常沟通,通信设备层并不会因此受到影响。

3.网络OSI七层模型

OSI(Open System Interconnection)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。它把网络从逻辑上分成了7层,每一层都有相关的、相对应的物理设备,比如路由器,交换机。

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

OSI七层模型将网络分成了七个层次:应用层表示层会话层传输层网络层数据链路层物理层

4.TCP/IP五层模型

OSI七层模型虽然设计得非常好,但是实际在应用实现过程中会比较困难,所以研究网络的科学家继续将网络分成5层,叫作TCP/IP五层模型。

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

TCP/IP协议的五层模型自底向上分别为:物理层数据链路层网络层传输层应用层

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

有了这个网络模型以后,我们再来看计算机是如何通过网络将数据从一台主机发送到另一台主机的:

假设有两台主机分别为主机A和主机B,主机A用户通过网络将信息发送给主机B用户,该信息会从主机A开始自顶向下依次经过应用层->传输层->网络层->数据链路层->物理层,然后通过物理层的网卡设备将信息发送出去。

主机B会自底向上接收信息,物理层的网卡接收到信息之后,依次经过物理层->数据链路层->网络层->传输层->应用层,再把信息返回给用户,这样就完成了一次网络信息传输。

网络的原理是什么,Linux,网络,网络协议,运维,linux

5.数据的封装和解包

在TCP/IP五层模型中,每一层都认为自己只在与同层直接交流,比如应用层只关心对方应用层的数据,传输层网络层具体怎么做,它们传输什么数据应用层是不关心的。所以同层之间都有属于自己的协议,它们就是通过这些同层协议来进行信息交互的。

所以一个信息自顶向下经过每一个层级的时候,都会在这个被传输的信息上新增一些新的数据,这些数据就是每一层协议的协议数据。

举个例子,我们在主机A中发送一条信息“你好”到主机B中,在主机A的应用层中会增加应用层协议的协议数据,在传输层中会增加传输层协议的协议数据,在网络层中会增加网络层协议的协议数据,在数据链路层中也会增加数据链路层的协议数据,物理层一般不会添加协议数据。

然后这个被发送的信息以及增加的数据就被一起发送到了主机B中,数据链路层会将主机A中数据链路层增加的数据链路层协议数据拿下来,再将剩下的数据继续向上转发,其它层同理。最后,每一个层级都拿到了同层协议发送过来的协议数据,可以简单理解为协议就是约定,由于同层之间采用同一种协议,所以这些协议数据就是他们能看懂的信息。

网络的原理是什么,Linux,网络,网络协议,运维,linux

我们把每一层新增的协议数据叫作报头,自顶向下每一层增加报头的过程就是数据封装的过程,自底向上每一层取报头的过程就是数据解包的过程。

四、局域网内主机交互与跨网段主机交互

我们上面讲的两台主机自顶向下和自底向上进行信息交互的网络模型,都是基于局域网内的例子演示的,底层是通过以太网进行数据传输的,以太网是局域网的标准。

所以在同一个局域网内的两台主机是可以直接通信的,而且处于同一个局域网内的多台主机通信是可以相互知道的,这些信息会广播到局域网内的每一台主机,也就是说你在局域网内和另一台主机通信,局域网内的其它所有主机都是可以知道的。这就好比在一间课室里,老师点名张三起来回答问题,是老师和张三之间在对话,但这个对话是全班同学都知道的。

那么在局域网内,计算机怎么知道我要跟谁通信呢?计算机是通过MAC地址来区分局域网内的计算机的。如果把一个局域网比作一个教室的话,教室里的学生和老师就是局域网内的主机,那么MAC地址就是学生和老师的姓名。

专业点来说,MAC地址是用来识别数据链路层中相连的节点的,在网卡出厂的时候MAC地址就被确定了,是不能被修改的,用来标识网卡的唯一性,但MAC地址通常是唯一的,这里说通常是因为虚拟机中的MAC地址不是真实的MAC地址,可能会存在重复。也有些网卡支持用户自己配置MAC地址。

网络的原理是什么,Linux,网络,网络协议,运维,linux

如果是跨网段的主机交互,我们就需要路由器帮我们把消息从一个局域网转发到零一个局域网,它工作的流程是:数据链路层的以太网驱动程序封装好数据链路层协议数据以后,将其发送给路由器的以太网驱动程序,以太网驱动程序进行解包,再将剩下的数据向上交付给路由器的网络IP层,网络IP层拿到网络层协议数据之后,它知道这些数据要发送到的目标IP是什么,它会在连接自己的端口中找是否有该目标IP,找到了的话路由器的网络IP层继续将数据向下交付给令牌环驱动程序,令牌环驱动程序再增加令牌环协议数据,然后将数据包转发给另一台主机,再自底向上交付数据。

网络的原理是什么,Linux,网络,网络协议,运维,linux文章来源地址https://www.toymoban.com/news/detail-775961.html

到了这里,关于网络的基本原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux基本运维汇总

    rpm 的作用类似于 windows 上的电脑管家中 软件管理 、安全卫士里面“软件管家”等产品,是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的

    2024年02月04日
    浏览(43)
  • 网络协议——什么是RIP协议?工作原理是什么?

    作者: Insist-- 个人主页: insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注   目录 一、什么是RIP协议? 二、为什么要使用RIP? 三、RIP用在哪里? 四、RIP协议的工作原理 五、总结 前言 本文将给大家讲解什么是RIP,为什么使用它,以及它的工作原理

    2024年02月09日
    浏览(58)
  • Linux运维:网络管理

    提前看:本文是Linux运维的学习笔记,之前的Linux命令基础和shell基础,使我们对Linux有系统的认识,但是这个方面的知识点非常多,今天啥也不干,就整理Linux运维各种范围出现的名词性内容进行解释。 CPU(中央处理器)是计算机的主要组成部分,它负责执行计算机程序中的

    2024年02月03日
    浏览(57)
  • 网络协议从入门到底层原理学习(一)—— 简介及基本概念

    一、简介 1、网络协议的定义 什么是网络协议? 网络协议是由定义网络上两个或多个设备之间通信的规则、过程和格式组成的正式标准和策略 它们确保计算机网络设备可以使用一种通用语言传输和接收数据,而不管它们的设计、硬件或基础设施如何。 网络协议管理及时、安全

    2024年02月09日
    浏览(50)
  • 云计算Linux运维——Linux系统管理——网络参数配置

    点关注不迷路 目录 1网络参数配置 一、网络参数 1、主机名 2、查看网卡IP地址 3、查看网关 4、查看DNS服务器地址 二、配置网卡 1、修改网卡配置文件 2、nmcli命令 3、nmcli配置网卡 3)重新加载配置 三、VMware网络工作模式 1、虚拟网络、虚拟网卡 2、虚拟网络工作模式 2双网卡绑

    2024年02月04日
    浏览(46)
  • 网络层&&IP协议的基本原理 数据链路层&&ARP协议 域名解析以及一些重要技术

    网络层作用:在复杂的网络环境中确定一个合适的路径。 tcp/ip协议,tcp解决可靠性与效率,ip提供在网络中传输的能力。 传输层决定了单次向下交付数据包的大小。 IP(Internet Protocol)协议是一种网络层协议,用于在互联网上进行数据传输。它定义了数据如何在网络中进行分

    2024年02月15日
    浏览(46)
  • 【netty系列-01】深入理解网络通信基本原理和tcp/ip协议

    Netty系列整体栏目 内容 链接地址 【一】深入理解网络通信基本原理和tcp/ip协议 https://zhenghuisheng.blog.csdn.net/article/details/136359640 【二】深入理解Socket本质和BIO https://zhenghuisheng.blog.csdn.net/article/details/136549478 在最初的网络中,是借鉴于这个OSI七层网络模型,而在实际开发应用中

    2024年03月17日
    浏览(61)
  • 【网络层+数据链路层】深入理解IP协议和MAC帧协议的基本原理

    文章目录 前言 一、IP协议 二、MAC帧协议 1.以太网 2.以太网帧(MAC帧)格式报头 3.基于协议讲解局域网转发的原理 总结 为什么经常将TCP/IP放在一起呢?这是因为IP层的核心工作就是通过IP地址来定位主机的,具有将一个数据报从A主机跨网络发送到B主机的能力,而TCP所提供的策

    2024年02月13日
    浏览(37)
  • 哈工大计算机网络传输层协议详解之:可靠数据传输的基本原理

    哈工大计算机网络课程传输层协议详解之:流水线机制与滑动窗口协议 哈工大计算机网络课程传输层协议详解之:TCP协议 哈工大计算机网络课程传输层协议详解之:拥塞控制原理剖析 什么是可靠? 不错、不丢、不乱 可靠数据传输协议 可靠数据传输对应用层、传输层、链路

    2024年02月12日
    浏览(45)
  • 【Linux 网络】网络层协议之IP协议

    IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。 网络层是夹在传输层和数据链路层的中间,传输层里最具有代表性的协议是TCP协议,而TCP协议作为传输层控制协议,其保证的是数据传输的可靠性和传输效率,但TCP提供的仅仅是数据传输的策略,真正负

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包