TCP/IP协议栈:
应用层
传输层
网络层
网络接口层
1.TCP协议:
序列号:表示该协议为所要传输数据的每一个字节做一个序号,即一个字节的数据对应一个序列号
确认号:表示接收端为发送端回应的下一次想要接受数据的序列号
标志位:
SYN:连接请求包
ACK:确认包
FIN:请求断开包
URG:紧急指针位,该数据不需要排队,该位置为1优先传输
PSH:接收到该数据会尽快借给应用程序
RST:重置位,强制断开连接
FTP:文件传输协议:TCP
数据端口:20
控制端口:21
TFTP:简单文件传输协议:69
ARP:地址解析协议
正向ARP
反向ARP
无故ARP(免费ARP)
代理ARP
各种协议端口号:
ftp 20/21(TCP)
tftp 69(UDP)
telent 23(TCP)
ssh 22(TCP)
smtp 25
DNS 53(TCP/UDP)
http 80(TCP)
https 443(TCP)
pop2 109
pop3 110
rpc 111
#传输层:
功能:1.区分不同的流量(port id) 2. 定义数据的传输方式(UDP/TCP)
UDP特点:
大流量,实时性较高,对数据丢失不敏感
TCP特点:
确认机制,重传机制
注:在TCP传输协议中:
1.依靠确认、重传机制保证数据传输的可靠性
2.依靠三次握手 保证面向连接
UDP包头:8B
TCP包头:20B
TCP四种可靠机制:确认、重传、排序、流控(滑动窗口)
切片操作: 主机同时运行多个应用程序所产生多个流量都需要传递
但是主机只能同时使用一张网卡,通过一个接口传递数据
所以主机只能在同一时刻,传递一个应用程序产生的流量
因此,为了减小传输数据的延时,我们采取分片操作,
让主机遵循MTU切割数据,轮询传递不同应用程序所产生的数据
排序: 主机采取切片传输数据,当接收端,接收到的数据往往是被分片的数据片
这就需要,接收端主机,按照数据片的序列号,重新组合数据,形成完整的数据,
同时也能校验数据完整性,万一数据组合后不完整,可采取丢弃数据,再次请求重传
流控(滑动窗口):所处传输的数据被分片后传递,那么传输数据包的数量,往往会收到,网路质量,带宽等
诸多因素的影响,发送端传输的数据数量是按照接收端的接受能力来遵循的,一般这个数量是变化的
TCP的三次握手:
TCP的四次断开:
定向广播地址:
192.168.40.255 广播可跨网段到达指定IP端的所有主机
受限广播地址:
255.255.255.255 广播不能跨网段传输
DHCP(动态主机配置协议)
基于C/S架构,数据包在四层采用UDP封装,二层采用以太网封装
DHCP需要保证可靠传递,选择确认重传机制
DHCP的工作原理:
1.DHCP discover:dhcp发现报文(广播)
s port:68 d port:67
s IP:0.0.0.0 d IP:255.255.255.255
s Mac:client d Mac:FFFFFFFF
2.DHCP offer:dhcp响应包(广播)
s port:67 d port:68
s IP:server s IP:255.255.255.255
s Mac:server d Mac:FFFFFFFF
注:DHCP offer通过在报文的应用层报文中的封装所请求主机的MAC地址
来让client端区分该dhcp报文是否属于自己的
当局域网中存在多DHCP服务器的情况下,client会收到多个属于自己的dhcp offer报文,
client会优先接受最先收到的那个dhcp offer报文,来配置自己的网络参数
3.DHCP request:dhcp请求报文(广播)
s port:68 d port:67
s IP:0.0.0.0 d port:255.255.255.255
s Mac:client d Mac:FFFFFFFF
4.DHCP ack:dhcp确认包(广播)
s port:67 d port:68
s IP:server d IP:255.255.255.255
s Mac:server d Mac:FFFFFFFF
注:当client端收到dhcp ack报文后,才使用ack报文的网络参数配置自己网络参数,接下来的
数据包,可以采取单播发送
DHCP配置:
##全局配置
server:
dhcp enable
ip pool pool1
network 172.16.1.0 mask 24
gateway-list 172.16.1.254
dns-list 8.8.8.8 114.114.114.114
excluded-ip-address 172.16.1.11 172.16.1.253
lease day 0 hour 0 minute 45
int g0/0/1
dhcp select global
ip address 172.16.1.254 24
##接口配置
server:
dhcp enable
interface GigabitEthernet 0/0/1
ip address 192.168.2.254 24
dhcp select interface
dhcp server dns-list 8.8.8.8
dhcp server excluded-ip-address 192.168.2.100 192.168.2.253
dhcp server lease day 3
Tennet:远程登录
基于TCP 23端口
配置:
user-interface vty 0 4
set authentication password cipher huawei
静态路由:
直连路由产生的条件:
1.接口双up
2.接口有ip
路由器接口出现物理接口up 协议接口up的原因:
1.对端接口没有配置IP
2.对端接口没有插电或人为关闭
3.两端接口产生的数据在二层封装不同
路由选路参数:
优先级(AD):
范围:0--255
小优
不同路由协议生成优先值不同
直连路由:0
开销值(cost):当路由条目优先级相同时,通过比较开销值衡量路由是否最优
小优
不通路由协议计算开销值方式不同
针对同一条路由若存在多条路径时,产生的AD值和cost相同时,
则执行负载均衡
静态路由的部署:
1.在点到点网络中:使用出接口写法
2.在MA网络中:使用下一跳写法
注:Cisco设备是建议,华为设备是强制性要求
#动态路由协议
动态路由分类:RIP OSPF EIGRP ISIS BGP
1.按照适用范围进行分类:
IGP--内部网关路由协议,在一个AS内部使用的协议IGP(RIP EIGRP ISIS OSPF)
BGP--边界网关路由协议,不同的AS之间使用的协议BGP(BGP)
AS--自制系统,范围1--65535,公有(1-64512)、私有(64513-65535)
2.按照协议特点分类:
距离矢量型:传递路由信息
链路状态型:传递路由信息和拓扑信息
3.按照是否传递网络掩码分类:
有类别路由协议:不传递网络掩码(RIPv1)
无类别路由协议:传递网络掩码(除了RIPv1之外)
##RIP:路由信息协议:
三个版本:RIPv1 RIPv2 (IPV4中使用),RIPNG(IPV6中使用)
RIPV1:是一种有类别的距离矢量型路由协议--按照主类地址传递路由,不可携带掩码
更新地址: RIPV1使用255.255.255.255 RIPV2使用224.0.0.9
RIPV2:是一种无类别的距离矢量型路由协议--可以携带掩码
协议算法:贝尔曼福特算法
RIP数据报文:request(请求)、response(响应)
协议封装:基于UDP,520端口封装(源目端口皆通) RIPNG 521端口
虽然RIP报文是基于UDP封装,但是它依靠周期更新路由信息的方式保证路由信息传递的可靠性
周期更新时间30s
Metric :度量值,路由传递中每经过一个路由器增加1,范围1-15,16代表不可达
RIP协议为了解决路由信息的同步更新(周期性)对链路资源和设备资源的占用,采用异步跟新的方式
异步跟新:在路由器运行RIP协议,第一次周期跟新结束后,会通过随机散列算法,算出下一次周期跟新的时间--30-30*随机值 随机值:0--0.15
计时器:
1.30s周期跟新
2.无效计时器:180s
3.刷新计时器:240s
#路由环路的产生以及解决策略:
路由信息的正常跟新:
当网段出现故障时,而且该路由器的跟新时间没有来临:
路由环路的产生:
通过水平分割机制解决 路由环路的问题:
注:由于故障网段,该路由器需要通过周期跟新来同步给其他路由器,进行路由信息的收敛。需要等待周期跟新时间且需要水平分割解决产生的环路问题
毒性逆转水平分割机制解决 故障网段的跟新问题
注:毒性逆转水平分割具有及时性
注:水平分割和毒性逆转水平分割机制在距离矢量型协议中都存在
配置:
rip 1
version 2
network 23.0.0.0
network 12.0.0.0
注:RIP协议宣告方式:主类宣告
下发缺省:
default-route originate
##OSPF:开放式最短路径优先协议
协议划分:
1.协议使用范围:IGP
2.协议算法特点:链路状态型路由协议
3.协议是否传递网络掩码:传递网络掩码(无类别的路由协议)
4.协议封装:基于IP协议封装(跨层封装到三层),协议号89
注:为了保证协议传输的可靠性,OSPF协议采取确认、重传机制保证传输的可靠性
协议特点:
1.OSPF是一种链路状态型协议
2.OSPF传递的是LSA(链路状态通告 6种类型LSA:1 2 3 4 5 7)
3.OSPF更新地址:224.0.0.5 224.0.0.6
4.OSPF支持区域划分
5.OSPF是一种比较消耗路由器资源的协议
OSPF协议传递的是路由拓扑信息,导致大量的链路带宽资源和设备资源被占用,所以采用区域划分的来优化该协议
OSPF的区域划分是基于接口(链路)划分
OSPF区域类型:
骨干区域
非骨干区域
OSPF区域划分规则:
1.必须存在并唯一的骨干区域 (若OSPF中仅仅存在一个区域可以是非骨干区域 )
2.若存在非骨干区域,非骨干必须与骨干区域连接
骨干路由器:路由器的所有接口属于area 0
非骨干路由器:路由器的所有接口属于非 area 0
ABR:区域边界路由器--处于骨干区域和非骨干区域的路由器
ASBR:自制系统边界路由器--某台路由器同时运行了OSPF协议和非OSPF协议,同时处于OSPF协议和非OSPF协议的边界,
该路由器会将非OSPF区域的路由信息发布到OSPF区域。那么,该路由器就是ASBR
计算OSPF的cost:
cost=参考带宽/带宽
因为OSPF协议传递的是路由的拓扑信息,所以依靠Router-ID 代表路由器在OSPF网络中的唯一性
Router-ID选举原则:
1.手工指定最优
2.环回接口最大IP地址
3.物理接口最大地址
配置:
ospf 1 router-id 1.1.1.1
area 0
network 1.1.1.1 0.0.0.0
network 12.1.1.0 0.0.0.255
注:OSPF协议的宣告方式:反掩码宣告
下发缺省:
ospf 1 router-id 3.3.3.3
default-route-advertis
ip route-static 0.0.0.0 0 LoopBack 0
注:OSPF协议下发缺省地址,边界路由器必须存在缺省地址
强制下发缺省:
default-route-advertise always
注:该方式不需要边界路由器必须存在缺省地址
###交换技术
交换机与网桥的区别有哪些:
1.交换机的端口数量远大于网桥的数量--交换机24-64口,网桥--4-8口
2.交换机基于硬件处理(集成板卡、芯片、模块处理数据),网桥基于软件
处理数据(直接消耗CPU)。因此交换机的处理性能远大于网桥
3.交换机所有接口转发数据是相互独立的,网桥的所有接口转发数据是共享的
因此交换机转发数据的能力是远大于网桥的
交换机的工作方式:
1.基于MAC地址表转发数据
2.MAC地址表的生成方式:基于源Mac学习--交换机将收到的数据包的源Mac和进接口形成一种绑定关系,最后汇总成一张表
ARP:地址解析协议--数据包跨层封装到二层
ARP的请求包:广播数据包
ARP应答报文:单播帧通讯
范洪:数据帧除了进入交换机的接口,其他接口都进入的接口都将次数据帧发送一次
什么样的数据帧需要被交换机范洪:
1.广播数据帧:FFFF.FFFF.FFFF
2.组播数据帧:01-005E-
3.未知单播帧
ARP的分类:
1.正向ARP:通过对方的IP地址请求对方的MAC地址
2.反向ARP:通过对方的Mac地址请求对方的IP地址
3.无故ARP:免费ARP--用来进行IP地址的冲突检测
交换机的工作原理:
1.基于Mac地址表学习
2.基于Mac地址表转发数据
3.数据过滤
4.防环--stp放环
数据过滤可以解决终端接收到重复的数据的问题,例如下图:
当交换机有数据过滤功能时:
VLAN 技术:
VLAN使用VLAN ID 进行标识
VLAN 标识范围:1-4094之间(0-4095,VLAN 0 和VLAN 4095被保留) 2^12
一个VLAN=一个广播域=一个独立的网段
VLAN 隔离广播域的原理:
将局域网分割Mac地址表是相互独立的、没有关联的
因此,处于相同VLAN多个不同的VLAN
不同的VLAN生成的的终端,才能依靠交换机实现通讯
交换机Mac地址表老花时间:5min
VLAN 接口类型:
1.ACCESS:访问接口,只能属于某一个VLAN连接终端
2.Trunk:使用一条链路传递多个VLAN的流量,华为设备中默认不允许任何VLAN的流量通过,需要手工允许通过
VLAN 数据的封装(打标签):
1.遵循802.1Q标准
2.标签封装与二层包头中(源MAC于type时间的tag中)
3.802.1Q标准,在二层使用新的FCS替换以前的FCS FCS(4B)
单臂路由:将路由器一个物理接口,逻辑的划分为多个子接口,一个子接口对应一个VLAN 所在网段的网关,
因此实现不同VLAN 间的路由功能
VLAN 技术配置:
VLAN 之内通信
SW1:vlan batch 10 20
int g0/0/2
port link-type access
port default vlan 10
int g0/0/3
port link-type access
port default vlan 20
int g0/0/4
port link-type trunk
port trunk allow-pass vlan 10 20
SW2:vlan batch 10 20
int g0/0/2
port link-type access
port default vlan 20
]int g0/0/3
port link-type access
port default vlan 10
int g0/0/1
port link-type trunk
port trunk allow-pass vlan 20 10
VLAN 间通信
SW2:int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
Router:
int g0/0/0.1
dot1q termination vid 10 //该接口识别VLAN 10的数据包并放行,出该接口的数据包VLAN 10的打标签
arp broadcast enable //路由器开启广播功能进行ARP的代理
ip add 10.1.1.10 24
int g0/0/0.2
dot1q termination vid 20
arp broadcast enable
ip add 20.1.1.20 24
###网络基础应用
ACL:访问控制列表
功能:
1.定义感兴趣的路由(控制层面)、2.定义感兴趣的流量(数据层面)
特点:
1.自上而下匹配,一经匹配,立即执行,必须满足金字塔形结构
2.ACL列表的调用分为in(先匹配ACL再查看路由表)和out(先查看路由表再匹配ACL)
3.ACL分为标准ACL和扩展ACL
标准ACL是基于源IP匹配ACL列表
扩展ACL是基于源IP、目标IP、协议匹配ACL列表
注:ACL不能过滤路由器自己产生的流量
Cisco设备隐含拒绝所有,华为设备若没有匹配到ACL,则执行操作
ACL编号(华为设备):
标准ACL编号:2000-2999 使用时,尽量靠近目标
扩展ACL编号:3000-3999 使用时,尽量靠近源(不能在源上)
ACL配置:
标准ACL:
acl 2000
rule deny source 12.1.1.1 0.0.0.0
traffic-filter inbound acl 2000
扩展ACL:
acl 3000
rule deny icmp source 12.1.1.1 0 destination 4.4.4.4 0 icmp-type echo
rule deny tcp source 12.1.1.1 0 destination 4.4.4.4 0 destination-port eq 23
int g0/0/0
traffic-filter outbound acl 3000
NAT:网络地址转换协议:
主要作用:
1.将大量的私有地址转换为公有地址(节约IP地址)
2.将一个IP地址转换为另一个IP地址(公有的)增加内部网络设备的安全性
缺陷:
1.极其消耗网络设备的资源
2.破坏了数据端到端传输(导致有些安全技术无法有效实施)
在一台路由器上对进或者出流量进行IP地址的修改,
通常规则为从内部去往外部时修改源IP地址,从外部去往内部修改目标IP地址
静态nat-地址间的映射关系被固定下来;动态nat临时地址映射
流量从内部去往外部时,将内部本地地址修改为内部全局地址:
从外部进入内部时,将内部全局地址修改为内部本地地址
1.一对一 NAT(静态)
Cisco配置:
Router:enable
configure terminal
int f0/0
ip add 192.168.1.10 255.255.255.0
int f0/1
ip add 12.1.1.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 12.1.1.2
ip nat inside source static 192.168.1.1 12.1.1.1
int f0/0
ip nat inside
int f0/1
ip nat outside
2.一对多(PAT)
一对多(动态)内部私有IP地址在nat成为同一个公有IP地址时,需要不同的源端口号
来形成唯一的临时映射关系;临时映射--需要内部去往外部,被转换记录,之后返回,映射刷新
因为需要修改流量的端口,故一对多被称为PAT-端口地址转换
但是,一个公有IP,仅存在65535个端口,故一个时间节点最大一次转发65535个数据包,因此不能在大型网络中使用
Route:
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface fastEthernet 0/1 overload
overload 携带该单词为动态nat,不携带为静态,但是因为一对多只能为动态,
故,即使不配置该单词,设备也会自动在默认添加该单词
一对多的应用:
Route:ip nat inside source static 192.168.1.3 12.1.1.3
3.多对多(动态、静态皆有)主要针对大型的局域网,同一时间大量数据包需要进入互联网,因为一个公有IP只能同时进行65535次 转发,故提供多个公有IP
ip nat pool a 12.1.1.3 12.1.1.10 netmask 255.255.255.0
access-list 2 permit 192.168.1.0 0.0.0.255
ip nat inside source list 2 pool a overload
携带 overload 为动态,就是循环将私有IP转换为不同的公有IP的不同端口;
相当于同时进行多个一对多
不携带overload为静态,就是最先出来一些私有ip,和各个公有ip形成一对一映射(固定映射)
4.端口映射:
ip nat inside source static tcp 192.168.1.3 80 12.1.1.1 80
ip nat inside source static tcp 192.168.1.4 80 12.1.1.1 11111
华为配置:
1.静态NAT:
[RTA]interface GigabitEthernet0/0/1
[RTA-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[RTA-GigabitEthernet0/0/1]interface Serial1/0/0
[RTA-Serial1/0/0]ip address 200.10.10.2 24
[RTA-Serial1/0/0]nat static global 202.10.10.1 inside 192.168.1.1
[RTA-Serial1/0/0]nat static global 202.10.10.2 inside 192.168.1.2
2.动态NAT:
[RTA]acl 2000
[RTA-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[RTA-acl-basic-2000]quit
[RTA]interface serial1/0/0
[RTA-Serial1/0/0]nat outbound 2000
3.多对多NAT:
[RTA]nat address-group 1 200.10.10.1 200.10.10.200
[RTA]acl 2000
[RTA-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[RTA-acl-basic-2000]quit
[RTA]interface serial1/0/0
[RTA-Serial1/0/0]nat outbound 2000 address-group 1 no-pat
4.端口映射:
[RTA]interface GigabitEthernet0/0/1
[RTA-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[RTA-GigabitEthernet0/0/1]interface Serial1/0/0
[RTA-Serial1/0/0]ip address 200.10.10.2 24
[RTA-Serial1/0/0]nat server protocol tcp global 202.10.10.1 www inside 192.168.1.1 8080