计算机网络3—网络层

2023-11-01

IP报文的格式和各个字段的含义
掌握IP分片
如何避免IP分片( 在应用层做限制 在传输层做限制
如何确定分片顺序 接收端如何确定所有分片都到了
IP线路
路由表 路由表每个字段的含义
ICMP协议:查询+报错


ICMP协议的层次和作用
ICMP报文的分类
ICMP的主机不可达报文是在什么情况下发出的
什么情况下不会导致产生ICMP差错报文
ICMP重定向差错报文时怎么来的,在何种场合出现
重定向报文有什么规则


如何理解IP的不可靠和无连接
为什么IP首部中要有总长度字段
IP首部校验和怎么计算的,与ICMPP,IGMP,TCP,UDP的首部校验和有什么区别与共同点
主机和路由器的本质区别
IP路由选择的过程是怎么样的
IP路由选择的特征有什么
IP搜索路由表的步骤
如果路由表中没有默认项,而又没有找到匹配项,这时如何处理
IP地址分类,如何划分的以及计算各类地址支持的主机数


ping命令的具体过程时怎么样的
IP地址分类,子网划分

基础:

网络层负责为运输层的分组交换在不同主机之间,网络层会将运输层产生的报文段或用户数据封装成分组或包选择合适的路由进行传送,所以有两个任务:1,在不同网络之间转发数据包 2,选择合适的路由(选择路径的协议都是IP协议

网络层具有三个主要组件:IP协议、因特网控制报文协议(ICMP)、因特网路由协议,正是通过这些组件使网络层可以在复杂的网络网中找到最合适的路径,将分组从源主机移动到目的主机

IP报文

IP数据包:数据部分是传输层的分片,到网络层需要在数据部分加网络地址等构成首部,首部有两部分组成,一部分是固定的20字节,另一部分是可选的
在这里插入图片描述
每一行32bit,即4个字节,固定部分一共5行,所以固定20字节
在这里插入图片描述
IP报文的格式和各个字段的含义
1)版本:用来标识TCP/IP是哪个版本,ipv4就是4,ipv6就是6
2)首部长度:4个字节为单位,最小为5,最长为15,所以最小长度20个字节(就是固定长度),最大为60个字节
3)服务类型:略,不怎么使用
4)总长度:确定数据部分长度,一共16位,最多有2^16-1=65535字节
注意:网络层数据包最大有65535字节,而数据链路层最大时1500字节,所以网络层的数据部分超过1480字节,数据包就会分片
5)标识:如果出现数据包分片,用标识来确定哪些数据包是需要组合的
6)标志位:确定该数据包时完整的还是分片中的一部分,占3位但只有前两位有用,最低位是MF(more fragment),MF=1表示后面还有分片,MF=0表示是最后一个分片。中间位是DF(Don‘t Fragment),只有DF=0才允许分片
7)片偏移:偏移等于当前字节在数据部分的第几个再除以8
在这里插入图片描述
8)TTL生存时间:每经过一个路由器就减1,字段为0时,数据包就被丢弃,并且发送ICMP报文通知源主机,目的时防止数据包再选路时循环流动
9)协议:用协议号标识数据部分是什么数据,协议字段指出应该将数据部分交给哪一个进程,1为ICMP在这里插入图片描述
其中ICMP协议号:1; IGMP协议号:2; TCP协议号:6;UDP协议号:17;OSPF协议号:89
10)首部检验和:16位,只检验数据报的首部,不检验数据部分,每经过一个路由器就会检验一次记得要对比ICM IGMP TCP UDP 分别对首部和数据进行校验的区别:ip仅仅只检验首部,而其他检验同时覆盖首部和数据,这里就是采用简单的计算方法来进行校验的
11)源地址和目的地址:都是IP地址
12)可变部分:一般没用

IP首部校验和是怎么计算的

  1. 先把校验字段和置为0
  2. 对首部中每个16位比特进行二进制反码求和
  3. 结果存在检验和字段中
  4. 收到一份IP数据包后,同样对首部中每个16bit二进制反码求和
  5. (再取反码),最后结果全为0则表示正确/// 如果不取反码则结果全为1表示正确
  6. 如果是错误的,IP就丢弃该数据包,但是不产生差错报文,而是由上层去处理
    在这里插入图片描述

IP分片

▲链路层有能承载的最大数据量MTU,当数据报过大时,会将数据报的数据进行分片,称为多个更多的小数据报,然后用帧封装这些小数据报。这些较小的数据报被称为。其中MTU = IP数据报 = 数据部分+IP首部
▲不仅源端主机会进行分片,中间的路由器也有可能分片,因为不同的网络的MTU是不一样的,如果传输路径上的某个网络的MTU比源端网络的MTU要小,路由器就可能对IP数据报再次进行分片。而分片数据的重组只会发生在目的端的IP层。
▲当数据包比MTU大且DF = 0 时表示可以进行分片,每个片的最大尺寸就是MTU减去IP的首部
▲举例:在不够分之前每个分片都分最大值,即MTU-20 = 1480, 第一个1480,偏移量0/8 = 0; 第二个 1480, 偏移量1480/8 = 185;此时还剩4000-1480×2 = 1040,偏移量(1480×2/8)= 370 在这里插入图片描述

如何避免IP分片

网络编程中,我们要避免出现IP分片,因为IP层时没有超时重传机制的,如果IP层对一个数据包进行了分片,只要有一个分片丢失了,就只能依赖于传输层重传,那样的话所有的分片都要重传一遍,这样的代价就有点大。

  1. 对于UDP包,我们需要在应用层去限制每个包的大小,一般不要超过1472字节,即以太网MTU(1500)- UDP首部(8)-IP首部(20)
  2. 对于TCP包,应用层就不需要考虑这个问题了,因为传输层已经帮我们做了:在建立连接的三次握手的过程中,连接双方会相互通告MSS(Maximum segment size,最大报文段长度),MSS一般是MTU-IP(20)-TCP 首部(20),每次发送的TCP数据都不会超过双方的MSS的最小值,所以就保证了IP数据报不会超过MTU,就避免了IP分片

接收端如何确定分片顺序以及怎么判断分片都到了

  1. IP分片和完整的IP报文拥有相同的IP首部,每个分片首部的16位的标识用于判断是否出自一个报文,相同则需要重新组装
  2. 13位的片偏移记录IP片相对于整个包的位置,凭此就可确定分片顺序
  3. 介于标识和片偏移的3位的标志中的最低位MF值(0或1)用于表示后面是还有分片还是就是最后一片

IP线路:

traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具:其过程充分利用TTL:
在收到目的主机IP之后,首先给目的主机发送一个TTL=1的UDP数据包,而经过的第一个路由器收到这个数据包之后,就自动把TTL减1,TTL为0路由器就会把这个包给抛弃掉,并同时产生一个主机不可达的ICMP给主机。主机收到这个数据报以后发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据报。如此往复直到达到目的主机,这样traceroute就拿到了所有的路由器IP

路由表每个字段含义

destinatio: 目的网段
mask:子网掩码
Gateway:网关,又称下一跳路由器。在发送IP数据包时,网关定义了针对特定的网络目的地址,数据包发送到的下一跳服务器。
Interface:接口,接口定义了针对特定的网络目的地址,本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网(默认网关除外),否则造成在使用此路由项时需调用其他路由项,从而可能会导致路由死锁。(通过接口将数据包发送给网关
metric: 跳数

ICMP

ICMP用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,这些控制信息并不传输用户数据

ICMP的主要功能包括:1. 确认IP包是否成功送达目标地址;2. 通知再发送过程中IP包被废弃的具体原因; 3. 改善网络配置……

ICMP这种控制消息在IP数据报内部进行发送,就像TCP与UDP报文段那样,收到ICMP包的主机会分解ICMP的首部和数据,从而得到具体发生的原因

  • 特点:
  1. ICMP是网络层的一个协议,其报文不是直接传送给数据链路层的,而是封装成IP数据报,然后再在数据链路层传输
  2. 从协议体系上看,ICMP的差错和控制信息传输只是要解决IP协议可能出现的不可靠问题,它不具有普遍意义上的传输机制,也不是传输层赖以生存的基础。
  3. ICMP是用于IP协议在执行过程中的出错报告,由路由器想源主机报告出错原因,只是报告差错,不纠正差错

ICMP报文格式

在这里插入图片描述

  1. ICMP信息必须全部封装在IP数据报的数据域中,有长度限制
  2. 根据IP数据报首部规定,协议字段为1时,表示该IP数据报携带的是ICM信息,是ICMP数据报
  3. ICMP报文有很多种不同的类型,在ICMP首部有不同的类型字段,用于描述不同类型的ICMP报文

ICMP报文分类

  • 差错报文(通知出错原因的错误消息)5类
  1. 终点不可达
  2. 源点抑制
  3. 时间超过
  4. 参数问题
  5. 改变路由
  • 查询报文(用于诊断的查询消息)2类
  1. 回送请求和回答
  2. 时间戳请求或回答

什么情况下不会导致产生ICMP差错报文
1)ICMP差错报文(但是,ICMP查询报文可能会产生ICMP差错报文??
2)目的地址是广播地址或者多播地址的IP数据报
3)链路层广播的数据报
4)不是IP分片的第一片
5)源地址不是单个主机的数据包(源地址不是零地址,环回地址,广播地址或多播地址)
(嗯嗯嗯……没理解……)

ICMP的主机不可达报文是在什么情况下发出的
三层设备(路由器)给该主机寻路时,没有找到相应路径,向源IP发回ICMP主机不可达

ICMP 重定向差错报文是怎么来的,在何种场合出现,有什么规则

  • 何时重定向报文:
  1. 主机的默认路由指向的下一跳是R1,主机发送IP数据报给R1
    2)R1收到数据报之后检查路由表,发现下一跳R2的IP地址与数据报的源IP地址属于同一个网段,路由器R1就发送一个ICMP重定向报文给主机
    3)主机接收到ICMP重定向报文之后,接下来的数据报就直接发送给R2,而不再发送给R1了
  • 规则
    1)重定向报文只能由路由器生成
    2)重定向报文是为主机而不是为路由器使用的

1. 如何理解IP的不可靠和无连接

  • 不可靠:不能保数据报能成功到达目的地。因为在发生错误的时候,网络层直接丢弃该数据报,再发送一个ICMP消息给源主机。可靠性是由上层提供的

  • 无连接:IP不维护关于后续数据报的状态信息,这体现在,IP数据可以不按顺序发送和接收。A发送连续的数据报,到达B也不一定是连续的,来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样

2. 为什么ip首部中要有总长度字段
因为数据链路(以太网)需要填充一些数据以达到最小长度,因为以太网帧的最小长度是46字节,但是IP长度可能更短,所以需要总长度来确定IP数据部分的内容

3. IP路由选择的过程
根据最长匹配原则,找到条目,发送到指定的路由器。如果不能找到,返回一个“主机不可达”或者网路不可达“的错误

  • 最长匹配原则:原则是选择具有最长(最精确)的子网掩码。

在这里插入图片描述
4. IP路由选择的特性有什么

  1. IP路由选择是逐跳进行的,只提供下一跳地址
  2. 为一个网络指定一个路由器,而不是为每个主机指定一个路由器,这样可以缩小路由表规模

5. IP搜索路由表的步骤
IP层进行的路由表搜索实际上就是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组:
搜索匹配的主机地址—>搜索匹配的网络地址—>搜索默认选项

6. 如果路由表中没有默认项,而又没有找到匹配项,如何处理
结果取决于该IP数据报是由主机产生的还是被转发的:
· 如果数据报是由本机产生的,那么就给发送该数据报的应用程序返回一个差错,“主机不可达差错”或者“网络不可达差错”
·如果是被转发的数据报,就给原始端发送一份ICMP主机不可达的差错报文

7. IP地址的分类,如何划分,计算各类地址支持的主机数

  • ★ IP地址分类:
  1. A类:首位为0,8位网络号,24位主机号,1.0.0.1~126。255.255.254(127.0.0.1是环回地址
  2. B类:首位为10,16位网络号,16位主机号,128.0.0.1~191.255.255.254
  3. C类:首位为110,24位网络号,8位主机号,192.0.0.1~223.255.255.254
  4. D类:首位1110,多播地址,也叫组播地址224.0.0.1~239.255.255.254
  5. E类:首位11110,保留地址

A类:最小00000001.0.0.1; 最大011111110.255.255.11111110(注意011111111=127,环回)
B类:最小10000000.0.0.1; 最大10111111.255.255.254
C类:最小11000001.0.0.1; 最大11011111.255.255.254

  • 最大可用主机数:2^(主机位数) - 2
    A:2^(24)-2;
    B:2^(16)-2;
    C:2^8 -2
    在这里插入图片描述
  • ★ 子网掩码:帮助判断对应主机是否在一个网段中国
  1. 子网掩码又叫网络掩码、地址掩码,结合某个IP地址,可可知道IP地址的网络地址和主机地址了:(举例)一个计算机的IP地址配置为172.16.122.204,子网掩码是255.255.0.0,就知道了该计算机处于的网段是172.16.0.0
  2. 计算机和其他计算机通信时,首先判定目标地是否和自己处于同一网段内:具体就是先将自己的子网掩码和自己的IP地址进行与运算得到属于自己所属的网段,再将自己的子网掩码和目的地址的IP地址进行与运算得到它的网段
  3. 如果不在一个网段就用网关的MAC地址封装数据帧,将数据帧转发给路由器
  • ★ 子网划分
    在这里插入图片描述
    划分成两个子网:第八位A子网固定为0,B子网固定为1,同时子网掩码后移1位
    若划分四个子网,倒数两位分别固定为00,01,10,11,子网掩码后移两位
    若划分为8个子网,倒数三位固定为000,001,010,010,……子网掩码后移3位
    划分子网要注意,全为1是广播,所以63 127 191 254 不选

  • ★一些具体的案例题,要会做

  1. 利用子网数目计算子网掩码
    把B类地址172.16.0.0划分为30个子网络,它的子网掩码是多少?
    :2^4 < 30 <2 ^5 ,结合上面划分子网的知识,就知道了子网掩码要后移5位,easy,所以所需要的子网掩码就是255.255.11111000.0 = 255.255.248.0

  2. 利用主机数计算子网掩码
    把B类地址172.16.0.0划分成若干自网络,每个子网络能容纳500台主机,它的子网掩码是多少
    :最大主机数=2^(主机位)-2,2 ^ 7 =128 2 ^ 8 = 256 2 ^9 = 512,bingo,所以主机位是9位 = 8+1; 所以子网掩码往后移7位,为255.255.11111110.0 = 255.255.254.0

  3. 利用子网掩码计算最大有效子网数
    A类IP地址,子网掩码为255.224.0.0,它所能分配的最大有效子网数是多少?
    :A类子网掩码原本是255.0.0.0,224 = 11100000,所以子网掩码是往后移了3位,那么最大有效子网数就是2 ^ 3 = 8

  4. 利用子网掩码计算最大可用主机数:
    A类IP地址,子网掩码255.252.0.0,将它划分为若干子网络,每个子网络中可用主机数有多少?
    :252 = 11111100,后移6位,那么主机数就是24-6 = 18,最大可用主机数是2 ^ 18-2(减2是因为要除去全是0和全是1的广播地址)

  5. 利用子网掩码确定自网络的起止地址
    B类IP地址172.16.0.0,子网掩码为255.255.192.0.它所能划分的子网起止地址是多少?
    :192 = 11000000,子网掩码往后移了2位,所以最多可以分4个子网络,分别固定为00,01,10,11
    固定00:最低:00000001.0 ;最高00111111.255
    ①172.16.1.0~172.16.63.255
    固定01:最低:01000000.0;最高01111111.255
    ②172.16.64.0~172.16.127.255
    固定10:最低10000000.0;最高10111111.255
    ③172.16.128.0~172.16.191.255
    固定11:最低11000000.0; 最高11111111.255
    ④:172.16.192.0~172.16.255.255

    1. Ping命令的具体过程
  1. ping概览:
    1)当我们检查网络情况的时候,最先使用的命令肯定是ping,一般用ping查看网路情况的时候主要是查看两个指标,第一看是不是超时,第二看是不是延迟太高
    2) ping命令是依托于ICMP协议实现的,ICMP协议头包含4个字节,头部主要是用来说明ICMP类型和校验的,另外还在局域网下还借助ARP协议,且在ping之后还会进行ARP缓存更新
  2. Ping过程解析:
    1,A电脑(192.168.2.135)发起ping请求,ping192.168.2.179
    2,A电脑广播发起ARP请求,查询192.168.2.179的MAC地址
    3,B电脑发起ARP请求,向A电脑发起单向应答,告诉A电脑自己的MAC地址为xx:xx:xx:xx:xx:xx
    4,知道了MAC地址之后就开始真正的ping请求,由于B电脑可以根据A电脑发送的请求知道源MAC地址,所以可以根据源MAC地址进行响应了

====》(画图太麻烦,语言组织一下前后过程
A电脑发出发出ARP广播,询问谁持有192.168.2.179,B电脑发出回应,返回A电脑自己的MAC地址,A发出ping请求,B给出ping响应
然后在ping请求和响应之后,B电脑对A电脑发出ARP请求,这个arp请求的原因有二:
■ 由于ARP有缓存机制,为了防止ARP国企,结束后重新更新下ARP缓存,保证下次请求能去正确的路径,如果ARP过期就会导致出现一次错误,从而银杏果i昂测试正确性
■ 由于ping命令的响应时间是根据请求包和响应包的时间戳计算出来的,一次ARP过程也会消耗时间,所以这里提前缓存最新的ARP结果就是节省下次ping的ARP时间

===传输层我来了xx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络3—网络层 的相关文章

  • @Resource和@Autowired注解的区别

    介绍 Resource和 Autowired都是做bean的注入时使用 但其实 Resource并不是Spring的注解 它的包是javax annotation Resource 需要导入 但是Spring支持该注解的注入 Spring不
  • 硬件设计31之LVDS与TMDS信号

    1 LVDS基础 原理 图文讲解 LVDS是一种低摆幅的差分信号技术 它使得信号能在差分PCB 线对或平衡电缆上以几百Mbps的速率传输 其低压幅和低电流驱动输出实现了低噪声和低功耗 IEEE 在两个标准中对LVDS 信号进行了定义 ANS
  • 音视频 SDL简介

    一 SDL简介 SDL Simple DirectMedia Layer 是一套开放源代码的跨平台多媒体开发库 使用C语言写成 SDL提供了数种控制图像 声音 输出入的函数 让开发者只要用相同或是相似的代码就可以开发出跨多个平台 Linux
  • 911接线员(C++制作)

    哈喽 鸽了许久的酱某终于回来啦 又来整新活了 在中国 紧急拨号一般分成 110 120 119 但在美国 他们的救援电话是一体的 那就是 911 一款名叫 911接线员 的游戏便应运而生了 但这并不是酱某我的游戏 今天我们就要复刻一下这款策
  • 字符串模式匹配

    字符串模式匹配 1 BF算法 初始时让目标T的第 0 位与模式P的第 0 位对齐 顺序比对目标T与模式P中的对应字符 若 P 与 T 比对发现对应位不匹配 则本趟失配 将 P 右移一位与 T 对齐 进行下一趟比对 若 P 与 T 对应位都相
  • STM8硬件IIC从机

    一 平台 芯片 STM8S103F3P6 环境 IAR STVP 系统 WIN7 二 目的 STM8S103F3P6 使用STM8标准库开发 角色 从机 方式 硬件IIC STM32H7 角色 主机 方式 IO口模拟IIC主机 主机发送命令
  • spark安装部署

    spark安装部署 需要指导私信 所有节点安装scala 安装scala需要安装openjdk 8 jre 当前用户如果没有sudo权限可将其加入sudo组里 以ubuntu2204 LTS为例 sudo apt update sudo a

随机推荐

  • 2023护网日记,护网工作内容、护网事件、告警流量分析

    2023护网日记 一 监控设备 二 工作内容 三 安全事件 1 失陷主机排查 2 后门网站修复 四 告警流量分析 1 信息泄露 2 SQL注入 3 文件上传 4 XSS 跨站脚本 5 代码执行 今年 HW 行动正式开启人员招募 总的来说 人
  • JMETER接口测试,参数关联,断言,定时器,前置处理器,后置处理器,cookie

    jmeter如何测试接口 jmeter可以做性能测试 当然同样可以用来做接口的自动测试 打开jmeter图形界面 右键添加一个线程组 取名 API接口测试 添加一个事务控制器 可以简单的先理解为一个接口组 例如 文件接口 用户接口 登录接口
  • LED+串口通信小试牛刀

    目录 一 搭建STM32的开发环境 1 安装STM32CubeMX 2 安装MDK5 二 闪烁原理 三 STM32CUBEMX生成代码 四 keil仿真调试并生成hex文件 五 运行结果 六 STM32通过串口通信 汇编 1 USART介绍
  • C#关于 SQL Server 数据库的操作

    C 创建SQL Server数据库 设置SQL Server数据库为只读状态 修改和压缩SQL Server数据库 新建 删除和修改 数据表 修改 新增和删除 数据列 代码 using System using System Collect
  • Leetcode——比较版本号

    1 比较版本号 1 字符串模拟 对字符串进行分割 诸位比较 修订号 大小即可 对于缺省的修订号位置 使用 00 进行代指 时间复杂度 令 v1 长度为 n v2 长度为 m 整体复杂度为O max n m 空间复杂度 O n m O n m
  • 敏捷测试

    目录 一 敏捷软件研发思想及在企业中的做法 1 什么是敏捷开发 如何理解 2 敏捷测试常用术语 3 主要角色及职责 4 敏捷开发每日站会 5 Scrum详细解释 6 敏捷软件开发宣言 http agilemanifesto org 7 敏捷
  • 基于PyTorch的深度学习--创建卷积神经网络-面向对象的神经网络

    本篇文章是翻译 https deeplizard com网站中的关于Pytorch学习的文章 供学习使用 原文地址为 https deeplizard com learn video k4jY9L8H89U 使用PyTorch创建神经网络
  • macOS免费串口工具coolTerm/Minicom/Comtool/Volt+(伏特加)/友善串口调试助手/screen/picocom

    macOS下免费的串口调试工具不多 图形化的工具有coolTerm comtool Volt 友善串口调试助手 命令行的工具有minicom screen和picocom 1 coolTerm coolTerm 点击下载mac版 是一个图形
  • win7下面怎么安装Active Directory

    可以先安裝下面補丁 網上可下載 可區分簡體 繁體版 Windows6 1 KB958830 x64 RefreshPkg msu Windows6 1 KB958830 x86 RefreshPkg msu 下面提供方法 1 根據環境選擇所
  • 深度优先遍历(Depth-First Search, DFS)和广度优先遍历(Breadth-First Search, BFS)

    深度优先遍历 DFS 问题1 什么是深度优先遍历 DFS 答案 深度优先遍历是一种用于遍历树或图的算法 它从根节点 或其他起始节点 开始 首先探索尽可能深的分支 然后回溯并继续探索其他分支 它通常使用递归或栈来实现 问题2 如何实现深度优先
  • C++ vector容器-45-vector互换和节省空间和预留空间

    这篇来学习vector一个互换操作 也就是有两个vector对象 可以通过一个api 把两个对象互换过来 实际上 就是在内存中交换了对象的指针 原来的指针指向新的vector对象 这种交换有时候是很有必要 特别是匿名vector对象进行交换
  • UE4蓝图系统详细讲解

    关于UE4蓝图系统原理可以参考 UE4编辑器进阶 里面清楚的讲解了关于编辑器开发所涉及到的知识点 比如蓝图开发 虚拟机开发 蓝图编译 反射数据 序列化字节码等
  • 解决Mac安装Homebrew失败

    首先使用Homebrew官网的安装shell命令安装 bin bash c curl fsSL https raw githubusercontent com Homebrew install HEAD install sh 会出现如下错误
  • JSON.stringify()和JSON.parse()应用场景

    前言 JSON stringify 将对象 数组转换成字符串 JSON parse 将字符串转成json对象 应用场景 1 a 浏览器创建 获取 sessionStorage localStorage 数组内容 b 路由 浏览器地址 传参
  • 如何新建一个duilib项目(手把手创建)

    如何新建一个duilib项目 duilib示例项目下载 0积分下载 1 创建项目目录 在桌面上新建一个文件夹 MyDuilib 用来做我们项目的根目录 2 创建一个Win32项目 1 打开VS2013 新建一个 Win32项目 项目目录选择
  • uniapp运行到小程序之无法启动

    创建了一个uniapp项目 要求是在H5以及小程序都可运行 H5端很容易实现 那么我们来一起探讨小程序遇到的问题 首先 HbuilderX运行到微信小程序 前提是要安装微信开发者工具 来模拟手机上的小程序情景 运行报错 原因是微信小程序工具
  • 国产WMS仓库管理系统排名

    导读 WMS仓库管理系统是通过入库业务 出库业务 仓库调拨 库存调拨和虚仓管理等功能 对批次管理 物料对应 库存盘点 质检管理 虚仓管理和即时库存管理等功能综合运用的管理系统 可以有效控制并跟踪仓库业务的物流及成本管理的全过程 实现或完善企
  • 学习笔记 JavaScript ES6 Webpack核心概念

    学习内容 入口 entry 出口 output Loader 插件 plugin 模式 mode ES6 新特性的语法是无法被浏览器所识别的 浏览器只能识别ES5的语法 所以ES6 需要使用一个工具 把语法转化为ES5的语法 这个工具就是B
  • MyBatis3框架详解(四)

    一 select元素 select标签元素是用来定义查询操作的 id属性 唯一标识符 用来引用这条语句 需要和接口的方法名一致 parameterType属性 参数类型 可以不传 mybatis会根据TypeHandler自动推断 resu
  • 计算机网络3—网络层

    IP报文的格式和各个字段的含义 掌握IP分片 如何避免IP分片 在应用层做限制 在传输层做限制 如何确定分片顺序 接收端如何确定所有分片都到了 IP线路 路由表 路由表每个字段的含义 ICMP协议 查询 报错 ICMP协议的层次和作用 IC