当前位置: 首页 > news >正文

第一章,网络发展史///OSI七层模型

目录

什么是网络?

计算机网络

计算机

计算机的功能

对等网

网络扩大方案

网络扩大需求

网桥

交换机

路由器

IP地址

掩码

网关

ARP协议

OIS七层参考模型

报文封装与解封装

PDU---协议数据单元

TCP/IP协议栈

物理层

数据链路层

数据帧

网络层

IP地址

IP协议

传输层

TCP协议

UDP协议

TCP和UDP的区别

VLSM技术

CIDR技术

ICMP


什么是网络?

        网络共同点(任何都有这些属性的都是网络)

  • 节点--传输数据
  • 通道--转发数据
  • 数据

        网络就是通过一些特殊的通道把分部在不同地址位置的物品连接起来,从而实现信息的传输和共享。

计算机网络

计算机

        1946年诞生

计算机的功能

  • 应用层------将自然语言--->编码
  • 表示层------将编码--->二进制数
  • 介质访问控制层------控制硬件,比如二进制数转换为电流输出
  • 物理层------CPU计算,电流输入输出

对等网

        计算机的运行过程是从应用层--->......--->物理层--->......--->应用层,而对等网时将其拆开用两个电脑完成

网络扩大方案

增大距离

  • 信号失真------传输线缆---仅能减小失真,但不能完全避免失真现象
  • 信号衰减------中继器---仅能延长5倍传输距离,现今已经被淘汰

增加节点

        节点的连接方式------网络拓扑结构

  • 总线型------有一条多芯的网络向四周延伸,连接各个节点

    • 优点---信道利用率高,结构简单,成本低

    • 缺点---同一时刻仅允许两个节点进行通讯

  • 环型------由节点和节点连接的线路组成的闭合环

    • 优点---增加和删除设备操作简单

    • 缺点---当某一节点故障时,会影响全网,导致整张网络瘫痪

  • 星型------由中央节点和通过链路连接到中央节点的组成

    • 优点---结构简单,连接方便,扩展性强

    • 缺点---信道利用率低,对中央节点要求高,同时刻仅允许两个节点通讯

  • 全连接型(网状结构)------星型拓扑的扩展,使用了全连接的方式。任何节点都可以是中心节点

    • 优点---从节点到节点有多条路径可以选择,稳定

    • 缺点---结构复杂,成本高

中心节点:

集线器---HUB---濒临淘汰

  • 地址问题---MAC地址---48位二进制组成

  • 延时问题---因为产生大量垃圾信息,增加了信息延时

  • 安全问题---A节点给B节点发送信息时,别的节点监听到了

  • 冲突问题---节点A给节点B发消息,同时节点B也给节点C发消息,两个消息在集线器相遇,相互抵消。

    • CSMA/CD------载波侦听多路访问/冲突检测机制(先听后发、边听边发、冲突停发、随机延迟后重发

    • 该机制仅减少了冲突的次数,而没有完全避免冲突。

    • 冲突域---->连接在同一根物理线路上的所有工作站的集合

网络扩大需求

  • 网络的传输距离无限制
  • 完全没有冲突
  • 实现数据单播传输

       

                         为了满足这些需求陆续出现的设备和协议

网桥

        将物理信号转换为二进制数据,并将数据储存在设备内存中,然后重新生成新的物理信号进行传输

交换机

(网桥的升级版)

  • 二层设备,可以处理二进制数据。

  • 交换机具备识别MAC地址的功能,并且根据识别的内容,会生成一个表项,叫MAC地址表。交换机基于MAC地址表进行数据转发。

  • 交换机工作原理

  • PC1给PC3发送信息,此时源MAC=PC1,目的MAC=PC3.
  • 当数据来到交换机时,交换机会开启MAC地址自学习功能,将源MAC地址与接收到该数据的端口的关系记录在MAC地址表中。
  • 然后根据目的MAC地址进行查询转发,若MAC地址表中存在该目的MAC地址,则直接单 播转发,若不存在,则进行洪泛操作(除了流量的入接口外,所有接口复制转发一次流量)
  • MAC地址表并不是永久存在,存在300S的老化时间,这样保证了交换机中的MAC地址表不会过于庞大从而影响到数据的转发速率
  • 每次都会记录MAC地址和接口映射关系,MAC地址表中,如果没有直接记录,如果有覆盖之前的信息并且刷新300S老化时间

仅凭借交换机还是无法实现全球网络的搭建原因:

                广播域------一个数据包的洪泛的范围

路由器

路由器功能

  • 隔离广播域-----路由器的一个接口就是一个独立的广播域

  • 转发数据----依靠路由表进行

        如何判断是跨广播域通讯还是同广播域通讯

  • 同广播域通讯----依靠交换机进行
  • 跨广播域通讯----借助路由器进行

        设备通过IP地址来判断执行同广播域还是跨广播域通讯。

IP地址

(逻辑地址)

        IPv4地址----32位二进制组成,点分十进制

        IPv6地址----128位二进制,冒号分十六进制

        192.168.1.1----11000000.10101000.00000001.00000001

        IP地址组成===网络位(该IP所在的网段)+主机位(主机的编号)

        网络位相同而主机位可以不同的,即为同一个广播域

掩码

        作用:用来判断IP地址的网络位是多少。

        掩码由32位二进制组成,使用点分十进制表示,是连续的1+连续的0.掩码的1所对应的IP地址中的比特位即为网络位,0对应IP地址中的比特位即为主机位

网关

        网关在PC端记录的是IP地址,没有网关的MAC地址,需要通过ARP协议来获取

ARP协议

        原理:根据已知的地址来获取与其对应的另一种地址。

        特殊的MAC地址:FFFF:FFFF:FFFF-----代表广播地址

工作过程:
  • 发送者
    • PC1构造一个广播帧(目的MAC地址全F),源IP和源MACPC1自己的,目的IP192.168.1.100,该数据被发送给交换机后,交换机看到目的MAC地址全F,则直接进行洪泛操作,而不用在本地MAC地址表中查询。-----ARP请求报文--------我是谁,我找 192.168.1.00,请回复我。
    • PC2接收到该请求报文,根据目的MAC地址,会认为该报文可能是找我的,故而拆除报文封装,查看IP地址内容,因目的IP地址非本地,故丢弃该请求报文。
    • 若路由器接收到该请求报文,根据目的MAC地址,会认为该报文可能是找我的,故而拆除报文封装,查看IP地址内容,因目的IP地址为路由器本地IP地址,故查看数据内容,并回复PC1
    • 路由器构造一个单播帧,源IP和源MAC均为路由器本地数值,目的IP192.168.1.1,目的MACAAAA:AAAA:AAAA,该报文为ARP应答报文
    • 交换机接收到应答报文后,会根据目的MAC地址查询MAC地址表并进行单播转发。
    • PC1接收到该报文后,成功获取到路由器的MAC地址。并将该MAC地址记录在本地的ARP存表中,进而构造访问PC3的数据包。
  • ARP缓存表-----存在老化时间----180S
ARP 分类
  • 正向ARP----通过IP地址获取MAC地址-----网络中最常见的
  • 反向ARP----通过MAC地址获取IP地址
  • 免费(无故)ARP-----自我介绍、冲突检测
  • 代理ARP-----由网关设备代替主机查询MAC地址

OIS七层参考模型

(开放式系统互联网模型)

        ISO-----国际标准化组织

  • 用应层------接收用户数据,人机交互的接口,将自然语言--->编码
  • 表示层------将逻辑语言转换为机器语言
  • 会话层-----针对传输的每一种数据建立一条连接(防止数据间相互干扰)

    上三层-----控制层面

    下四层-----数据层面

  • 传输层-----区分流量,定义数据传输方式

  • 网络层-----通过IP地址进行逻辑寻址

  • 数据链路层-----介质访问控制--MAC;逻辑链路控制层---LLC

  • 物理层----定义一些物理特性,传播比特流

报文封装与解封装

PDU---协议数据单元

        上三层----数据

        传输层----数据段

        网络层-----数据包

        数据链路层---数据帧

        物理层----比特流

TCP/IP协议栈

四层(物理层和数据链路层可以归为一层----->链路层)

物理层
        传输介质
  • 同轴电缆
    • 传输速率----10Mbps
    • 粗同轴电缆-----500
    • 细同轴电缆-----185
  • 双绞线
    • 线序
      • 568A
        • 绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
      • 568B
        • 橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
    • 光纤

 

双工模式

  • 单工----设备仅支持发送数据或接收数据
  • 半双工-----设备可以发送和接收数据,但是不能同时进行----对讲机
  • 全双工-----设备可以发送和接收数据,并可以同时进行-----电话
  • 同一物理链路连接的设备双工模式必须相同

数据链路层
LAN---- 局域网,现今局域网使用的数据链路层协议是以太网协议。
         以太网当中,存在最重要的通讯基础就是MAC地址(  MAC地址48位二进制
  • 前24,OUI----->标记厂商
  • 后24,---------->产品ID        
数据帧
Ethernet Ⅱ帧格式

    源MAC/目的MAC---------自动生成

    Type--------------------------标记网络层协议

    Data--------------------------二层以上的数据

    FCS--------------------------校验数据(CFC算法)

    帧的发送法式 

    • 单播帧----一对一发送数据
    • 组播帧-----在特定情况下使用,目的为一组设备
    • 广播帧-----目的MAC1

    网络层

    IP地址

    有类分址

            

            有类地址分类按照IP 地址的前 8 位数字特征进行分类,共分出五类,其中 A B C 类为单播地址,掩码分别为8 16 24 位。
    特殊地址
    • 无效地址------0.X.X.X--------0.0.0.01、代表没有IP地址;2、代表所有网络)
    • 本地测试地址----127.X.X.X
    • 受限广播地址----255.255.255.255
    • 主机位全0----192.168.1.0/24---代表一个网段
    • 主机位全1----192.168.1.255/25----定向广播地址
    • 169.254.0.0/16---自动专用IP地址(APIPA)的保留地址段
      • 当设备无法从DHCP服务器获取有效IP地址时,会自动从169.254.0.0/16范围内随机分配一个地址,以便在本地网络内通信。
    私有地址
    • A类:10.0.0.0---10.255.255.255
      • 10.0.0.0/8
    • B类:172.16.0.0---172.31.255.255
      • 172.16.0.0/16172.17.0.0/16172.18.0.0/16......172.31.0.0/16----16
    • C类:192.168.0.0---192.168.255.255
      • 256个地址段,192.168.1.0/24
    公有地址
            除了特殊地址和私有地址外的所有单播地址。
    IP协议

            最少20字节

    • Time to Live(生存时间)----TTL----最大值255
      • 单位为路由器个数,数据包每被一个路由器进行转发,则TTL值-1

    IP分片

            (在加上IP头部之前分片)

            以太网当中,规定最大传输的一个数据包的大小为1500字节。-该值被称为MTU---最大传输单元。包含IP头部的大小。

    • Identification-----标识

      • 序号,用于标记数据包的先后顺序,方便后续接收方将数据进行恢复重组。

    • Flags----标志位----3bit

      • (第一比特,填充补齐)固定位第一位为0

      • DF位(第二比特)----代表该报文是否分片,若为0则代表分片,若为1则代表未分片。

      • MF位(第三比特)----代表该报文是否为最后一片,若为0则代表最后一片,若为1则代表后续还有其他报文

    • Fragment-----片偏移

      • 标识分片后的报文在原始报文中的相对位置,单位为8字节。(要除8)

    传输层

            端口号---作用就是标识进程(2字节)

    • 静态端口----网络上比较常用的协议固定使用的端口号
      • 1-1023

    telnet----23
    ftp----20/21
    http---80
    https----443
    dns---53
    dhcp---67/68

    • 动态端口----某些协议自动随机生成的端口号
      • 1024-65535
    TCP协议

    (传输控制协议)

           

    一种面向连接的可靠性协议。

    可靠性

    • 确认机制-----传输确认,每接收到一个数据段,都需要进行一次确认
    • 重传机制----超时重传,当一个数据段中的某一个包丢失,会提示要求重新传输这个报文
    • 排序机制----传输一个报文,可能会被分为多个数据包,并从不同路径传输,最终达到目的地的顺序会被 打乱,需要进行重新排序。-----重新排序依靠TCP的序号字段
    • 流控机制(滑动窗口机制):通过调节窗口大小来对流量进行控制。
      • 窗口大小:指无需等待确认就可以连续发送的数据的最大量。

    注意:

    •  序列号--->随机生成的,每次加的是数据部分的大小
    • TCP为了保证自身的可靠性,具备重传机制,故不允许在网络层进行IP分片。而TCP会在传输层使用分段的方式将报文大小分割成满足网络层MTU数值的大小,以保证不会被网络层分片。
    • MSS(最大传输段)===MTU-IP头部-TCP头部
      • 传输层的最大传输数据大小

    TCP为了重传机制,不然IP分片,所有网络层传输数据时,难以保证TCP的分段数据刚好满足MTU

    PMTU----路径MTU发现协议

    在IP头部中,DF字段设置为1,表示不能分片。
    当接收方接收到一个不能分片的报文时,会将该报文丢弃,并回复一个ICMP报文(告诉发出者,数据不可达,且表明不可达原因),同时携带上本地的MTU值
    发送方接收到该ICMP报文后,因为TCP的重传机制,会重新发送一个数据,此时该数据会根据ICMP报文中的新的MTU值重新进行分段

    面向连接

    • MSL一个数据报文在网络中传输的最大时间
    • 当客户端挂机,掉线,服务器会75min发送一次报文,在判断是否断开
    • URG=1        Urgent Pointer(紧急指针位)有意义----------->优先处理
    • PSH=1        控制标志位,其作用是指示接收方应尽快将接收到的数据提交给应用层处理,而无需等待缓冲区填满

    三次握手

    客户端------>服务器

    请求连接的包

    SYN=1        seq=x(随机生成的)

    服务器------>客户端

    回复包,并且服务器也可能需要传输数据,所有也要请求连接

    ACK=1        ack=x+1(实际上加的是数据大小,但是此时没有数据所有加一)

    SYN=1        seq=y

    客户端------>服务器

    此时客户端到服务器的连接已经成功,要实现双向连接还需要回复确认服务器的请求连接包

    ACK=1        ack=y+1       

    seq=x+1

      传输数据

    四次挥手

    由客户端和服务器任何一方提出都可以的,但是通常都是由客户端提出

    客户端------>服务器

    数据传输完毕,断开连接

    FIN=1        seq=u(不是随机生成的,是由上面的报文累计的)

    服务器------>客户端

    回复客户端的断开请求

    ACK=1        ack=u+1

    seq=v(和u的道理相同)

                   

     客户端到服务器的连接断开,此时服务器可能还有数据未传完,继续数据传输

     服务器------>客户端

    服务器数据传输完毕,断开与客户端的连接

    FIN=1        seq=w(同u)

    ACK=1        ack=u+1(防止上一个包丢了)

     客户端------>服务器

    回复服务器的断开连接

    ACK=1        ack=w+1

    seq=u+1

     

    UDP协议

            (用户数据报协议)

    非面向连接的不可靠传输协议

    TCP和UDP的区别

    1. TCP是面型连接的,而UDP是面向无连接

    2. TCP是可靠性协议,而UDP是尽力而为的

    3. TCP可以进行流控以及拥塞控制而UDP不能

    4. TCP可以进行数据分段,而UDP不进行

    5. TCP消耗资源多,速度慢;UDP消耗资源少,速度快

    VLSM技术

    可变长子网掩码----子网划分

            因为使用主类地址产生的预留IP地址太多,造成了IP地址浪费,所以诞生VLSM技术,消除IP地址浪费。

            实现方法:通过从主机位借位到网络位的方式,达到将一个大的网段划分为多个小的网段;借出的位称为子网位,决定了能划分的网段的个数。

    192.168.1.0/24
    11000000.10101000.00000001.00000000----IP地址
    网络位 . 主机位
    11111111.11111111.11111111.00000000----掩码信息
    11000000.10101000.00000001.0 0000000/25----192.168.1.0/25
    11000000.10101000.00000001.1 0000000/25----192.168.1.128/25

            

            
    11000000.10101000.00000001. 000         00000/27----192.168.1.0/27

    11000000.10101000.00000001. 001         00000/27----192.168.1.32/27
    11000000.10101000.00000001. 010         00000/27----192.168.1.64/27
    11000000.10101000.00000001. 011         00000/27----192.168.1.96/27
    11000000.10101000.00000001. 100         00000/27----192.168.1.128/27
    11000000.10101000.00000001. 101         00000/27----192.168.1.160/27
    11000000.10101000.00000001. 110         00000/27----192.168.1.192/27
    11000000.10101000.00000001. 111         00000/27----192.168.1.224/27

    CIDR技术

    (无类域间路由---子网汇总)

    将小的网段汇聚成大的网段。

    满足条件:

    • 母网相同

    • 掩码一致

    汇总方法:

    • 取相同位,去不同位

    补:

            超网:汇总后的掩码信息<主类掩码

            子网汇总:汇总后的掩码信息>主类掩码

    练习题:

    10.1.1.0/24        10个网段        8个网段12个主机        2个网段42个主机

    ICMP

    (网络层协议)

            在网络设备中传递各种差错、控制、查询等报文信息。

            用于收集各种网络信息、诊断和排除各种网络故障的协议。

    • Echo Reply/Echo Request                    正常
    • 网络不可达                                            不认识网段
    • 主机不可达                                            网段认识,但是主机IP不知道
    • 协议不可达/端口不可达                         找一个进程时找不到       
    • 重定向                                                   寻址绕路        

     

    相关文章:

  • 【开题报告+论文+源码】基于SpringBoot+Vue的酒店餐饮管理系统设计与实现
  • CTF类题目复现总结-[羊城杯 2020]TCP_IP 1
  • 25. 策略模式
  • Java 编译 API(javax.tools 包)的使用方法及关键点总结,适用于在运行时动态编译 Java 代码
  • 【MySQL篇】DEPENDENT SUBQUERY(依赖性子查询)优化:从百秒到秒级响应的四种优化办法
  • 芋道 Spring Cloud Alibaba 消息队列 RocketMQ 入门
  • LeetCode 2255.统计是给定字符串前缀的字符串数目:使用库函数+计数
  • wordpress-网站百宝箱插件
  • Spring Boot - 动态编译 Java 类并实现热加载
  • 第二天 流程控制(if/for/while) - 列表/元组/字典操作
  • [笔记] SpringBoot3 使用 EasyExcel 封装工具类实现复杂 Excel 数据处理:使用Java构建高效的数据导入解决方案
  • (UI自动化测试web端)第二篇:元素定位的方法_xpath属性定位
  • [网鼎杯 2020 白虎组]PicDown1 [反弹shell] [敏感文件路径] [文件描述符]
  • Unity 使用 Protobuf(Pb2)二进制数据全流程工具详解
  • Leetcode--151. 反转字符串中的单词(字符串+双指针---基础算法)
  • Android Compose 层叠布局(ZStack、Surface)源码深度剖析(十三)
  • Delphi语言的算法
  • 新版 React19使用 react-quill
  • 基于SpringBoot的图书借阅小程序+LW参考示例
  • mysql实例
  • 特朗普与普京就俄乌问题通话
  • 鸿蒙电脑正式发布,国产操作系统在个人电脑领域实现重要突破
  • 外交部:将持续便利中外人员往来,让“中国游”金字招牌更加闪耀
  • 1至4月国家铁路发送货物12.99亿吨,同比增长3.6%
  • AI创业者聊大模型应用趋势:可用性和用户需求是关键
  • 纽约市长称墨海军帆船撞桥已致2人死亡,撞桥前船只疑似失去动力