• Linux:计算机网络基础



    全文约 3285 字,预计阅读时长:10分钟


    网络协议

      使用计算机工作的人需要在计算机之间交互数据,于是诞生了网络。由于不同厂商对二进制 0 1 序列的解释不一样,因此计算机互相通信的时候,传递一个字节对应的每个值,标识的是不同的含义,这种含义需要双方达成共识,这种共识便是网络协议。网络协议是为计算机网络中进行数据交换而建立的规则、标准或约定的软硬件标准集合。

      网络协议的分层在层状结构的软件体系下,很方便的可以随时更换任何一层协议,解耦、哪一层出了问题就找谁,提高了程序的可维护性。结构中的每一层都规定有明确的服务及接口标准;把用户的应用程序作为最高层;除了最高层外,中间的每一层都向上一层提供服务,同时又是下一层的用户;把物理通信线路作为最低层,它使用从最高层传送来的参数,是提供服务的基础。

      国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。OSI 这是一种理想化的模型,实际中应用更多的是 TCP/IP协议。

      美国国防部于1977年到1979年间制定了TCP/IP体系结构和协议。TCP/IP是由一组具有专业用途的多个子协议组合而成的,这些子协议包括TCP、IP、UDP、ARP、ICMP等。TCP/IP凭借其实现成本低、在多平台间通信安全可靠以及可路由性等优势迅速发展,并成为Internet中的标准协议。在上世纪90年代,TCP/IP已经成为局域网中的首选协议。


    局域网、以太网

      局域网自然就是局部地区形成的一个区域网络,其特点就是分布地区范围有限,可大可小,大到一栋建筑楼 与相邻建筑之间的连接,小到可以是办公室之间的联系。局域网自身相对其他网络传输速度更快,性能更稳定,框架简易,并且是封闭性,这也是很多机构选择的原因所在。局域网自身的组成大体由计算机设备、网络连接设备、网络传输介质3大部分构成,其中,计算机设备又包括服务器与工作站,网络连接设备则包含了网卡、集线器、交换机,网络传输介质简单来说就是网线,由同轴电缆、双绞线及光缆3大原件构成。

      以太网是一种局域网内部通信标准。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。

      当一台计算机在局域网内部向另一台计算机通信时,其实其他计算机都看到了对应的信息,但只有目标计算机识别了这条信息。因此局域网中,就需要每一台主机都有自的身份标识MAC(Media Access Control Address)地址。网卡上的一个serialnumber序列号,全球唯一,由网络设备制造商生产时写在硬件内部。MAC地址则是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D就是一个MAC地址。其前3字节表示OUI(Organizationally Unique Identifier),是IEEE的注册管理机构给不同厂家分配的代码,区分不同的厂家。后3字节由厂家自行分配 。
    在这里插入图片描述


    OSI、TCP/IP结构模型

    在这里插入图片描述

    • TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求:
      • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层,相当于一个驿站,对光电信号进行放大。
      • 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
      • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
      • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
      • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层。

      进一步简而言之,物理层+数据链路层:站在二进制角度,通过光电信号的方式,把数据信号发送给对方;网络层:如何找到目标主机的问题;传输层:如果在路上数据丢失,需要保证可靠性;应用层:对传输过来的数据,按照之前的约定、应用层协议,来完成某种计算的需求


    数据包封装、分用

      一般通信的时候,都是由应用层发起通信的,自顶向下,信息数据经历每一层都要添加自己的报头,同层看到的报文都是一样的,去掉报头,后面的就是有效载荷每层协议都必须解决两个问题:一,能够将自己的报头和有效载荷进行分离;二,每层协议的包头中一定包含了一个字段:标识要将自己的有效载荷交付给上层的哪一个协议。

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

    在这里插入图片描述

    • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),字节级别的拼接。
      • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息。
    • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
    • 每一层协议的共性:封装,解包分用
      在这里插入图片描述

    交换机、路由器

      局域网中,数据如果被多台主机同时发出,容易发生数据碰撞。因此规定任何一个时刻,局域网中,只允许一台机器像网络发送数据。每台主机都有识别碰撞的能力,每台主机都要执行碰撞避免算法,一个局域网称之为一个碰撞域交换机的作用:划分碰撞域,可明显地提高局域网的性能。
    在这里插入图片描述

      路由器是跨局域网传输,是将不同的子网之间的数据进行转送传递。因此,我们把这个过程称之为寻址过程。因为在路由器处在不同网络之间,但并不一定是信息的最终接收地址。所以在路由器中, 通常存在着一张路由表。根据传送网站传送的信息的最终地址,寻找下一转发地址,应该是哪个网络。其实深入简出的说,就如同快递公司来发送邮件。邮件并不是瞬间到达最终目的地,而是通过不同分站的分拣,不断的接近最终地址,从而实现邮件的投递过程的。路由器寻址过程也是类似原理。通过最终地址,在路由表中进行匹配,通过算法确定下一转发地址。这个地址可能是中间地址,也可能是最终的到达地址。
    在这里插入图片描述


    IP地址和MAC地址

      MAC地址,旨在局域网中使用。IP地址:从哪里来,到哪里去。源IP,目的地IP,是进行路径选择的核心依据。源mac地址,目的mac地址,一直在变化,即上一站从哪里来,下一站去哪里;经过不同的站,最终到达目的IP主机。
      路由器是每个网络拓扑中的一台机器。有路由器的存在,可以做到根据不同的局域网制式,进行解包和封包。站在IP网络层往上看,全网的网络是没有任何差别的,完成了一种网络虚拟化的技术,IP网络。


    寄语

  • 相关阅读:
    1、VIVADO软件bit文件和bin文件烧写方法
    python工程师-文件操作
    ubuntu 18.04安装pycharm及编译环境配置
    otn 709帧结构
    管理经济学-笔记(非常详细)
    离散Hopfield神经网络分类——高校科研能力评价
    在线预览excel,luckysheet在vue项目中的使用
    opencv实现目标跟踪及视频转存
    Spring的创建与使用
    计算机组成原理——中央处理器-异常和中断机制(课程笔记)
  • 原文地址:https://blog.csdn.net/WTFamer/article/details/126335459