1、基本知识
1、双绞线的标准 568A和568B
PS:常用的是568B,区别就是568A和568B的1&3和2&6对换下
2、什么是冲突域
PS:一个共享式网络就是一个冲突域,同轴电缆或者连接设备用的是集线器hub
3、网络通信协议
OSI:开放式系统互联参考模型 # 由ISO国际标准化组织所提出
TCP/IP:日常中99.9% 都是在应用这个模型
4、双攻模式和半双工模式
共享式网络里面肯定是半双工模式,如果是双攻模式同时进行收发就会发生冲突
交换式网络中用的是全双工,就是需要交换机
PS:半双工和全双工都是支持双向数据传输的,半双工是不能同时进行双向传输
5、以太网标准
PS:以太网是根据IEEE802.3标准来管理和控制数据帧的
6、OSI分层模型(七层模型)
应用层:在信息传输的时候,两个用户都在用QQ,进行数据传输,应用层就是提供给应用人机交互的界面
表示层: 比如在给QQ好友发送一条信息,此时数据会进过表示层,把数据进行格式转换,加密操作。当收到一条好友发送来的信息首先会进过表示层进行解密
会话层:QQ可以同时打开多个会话窗口,多个会话窗口同时建立起连接和传输不中断,就是通过会话层实现
传输层:通过端口号进行端口到端口的数据传输,可以区分不同应用的流量从哪个端口收发
网络层:IP地址寻址和路由选择
数据链路层:就是寻找IP地址的物理地址,就是所谓的MAC地址,并且在网络层和物理层之间的转换和通信
物理层:就是把信号通过比特流,就是高低电频进行收发
7、分层模型-TCP/IP(五层模型)
PS:通常称为五层模型,具体用的时候就是四层模型,将数据链路层和物理层合并成网络接口层
8、数据的封装(常用的封装名称)
PDU:协议数据单元
segment:数据段
Packet:数据包 # 通常说的丢包,就是只这个packet
Frame:数据帧 # 游戏掉帧画面卡帧就是这个数据帧丢失
9、数据帧的类别
Ethernet_II : # 开销小,总长度64-1518字节之间
目的MAC地址(6个字节) 源MAC地址(6个字节) 指定的协议(2个字节) 数据包(46-1500字节) 循环冗余校验(校验数据帧是否完整,4个字节)
(0X0800表示给IP协议使用)
(0X0806表示给ARP协议使用的)
IEEE802.3 # 链路开销大
承载不同类型协议栈的数据帧会用到这两个字段
PS:抓包后如何区分这两种协议,length/Type>= 1536(0X0600)这个数据帧类型是Ethernet_II的,Length/type <=1500(0X05DC)这个数据帧类型就是IEEE802.3E的
10、以太网的MAC地址
长度是48bits,前24位称为OUI是供应商代码是由分IEEE组织进行管理和分配,后24位是由厂商自己分配,MAC地址就是通过这样来做到唯一标识设备
11、MAC地址传送的方式
单播:一对一的通信方式就是单播
组播:一个特定的小组内通信就是组播
广播:网络范围内的所有对象都能收到消息,就是广播
12、如何区分单播和广播及组播
目的MAC地址的第八位是0就代表单播的数据帧
48位的MAC地址不全是1,但第八位是1就代表是组播
48位全是1则就是广播
PS:如果是共享式网络中,就算是单播,非目的对象也能收到消息,只是会判断是不是发给我的,如果不是则丢弃,在非共享式网络中非目的对象则不会收到
13、数据帧的发送和接收
过程:主机A发送数据帧的时候,先从网络层开始进行封装,会在数据前面加一个数据帧的头和尾,头部里包含了目的MAC和源MAC和Type,主机B是通信对象,收到后先看数据帧里面目的MAC是不是自己(不是自己则丢弃),如果是则进行循环冗余校验(有丢失和串改则直接丢弃数据帧),然后再看Type类型查看给哪个协议用
14、IP报文的头部
Version:版本号,主要有两个版本,IPV4(常用)和IPV6
HeaderLength:头部长度,代表IP的长度(IP长度的范围是20-60B)
DS Field:流量的Qos,就是优先级服务
Total Length:总长度,就是整个报文的长度
Identification:用来标识数据包分片流量来自与哪一台主机 #什么是数据包分片,一个数据包有一个最大长度,MTU(最大传输单元),数据包大于MTU无法一次传输,需要分几次传,这时候就需要将流量组合起来,划分好优先级进行传输
Flags:用来识别是不是最后一片,如果是1就是最后一片,是0就表示没有发完
Fragment Offset:片偏移 # 比如最大只能发送1500个,数据包有3500个,这时候就要分成3段发送,第一段就是1-1499,片偏移就是看开头是多少,就是1,第二个就是1500-2999,片偏移就是1500,也就是识别分片数据包接收的起始位
Time to live:就是TTL值,路由防环使用的,默认是255,每经过一个3层设备,就会-1
Protocol:和type有点类似,指定本层或上一层用的是什么协议,但是还可以指定网络层其他协议进行处理 # 在传输层,十进制的6代表TCP,十进制的17代表UDP,在网络层ICMP对应的就是1
Header Checksum:投不校验盒,作用和FCS基本一致,用的算法不同而已
Source IP Address:源IP地址
Destination IP Address:目的IP地址
IP Options:表示一些可选的高级功能选项
15、IP编制
由32位2进制数组成,前24位是网络位,后8位是主机位(日常表示方式:点分十进制 192.168.1.1)
16、网络地址和广播地址
网络地址:网络位不变,主机位全部为0 # 就是我们通常说的网段
广播地址:网络位不变,主机位全部为1
17、二进制、十进制和十六进制的表示
二进制: 0-1
十进制:0-9
十六进制:0-9,A-F
18、进制之间的转换
例:192.168.10.255 转换成二进制(从最大的数字开始顺位用减法)
步骤:192和最大128的比,192-128够减则第一位就是1,得到的结果继续减第二个数值,够减则第二位就是1,依次减到最后一位,如果不够减就是0,知道满足8位
19、IP地址的分类
A类:0.0.0.0~127.255.255.255 网络位8位,主机位24位 # 单播地址,每一个范围可放的主机数是2的24次方
B类:128.0.0.0~191.255.255.255 网络位16位,主机位16位 # 单播地址
C类:192.0.0.0~223.255.255.255 网络位24位,主机位8位 # 单播地址
D类:224.0.0.0~239.255.255.255 # 组播地址
E类:240.0.0.0~255.255.255.255 # 保留地址
PS:同类的IP地址,只要网络位相同,就表示这些地址同处于相同的网段中
20、私有地址和特殊地址
私有地址 # 可供局域网内使用
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
特殊地址
127.0.0.0~127.255.255.255 #用来做网卡是否通不通,环回口地址
0.0.0.0 # 用来表示未知地址
255.255.255.255 # 未知地址对应的广播地址
21、子网掩码
格式和IP地址相同,也是32位吗,用来区分IP地址网络位和主机位具体有多少位,就通过子网掩码来判断 # 255.255.255.0 也可以写成24
PS:子网掩码的1有多少位,就表示网络位有几位
22、默认子网掩码
A类 255.0.0.0 (/8)
B类 255.255.0.0(/16)
C类 255.255.255.0 (/24)
23、地址规划
192.168.1.7 # 转成二进制 11000000 10101000 00000007 00000111
255.255.255.0 # 转成二进制111111 111111 111111 000000
网络地址(二进制格式) 11000000 10101000 00000001 00000000 # 网络地址就是网络位不变,主机位全部是0
网络地址(十进制) 192.168.1.0
主机数:2的n次方,就是256 # n就是主机位的值,主机位如果是8位则n=8,就是2的8次方
可用主机数:2的n次方-2 可用主机数就是254个 # 网络地址和广播地址是不能分配使用的,所以要减2
24、如何规避有类IP编址的缺陷
有类IP地址缺陷就是地址浪费,使用率低的情况 # 比如只要30个地址,使用有类IP地址出现有254个地址,但是只使用了30个,这样就浪费了
避免这样的情况,就要使用到变长子网掩码(VLSM) # 把一个大的网络划分成若干个小型网络,节约地址的浪费
通过构造子网的方式把网络范围进行格分,向主机位借位的方式进行构造 # 比如向主机位借1位,1位有两种变化0或1 # 借过来的就叫做子网位
192.168.1.7 # 二进制表示 11000000 10101000 00000001 00000111
255.255.255.128 # 二进制表示 11111111 11111111 11111111 10000000
用可变长子网掩码进行划分
1、构造子网,向主机位借1位,借1位有两种变化0或1 # 网络位就是25位了 11000000 10101000 00000001 0 0000111
2、子网的网络地址就是 192.168.1.0/25
3、由于主机位被借了一位放到了网络位,所以主机位只有7位,主机数就是2的7次方,就是128个主机数
4、可用主机数就是2的7次方-2,就是126个可用主机数 # 可用主机数去掉1.0和1.255,所以只有126个可用主机数
5、构造子网的时候向主机位借一位有两种变化,所以这个子网就有两个,第一个子网就是192..168.1.0/25,要得到第二个子网,计算步长,就是0+127=128,所以第二个子网起始地址就是192.168.1.128/25
PS:什么是步长,2的n次方就是步长,如果是5次方,则步长就是32
25、使用公式进行子网的划分
需求一个子网只要30个IP地址
1、在划分子网的时候,要精确计算出整个网络里面到底要划分出多少个子网,则使用公式2的n次方-2 ≥ 30 即可,这样就可以直接得出需要向主机位借多少位给网络位,计算划分出多少个子网,比如是2的5次方,则就是有32种变化,就是32个子网
2、计算每个子网,比如有一个大的网络192.168.1.0/24,在划分子网的时候向主机位借了3位,就是画了三个主机位到网络位,就是则这个子网的主机位就只有5位了,总共32位的IP地址,由于主机位借了3位给网络位,这时候用32-5=27得出网络位就是27
3、计算能够划分出几个子网,由于上面向主机位借了3位,则就是2的3次方=8,得知这个划分可以得到8个子网
4、如何知道每个地址的长度,就是看可用主机数有多少,因为借了3位,所以可用主机位只有5位,就是2的5次方=32,也就是步长
PS:需要知道每个子网的范围,则需要使用步长计算,计算方法就是依次+步长即可
第一个子网就是192.168.1.0/27 # IP地址的范围就是192.168.1.1/27 - 192.168.1.31/27
第二个子网就是192.168.1.32/27 # IP地址范围就是192.168.1.33/27 - 192.168.1.63/27
第三个子网就是192.168.1.64/27 # IP地址范围就是192.168.1.65/27 - 192.168.1.95/27
第四个子网就是192.168.1.96/27 # IP地址范围就是192.168.1.65/27 - 192.168.1.95/27
第五个子网就是192.168.1.128/27 # IP地址范围就是192.168.1.129/27 - 192.168.1.159/27
第六个子网就是192.168.1.160/27 # IP地址范围就是192.168.1.161/27 - 192.168.1.191/27
第七个子网就是192.168.1.192/27 # IP地址范围就是192.168.1.193/27 - 192.168.1.223/27
第八个子网就是192.168.1.224/27 # IP地址范围就是192.168.1.225/27 - 192.168.1.255/27
26、ICMP协议
Internet控制消息协议,是网络层的一个重要协议,ICMP协议用来在网络设备间传递各种差错和控制信息,并对收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。同时ICMP也是一个协议簇,常用的工具ping和tracert
1、ICMP有重定向的功能
2、ICMP有差错检测 # ICMP Echo Request和ICMP Echo Reply分别用来查询和响应某些信息,进行差错检测,通常用来测试网络两遍的连通性,如果是通的就会收到replay消息
3、ICMP错误报告 # 当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备
PS:通常用来检测网络的连通性等,工作原理有一个去的消息message和返回的消息return message用来检测
27、ICMP数据包格式
ICMP里面包含Type、Code、Checksum
Type:消息类型
Code:消息内容 # 如请求消息,回应消息、重定向消息、不可达消息
Checksum:校验
28、ICMP消息类型和编码类型(类型分成4类)
29、ICMP应用-ping # 常用的几个
-a:ping -a ip地址 # 指定源IP地址进行ping
-c:ping -c 数字 #ping的消息发送几条,默认五条,在-c后加数字就是指定发几条
-h:ping -h # 修改发的ping消息里面的TTL值,默认是255
30、ICMP应用-Tracert
如果网络ping不同,就可以用tracert工具,看网络的走向,可以看到经过的每一个节点
PS:tracert是封装在UDP协议上,属于传输层的协议
PS:工作原理,第一次发送的时候TTL值是1,如果第一个路由器不同,就是1-1=0,就会返回一个超时消息,这个消息里面就会携带这个节点的ip地址等信息,第二个将TTL值设置成2,看第二个节点,依次增加TTL值查看节点,直到到达目的端返回端口不可达消息意味整个过程结束
-a:指定源地址
-f:指定TTL值 # 默认第一个是1
-m:最大生成时间
-p:指定端口号 # 默认UDP端口,端口号33434
PS:tracert一次性发三个包,由于UDP协议不稳定,容易丢包,所以一次性发三个包,防止丢包
31、ARP协议,地址解析协议
通过目的IP去获取目的MAC地址的过程就是由ARP协议完成
PS:ARP报文不能穿越路由器,不能被转发到其他广播域
32、ARP中字段的用处
Hardware Type:硬件地址类型 # 指的就是MAC地址
Protocol Type:IP地址
Hardware Length:MAC地址的长度 # 6个字节 48位
Protocol Length:IP地址的长度
Operation Code:操作代码 # 代表的就是ARP消息的类型,分2类request和replay
Source Hardware Address:源MAC地址
Source Protocol Address:源IP地址
Destination Hardware Address:目的MAC地址
Destination Protocol Address:目的IP地址
33、ARP缓存表
ARP缓存表的用处就是存放对方的IP地址和对应的MAC地址
34、ARP请求
当没有ARP缓存表的时候,设备会发送一个广播,问所有设备进行收集IP地址对应的MAC地址,当一台A设备要发送消息值B设备,此时ARP缓存表中没有对应的MAC地址,此时网络设备就会发送一个广播进行ARP请求来获取映射关系放入ARP缓存表并且告诉A设备
35、ARP代理 # 高级特性
不同网段之间的请求,设置网关后会将报文传送到目的主机,如果没有网关的情况下,需要将路由器配置成ARP代理,路由器会回复一个ARP Reply告诉源主机相近接口的MAC地址进行封装后给ARP代理,然后通过ARP代理发送到目的主机
36、免费ARP
目的ip和源IP相同,这样设置的目的就是如果收到回应就说明地址冲突了,网络中有相同的地址,就是用来探测地址有没有冲突
37、网络设备可以从服务器获取VAR系统文件,也可以将日志文件、配置文件保存到服务器作为备份
38、网络设备常用的文件传输协议
1、FTP (TCP) # 时延开销大,但是稳定不会丢包
2、TFTP (UDP) # 时延开销低,但是容易丢包