• 网络结构模式,协议,端口,网络模型,arp


    网络结构模式(软件结构)

    C/S结构

    服务器 - 客户机,即 Client - Server(C/S)结构

    C/S 结构通常采取两层结构:

    • 服务器负责数据的管理
    • 客户机负责完成与用户的交互任务

    在C/S结构中,应用程序分为两部分:

    • 服务器部分是多个用户共享的信息与功能,执行后台服务

      如控制共享数据库的操作

    • 客户机部分为用户所专有,负责执行前台功能

      在出错提示、在线帮助等方面有强大的功能,并且可以在子程序间自由切换

    优点:

    充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器,所以 C/S 结构客户端响应速度快

    B/S结构

    B/S 结构(Browser/Server,浏览器/服务器模式)

    • WEB浏览器是客户端最主要的应用软件

    这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用

    • 客户机上只要安装一个浏览器,服务器安装数据库

    • 浏览器通过 Web Server 同数据库进行数据交互

    缺点:

    • 协议一般是固定的:http/https(无法发送大数据)
    • 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低

    MAC地址

    网卡

    是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件,又称为网络适配器或网
    络接口卡NIC

    • 网卡拥有 MAC 地址,使得用户可以通过电缆或无线相互连接

    每一个网卡都有一个被称为 MAC 地址的独一无二的 48 位串行号

    网卡的主要功能:

    1.数据的封装与解封装

    2.链路管理

    3.数据编码与译码

    MAC 地址用于在网络中唯一标识一个网卡

    一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址

    MAC 地址的长度为 48 位(6个字节)
    通常表示为 12 个 16 进制数,如:00-16-EA-AE-3C-40 就是一个MAC 地址
    
    • 1
    • 2
    • ifconfig查看

    IP地址

    ip协议

    在因特网中,IP 协议是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则

    只要遵守 IP 协议就可以与因特网互连互通

    • 以太网和分组交换网,因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同,它们相互之间不能通信
    • IP 协议实际上是一套由软件程序组成的协议软件
      • 它把各种不同“帧”统一转换成“IP 数据报”格式
      • 这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通
    IP地址
    • IP 地址(Internet Protocol Address)是指互联网协议地址
    • IP 地址是 IP协议提供的一种统一的地址格式
    • 为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异

    IP 地址是一个 32 位的二进制数,通常被分割为 4 个“ 8 位二进制数”

    (01100100.00000100.00000101.00000110)

    IP 地址通常用“点分十进制”表示

    把每个8位(1个字节)翻译成十进制,用.分割

    IP 地址编址方式
    • 为了便于寻址以及层次化构造网络

      每个 IP 地址包括两个标识码(ID),即网络ID和主机ID

    • 同一个物理网络上的所有主机都使用同一个网络 ID

      网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应

    分类ip地址

    IP地址={<网络号>,<主机号>}

    • 网络号:主机或路由器所连的网络
    • 主机号:表示这个主机或路由器
    • 网络号在整个互联网范围内唯一
    • 主机号在网络号的网络范围内要唯一
    • 从而:ip地址在整个互联网唯一

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bPTbuO0M-1670162890138)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203161213934.png)]

    近年来,路由选择更广泛选择:无分类的ip地址

    特殊的地址
    • 每一个字节都为 0 的地址( “0.0.0.0” )对应于当前主机
    • IP 地址中的每一个字节都为 1 的 IP 地址( “255.255.255.255” )是当前子网的广播地址
    • 127.0.0.1 到 127.255.255.255 用于回路测试,如:127.0.0.1可以代表本机IP地址

    子网掩码

    划分子网

    主机号借用若干位作为子网号

    —ip地址=网络号+(子网号+主机号)

    子网掩码(subnet mask)

    来指明一个 IP 地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码

    子网掩码只有一个作用:

    ​ 就是将某个 IP 地址划分成网络地址主机地址两部分。

    子网掩码不能单独存在,它必须结合 IP 地址一起使用

    • 子网掩码由 1 和 0 组成,且每一位 1 和 0 连续
    • 网络号:IP地址和子网掩码进行&操作
    • 主机号:IP地址和取反后的子网掩码进行&操作

    端口

    TCP/IP协议中的端口,是逻辑意义上的端口,指计算机内部或交换机路由器内的端口

    • 可以理解为找到应用进程编号(地址)
    • 一个 IP地址的端口可以有 65536(即:2^16)个之多

    一个端口标识了一个读写缓冲区的地址

    • 注意,这里的端口是软件端口,是各种协议进程运输实体进行层间交互的一种地址
    端口类型
    • Well Known Ports(熟知端口)

    范围从 0 到 1023,它们紧密绑定于一些特定的服务

    • 80 端口分配给 WWW 服务
    • 21 端口分配给 FTP 服务
    • 23 端口分配给
      Telnet服务
    • 注册端口(Registered Ports)

    端口号从 1024 到 49151,它们松散地绑定于一些服务,给没有熟知端口号的应用程序使用

    前两个都给服务器使用

    范围从 49152 到 65535是:动态或短暂端口号,在客户端进程动态选择,结束回收

    网络模型

    OSI 七层参考模型

    国际标准化组织(ISO)制定的一个用于计算机或通信系统互联的标准体系

    1. 物理层-----定义物理设备标准,主要作用是传输比特流

      • 由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,J也就是数模转换与模数转换
      • 这一层的数据叫做比特
    2. 数据链路层----建立逻辑连接、进行硬件地址寻址差错校验等功能

    • 定义了如何让格式化数据帧为单位进行传输
    • 比特组合成字节进而组合成,用MAC地址访问介质
    1. 网络层----进行逻辑地址(IP)寻址

    在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择

    • 网络层正是管理这种连接的层
    1. 传输层----定义了一些传输数据的协议端口

    TCP:传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP:用户数据报协议,用于传输可靠性要求不高,数据量小的数据

    将从下层接收的数据进行分段和传输,到达目的地址后再进行重组

    • 常常把一层数据叫做
    • 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路

      主要在你的系统之间发起会话或者接受会话请求

    • 表示层:数据的表示、安全、压缩

      主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等

    • 应用层:网络服务与最终用户的一个接口

      这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务

    TCP/IP 四层模型

    Internet(因特网)使用的主流协议族是 TCP/IP 协议族,它是一个分层、多协议的通信体系

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hSLjtO5O-1670162890140)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203173438400.png)]

    由于传输层和网络层在网络协议中的地位十分重要,所以在 TCP/IP 协议中它们被作为独立的两个
    层次。

    • 传输层:作为 TCP/IP 协议的第二层,运输层在整个 TCP/IP 协议中起到了中流砥柱的作用

      且在运输层中, TCP 和 UDP 也同样起到了中流砥柱的作用。

    • 网络层:在 TCP/IP 协议中网络层可以进行网络连接的建立和终止以及 IP 地址的寻找等功能。

    路由器在主机间转发分组

    只使用到了网络层,没有用到传输层

    TCP/IP的实际使用

    某些应用层可以直接使用ip层,甚至直接使用网络接口层

    协议

    网络协议的简称,网络协议通信计算机双方必须共同遵从的一组约定

    它的三要素是:语法、语义、时序

    • 语法:如何拼接数据
    • 语义:每个包的含义
    • 时序:拼接顺序

    它最终体现为:在网络上传输的数据包的格式

    协议往往分成几个层次进行定义

    分层是为了:使某一层协议的改变不影响其他层次的协议

    常见协议
    • 应用层常见的协议
      • FTP协议(File Transfer Protocol 文件传输协议)
      • HTTP协议(Hyper TextTransfer Protocol 超文本传输协议)
    • 传输层常见协议
      • TCP协议(Transmission Control Protocol 传输控制协议)
      • UDP协议(UserDatagram Protocol 用户数据报协议
    • 网络层常见协议
      • IP 协议(Internet Protocol 因特网互联协议)
      • ICMP 协议(Internet Control Message Protocol 因特网控制报文协议)
      • IGMP 协议(Internet Group Management Protocol 因特网组管理协议)
    • 网络接口层常见协议
      • ARP协议(Address Resolution Protocol 地址解析协议)
      • RARP协议(Reverse Address Resolution Protocol 反向地址解析协议)

    UDP协议

    • 校验和:检测UDP用户数据报在传输中是否有错,有错就丢弃

    TCP协议

    首部长度(数据偏移):TCP 报文段的数据起始处距离 TCP 报文段首部的起始处有多远

    IP地址

    • 总长度:指首部加上数据的总长度

    • 标志(flag):

      • MF = 1 即表示后面“还有分片”的数据报

      • MF = 0 表示这已是若干数据报片中的最后一个

      • 标志字段中间的一位记为 DF,意思是“不能分片”,只有当 DF = 0 时才允许分片

    • 协议:

      指出此数据报携带的数据要提交给上层所使用的协议

      目的:以便使目的主机的 IP 层知道应将数据部分上交给哪个处理过程

      常用的 ICMP(1),IGMP(2),TCP(6),UDP(17),IPv6(41)

    以太网帧协议

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rnry0IzR-1670162890141)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203182318000.png)]

    ARP协议

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZuV4tGDa-1670162890142)(/home/guojiawei/Desktop/arp.png)]

    网络通信过程

    封装

    上层协议使用下层协议提供的服务是通过封装实现的

    什么是封装

    每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程就称为封装

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gw1bvJGw-1670162890142)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203210728195.png)]

    分用

    当帧到达目的主机时,将沿着协议栈自底向上依次传递

    什么是分用

    各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序,这个过程称为分用(demultiplexing)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9rjTgPD-1670162890143)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203211113162.png)]

    封装就是源主机自上而下封装数据,分用就是目的主机自下而上解析数据

    数据发送过程

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x72GSov8-1670162890144)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203211339490.png)]

    具体例子

    假设:

    • 源主机和目的主机用QQ发消息

    • 源主机和目的主机的端口号都是2425

    • 源主机的ip地址:192.168.1.1

      目的主机的ip地址:192.168.1.3

    • 源主机的mac地址: 01:02:03:04:05:06(每个数字16进制)

      目的主机的mac地址:0a:0b:0c:0d:0e:0f

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WVki5ivJ-1670162890145)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203221008494.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jfYvaek4-1670162890145)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203221056270.png)]

    ARP:通过ip寻找mac

    arp:会把IP地址和物理地址缓存在主机上

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orvyenkZ-1670162890146)(/home/guojiawei/.config/Typora/typora-user-images/image-20221204165346611.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aCgFzRaG-1670162890147)(/home/guojiawei/.config/Typora/typora-user-images/image-20221204220455667.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hPgWn6H-1670162890148)(/home/guojiawei/.config/Typora/typora-user-images/image-20221204220526578.png)]

  • 相关阅读:
    docker部署的jenkins配置(接口自动化)
    高新技术企业申请条件是什么?
    Oracle 排查慢SQL
    Qt中Json的操作
    C++数据结构X篇_17_C++实现二叉树的非递归遍历(企业链表实现栈,利用栈的先进后出特点实现二叉树的非递归遍历)
    Jmeter学习
    rust 逐行读取文本文件
    用python编写远程控制程序
    从汇编看语法糖(C++引用)和指针的区别
    网络丢包问题,敢不敢这样定位?
  • 原文地址:https://blog.csdn.net/weixin_47173597/article/details/128178395