• 网络基础详解


    网络是什么?

    这里的网络,指的是网络协议栈,它是一个软件,有着贯穿操作系统的体系结构,属于操作系统的一部分。

    什么是网络协议?

    协议的本质是一种约定,由编码的程序员根据标准文档,或者自己的喜好定义的。约定一个共同的标准,大家都来遵守,这就是网络协议。

    网络协议是分层的

    分层的本质是,将网络中的各个模块进行了解耦,降低了它们之间的耦合度,使各个层次之间相对独立。

    分层的好处

    1.减轻问题的复杂程度,一旦网络发生故障,可以迅速定位故障所在层次,便于查找和纠错。

    2.在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行。

    3.能有效刺激技术革新,因为每次更新都可以在小范围上进行,不需要对整个网络动手术。

    TCP/IP五层模型

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

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


    应用层:负责应用程序间沟通,收到数据之后,完成一个应用层功能。

    传输层:负责两台主机之间的数据传输,为数据通信提供策略。

    网络层:负责地址管理和路由选择,跨网络路由找到目标网络+目标主机。

    数据链路层:负责设备之间的数据帧传送和识别,是同一个网段的通信方式。

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

    OSI VS TCP/IP

    1.OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。

    2.OSI是先有模型,后有协议,现有标准,后进行实践。而TCP/IP先有协议和应用,再提出了模型,且是参照OSI模型。

    3.OSI七层网络模型称为开放式系统互连参考模型,是一个逻辑上的定义和规范。而TCP/IP已被广泛使用,称为网络互联事实上的标准。

    数据转发

    同一个网段内

    封装

    应用层数据通过协议栈发送到网络上时,每层协议都要加上一个数据首部,称为封装。首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。

    这里的数据首部称为报头,是一种结构化的数据,类似于快递盒子上面的快递单,每一层都需要报头中的数据,来指导当前层进行某种协议决策。

    解包

    数据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥掉相应的首部,称为解包。几乎每个报头,都明确了报头和有效载荷的边界。

    分用

    当前层协议根据首部中的 "上层协议字段" 将有效载荷交给对应的上层协议处理,称为分用。

    局域网通信原理

    MAC地址:用来识别数据链路层中相连的节点,在网卡出厂时就确定了,不能修改,MAC地址通常是唯一的(也有些网卡支持用户配置MAC地址)。

    同一个局域网内,是可以直接通信的,网络资源被大家共享。发送到这个网段的数据并不是只有目标主机收到,而是这个局域网的所有主机都可以收到,收到数据的主机会根据数据帧中的目的MAC地址来选择接收或不接受该数据。

    局域网的任何一个时刻,都只能有一台主机向局域网中发送数据,如果同时发送,可能发生数据碰撞的问题,所以每台主机都要有碰撞检测的能力,都要有碰撞避免算法。

    跨网络

    IP

    IP用来标识网络中的不同主机,一个数据的IP地址几乎是一直不变的,标识的该数据从哪里来,到哪里去,而数据中的MAC地址是一直在变化的,标识了数据上一站从哪里来,下一站到哪里去。

    路由器

    路由器通常工作在网络层和数据链路层,既有IP地址,又有MAC地址。在一个局域网内,路由器在数据链路层通过MAC地址拿到数据,然后对数据进行解包后交付给上层网络层。上层根据目的IP地址进行路由,路由好后,将数据重新封装,并换上新的MAC地址,发送到下一站。

    IP vs MAC

    IP:用于网络寻址,它的作用空间是整个地球的网络。

    MAC:用于数据链路层寻址,它的作用空间是局域网。

    IP作为逻辑地址,不是一成不变的,而MAC是物理地址,在设备出厂是就被固定。

  • 相关阅读:
    什么是DNS智能云解析,什么是NS,更换NS多久生效?
    代码随想录34|62.不同路径,63. 不同路径 II,343. 整数拆分
    C#.Net筑基-运算符Family
    常见排序实现
    新人学习笔记之(变量)
    JavaScript知识点复习--思维导图(全)
    一台Linux机器上最多能建立多少个TCP连接?
    【学习记录】tensorflow图像数据增强
    MFC学生成绩管理系统
    typescript变量
  • 原文地址:https://blog.csdn.net/weixin_60954394/article/details/126709659