• 网络之初见


    局域网和广域网

    局域网和广域网的划分基于其规模的大小,并没有明确的划分

    局域网: Local Area NetWork, 简称为LAN, 是将不同台计算机通过网线,交换机,路由器进行网络互连,从而完成网络数据的传输
    在这里插入图片描述
    如图就是通过交换机来组成了局域网.

    广域网: Wide Area Network, 即 WAN, 广域网通过路由器,将多个局域网连接起来,就形成了广域网

    在这里插入图片描述

    网络通信

    所谓网络通信,即为网络数据互传,具体来说,是不同主机间的进程来进行数据传输.
    而要完成这一操作,就要使用到IP来定位主机,端口号来定位进程

    IP地址

    IP地址主要是定位网络设备的网络地址.
    通俗来讲,就像是发快递时,收件人的地址.
    格式:
    IP地址是个32位的二进制数,通常分割为"8个二进制位数"也就是4个字节.
    不过由于过于繁琐,也采用"点分十进制" a.b.c.d(abcd皆为 0-255的十进制位数)
    特殊IP:127.0.0.1 是环回IP, 用于本机到本机的数据传输

    端口号

    在网络通信中,端口号用来定位主机中接收数据,发送数据的进程.
    通俗来讲,就是发货时,不止需要收货地址,还需要收件人姓名.
    格式:
    端口号是0-65535的数字,一个进程可以绑定一个端口号,也可以绑定多个端口号,但是多个进程不能绑定同一个端口号.

    协议

    协议,网络协议的简称. 协议就是数据传输的格式. 只有所有的网络设备遵循一定的数据传输格式, 网络数据交互才能进行.
    协议最终体现为网络上传输的数据包的格式.

    协议分层

    网络通信是十分庞大,复杂的过程,如果只通过一个协议来约定所有的细节,这个协议就会过于复杂, 所以我们将协议拆分,使每一份协议去处理其对应的工作.
    协议分层的好处:
    可以使其具有 低耦合 高内聚的性质, 类似于面向接口编程,
    对于使用方,不用关心提供方是如何实现的,只需要使用接口即可
    对于提供方,可以利用封装的特性,隐藏起自己的细节,只提供接口

    TCP/IP五层模型

    协议分层,实际上以TCP/IP五层分层来实现.
    在这里插入图片描述

    具体层的功能:

    1. 应用层: 负责应用程序间的沟通,网络编程主要就是针对应用层,常见的应用层协议有域名系统DNS,HTTP协议等
    2. 传输层: 负责主机到主机之间的数据通信,起点到终点,只关注结果,而不关注中间过程,传输层的协议主要有传输控制协议TCP和用户数据协议UDP。
    3. 网络层: 负责地址管理和路由选择. 通过路由表的方式规划出数据传输的路线(路由). 路由器工作在网络层.常见的协议有IP协议.
    4. 数据链路层: 建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列.
    5. 物理层: 负责光/电信号的传播.

    网络设备所在的分层

    1. 一台主机,它的操作内核实现了,物理层,数据链路层,网络层,传输层.
    2. 一台路由器, 它实现了物理层,数据链路层,网络层
    3. 一台交换机,它实现了物理层,数据链陆层
    4. 集线器,只实现了物理层.

    封装和分用

    1. 应用层的数据通过协议栈发送到网络上时,每层协议都要加上一个数据首部,而被封装的信息称为载荷,我们称之为封装.
    2. 首部信息包含了一些载荷有多长,上层协议的信息.
    3. 数据到达目的主机后,在根据数据首部的信息,在对应的数据层进行处理.

    数据封装过程

    例:
    假设我们在微信上发送消息, 应用层就会把数据信息封装成协议报文,

    应用层

    经过应用层协议的数据报:
    在这里插入图片描述

    传输层

    1.接收应用层传来的数据报, 根据传输层的协议对数据报再次封装,构造出传输层的数据报.
    2. 传输层常用的协议有: TCP协议,UDP协议
    构成数据报 : TCP数据报 = TCP报头 + 数据载荷
    在这里插入图片描述

    网络层

    网络层拿到完整的传输层数据报后, 会根据网络层的IP协议,对传输层数据报再次进行封装,成IP数据报. 再将IP数据报交给数据链路层.
    在这里插入图片描述

    数据链路层

    在数据链路层接收IP数据报后, 数据链路层根据 “以太网” 协议对数据包再次封装,构成"以太网数据帧"
    在这里插入图片描述
    以太网数据帧的帧头储存了传输到下一个设备的地址信息, 故随着数据像下一个设备转发, 帧头的地址一直在变化.

    物理层

    物理层的工作,就是把刚才的以太网数据帧,以(0/1)的高低电平,通过网线传输出去.

    数据分用

    数据分用就是数据封装的逆过程,也就时在对应的协议层去除掉相应的协议报头,并交给上层协议继续处理.

  • 相关阅读:
    【仿牛客网笔记】 Kafka,构建TB级异步消息系统——发送系统通知、显示系统通知
    容器化 | 一文搞定镜像构建方式选型
    【Grpc】简介
    nf_conntrack模块开机不自动加载
    CUDA高性能计算经典问题②:前缀和
    VoLTE端到端业务详解 | 应用实例一
    keepalived IP漂移
    03 队列:迷宫的最短路径
    Java-API简析_java.util.Objects类(基于 Latest JDK)(浅析源码)
    LeetCode50天刷题计划(Day 14—— 删除链表的倒数第 N 个结点(12.20-13.00)
  • 原文地址:https://blog.csdn.net/m0_62476684/article/details/126363632