一、TCP/UDP
1、TCP报头
(1)源端口号 :
表示从哪个进程发来的
(2)目的端口号 :
表示要发给哪个进程
源端口号和目的端口号就代表将数据从哪里发到哪里.
(3)序列号:
在发送信息时使用TCP协议会将信息拆分成多个数据报发送给接收方,发送数据时会对每个字节的数据进行编号,等数据到达接收端是会对数据进行重新排序,避免网络数据报乱序.防止出现"后发先至"这种情况‘。当触发TCP超时重传机制时,有可能造成接收方接收重复数据,这时接收方会根据接收到的数据序号进行去重.如果之前收到了这个序号的数据就进行去重.
(4)确认序号:
确认序号的作用就是接收方给发送方返回一个ACK报文/确认序号,就代表确认序号之前的数据接收方已经接收到了,同时接收方告诉发送方接下来你可以发送确认序号之后的数据了.
(5)标志位:
SYN:同步报文段,会在建立连接时发送此报文段,:该位为1时请求建立连接
FIN : :该位为1时发送FIN报文段代表请求断开连接.
ACK : 确认报文段,当ACK为1时代表确认应答报文是有效的,TCP规定除了第一次建立连接的SYN报文以外,其他数据包的ACK均为1.
RST :该位为1时代表TCP连接出现了异常,强制断开连接.
URG :紧急指针是否有效
PSH :提示该接收端应用程序要立刻将数据从接收缓冲区里面取走.
(6)窗口大小:
表示接收方能够接纳发送方发送的数据量.
(7)首部长度:
TCP在没有[选项]时,TCP数据报长度默认是20字节,在有选项时,TCP数据报长度可以变长,最多为60字节.
(8)选项:
TCP在没有[选项]时,TCP数据报长度默认是20字节,在有选项时,TCP数据报长度可以变长,最多为60字节.
(9)紧急指针:
紧急指针用来标识哪些是紧急数据.
(10)校验和:
发送方在发送数据之前会根据CRC算法来计算校验和(将每个字节都相加,超出2个字节舍去,然后取反码计算),接收方在接收数据时要重新计算校验和,然后取出TCP报头校验和字段进行比较,如果校验不成功,证明数据报损坏,将包丢弃.
2、UDP报头
用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节,有四个字段组成,每个字段的长度都是两个字节。各字段意义如下:
(1)源端口:
源端口号,在需要对方回信时选用。不需要时可全用0。
(2)目的端口:
目的端口号。这在终点交付报文时必须要使用到。
(3)长度 :
UDP用户数据报的长度,其最小值是8(仅有首部)。
(4)校验和:
校验UDP用户数据报在传输中是否有错,有错就丢弃。
TCP更加可靠–UDP是不可靠的协议
排序、确认、 重传、 流控–滑动窗口机制
3、TCP与UDP
(1)
TCP更加可靠–UDP是不可靠的协议
TCP更加可靠的原因是:有 排序、确认、 重传、 流控–滑动窗口机制 的连接方式
(2)区别:
1.面向连接
2.可靠机制
3.TCP可以分段UDP不可以
4.TCP可以流控,UDP不能
二、网络实现
1、网络部署思路
- 拓扑设计 ----IP地址规划
- 实施
1)拓扑的搭建
2)配置 - 底层 – 所有需要配置IP地址的节点去配置一个合法的IP地址 — 手工 自动
- 路由 – 全网可达
- 策略 – 对网络规则、优化、安全
- 测试
- 排错
3)维护
4)升级
2、DHCP
(1)
DHCP – 动态主机配置协议
C/S架构 – C客户端 S服务端
就是你需要在拓扑中找到一个设备,这个设备用来充当DHCP服务器。然后让他去给底下这些需要获取IP地
址的终端设备分配IP地址,而这些需要获取IP地址的终端设备,就称为DHCP的客户端。
(2)成为DHCP服务器的条件:
1).该设备必须拥有接口或者网卡位于想要下发IP地址的广播范围内
2).这个设备或者网卡必须现拥有一个合法的IP地址
(3)DHCP配置:
[Huawei]ip pool a —地址池名称自拟,一台设备上可以创建多个地址池塘,但是一个地址池塘只能服务一个
广播域
[Huawei-ip-pool-a]network 192.168.1.0 mask 24 --接口绑定,确定分配IP地址的范围
[Huawei-ip-pool-a]gateway-list 192.168.1.1 —该网段下发的网关地址
[Huawei-ip-pool-a]dns-list 8.8.8.8 114.114.114.114 —DNS地址
抓包分析–DHCP工作流程
(4)DHCP、UDP的67和68两个端口:
DHCP基于UDP的67、68端口进行工作,服务器使用67号端口,客户端使用68号端口
客户端67
服务端68
第一种场景 — PC客户端首次获取IP地址:
客户端 — 服务器 — DHCP discover(发现) – 广播
服务端 — 客户端 — offer包 — 单播/广播 — 华为(单播)
客户端 — 服务端 — request包(请求包) — 广播
服务端 — 客户端 — ACK包(确认包) — 单播/广播
第二种场景 — PC再次获取IP地址:
直接第三步:客户端 — 服务端 — request包(请求包) — 单播
服务端 — 客户端 — ACK包(确认包) — 单播/广播
(5)租期:
24h客户端无条件释放IP地址,并且重复上述四个过程去获取一个地址
T1:租期的50% 12h
续租:客户端 — 服务端 — request包(请求包) — 单播
服务端 — 客户端 — ACK包(确认包) — 单播/广播
T2: 85.5% 21h
客户端 — 服务端 — request包(请求包) — 广播
DHCP NAK(不确认包) — -服务端发送次IP地址不能使用
DHCP release(释放包) — 客户端主动释放IP地址
三、IP
1、IP地址:
互联网的每一个节点都会有一个IP地址
2、IP地址的分类:
3、版本:
IPv4地址、IPv6地址
IPv4地址–32位的二进制数,由点分十进制的书写方法表示
4、二进制与十进制之间的转换
例:192.168.1.1
00000000.00000000.00000000.00000000(点分–将32位二进制数分为4段8位)
每8位中有256
即:2^7 —2^0
00000001 == 1
00000010 == 2
00000100 == 4
00001000 == 8
00010000 == 16
00100000 == 32
01000000 == 64
10000000 == 128
128 64 32 16 8 4 2 1
例:
10101000
1281+641+0*(32+16+8+4+2+1) =192
11000000.10101000.00000001.00000001
172.16.24.37
10101100.00010000.00011000.00100101
5、
子网掩码:一个完整的IP地址需要子网掩码/网络掩码 netmask
网络掩码的作用:区分网络位和主机位
6、
网络位:标识此IP地址处于哪个广播域内
主机位:可以给主机分配的IP地址
子网掩码中为1 代表网络位
子网掩码中为0 代表主机位
例:
192.168.1.1
255.255.255.0
11111111.11111111.11111111(网络位).00000000(主机位)
192.168.1.1/24
192.168.00000001.1/22
192.168.00000010.1/22
7、
IPv4 地址的分类:
根据使用场景(范围)可分为:
IPv4地址 有限地址 2^32 --约42亿
私有地址 --免费使用、本地唯一性
公有地址 --付费使用、全球唯一性
8、
IPv4地址,根据第一个8位的范围分为A\B\C\D\E五类地址:
A 类 范围 1-126
B 类 范围 128-191
C 类 范围 192-223
D 类 范围 224-239
E 类 范围 240-254
其中ABC三类地址为单播地址、D类地址为组播地址、E类地址科研使用,保留
9、
单播地址:既可以作为源地址,也可以作为目标地址使用
组播地址:只能作为目标地址去使用
主类网:默认情况下,ABC三类地址拥有默认的子网掩码长度
A 类 /8 255.0.0.0
B 类 /16 255.255.0.0
C 类 /24 255.255.255.0
10、
私有地址范围:
A:10.0.0.0/8
B:172.16.0.0/16-172.31.0.0/16
C:192.168.0.0/24-192.168.255.0/24
11、特殊的IP地址:
(1)
0.0.0.0/0 无效地址/默认地址/缺省地址
作用:在网络中表示所有IP地址
(2)
255.255.255.255 受限广播地址
作用:广播地址,只能作为目标地址使用,表示目标为所有IP地址
(3)
127.0.0.1 本地环回地址
作用:用于检测TCP/IP协议栈道是否能够正常的封装和解封装数据,PC在 系统安装完成之后默认存在
(4)
用于检测网卡的好坏 —使用测试连通性指令PING
Ping 127.0.0.1 – 用于检测主机是否联网
(5)
169.254.x.x/16 本地私有地址
作用:当PC无法通过自动获取IP地址的方式获取到IP地址时,PC会自动 产生一个IP地址,即169.254.x.x/16
(6)
192.168.1.0/24 主机位全 0 的地址-网络地址
主机位全0 的地址代表一个网段,代表本网段内的所有IP地址 —2104班 全体同学
代表地址范围:192.168.1.1/24-192.168.1.255/24
此地址不能给主机使用
(7)
192.168.1.255/24 主机位全 1 的地址-广播地址
主机位全1 的地址代表本网段内的广播地址,只能作为目标地址使用;也不 能给主机使用 —2104班班群内@所有人
在一个网段内,除了主机位全0和主机位全1 的地址外,剩下的地址均可 给主机使用
12、
(1)地址的计算:
192.168.1.0/24
(2)可用地址范围:
192.168.1.1/24-192.168.1.254/24
(3)、可用主机数量:
254 = 2^8-2
2^主机位-2
(4)网络地址: 192.168.1.0/24
(5)广播地址: 192.168.1.255
(6)
为了解决私有地址少,灵活应用的需求
VLSM – 可变长子网掩码 – 子网划分,将原来的一个大的广播域逻辑的划分为若干 个小的广播域
做法:通过借用主机位来充当网络位,实现借位划分广播域和网段
例:
1)、借1位 划分2个广播域–2个网段:
192.168.1.0/24
192.168.1.00000000/24+1=25 借1位
192.168.1.10000000/24+1=25
192.168.1.0/25
可用地址范围:192.168.1.1/25-192.168.1.126/25
可用主机数量:126=2^7-2
网络地址:192.168.1.0/25
广播地址:192.168.1.127/25
192.168.1.128/25
可用地址范围:192.168.1.129/25-192.168.1.254/25
可用主机数量:126=2^7-2
网络地址:192.168.1.128/25
广播地址:192.168.1.255/25
2)、借2位 划分 4个广播域-- 4个网段:
192.168.1.0/24
192.168.1.00000000/24+2=26
192.168.1.01000000/24+2=26
192.168.1.10000000/24+2=26
192.168.1.11000000/24+2=26
192.168.1.0/26
网络地址:192.168.1.0/26
广播地址:192.168.1.63/26
可用地址范围:192.168.1.1/26 - 192.168.1.62/26
可用地址数量:62 = 2^6-2
192.168.1.64/26
网络地址:192.168.1.64/26
广播地址:192.168.1.127/26
可用地址范围:192.168.1.65/26 - 192.168.1.126/26
可用地址数量:62 = 2^6-2
192.168.1.128/26
网络地址:192.168.1.128/26
广播地址:192.168.1.191/26
可用地址范围:192.168.1.129/26 - 192.168.1.190/26
可用地址数量:62 = 2^6-2
192.168.1.192/26
网络地址:192.168.1.128/26
广播地址:192.168.1.191/26
可用地址范围:192.168.1.129/26 - 192.168.1.190/26
可用地址数量:62 = 2^6-2
3)、借3位 划分 8个广播域-- 8个网段:
192.168.1.0/24
192.168.1.00000000/24+3=27
192.168.1.00100000/24+3=27
192.168.1.01000000/24+3=27
192.168.1.01100000/24+3=27
192.168.1.10000000/24+3=27
192.168.1.10100000/24+3=27
192.168.1.11000000/24+3=27
192.168.1.11100000/24+3=27
192.168.1.0/27
网络地址:192.168.1.0/27
广播地址:192.168.1.31/27
可用地址范围:192.168.1.1/27 - 192.168.1.30/27
可用地址数量:30 = 2^5-2
192.168.1.32/27
192.168.1.64/27
192.168.1.96/27
192.168.1.128/27
192.168.1.160/27
192.168.1.192/27
192.168.1.224/27
总结得出:
划分网段数量=2^借位
可用主机数量=2^主机位-2(网络地址、广播地址)
可用地址范围=网络地址+1 - 广播地址-1
划分网段之间的关系:
简便算法:
首先:必须要找到首段地址,之后递增网段,递增的数值就是借位的最低位(最右边那位)的代表数字(也就是掩码:例:/27 就是第27位的代表数字)
13、特殊:
1)、借3位 划分 8个广播域-- 8个网段:
172.16.00000001.00000000/22
172.16.00000001.00000000/25
172.16.0.0/22+3=25
172.16.0.128/22+3=25
172.16.1.0/22+3=25
172.16.1.128/22+3=25
172.16.2.0/22+3=25
172.16.2.128/22+3=25
172.16.3.0/22+3=25
172.16.3.128/22+3=25
14、CIDR 无类域间路由—汇总:
将多个小的广播域汇总为一个大的广播域
做法:母网号一致,取相同位,去除不同位
例:
192.168.00000001.0/24
192.168.00000010.0/24
192.168.00000011.0/24
192.168.00000000.0/24
前22位相同:
192.168.0.0/22 < 24
超网–汇总后的子网掩码长度小于主类网的子网掩码长度
四、静态路由
1、
静态路由:由网络管理员手工配置形成的路由。
动态路由:由运行一种动态路由协议的路由器,通过沟通、协商最终计算得出的路由。
下一跳:流量从本地发出后,下一个入接口的IP地址。
路由器的转发原理:当一个数据包来到路由器,路由器会查看数据包中的目的IP地址,并查询自己本地的路由表,如果路由表中有记录则无条件根据路由表进行转发,若没有记录则直接丢弃。
2、静态路由扩展配置:
-
负载均衡---- 当路由器访问一个目标网段具有多条开销相同路径相同的路径,可以让设备将流量拆分后
延多条路径同时传输,相对可以叠加带宽。
-
环回接口:实的不行来虚的=>不是实际的物理接口而是一种虚拟接口,默认没有需要自己创建(测试使
用)。 -
手工汇总:当路由器可以访问多个连续子网时,若均通过相同的下一跳,可以将这些网段进行汇总计
算,之后仅编辑到达汇总网段的静态路由即可,以达到减少路由表路由条目数量的作用,提高转发效
率。 -
路由黑洞:在汇总中,如果包含网络中实际不存在的网段时,会使得某些流量有去无回,这样会造成链
路资源的浪费,合理的子网划分和汇总能够有效减少黑洞的产生=>但不能绝对的避免。 -
缺省路由:一条不限定目标的路由条目;查表时如果路由器本地所有的路由条目均没有被匹配,则会匹
配缺省 -
空接口防环:
空接口–null 0接口,如果一条路由的出接口为NOLL 0口则代表直接将该流量丢弃
最长匹配原则—在黑洞路由器上配置一条到达汇总网段指向空接口的路由 -
浮动静态路由:修改静态路由的默认优先级,实现静态路由的备份效果
3、动态路由
(1)、
(2)、分类
根据工作区域分类/根据AS分类:
AS --自治系统
IGP --内部网关协议–负责AS内部的沟通
RIP
OSPF
EGP --外部网关协议–负责AS间的沟通
根据算法分类
距离矢量型路由协议 --RIP
链路状态型路由协议 --OSPF
RIP
跳数–经过路由器的个数
4、解决环路的办法:
(1)水平分割 --从此口进不从此口出
原理是:如果一个路由器的RIP路由表中目的地/掩码为z/y的路由信息时通过该路由器的Interface-x接口学习而来的,则该路由器在通过Interface-x接口向外发送响应消息时,响应消息是一定不能包含该z/y这个路由项的信息的。
水平分割的核心作用:消除MA网络中的重复更新量
(2)MA网络 --在一个网络中节点数量不限制
(3)点到点网络–在一个网络中,节点数量被物理或者逻辑的限制为两个节点
(4)跳数限制 --最大跳数限制为16跳
(5)毒性逆转水平分割
原理是:如果如果一个路由器的RIP路由表中目的地/掩码为z/y的路由信息时通过该路由器的Interface-x接口学习而来的,则该路由器在通过Interface-x接口向外发送响应消息时,响应消息是需要包含z/y这个路由项的,但是这个路由项的Cost总要设置为16,即不可达。
华为默认开启水平分割
若水平分割和毒性逆转同时开启,则按照毒性逆转执行
(6)抑制计时器