首页 > 其他分享 >网络篇:网络工作方式复杂?您需要细致了解网络分层模型。

网络篇:网络工作方式复杂?您需要细致了解网络分层模型。

时间:2024-06-08 16:03:59浏览次数:24  
标签:协议 细致 网络层 网络 局域网 传输 分层 IP地址

      上一篇文章提到过,网络是机器间的通信方式,那么,为了高效稳定地完成工作,网络具体是如何实现的呢?为了解决这个问题,我们需要认识网络分层模型。

      在一家员工很多的工厂里,我们是工厂的主人,怎样才能组织员工很好地完成一项工作呢?最容易想到的办法是将员工划分到不同的部门,每个部门完成部分的工作。而网络的设计正是通过这种方式,将网络划分为几个不同的层次,每个层次只需要使用下一层提供的服务,完成的自己的任务,而无须关注其它层任务的具体实现过程。这里要说明一下,规定每一层某项工作方式的规则是这一层的协议,而下层对上层提供的便利叫做服务。于是,对抽象的网络建模,就产生了易于理解的网络分层模型。有名的有七层的OSI和四层的TCP/IP模型,为了研究清楚网络的具体工作方式,我们结合了OSI和TCP/IP,产生了五层的模型:物理层、数据链路层、网络层、传输层和应用层。

       首先,我们要知道,最大的网络(互联网)是由一个个小的网络(局域网)连接而成的。把互联网看作一个城市,局域网就可以是一个小区。网络的工作就类似邮寄物品,计算机相当于小区的住户,网络就是将一些物品从一位住户邮寄至另一位住户。

      应用层负责的工作是确定需要传输的信息内容,即邮寄的具体物品。顾名思义,应用层上可能会同时运行着计算机中大量的应用程序,像一位住户家里会有很多人一样,计算机需要确定这条信息内容是由哪个应用程序发出的,以便在收到返回的包裹时,交付给对应的应用。家中的每一个人都有自己的隐私,所以,不同应用间不应该看到不属于自己的包裹。为此,引入了端口的概念,端口是应用层和传输层间的接口,端口可以理解为为区分不同应用而做的标识。当某个应用需要寄信,它就会使用一个端口,计算机会记录这个应用和它所对应的端口号,当收到返回的包裹时,会通过端口号找到对应的应用,并将包裹交付与它。端口号使用16个比特来标识,所以端口号的范围是0至65535。其中,一些常用的应用层协议有着相对固定的端口,如HTTP协议一般使用80端口,HTTPS协议使用443端口,FTP协议控制端口是21,默认数据端口是20。网络中所有重要的协议以后的文章会详细展开讨论。

      传输层的工作比较多,它需要通过端口确定对应的应用,把所有应用邮寄的物品打包,汇聚在一起发出,当邮寄的物品过大时,还需要将它分成几部分,再打包成包裹。同时,它还有控制邮寄线路不拥堵,邮寄包裹尽量完好无损地到达目的地址的功能。传输层有两种工作方式,分别使用了TCP协议和UDP协议。这里简单介络一下这两种协议的区别,TCP是面向连接的协议,需要建立连接,而UDP不需要建立连接。类比于我们去拜访朋友,建立连接就是在拜访前给朋友打电话,那么朋友一定会提前准备,知道我们要来造访;而不建立连接呢,就是给朋友一个惊喜,突然造访,朋友提前是不知道的,会感到意外。TCP传输的数据是可靠的,是不容一点差错的,信息会准确无误地到达目的地址;而UDP则是不做保证,可能会出现差错的。TCP由于要控制不出差错,所以传输速率会比UDP慢。那么,结合它俩不同的特点,在对数据传输准确率要求严格的情况下,应当使用TCP协议。而在对数据传输速率要求严格的情况下,应当使用UDP协议。

      网络层会为我们的包裹填写上源IP地址和目的IP地址。网络层上最重要的物理设备是路由器,它将一个个小的网络(局域网)连接起来,形成了一个大的网络(互联网)。正是有了网络层的工作,我们的数据包可以在多个局域网中穿行,最后到达了目的计算机所在的局域网。那么,网络是怎么知道我们需要将包裹传输到某个局域网中的?这是因为每一个局域网都有自己的IP地址。关于IP地址,这里简单介绍,IP地址由网络地址和主机地址组成。每一块网卡都会被分配一个IP地址,路由器只要观察目的IP地址中的网络地址,就可以找到目的计算机所在的局域网。网络层中最重要的协议就是IP协议,IP协议除了具有为每一块网卡分配一个IP地址的功能外,还可以根据既定的规则计算传输路径的优先级,找到数据包传输的最优路径。为了实现可靠传输,IP协议可以对数据进行分片,但实际完成分片操作的其实并不是IP协议,同样,IP协议对分片后的数据有重组功能。在将数据包分片之后,IP协议会在每个数据包的前面添加标识,以便可以实现对它们的重组。IP协议还可以根据数据链路层在每个数据包后添加的FCS(帧检验序列)来判断某个数据包在传输过程中是否产生了错误,进而通知传输层是否需要对指定数据包进行重传。除此之外,由于越来越多的智能设备接入了互联网,因而产生了传输机制不同的各类型局域网,IP协议需要负责协调各种类型的局域网,使它们统一工作。网络层的另一个重要协议是ARP协议,它的主要作用是转换IP地址和数据链路层的MAC地址。

      我们发现,传输层和网络层都有对数据包进行分片的操作。那么,为什么分片操作要进行两次呢?难道这是冗余的操作吗?并不是这样的,从应用层中出来的数据在经过下面的三层时,都会在数据前面加上各层的头部,并且,网络层还存在以太网上最大传输单元(MTU)的规定。在传输层中对数据进行切分,目的是确保在通信过程中,即使网络中断,也可以通过重传某部分片段而不是全部数据的方式,来保证数据的完整性。网络层中的分片操作,则是因为数据包中的数据超出了MTU,目的是方便数据链路层上帧在以太网中进行传输。

      数据链路层中的转发设备是交换机,交换机是在局域网中工作的,交换机并没有跨越局域网的功能。最常见的局域网类型是以太网,以太网中交换机只能识别MAC地址。MAC地址唯一对应着网卡,不会重复,不会发生改变。帧是数据链路层中数据包的名称,帧头和帧尾含有控制信息。其中,帧尾有着FCS(帧检验序列),目的计算机在收到数据后,可以通过对FCS进行计算校验,来判断数据在传输过程中是否发生了改变。

      物理层就是可看得见的光纤、电缆等传输介质。物理层的主要作用是把帧转变为电信号、光信号在传输介质中传输。无论什么类型的数据,数据在传输过程中改变了多少形式,最终都是以电信号、光信号来传输的。

      网络层和数据链路层有寻址的功能。区别是,网络层工作的路由器只认识IP地址,只能将数据从一个局域网,转发到另一个局域网。而数据链路层工作的交换机只认识MAC地址,可以将局域网中的数据转发到目的计算机中。

      我们再来类比一下数据链路层、网络层和传输层的作用。传输层就是外卖公司,公司规定了送外卖的规则,告诉它的员工要如何规范送外卖。而网络层就是外卖小哥,外卖小哥会将外卖送到您的小区门口,他进不去小区,会被保安大爷阻拦。而数据链路层就可以是保安大爷或者是您,无论是他通知您去保安室取外卖,或者是他将外卖送到您的家里,不论哪种方式,您一定能将外卖取回家。

       这是网络篇的第一篇文章,网络知识向来是复杂繁琐的,不过我会尽量做到以简明通俗的语言来描述网络知识。后面网络篇的其它文章,我们还要介络常见的网络协议,IP地址和MAC地址,网络中常见的转发物理设备,以及我们还要来看一看数据在网络中传输的完整过程。掌握扎实的网络知识,有助于我们后面理解网络传输中的安全问题。

 

标签:协议,细致,网络层,网络,局域网,传输,分层,IP地址
From: https://blog.csdn.net/2301_80659877/article/details/139533753

相关文章

  • Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列
    %步骤1:准备数据%假设你已经准备好了股票价格的训练数据和测试数据%训练数据:train_data,包含n个训练样本,每个样本有m个时间步长的特征%训练标签:train_labels,包含n个训练样本的目标值(股票价格)%测试数据:test_data,包含k个测试样本,每个样本有m个时间步长的特征%测试标......
  • 计算机网络实验二:动态路由配置
    这个是pkt文件https://pan.quark.cn/s/5a80aa8a21f7发现复制不来图片把实验报告也放在夸克网盘大家自行下载https://pan.quark.cn/s/1d9ea9d31bea有兴趣的可以一点一点跟着做没兴趣的自行下载提交(手动狗头)实验报告里面有私货记得删除修改这个pkt文件我没有配置协......
  • 计算机网络实验一:vlan的创建与划分
    这个是pkt文件有两道题所以我是两个文件https://pan.quark.cn/s/d4170897cb59https://pan.quark.cn/s/da48878c77f5发现复制不来图片把实验报告也放在夸克网盘大家自行下载https://pan.quark.cn/s/e4c63d315050有兴趣的可以一点一点跟着做没兴趣的自行下载提交(手动......
  • 机器学习笔记(3): 神经网络初步
    神经网络应该由若干神经元组成。前面的每一个神经元都会给到一个参数,将传递的所有参数看作一个向量\(\vecx\),那么此神经元的净输入为:\[z=x\omega+b\]其中\(\omega\)称为权重向量。这里认为\(x\)是行向量,而\(\omega\)是列向量。神经元还有一个激活函数\(f(\c......
  • 计算机网络实验三 综合性训练(搭建中小企业园区网)
    这个是pkt文件https://pan.quark.cn/s/bc59e04089fa发现复制不来图片把实验报告也放在夸克网盘大家自行下载https://pan.quark.cn/s/b3f8136536e8有兴趣的可以一点一点跟着做没兴趣的自行下载提交(手动狗头)实验报告里面有私货记得删除修改四、实验过程: 根据思科实......
  • 24. 计算机网络 - 网络层
    概述IP数据报格式IP地址编址方式1.分类2.子网划分3.无分类地址解析协议ARP网际控制报文协议ICMP1.Ping2.Traceroute虚拟专用网VPN网络地址转换NAT路由器的结构路由器分组转发流程路由选择协议1.内部网关协议RIP2.内部网关协议OSPF3.外部网关协议BGP......
  • 网络通信
    服务端//服务端(以C++作范例)#include"mysocket.h"//导入头文件:由于mysock头文件本身就有其它文件,这里无需导入 usingnamespacestd;SOCKETs_accept;intmain(){ cout<<"---------------------------服务端---------------------------\n"; cout<<"正在......
  • Linux(Windows)网络配置(超详细)
    Linux网络配置三种模式(以下是理论,不想看可直接跳过):        桥接模式(bridged):也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络。简而言之,这就好像在局域网中添加了一台新的、......
  • RT-Thread和Infineon主持的嵌入式网络应用开发沙龙
    主题会议由RT-Thread&&Infineon共同主持,PSoc62开发板现场演示从0到1搭建智能数据网关RT-Thread介绍rt-thread社区负责人郭占鑫郭工介绍RT-Thread英飞凌合作伙伴介绍英飞凌产品负责人介绍英飞凌的产品动态、分享未来的一些嵌入式技术发展方向以及应用案例技术分享(钩子函......
  • 学习笔记——路由网络基础——汇总静态路由
    4、汇总静态路由(1)定义 静态路由汇总:多条静态路由都使用相同的送出接口或下一跳IP地址。(将多条路由汇总成一条路由表示) (2)目的1.减少路由条目数量,减小路由表,加快查表速度2.增加网络稳定性(3)路由黑洞以及路由环路的产生以及解决方案路由黑洞:r1有路由条目给......