网络基础认知(上)

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

        如今使用过计算机的人们都接触过网络,但是网络究竟是什么,计算机又是怎样通过网络来进行互相之间通信的,这还需要我们深入了解。

网络基础认知(上)

目录

网络发展

 初识协议

什么是协议

为什么需要协议?

网络协议初识

协议分层

  为什么网络协议要分层呢?

OSI七层模型

TCP/IP五层(四层)模型

网络传输基本流程

协议报头

局域网

局域网通信过程

跨网络通信

数据包的封装和分用

数据包封装和分用的过程

封装过程

分用过程

网络中的地址管理 


网络发展

        最开始的时候,每一台计算机相互之间都是独立的,若是想互相通信或者共享数据,需要有人参与,通过一些二进制纸条,或者光盘,磁带之类的物品,将数据录入到上面,然后才能让另一个计算机读取上面的信息。

网络基础认知(上)

                                                                                                                         二进制纸条

网络基础认知(上)

         但是有人参与的活动导致计算机通信很慢,而且远程通信成本很高,因而出现了网络

        比如这样,通过一个服务器使得多台计算机可以数据共享。

        网络基础认知(上)

       局域网LAN: 或者通过交换机和路由器,使得计算机可以远距离通信。

 网络基础认知(上)

       广域网LAN:可以将远隔千里的计算机都链接在一起:

网络基础认知(上)

     这里的局域网和广域网实际上都差不多,广域网相当于一个更大的局域网。

        

 初识协议

      

什么是协议

        协议在日常生活中有许多,用一句话概括就是:协议是一种约定

为什么需要协议?

        想象一个场景,当两个人面对面说话时,可以很轻松的进行通信。

网络基础认知(上)

        但是当两个人距离拉开的时候,就会有各种各样的问题导致难以通信。 

 网络基础认知(上)

         若是相隔距离过远,再想通信就只能跑过去重新面对面才能通信,这样成本就太高了。

        于是这两个人就可以互相之间约定好用其他方式来进行通信,比如打电话,写信,做暗号。

 这样就约定好一个协议了。

                                        而协议,就是为了减少通信的成本而存在的

        而计算机之间是通过使用光信号或者电信号来通信的,想要使得计算机之间成功通信,就必须约定好不同的信息应该使用怎样的格式来表达,于是协议就产生了。

                        但是,两台主机只要约定好协议就可以成功通信了吗? 

        这不尽然,我们知道,计算机的生厂商有很多,计算机操作系统有很多,而厂商内部的计算机可以只用一个协议就能通信,但是厂商与厂商之间的计算机就不能成功通信了。 

       于是就需要有一个标准,让大家都遵守,这就是网络协议

网络协议初识

协议分层

        网络协议是分层的,那么什么是分层呢?举一个列子:

网络基础认知(上)

        像我们打电话,我们和电话对面的人都是默认使用汉语说话,这就是一层语言层。

        而电话机则是另一层,通信设备层。

      

  为什么网络协议要分层呢?  

网络协议分层的原因:

a. 软件层面的优势——低耦合

b.有些模块功能比较集中,耦合度比较高,这些模块放一层——高内聚

c.每一层都有需要解决的特定问题

   

而网络协议分层的原因就在其中,首先就是低耦合问题

每一层都有自己特定的功能,最需要低耦合的就是其中应用层了。

应用层管理着针对不同应用的协议,如果没有分层,那么若是有新的应用协议出世,就要更新整个计算机,而有分层则只用针对应用层进行更新。

分层的依据就是看哪些模块功能是否集中了,将功能集中的模块放在同一层。

其中每一层都要解决特定的问题。

特定问题

a.如何交付数据给下一台主机

b.如何选择去往下一台主机的路径

c.出现了错误应该如何纠错

d.解决应用方面的能力

OSI七层模型

当我们明白为什么网络需要进行分层后,我们就可以了解网络协议的标准模型了,其中一个就是OSI七层模型。

OSI(Open System Interconnection,开放系统互连)七层网络模型;

称为开放式系统互联参考模型, 是一个逻辑上的定义和规范;

是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;         

顾名思义,OSI七层模型将网络协议定为了七层,每一层都有对应的物理硬件,如交换机,路由器。 

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七 个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;

那么这七层是哪七层呢?

网络基础认知(上)

 OSI将网络协议分为这七层,每一层都有不同的功能。

不过OSI七层模型虽然十分精细,但是它在实际的工程实践中并不常用。

接下来我们了解另外一个模型——TCP/IP五层(四层)模型

TCP/IP五层(四层)模型

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

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

物理层:负责光/电信号的传送

数据链路层:负责设备之间数据帧的传送和识别

网络层:负责地址管理和路由选择

传输层:负责两台主机之间的数据传输

应用层:负责应用程序之间的沟通

网络基础认知(上)

对于一台主机而言,它的操作系统内核实现了从传输层到物理层

对于路由器而言,它实现了从网络层到物理层

对于一台交换机而言,它实现了从链路层到物理层

对于一台集线器而言,它只实现了物理层

网络传输基本流程

想要了解网络传输的基本流程,先得明白一个概念——协议报头。

协议报头

每一层都有协议,而每一层协议的最终表现就是报头,每一层协议都是通过协议报头进行表达的。

就好比网购,我们不仅会收到产品,也会收到快递单等一些我们并没有购买的东西。

虽然这些快递单对我们没有用,但是对于快递公司来说,却是十分重要的,若是没有快递单,那么快递公司送快递的工作就会十分麻烦。

网络基础认知(上)

而报头则在网络传输中起着快递单的作用,不同的协议报头都需要对应的协议才能识别

局域网

我们都知道,在局域网中的两台主机可以直接通信,而局域网通信是通过什么来辨别不同主机的呢?

实际上,局域网通信是通过网卡上的MAC地址来辨别不同主机的。

 那么局域网内部通信过程是怎样的呢?

局域网通信过程

假设局域网内有多台主机,其中主机A要对主机B发送数据。

网络基础认知(上)

当主机A在局域网中发送一条信息后,实际上在局域网内部的所有主机都会收到这条信息。

但是所有主机都会根据MAC地址识别这条信息是发给哪台主机的,又是从哪里发出来的,因而只有B能成功收到这条信息

但是B只要收到了信息就能够直接读取吗?其实并非如此。

网络基础认知(上)

 当主机A发送数据时,计算机会从上往下根据每一层的协议给数据添加报头,然后放在以太网上。

然后通过MAC地址找到对应主机后,对应主机再一层层由下往上将报头去掉,最后获得数据。

在上图中,我们可以发现,同层协议所拥有的数据包都是相同的,于是我们可以这样理解:

                               同层协议在直接通信,也可以理解为向下交付。

讲完过程后,我们还要说一下协议的共性。

协议的共性

a.如何判断报头的位置和有效载荷的位置

b.如何判断自己的有效载荷要交给上层的哪一个协议

        在上图中,我用几个图形来有效的表示报头和有效载荷的位置,但是实际上的报头和有效载荷的位置并没有这么明显的区别,都是需要协议自身内部来区分位置

        此外,在计算机内部每一层可能会有好几个协议,如何找到对应的协议也需要协议自身来控制。

跨网络通信

        现实生活中肯定不会只有局域网通信,还有跨网络通信,其中局域网又分为以太网,令牌环网和无线LAN

        那么跨网络通信就需要解决不同局域网通信的问题。

        其中路由器就是用来解决该问题的——屏蔽底层协议的差异

网络基础认知(上)

         实际上跨网络通信和局域网通信类似,只是在最后并不是将数据包传给对应主机,而是传给路由器

        当路由器收到数据包的时候,会根据数据包中的IP地址来选择对应主机,然后根据这个主机的局域网类型来选择对应的协议。

        剩下的就由目标主机一层层解包。

数据包的封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装

首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理.

数据包封装和分用的过程

封装过程

网络基础认知(上)

        我们可以看到,每一层给数据加完首部后,就会向下到下一层协议;

        此外在最后的链路层会给数据包添加首部和尾部,需要注意。

分用过程

网络基础认知(上)

当主机接收到进入的帧后,会按上图来一层一层的解包,最终找到正确的协议。

网络中的地址管理 

IP地址

IP地址是在IP协议中, 用来标识网络中不同主机的地址;

对于IPv4来说, IP地址是一个4字节, 32位的整数;

我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

MAC地址

MAC地址用来识别数据链路层中相连的节点;

长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).

那么这两个有什么区别呢?

在网络通信中,IP地址可以认为是一个指导大概方向的。

它告诉主机该数据源自哪里目标又是哪里

而MAC地址可以认为是细化了路径。

它告诉主机该数据从哪一台主机来,该去的下一台主机在哪里。

因此我们可以简单的认为,在网络的数据包中,IP地址应该是不变的,而MAC地址则是随时变化的。

其中,IP地址和MAC地址又都被细分为源IP地址和源MAC地址,目标IP地址和目标MAC地址。

源IP:从哪台主机来;

目的IP:到哪台主机去;

源MAC:上台主机的地址

目的MAC:需要去的下一台主机是哪个;文章来源地址https://www.toymoban.com/news/detail-438491.html

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

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

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

相关文章

  • 【计算机网络基础】章节测试4 网络层

    R1与R2是一个自治系统中采用RIP路由协议的两个相邻路由器,R1的路由表如图(a)所示。如果R1收到R2发送的如图(b)所示的(V,D)报文,更新之后的R1的4个路由表项的距离从上到下依次为0、4、4、2,那么图 (b)中a、b、c、d 可能的数据一个是( C )。 A. 1、2、2、1 B. 2、2、3、1 C. 3、

    2024年02月02日
    浏览(84)
  • 计算机网络基础概念解释

    ​   1. 什么是网络 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同⼯作来完成业务,于是有了网络互连。 网络互连:将多台计算机连接在⼀起,完成数据共享。 数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也

    2024年01月24日
    浏览(51)
  • 【计算机网络基础】期中测试

    在OSI 参考模型中,( B )利用通信子网提供的服务实现两个用户进程之间端到端的通信,在这个层次模型中,如果用户A需要通过网络向用户B传送数据,那么首先将数据送入应用层,在该层给它附加控制信息后送入表示层;在表示层对数据进行必要的变换并加上头部后送入会话层

    2024年02月10日
    浏览(48)
  • 计算机网络基础第四章

    主要任务是把 分组 从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是 数据报 。 功能一:路由选择与分组转发( 最佳路径 ) 功能二:异构网络互联 功能三:拥塞控制(若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于 拥塞

    2024年02月16日
    浏览(88)
  • 第1章-计算机网络基础

    目录 1. 计算机网络与计算机 2. 计算机网络的定义和基本功能 2.1. 定义:计算机网络是一组自治计算机互连的集合 2.2. 基本功能 2.3. 计算机网络的演进 2.4. 广域网(Wide Area Network,WAN) 2.5. 网络的拓扑结构 2.6. 数据交换方式 2.7. 衡量计算机网络的性能指标 2.8. 网络标准化组织   

    2024年01月25日
    浏览(41)
  • 计算机网络基础学习指南

      计算机网络基础是研发/运维工程师都需掌握的知识,但往往会被忽略。 今天,我将对计算机网络基础学习进行详细阐述,涵盖 TCP / UDP协议、Http协议、Socket等,希望你们会喜欢。 1.1 简介 定义 计算机网络的各层 + 其协议的集合。 作用 定义该计算机网络的所能完成的功能。

    2024年02月09日
    浏览(47)
  • Linux 计算机网络基础概论

    1、网络 网络是由若干节点和连接这些结点的链路组成,网络中的结点可以是计算机、交换机、路由器等设备。通俗地说就是把不同的主机连接起来就构成了一个网络,构成网路的目的是为了信息交互、资源共享。 网络设备有:交换机、路由器、集线器 传输介质有:双绞线、

    2024年02月11日
    浏览(50)
  • 计算机网络基础第一章

    1.1 计算机网络的概念 三网:有线电视网络、电信网络、计算机网络。 三网融合:通过计算机网络可以将有线电视、电信网络通过0/1编码等方式展现进行融合,从而实现计算机网络实现视频、电话等其他网络功能。 四网:电网+三网。 四网融合:计算机网络控制实现有限电视

    2024年02月13日
    浏览(51)
  • 计算机网络基础第六章

    1.1.1 客户/服务器(C/S)模型 1.1.2 P2P模型 网际报文存取协议IMAP 5.2.1 HTTP协议的特点 5.2.2 HTTP协议的连接方式 5.2.3 超文本传输协议HTTP-报文结构

    2024年02月16日
    浏览(44)
  • 网络安全入门学习第九课——计算机网络基础

    1.1、公网地址的范围 A类:地址范围1.0.0.0~127.255.255.255,主要分配给主机数量多、局域网数量少的大型网络; B类:地址范围为128.0.0.0至191.255.255.255,一般为国际大公司及政府机构使用; C类:地址范围为192.0.0.0至223.255.255.255,为一般小型公司校园网研究机构; 1.2、私网地址的范围 A类

    2024年02月08日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包