• 网络基础--笔记


    一、网络基础

    1.1 二层交换网络

    1.1.1 HUB

    将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。
    从任何一个网口收到数据将泛洪给所有接口,各个网口之间互为冲突域。
    缺点:总线型结构,传输效率低,基本被淘汰。

    1.1.2 Switch

    为接入交换机的任意两个网络节点提供独享的电信信号通路。
    可快速转发,维护一张MAC表,通过MAC表来保障数据只发到该收的接口下,各个网口之间隔离冲突域,未知目的帧泛洪到所有接口(二层广播)。

    1.1. 3 ARP协议

    基本功能:将IPv4地址解析为MAC地址,维护映射的缓存。
    工作原理:A主机以广播形式发送ARP查询请求,询问B主机IP对应的MAC地址,B主机以单播形式回复A主机本机MAC地址,A主机把B主机的IP地址和MAC地址的映射关系写入ARP缓存表。

    1.1. 4 VLAN IEEE802.1Q协议

    虚拟局域网是一组逻辑上的设备和用户,这些设备和用户不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,因此称之为虚拟局域网。
    优点:隔离广播域,有效抑制广播风暴,跨VLAN需要三层网络支持,安全性提高。

    1.1. 5 链路接口类型

    Access:一般用来接终端设备
      携带本接口VLAN标签的才予以转发,撕掉标签转发。
      标准帧数据包从接口进来时打上标签
    Trunk:
      只有携带允许通过VLAN标签的才予以转发,直接转发。
      本征VLAN的数据包通过时会撕掉VLAN标签,变为标准帧。
    在这里插入图片描述
    Hybrid:
      携带包含Tagged指定VLAN标签的直接转发。
      携带包含Untagged指定VLAN撕掉标签变为标准帧转发。

    1.1. 6 链路聚合模式

    静态聚合模式:
      端口不与对端设备交互信息
      根据本端设备信息选择参考端口
      用户命令创建和删除静态聚合
    动态聚合模式LACP IEEE 802.3ad:
      端口的LACP协议自动使能,与对端设备交互LACP报文
      根据本端设备与对端设备交互信息选择参考端口
      用户命令创建和删除动态聚合组

    1.1. 7 链路聚合的类型

    二层链路聚合
      成员端口全部为二层以太网端口
      需要创建VLAN虚接口使聚合接口能够支持收发三层IP报文
      聚合接口支持收发携带VLAN Tag的报文
    三层链路聚合
      成员端口全部为三层以太网端口
      聚合接口支持收发三层IP报文
      需创建聚合接口的子接口使聚合接口支持收发携带VLAN Tag的报文

    1.1. 8 STP 生成树协议 (Spanning Tree protocol) IEEE 802.1D

    解决交换机二层环路的协议,避免由于环路导致的广播风暴。
    工作原理:
    1.每个广播域选择一个根桥
    2.每个非根桥上选择一个根端口
    3.每个段选择一个指定端口
    4.选择一个非指定端口
    在这里插入图片描述

    1.2 三层路由网络

    1.2.1 IP地址

    分类
    在这里插入图片描述

    1.2.2 VLSM 可变长子网掩码

    将192.168.1.0/24这个C类地址进行子网划分,网络位向主机位借1。
    第25位为0是一个子网,为1又是一个子网。
    在这里插入图片描述

    1.2.3 子网掩码计算IP地址的网络号与主机号

    4个字节32位bit位的子网掩码组成:N个1后面跟着M个0(N+M=32)。通过子网掩码计算网络号与主机号的方法是:将IP地址转化为二进制数,再与其对应的子网掩码(二进制数)进行与运算,得到的是网络号,剩下的是主机号。
    在这里插入图片描述
    备注: 将点分十进制的IP地址转化为二进制时,如果转化后不足8位,要在前面补0,补到8位满为止。

    1.2.4 路由概述

    当路由器(或其他三层设备)收到一个IP数据包时,会查看数据包的IP头部中的 目的IP地址 ,并在路由中进行查找,在匹配到 最优的路由 后,将数据包扔给该路由所指的出接口或下一跳。
    路由表:
      每一台路由器都会维护一个路由表,在路由表中包含着路由器发现的路由(路由条目、路由表项);
      路由表相当于路由器的地图,路由器能够正确转发IP报文的前提是在其路由表中存在匹配该数据包目的IP地址的路由条目;
      路由表中的路由条目获取来源有多种:直连路由、静态路由及动态路由协议。
    在这里插入图片描述
    Static:手工写、Connected:直连路由(网络插在路由器上,同网段可达)、OSPF & RIP:动态路由。

    1.2.5 路由分类

    直连路由
      伸手可及的网络,直接连接在路由器上的网段,可自动形成直连路由。该路由类型是路由器自动生成的,只要接口链路以及协议Up,无需任何操作就在路由表中
    静态路由
      由网络管理员手动设置在路由器上的路由。该路由类型是最常见也是日常工作中使用率最高的路由方式,在商业客户环境中非常普遍
    动态路由
      通过动态路由协议,由路由器间相互交互通信进而形成全网路由表。该路由类型常见于特大网络中,例如金融行业的全球组网,运营商骨干网等场景
    在这里插入图片描述

    1.2.6 动态路由协议

    动态路由协议通过路由信息的交换生成并维护转发引擎所需的路由表。当网络拓扑结构改变时动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。
    在这里插入图片描述

    1.2.6.1 RIP

    使用距离矢量路由协议的路由器并不了解网络的拓扑。该路由器只知道:
      – 自身与目的网络之间的距离
      – 应该往哪个方向或使用哪个接口转发数据包

    RIP是应用及开发较早的路由协议,是典型的距离矢量路由协议
      – 适用于小型网络,最大跳数15跳(16跳视为不可达)
      – RIP是基于UDP的,使用端口号520
      – 在CISCO IOS平台上的管理性距离为120

    1.2.6.2 OSPF

    OSPF(Open Shortest Path First,开放最短路径优先)是典型的链路状态路由协议,是目前业内使用最广泛的IGP之一。
      • 路由器之间交互的是链路状态信息,而不是直接交互路由;
      • 每台OSPF路由器都知晓网络拓扑结构,采用SPF算法计算达到目的地的最短路径;
      • 支持VLSM,支持手工路由汇总;
      • 多区域的设计使得OSPF能够支持更大规模的网络。
    在这里插入图片描述

    1.2.7 VLAN间路由

    单臂路由
    每个VLAN都是一个独立的广播域,不同的VLAN之间二层就已经隔离,因此属于不同VLAN的节点之间是无法直接互访的,所以跨VLAN的通信必须跨三层网络。
      • 路由器能够实现不同广播域之间的数据路由;
      • 每一个VLAN都需要有一个物理接口进行对接;
      • 路由器端口资源有限,这种方案扩展性不高。
      • 在路由器上基于物理接口来创建子接口,通过子接口与VLAN对接,子接口是逻辑接口,物理上并不存在;
      •子接口能够识别打上Tag的数据帧
    在这里插入图片描述

    1.2.7.1 VLAN间路由–SVI接口

      • 交换式虚拟接口 (SVI)
      • VLAN接口(三层接口)
      • interface vlan 10 或 20
    在这里插入图片描述

    1.3 IPv6基础知识

    1.3.1 IPv6地址表示法

    IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6地址分为两部分,分别是网络前缀和接口标识。网络前缀:相当于IPv4中的网络ID;接口标识:相当于IPv4中的主机ID。其前缀可书写为:地址/前缀长度。如:21DA:D3:0:2F3B::/64。

    IPv6有3种表示方法:

    • 冒分十六进制表示法:
      格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
      ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
      这种表示法中,每个X的前导0是可以省略的,例如:
      2001:0DB8:0000:0023:0000:0000:200C:017A→ 2001:DB8:0:23:0:0:200C:17A
    • 0 位压缩表示法
      在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
      FF00:0:0:0:0:0:0:1101 → FF00::1101
      0:0:0:0:0:0:0:1 → ::1
      0:0:0:0:0:0:0:0 → ::
    • 内嵌IPv4地址表示法
      为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。
      在这里插入图片描述

    1.3.2 IPv6报文内容

    IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。
    在这里插入图片描述

    1.3.3 IPv6地址类型

    IPv6协议主要定义了三种地址类型:单播地址(Unicast Address)、组播地址(Multicast Address)和任播地址(Anycast Address)。与原来在IPv4地址相比,新增了“任播地址”类型,取消了原来IPv4地址中的广播地址,因为在IPv6中的广播功能是通过组播来完成的;
    单播地址:用来唯一标识一个接口,类似于IPv4中的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的一个接口。
    组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4中的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。
    任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。
    在这里插入图片描述

    1.3.3.1 组播地址

    IPv6组播地址可识别多个接口,对应于一组接口的地址(通常分属不同节点)。发送到组播地址的数据包被送到由该地址标识的每个接口。使用适当的组播路由拓扑,将向组播地址发送的数据包发送给该地址识别的所有接口。任意位置的IPv6节点可以侦听任意IPv6组播地址上的组播通信。IPv6节点可以同时侦听多个组播地址,也可以随时加入或离开组播组;
    IPv6组播地址的最明显特征就是最高的8位固定为1111 1111。IPv6地址很容易区分组播地址,因为它总是以FF开始的;
    组播地址高8bit为固定值FF,此高8个bit中4bit为标志位,4bit为组播组的作用域,后112位为组ID,用以标识组播组。目前,RFC2373并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0。这样每个组播组ID都映射到一个唯一的以太网组播MAC地址。
    在这里插入图片描述

    1.3.3.2 被请求节点组播地址

    被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
    被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。
    例如:Node_B的单播地址为1::2:B ,其被请求节点组播地址为FF02::1:FF02:B
    在这里插入图片描述

    1.3.4 NDP

    NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6协议体系中一个重要的基础协议。通过使用ICMPv6报文实现以下丰富的功能:
    • 无状态自动配置(简化版的DHCP):路由器发现、前缀发现、参数发现;
    • 重复地址检测(DAD),相当于IPv4的免费ARP;
    • 地址解析,相当于IPv4的ARP;
    • 邻居不可达检测(NUD);
    •路由器重定向。
    与IPv4的ARP相比,IPv6地址解析技术工作在OSI参考模型的网络层,与链路层协议无关。ICMPv6的报文格式图1所示;ICMPv6消息类型中有5种是为了支持邻居发现协议而定义的,功能如图2描述
    在这里插入图片描述

    1.4 TCP及UDP协议

    1.4.1 TCP协议概述

    TCP (Transmission Control Protocol 传输控制协议)是一种面连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。
    报文结构在这里插入图片描述
    源端口:标识发送方的应用进程。目的端口: 标识接收方的应用进程
    序号:保证数据传输的有序性。
    确认号:对收到的数据进行确认。
    Pag字段(8位)
    ACK – 确认号标志,置1表示确认号有效,表示收到对端的特定数据
    RST – 复位标志,置1表示拒绝错误和非法的数据包,复位错误的连接
    SYN – 同步序号标志,置1表示同步序号,用来建立连接
    FIN – 结束标志,置1表示连接将被断开,用于拆除连接
    Option字段(可选项) – MSS最大报文段长度,通过置位,协商能承载的TCP数据的大小

    1.4.2 TCP协议三次握手及四次挥手

    三次握手
    在这里插入图片描述
    四次挥手
    在这里插入图片描述

  • 相关阅读:
    Android中Handler机制和原理是什么?
    Linux 7.4 -组件离线安装-脚本一键安装
    vue项目TypeScript intellisense is disabled on template.异常解决方案
    从Linux的安装到HDFS上传再到MapReduce的词频统计
    开发一个npm包
    使用 Kotlin DSL 编写网络爬虫
    经纬高坐标转东北天坐标
    使用 fflush强制刷新缓冲区将数据写入文件的原理
    MySQL数据库的基本概念以及MySQL8.0版本的部署(一)
    如何让图片放大不模糊?
  • 原文地址:https://blog.csdn.net/cimbala/article/details/126881287