静态路由及动态路由
文章目录
- 静态路由及动态路由
- 一、静态路由基础
- 1. 静态路由配置
- 2. 负载分担
- 3. 路由备份
- 4. 缺省路由
- 5. 静态路由实操
- 二、RIP 动态路由协议
- 1. RIP 协议概述
- 2. RIP 协议版本对比
- 2.1 有类路由及无类路由
- 3. RIP 路由协议原理
- 4. RIP 计时器
- 5. 度量值
- 6. 收敛
- 7. 示例
静态路由及动态路由
一、静态路由基础
静态路由适用于末梢网络。(只有一条路的网络叫末梢网络)
- 例如公司网关的网络都是向运营商发数据,公司网关的路由器写默认路由指向运营商。
静态路由的优缺点
-
优点:
- 对路由器CPU没有管理性开销。
- 在路由器间没有宽带占用。
- 增加安全性。
-
缺点:
- 必须真正了解网络。
- 对于新添加网络配置繁琐。
- 对于大型网络工作量大。
静态路由的优先级比动态路由的优先级高。
静态路由是指由管理员手动配置和维护的路由静态路由配置简单,被广泛应用于网络中。另外,静态路由还可以实现负载均衡和路由备份。
1. 静态路由配置
ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]
命令配置静态路由。
说明:
- 参数ip-address指定了一个网络或者主机的目的地址。
- 参数mask指定了一个子网掩码或者前缀长度。如果使用了广播接口如以太网接口作为出接口,则必须要指定下一跳地址;如果使用了串口作为出接口。则可以通过参数interface-type和interface-number(如Serial 1/0/0)来配置出接口,此时不必指定下一跳地址。
以太网是广播类型网络,和串行网络情况不同。在以太网中配置静态路由,必须指定下一跳地址。
以太网中同一网络可能连接了多台路由器,如果在配置静态路由时只指定了出接口,则路由器无法将报文转发到正确的下一跳。在本示例中,RTA需要将数据转发到192.168.2.0/24网络,在配置静态路由时,需要明确指定下一跳地址为10.0.123.2,否则,RTA将无法将报文转发到RTB所连接的192.168.2.0/24网络,因为RTA不知道应该通过RTB还是RTC才能到达目的地。
路由器根据数据包中IP首部中的目的IP地址查询路由表,查看是否有去目的IP的信息。
2. 负载分担
配置静态路由
当源网络和目的网络之间存在多条链路时,可以通过==等价路由==来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。
本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。
在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为0),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。
在RTA上也应该配置对应的两条等价的静态路由。
配置验证
在配置完静态路由之后,可以使用**display ip routing-table
**命令来验证配置结果。在本示例中,红色高亮部分代表路由表中的静态路由。这两条路由具有相同的目的地址和掩码,并且有相同的优先级和度量值,但是它们的下一跳地址和出接口不同。此时,RTB就可以通过这两条等价路由实现负载分担。
3. 路由备份
RTB上配置两条静态路由。正常情况下,这两条静态路由是等价的。通过配置preference 100,使第二条静态路由的优先级要低于第一条(值越大优先级越低,默认60)。路由器把优先级最高的静态路由加入到路由表中。当加入到路由表中的静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。
优先级较高静态路由暂时会隐藏,如果断了一个链路,那么优先级较高静态路由就会显示出来。
4. 缺省路由
当路由表中没有与报文的目的地址匹配的表项时,设备可以选择缺省路由作为报文的转发路径。在路由表中,缺省路由的目的网络地址为0.0.0.0,掩码也为0.0.0.0。在本示例中,RTA使用缺省路由转发到达未知目的地址的报文。缺省静态路由的默认优先级也是60。在路由选择过程中,缺省路由会被最后匹配。
配置缺省路由后,可以使用display ip routing-table命令来查看该路由的详细信息。在本示例中,目的地址在路由表中没能匹配的所有报文都将通过GigabitEthernet 0/0/0接口转发到下一跳地址10.0.12.2。
5. 静态路由实操
环境搭建
配置R1
配置R2
配置R3
配置静态路由
查看路由表发现没有去10.4.4.0网段的路由
配置R1的静态路由,要跳转到10.4.4.0网段,下一条地址为10.2.2.2
配置R2的静态路由,要跳转到10.4.4.0网段,下一条地址为10.3.3.2
配置R3的静态路由,要跳转到10.1.1.0网段,下一条地址为10.3.3.1
配置R2的静态路由,要跳转到10.1.1.0网段,下一条地址为10.2.2.1
最后PC1成功ping通PC2
取消配置的 IP 地址命令
如果在交换机中配置好了IP地址,但是ip配置错误可以使用下面的命令来取消。
undo ip address
二、RIP 动态路由协议
动态路由协议——RIP概述
1. RIP 协议概述
RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由协议,距离矢量IP路由协议。
RIP通过UDP报文进行路由信息的交换,工作在网络层,使用端口号为==520==,协议号17(其实就是UDP),每30秒发送一次路由信息更新。
RIP动态路由协议的消息形式:请求消息,响应消息。
默认支持的等价负载均衡4,最大支持6。
距离矢量路由协议: 距离矢量名称的由来是因为路由是以矢量(距离、方向)的方式通告出去的,其中距离是根据度量定义的,方向是根据下一跳路由器定义的。传递的内容是路由表中的信息。
RIP的一个特点是触发式更新。当其中一个路由器的路由表更新后,那么该路由器会给其他直连的路由发送自身的路由表。
环路的发生
防止环路发生的机制
距离矢量型路由协议中,用以下几个方法解决环路问题:
- 水平分割:从一个接口收到的路由条目不会在从这个接口发送出去。
- 路由毒化和毒性逆转的水平分割:从一个接口收到的路由条目会从这个接口发送出去,但是将这个路由条目标记为16跳不可达。
- 路由毒化就是将路由条目标记为16跳不可达。
- 触发更新,当路由表发生变化时,会立刻发送更新信息。
2. RIP 协议版本对比
当前使用的RIP协议是针对与IPV4的地址,针对于IPV4的RIP有两个版本:
RIPv1
- RIPv1使用广播更新路由表。
- 当路由器首次在网络上被激活时,最简单的方式是广播地址(在IP网络中,广播地址是 255.255.255.255)发送更新信息。使用相同的路由选择协议的邻居路由器将会收到广播数据包,并且采取相应的动作。不关心路由更新信息的主机和其他设备会丢弃该数据包。
- RIPv1有类路由,不支持变长子网掩码,不支持不连续子网。
RIPv2
- RIPv2使用组播更新路由表,组播地址是224.0.0.9。
- 启用了RIP,那么设备就拥有了监听224.0.0.9这个IP地址的功能。当一个路由器收到一条更新消息时,它会检查消息的源IP地址,并相应地更新其路由表。如果它已经有了关于该网络的路由信息,则将其更新为新的信息。如果它还没有关于该网络的路由信息,则将其添加到路由表中。
- RIPv2无类路由,支持变长子网掩码,支持不连续子网。
- 路由表查询机制是由小类->大类(按位查询最长匹配、精确匹配,先检查32位掩码的)
- 支持明文及密文认证(思科私有)
2.1 有类路由及无类路由
RIPv1有类路由
-
在传递路由表的时候不传递子网掩码。
-
其中网络地址被分为五个类别(A、B、C、D、E),每个类别有固定的网络前缀长度。类路由是基于网络地址的类别来划分的,因此它只能处理默认网络掩码,无法有效地支持可变长度子网掩码(VLSM)。这意味着在RIPv1中,所有属于同一个类别的网络都会被汇总为一个路由,而无法区分具体的子网。
-
在有类路由中,网络地址被汇总为一个路由,无法区分具体的子网。这使得类路由在网络规模较小、拓扑结构相对简单且不需要细粒度控制时比较适用。
RIPv2无类路由
- 无类路由能够更精确地表示网络地址和子网掩码,可以对不同的子网进行区分。VLSM允许将网络地址划分为更小的子网,并为每个子网分配适当的子网掩码。这使得RIPv2能够更有效地利用IP地址空间,并更好地适应复杂的网络拓扑。
- 例如,在一个网络中可能有多个子网,每个子网都具有不同的子网掩码。使用无类路由,路由器可以将每个子网的地址和相应的子网掩码一起传输,从而实现更准确的路由选择。这样可以更好地利用IP地址空间,并支持更复杂的网络拓扑。
3. RIP 路由协议原理
RIP 路由协议使用跳数(Hop Count)作为度量值来衡量达到目的的地址的距离(最大跳数15跳)。设备到与它直连网络的设备跳数为0,然后每经过一 个三层设备跳数增加1。也就是说通过一个3层设备到达的网络的跳数 为1。度量值等于从本网络到达目的网络间的设备数据量。为限制收敛时间,RIP规定度量值取1~15之间的整数,大于或等于16的跳数(也 就是3层设备数量)被定义为无穷大,即目的网络或主机不可达。也就 是说最大跳数15跳所以流量只能经过15个3层设备,16跳第16个3 层设备为不可达。
4. RIP 计时器
RIP使用距离作为路由选择的度量标准,并通过定期广播路由更新来维护网络的路由表。
- 更新计时器(Update Timer) :RIP协议平均每30s(默认值)从每个启动 RIP 协议的接口不断发送响应消息。这个周期性的更新又更新计时器进行初始化,并且包含一个随机变化量用来防止表的同步。
- 超时计时器(Timeout Timer): 超时计时器也就是失效计时器,超时计时器用来限制停留在路由选择表中的路由未被更新的时间。五类什么时候,当有一条新的路由建立后,超时计时器就会被初始化为 180s(默认值), 而每当接收到这条路由的更新报文时,超时计时器又将被重置成计时器的初始值。如果一条路由的更新在180s(6个更新周期)内还没有收到,那么这条路由的跳数将变成16,也就是标记不可达路由。
- 刷新计时器(Flush Timer): 也叫垃圾收集,这个计时器所设置的时间长度一般比超时计时器的时间长240~60s (Cisco路由器使用60s的刷新收集计时器,虽然RFC1058规定为120s)。也就是超时计时器的180s 到期后再加 60s 也就是 240s 为刷新计时器的时间 (可以更改)。如果刷新计时器也超时了,则该路由器将被通告为一条度量值为不可达的路由,同时从路由选择表中删除该路由。
- 抑制计时器(Holddown Timer): 用于抑制更新机制,Cisco的路由器中允许的 RIP 协议使用了它们。如果一条路由表更新的跳数大于路由选择表已记录的该路由的跳数,那么将会引起该路由进入长达180s(即6个更新周期)的抑制状态节点。
5. 度量值
度量值:跳数用来计算开销用的。不能超过15,如果超过15台第16台为路由不可达。
当到达同一个网段有两条或者两条以上不同路径的时候,动态路由协议会选择一条最优的路径传输数据。路由协议使用度量选择路径优劣的依据:不同的路由协议使用不同的度量,有时还使用多个度量。
直白来说就是路由器选路的依据。
-
跳数(Hop Count): 度量可以简单记录路由器的跳数。
- 如上图,R1要到达192.168.1.0,如果选择跳数作为度量值来衡量链路的优劣。那么就会选择跳数较少的路径转发数据,即R1–>R3–>192.168.1.0。但是R1–>R3真的是最优路径吗?R1–>R3的链路带宽只有19.2Kb/s,而R1–>R2–>R3的路径带宽却是2Mb/s。
-
带宽(Bandwidth): 度量将会选择高带宽路径,而不是低带宽路径。
- 如上图,如果将带宽作为度量值,选择的路径应该是R1–>R2–>R3。然而带宽本身可能不是一个好的度量。例如,一条被其他 流量过多占用的的2Mb/s链路,与一个 128Kb/s 的空闲链路相比到底谁更好呢?或者与一条高带宽但是延迟很大的链路相比又如何呢?
6. 收敛
网络中的路由器通过交换路由更新信息并重新计算路由表,最终达到稳定的路由状态的过程叫收敛。
收敛时间(convergence time):从网络拓扑发生变化到网络中所有路由器都知道这个变化的时间就叫收敛时间。
动态路由选择协议必须包含一系列过程,这些过程用于路由器向其他路由器通告本地直连网络(传递路由表),接受并处理来自其他路由器的同类信息,中继从其他路由器接收到的信息。此外,路由选择协议还需要定义决定最优路径的度量。对路由协议来说,另一个标准是互联网络上所有路由器的路由表中的可达信息必须一致。使所有路由表都达到一致状态的过程称为收敛(Convergence)。全网实现信息共享及所有路由器计算最优路径所花费的时间的总和就是收敛时间。
每30秒收敛一次,也就是每隔30秒把路由表发送一次。
7. 示例
像之前每台路由器都要配置静态路由会非常的麻烦,现在使用RIP动态路由。
配置方式如下:
在R1中启用version 2版本,并宣告network。
在R2中启用version 2版本,并宣告network。
在R3中启用version 2版本,并宣告network。
然后使用PC1和PC2通信即可
Wireshark抓包分析
相关文章:
静态路由及动态路由
文章目录 静态路由及动态路由一、静态路由基础1. 静态路由配置2. 负载分担3. 路由备份4. 缺省路由5. 静态路由实操 二、RIP 动态路由协议1. RIP 协议概述2. RIP 协议版本对比2.1 有类路由及无类路由 3. RIP 路由协议原理4. RIP 计时器5. 度量值6. 收敛7. 示例 静态路由及动态路…...
MySQL——表的增删查改
目录 一.Create(创建) 1.单行数据 全列插入 2.多行数据 指定列插入 3.插入否则更新 4. 替换 二.Retrieve(读取) 1. select 列 查询 2.where 条件 3.结果排序 4.筛选分页结果 三.Update (修改)…...
javascript_1
3) string ⭐️ js 字符串三种写法 let a "hello"; // 双引号 let b "world"; // 单引号 let c hello; // 反引号 html 代码如下,用 java 和 js 中的字符串如何表示? <a href"1.html">超链接</a> …...
【ranger】CDP环境 更新 ranger 权限策略会发生低概率丢失权限策略的解决方法
一、问题描述: 我们的 kafka 服务在更新(添加) ranger 权限时,会有极低的概率导致 MM2 同步服务报错,报错内容 Not Authorized。但是查看 ranger 权限是赋予的,并且很早配置的权限策略也会报错。 相关组件…...
Python安装及配置
一、前置说明 Python的安装有两种方式:1. 访问Python官方网站下载安装;2. 使用Python的开源发行版进行安装。 Anaconda 是一个用于科学计算、数据分析和机器学习的开源发行版,它包含了许多常用的科学计算和数据分析库。Anaconda 不仅仅是 P…...
Instagram 外贸产品推广技巧
在Instagram上,外贸业务有许多独特的机会来展示其产品并吸引国际买家。成功的外贸产品推广要求细致的策略、引人入胜的创意内容和有针对性的市场洞察。下面的小节将详细解析如何在Instagram上进行外贸产品的有效推广。 1.创意与视觉呈现 Instagram是一个基于图片和…...
5款实用的小工具,让你的日常生活多姿多彩
简单而小巧的工具,经常能在日常中悄然发挥极大的作用。这五款小工具可能成为你生活中不可或缺的一部分。 1.网络浏览器——Brave Brave是一款基于Chromium内核的开源网络浏览器,它可以阻止网站的广告和跟踪程序,保护您的隐私和安全。…...
【改进YOLOv8】磁瓦缺陷分类系统:改进LSKNet骨干网络的YOLOv8
1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 近年来,随着智能制造产业的不断发展,基于人工智能与机器视觉的自动化产品缺陷检测技术在各行各业中得到了广泛应用。磁瓦作为永磁电机的主…...
Linux-VRRP
这里写自定义目录标题 一、VRRP简介1.1 什么是VRRP?1.2 keepalived是什么? 二、配置过程2.1 试验模型2.2. Keepalived监控和维护VRRP集群的步骤 一、VRRP简介 1.1 什么是VRRP? VRRP(Virtual Router Redundancy Protocolÿ…...
使用Axure的中继器的交互动作解决增删改查h
🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 目录 一、中继器的交互 1、什么是中继器的交互 2、Axure中继器的交互 3、如何使用中继器? 二…...
华为云Stack 8.X 流量模型分析(一)
一、基础知识 1.tap与tun tap与tun都是操作系统(Linux)内核中的虚拟网络设备,等同于一个以太网设备,可以收发数据报文包。 tap与tun的定义相同,两者仅仅是通过一个Flag来区分。但二者所承担的功能差别较大&am…...
SpringBoot已经禁掉了循环依赖!
还在问循环依赖嘛?SpringBoot已经禁掉了循环依赖! 首发2023-12-18 11:26yuan人生 如果现在面试时还有人问你循环依赖,你就这样怼他:循环依赖是一种代码质量低下的表现,springboot2.6之后的版本已经默认禁用了。 Spr…...
【.NET Core】反射(Reflection)详解(一)
【.NET Core】反射(Reflection)详解(一) 文章目录 【.NET Core】反射(Reflection)详解(一)一、什么是反射二、Assembly类2.1 LoadFile2.2 Load2.3 LoadFrom(String)2.4 GetName()2.5…...
jenkins入门
文章目录 前言一、 jenkins的安装二、新建简单任务总结 前言 本篇文章是 jenkins 的入门级别案例,包括安装、基础概念介绍、新建简单任务 一、 jenkins的安装 下载 jenkins https://www.jenkins.io/download/ 当前案例下载的是 2.426.2 LTS 版本 下载安装jdk11 …...
HarmonyOS --- 首页(新新新手版,高手误入)
一、前言 每一个App都应该有一个首页,在Android中一般由MainActivity Navigation Fragment * N (随便你怎么组合,用别的也一样),鸿蒙呢?瞅瞅吧。阿弥陀佛,苦逼Android学完Java学Dart、学完Da…...
springboot升级到3.2导致mybatis-plus启动报错
在springboot升级到3.2时,服务启动报错 java.lang.IllegalArgumentException: Invalid value type for attribute ‘factoryBeanObjectType’: java.lang.String: java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanOb…...
浏览器原理篇—渲染原理
目录导航 为什么要学习浏览器的渲染原理浏览器的渲染流程浏览器的渲染阻塞浏览器的渲染优化 为什么要学习浏览器的渲染原理? 知识深度挖掘: 帮助更好地理解前端性能优化。从而对实现效果进行针对性优化。如:**回流和重绘 **渲染机制。帮助…...
idea安装
mac安装路径 /Users/xxx/Library/Application Support/JetBrains/IntelliJIdeaxxx版本 将路径内文件直接复制到新版本即可, 注意如果为破解版idea.vmoptions配置中的内容是否添加或删除 maven配置如果使用idea, 需要在应用程序IntelliJ IDEA.app中显示包内容, /Applications/I…...
用Flask搭建简单的web模型部署服务
目录结构如下: 分类模型web部署 classification.py import os import cv2 import numpy as np import onnxruntime from flask import Flask, render_template, request, jsonifyapp Flask(__name__)onnx_session onnxruntime.InferenceSession("mobilen…...
PCL 点云匹配 3 之 (非线性迭代点云匹配)lM-ICP
一、IM迭代法 PCL IterativeClosestPointNonLinear 非线性L-M迭代法-CSDN博客 Matlab 非线性迭代法(3)阻尼牛顿法 L-M-CSDN博客 MATLAB实现最小二乘法_matlab最小二乘法-CSDN博客...
【C语言】SCU安全项目2-BufBomb
目录 关键代码解读: getxs() getbuf() test() 核心思路 具体操作1 具体操作2 前段时间忙于强网杯、英语4级和一些其他支线,有点摸不清头绪了,特别是qwb只有一个输出,太过坐牢,决定这个安全项目做完后就继续投身…...
C++第一讲之初入C++
注:本文是对于学完C语言再学C同学的讲解,主要补充C与C语言不同之处,如果你没学过C语言,不建议观看本文。 一.C简介 我们都知道C语言是过程性语言(强调的是实现过程),即对计算机语言要处理的两…...
如何实现公网访问本地内网搭建的WBO白板远程协作办公【内网穿透】
最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cp…...
js知识点1:防抖节流
js知识点1:防抖节流 防抖节流 防抖节流,本质上是优化高频率执行代码的一种手段 定义: 防抖: n 秒后再执行该事件,若在 n 秒内被重复触发,则重新计时 节流: n 秒内只运行一次,若在 n 秒内重复触发࿰…...
虚拟机下Ubuntu上网设置
文章目录 一、虚拟机上网的两种方式1.1 NAT模式(Network Address Translation)1.2 桥接模式(Bridge Mode)1.3 简介 二、实际配置2.1 NAT模式配置2.2 桥接模式配置 之前跟着博客配了好几个也没用,后来自己慢慢模式实践测…...
Unity3d C#利用Editor编辑器拓展实现配置UI背景样式一键设置UI背景样式功能(含源码)
前言 在开发UI滚动列表的时候,经常会有每项的背景图不统一的情况,会间隔重复的情况居多。这种情况下,手动去设置间隔一行的背景图或者颜色是比较麻烦的。在此背景下,笔者尝试写个小工具,在搭建UI时配置一下循环背景的…...
【微服务】服务间调用
当我们的应用从一个大单体拆分成多个微服务之后,服务间调用有多少种方式?服务间调用如果出现超时,如果避免雪崩,即如何做限流熔断机制,原理是什么? 服务间调用方式 OpenFeign 使用Feign进行服务间调用,我们会在启动类加@EnableFeignClients启用。 package org.sprin…...
一句话分清C/C++声明和定义
定义告诉编译器在在哪个位置存储变量,声明没有 声明:告诉编译器,变量类型和名字 定义:告诉编译器变量存储的位置。 举例子 int i; // 这是声明定义。声明:告诉编译器变量类型int,变量名字i, // 定义&…...
《哥德尔证明》阅读笔记——初等命题逻辑的一致性证明过程
前言 前两节主要阐述了公理系统的发展历史,一致性问题的提出,以及希尔伯特的洞见,本节将给出哥德尔证明所需的最后一次具体背景阐述,包含两个问题:一是罗素所著的《数学原理》是为何而写?二是从数学原理中…...
迪文屏开发保姆级教程—弹出键盘录入ASCII字符
本篇文章主要介绍了在DGBUS平台上使用文本录入键盘录入ASCII字符,数字和字母的教程。 文本录入键盘支持录入ASCII字符,数字和字母。 官方开发指南PDF:(不方便下载的私聊我发给你) https://download.csdn.net/download…...
营销型网站制作多少钱/google推广seo
,神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习技术。 一.预测器和分类器 1.什么叫预测器:一个简单的机器接受了一个输入,并做出应有的预测,输出结果,所以我们将其称为预测器。 2.什么叫分类器:…...
政府网站建设审核/哪些广告平台留号码
一、Runlevel首先一条,原来一直用的CentOS-6.5-x86_64-minimal.iso光盘镜像(400M左右无图形系统小巧便捷),而7目前最小的镜像是CentOS-7.0-1406-x86_64-livecd.iso(700M左右),默认安装后是启动图…...
大型地方门户网站源码/seo网络贸易网站推广
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。if else(分支结构)if…...
用ps做网站画布一般建多大/百度搜索引擎优化公司哪家强
1、ADB万能驱动 https://pan.baidu.com/s/1oS2ekR1isEHVgu2eMe9n6w 2、安卓手机屏幕共享 https://pan.baidu.com/s/1P_VnzKBigAKMV0DBqbY2gw 3、IOS手机屏幕共享 http://pan.baidu.com/s/1boHL5nh转载于:https://www.cnblogs.com/xiaoxitest/p/6132761.html...
动漫做的游戏 迅雷下载网站有哪些/百度软文推广怎样收费
在JS中,类的实现是基于其原型继承机制的。 如果两个实例都从同一个原型对象上继承了属性,我们就说它们是同一个类的实例。 如果两个对象继承自同一个原型,往往意味着它们是由同一个构造函数创建并初始化的。 类和构造函数 使用关键字 new…...
史丹利网站开发团队/网络运营师
小知识点注:外面双引号,里面的双引号改为单引号; 在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中 文本框取出来的值是字符串,需要用parseint()转化为数字 Window.document对象 一、找到…...