一、IP地址划分-vlsm
1、IP地址简介
(1)什么是IP地址?
--在IP网络中,任何一个节点都会需要一个唯一的IP地址;
--IPV4:32位二进制;
--点分十进制;
(2)十进制与二进制的转换
2、 IP编址分类
(1)有类编址
(2)无类编址CIDR
IP地址的类别(5个类别)
A类:1个网络位+3个主机位,1-126;
B类:2个网络位+2个主机位,128-191;
C类:3个网络位+1个主机位,192-223;
D类:主要用于组播地址使用,224-239;
E类:主要预留科研使用;
a、网络地址:指代网络的地址.在网络的IPv4地址范围内,最小地址保留为网络地址。此地址的主机部分的每个主机位均为0.
b、广播地址:用于向网络中的所有主机发送数据的特殊地址。广播地址使用该网络范围内的最大地址。即主机部分的各比特位全部为1的地址。
c、主机地址:可分配给网络中终端设备的地址。
子网划分
为什么要划分子网?
子网划分协议--VLSM
VLSM提出了在一个主类(A,B,C类)网络内包含多个子网掩码的能力,以及对一个子网再进行子网划分的能力。
VLSM(可变长子网掩码)用来划分子网,使得更合理地分配IP地址,使得路由归纳的能力更强。
如何进行子网划分:
2的M次方等于向主机位借位后产生的子网个数,M为所借的位数;
2的N次方减2等于向主机位借位后产生的每个子网中可用主机IP数,N为原主机位剔除被借位后的剩余数,减2的原因是,每个子网中的网络号及广播号不可用。
VLSM子网划分的规则
---子网数=2^子网位数(子网位数=掩码-主类网络号)
---主机数=2^主机号-2(-2的原因上面说过了,主机位全0为网络地址,全1为广播地址)
---块大小=2^八位组内主机号
---得出块大小后,用块大小数字累加就能得到网络号。
CIDR(Classless Inter-Domain Routing,无类域间路由)的基本思想是取消IP地址的分类结构,将多个地址块聚合在一起生成一个更大的网络,以包含更多的主机。
CIDR支持路由聚合,能够将路由表中的许多路由条目合并为成更少的数目,因此可以限制路由器中路由表的增大,减少路由通告。同时,CIDR有助于IPv4地址的充分利用。
CIDR建立在超级组网的基础上,超级组网可以看成子网划分的逆向。子网划分时,从地址主机部分借位,将其合并进网络部分;而在超级组网中,则是将网络部分的某些位合并进主机部分。
3、特殊IP地址
IP地址的类别:公网、私有地址,一些特殊用途的IP地址;
0.0.0.0 未指定IP地址
127.0.0.1/8 本地lookup IP地址
255.255.255.255 本地广播IP地址
169.254.0.0/16 缺省的自动获取IP地址
私有地址(只能在内部使用,不能在公网使用的地址)
10.0.0.0 to 10.255.255.255(10.0.0.0/8)
172.16.0.0 to 172.31.255.255(172.16.0.0/12)
192.168.0.0 to 192.168.255.255(192.168.0.0/16)
二、DHCP协议
1、DHCP概述
DHCP协议(Dynamic Host Configuration Protocol,动态主机配置协议)
(1)什么是DHCP:是一种动态的向Internet终端提供配置参数的协议,在终端提出申请后之后,DHCP可要向终端提供IP地址、网关、DNS服务器地址、租约时间等参数。
(2)DHCP在协议栈中的位置:
DHCP是Bootstrap协议的一种扩展,基于UDP协议,客户端的端口号是68,服务器的端口号是67.是应用层协议。
(3)DHCP的必要性:
在大型网络中,如果每台终端的地址都是由不同的使用这来分配,那么就很容易出现地址相同的情况。
DHCP的必要性
a、在TCP/IP网络上,每台工作站在访问网络及其资源之前,都必须进行基本的网络配置,一些主要参数诸如IP地址,子网掩码,缺省网关,DNS等必不可少,还可能需要一些附加的信息如IP管理策略之类。
b、在大型网络中,确保所有主机都拥有正确的配置是一件的相当困难的管理任务,尤其对于含有漫游用户和笔记本电脑的动态网络更是如此。经常有计算机从一个子网移到另一个子网以及从网络中移出。手动配置或重新配置数量巨大的计算机可能要花很长时间,而IP主机配置过程中的错误可能导致该主机无法与网络中的其他主机通信。
c、因此,需要有一种机制来简化IP地址的配置,实现IP的集中式管理。而IETF(Internet网络工程师任务小组)设计的动态主机配置协议(DHCP:Dynamic Host Configuration Protocol)正具这样一种机制。
采用DHCP的好处
a、减少错误
--通过配置DHCP,把手工配置IP地址所导致的错误减少到最低程度,例如已分配的IP地址再次分配给另一设备所造成的地址冲突等将大大减少。
b、减少网络管理
--TCP/IP配置是集中化和自动完成的,不需要网络管理员手工配置,网络管理员能集中定义全局和特定子网的TCP/IP配置信息。
--使用DHCP选项可以自动给客户机分配全部范围的附加TCP/IP配置值。客户机配置的地址变化必须经常更新,比如远程访问客户机经常到处移动,这样便于它在新的地点重新启动时,高效而又自动地进行配置。
--同时大部分路由器能转发DHCP配置请求,这就减少了在每个子网设置IP地址。
DHCP的结构
DHCP采用客户机/服务器结构。DHCP服务器拥有一个IP地址池,当任何启用DHCP的客户机登录到网络时,可从它那里租借一个IP地址,不使用的IP地址就自动返回地址池,供再分配。
DHCP的责任
--保证任何IP地址在同一时刻只能由一台DHCP客户机所使用;
--DHCP应当可以给用户分配永久固定的IP地址;
--DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机);
--DHCP服务器应当向现有的BOOTP客户端提供服务;
--考虑到成本,无需每个子网都配备一台DHCP服务器,所以DHCP协议应当可以通过路由器或者BOOTP代理透传。
--当一台DHCP客户机重新启动时,在允许的情况下,它应当获得上次相同的地址和配置。
2、DHCP的基本工作流程
(1)、客户机在本网段内广播DHCP DISCOVER报文已发现网络中的DHCP服务器,DHCP Relay可将此报文广播到其他的网段。
(2)、服务器向客户机回应请求,并给出一个可用的IP地址。此地址并非真的被分配。但在给出此地之前,应当用ICMP ECHO REQUEST报文进行检查。
(3)、如果收到多个DHCP OFFER报文,DHCP客户机会根据报文的内容从其中选择一个给与响应。如果客户机之前曾经获得过一个IP地址,她会将此地址写在DHCP REQUEST报文的OPTIONS域的“REQUESTD IPADDRESS"中发给服务器。
(4)、当收到DHCPREQUEST报文后,服务器将客户机的网络的(网络地址,硬件地址)同分配的IP地址绑定,在将IP地址发送给客户机。
(5)、当收到DHCPREQUEST报文后,如果发现其申请的地址无法被分配,则用DHCPNAK报文回应。
(6)、客户机收到DHCPACK报文后,再对所有的参数进行一次最后的检查,如果发现由地址冲突存在,则使用DHCP DECLINE报文回复服务器。
(7)、如果客户机放弃现在使用的IP地址,则她使用DHCPRELEASE报文通知服务器,服务器将此地址回收以备下次使用。
(8)、当客户机的地址到达50%租用期(T1)时,客户机进入RENEW状态,使用DHCPREQUEST报文续约;
(9)、当客户机的地址到达87.5%租用期(T2)时,客户机进入REBINDING状态,使用DHCPREQUEST报文续约;
--------------------------------------------------------------
三、路由选择原理
1、路由概述
什么是路由?
路由协议
静态路由:手工添加所有非直连网络,适用于小型网络;
动态路由:只需要宣告自己的直连网络;如RIP、EIGRP、OSPF、ISIS、BGP;
IP路由选择原理
路由器的工作内容
---路由器知道目标地址
---发现到达目标地址的可能的路由
---选择最佳路径(路由表)
---维护路由信息
S:Static 静态,C:Connected 直连;
初始化情况下,路由器所知的网络,只有其直连接口所在网络;
直连网络在路由表中的标记为C;
直连网络出现在路由表中的前提,是该网络的接口物理为UP、且协议也为UP状态;
被动路由协议(Routed protocols):用来在路由器之间传递用户信息;
主动路由协议(Routing protocols):用于维护路由器的路由表;
直连路由:直接连接到路由器上的网络;
静态路由:管理员手工构建路由表;
动态路由:路由器之间动态学习到的路由表;
2、路由器优先级
路由协议的优先级(Preference,即管理距离Administrative Distance)一般为个0到255之间的数字,数字越大则优先级越低。
通常情况下各路由协议的优先级规定:
直连接口:0
关联出接口的静态路由:1
关联下一跳的静态路由:1
EIGRP汇总路由:5
外部BGP:20
内部EIGRP:90
IGRP:100
OSPF:110
RIP v1、v2:120
外部EIGRP:170
内部BGP:200
在静态路由中,默认路由的优先级最低;
优先级:直连路由>静态路由>动态路由;
路由的优先级的概念是优先级高的新路由协议可替代优先级低的同信宿路由;
路由开销(metric/cost)
(1)Metric是某一个路由协议(相同路由协议)判别到达目的的网络的最佳的方法。
(2)当一路由器有多条路径到达某一目的网络时,路由协议必须判断其中哪一条是最佳的并把它放到路由表中,路由协议会给每一条路径计算出一个数,这个数就是度量值,通常这个值是没有单位的。
(3)度量值越小,这条路径越佳。
路由优先级和路由开销区别
(1)度量值(Metric)指明了路径的优先权,而管理距离(AD)指明了发现路由方式的优先权。
(2)metric是针对同一种路由协议而言,对不同的路由协议,由于代表的含义不同,比较不同协议的metric是无意义的。所以要在两条不同协议的同信宿路由中作出选择,只能比较路由协议的优先级。
(3)相反,preference是针对不同路由协议而言,同协议的路由的preference优先级是一般情况下一样的,这时metric是在两条同信宿路由中作出选择的标准。
总结:同种协议管理距离一样,所以比较metric,不同协议比较管
直连路由的获取
静态路由的配置
默认路由是静态路由的一种;
Loopback接口
(1)Loopback接口,也叫回环口,是一个逻辑的、虚拟的接口;
(2)使用全局配置命令 interface loopback 加上接口编号创建;
(3)创建完成后即可为接口配置IP地址;
(4)Loopback接口在手工创建后,除非人为shutdown,否则不会DOWN掉;
(5)Loopback接口常用于:
--模拟路由器的直连网段,可用于测试;
--可用于设备管理(Loopback接口比较稳定);
--供其他协议使用,例如OSPF、BGP、MPLS等;
--其他用途(Loopback接口的用途十分广泛)。
--------------------------------------------------------------
4、VLAN概述
为什么需要VLAN?
整台交换机的所有端口均属于同一个广播域;
分段性、灵活性、安全性
VLAN的概念
将交换机的端口划分进特定的VLAN(不同的广播域);
形成逻辑的广播域,不同之间的VLAN互相隔离;
Access端口 Trunk端口
Access接口:进该接口打上VLAN标记,出接口剥离VLAN标记;
Access端口主要连接终端设备,Trunk端口只要连接设备与设备之间;
VLAN的成员模式
静态VLAN:交换机上的端口以手动方式分配给VLAN;
动态VLAN:使用VMPS可以根据连接到交换机端口的设备的源MAC地址,动态的将端口分配给VLAN;
VLAN知识点小结
(1)一个VLAN中所有设备都是在同一广播域内,不同的VLAN为不同的广播域;
(2)VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同VLAN之间的设备一般无法互访,不同VLAN间需通过三层设备实现相互通信;
(3)一个VLAN一般为一个逻辑子网,由被配置为此VLAN成员的设备组成;
(4)VLAN中成员多基于交换机的端口分配,划分VLAN就是对交换机的接口划分;
(5)VLAN工作于OSI参考模型的第二层
(6)VLAN是二层交换机的一个非常根本的工作机制;
VLAN的范围(VLAN ID:0-4095)
VLAN 0和4095,保留,用户不能使用;
VLAN 1:常规范围,默认VLAN,不可删除;
VLAN 2-1000:常规范围,用户能够创建、使用、删除;
VLAN 1001:常规范围,用户不能够创建、使用、删除;
VLAN 1002-1005:保留,用于FDDI和令牌环;
VLAN 1006-1009:保留,
VLAN 1010-1024:保留,
VLAN 1025-4094:保留,有限使用;
VLAN协议类型:802.1Q ISL(思科私有)
802.1Q
- 公有标准
-默认情况,在802.1Q Trunk上对所有的VLAN打Tag,除了Native VLAN;
- Native VLAN,也称为本征VLAN,是在trunk上无需打标签的VLAN,默认为vlan1,可手工修改
- Tag标记字段详细信息:
Tag标记字段包含一个2 bytes EtherType(以太类型)字段、一个3bits的PRI字段、1bit的CFI字段、12bits的VLAN ID字段;
为什么需要trunk:
不同交换机相同的VLAN互访解决方案。
当一条链路,需要承载多VLAN信息的时候,需使用trunk来实现;
Trunk两端的交换机需采用相同的干道协议一般见于交换机之间或交换机与路由器之间;
--------------------------------------------------------------
五、vlan间路由
1、VLAN间路由
VLAN间路由:不同交换机不同的VLAN互访解决方案;
2、多臂路由
不同VLAN之间的数据包如何交互? VLAN间路由
路由器与每个VLAN建立一条物理连接,浪费大量的端口;
3、单臂路由
单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
--------------------------------------------------------------
六、访问控制列表
1、ACL的基本原理
为什么要用ACL?
ACL的两大主要功能
(1)流量控制
(1)匹配感兴趣流量
ACL的类型:(Access Control Lists 访问控制列表)
标准ACL(Standard ACL):只检查源地址;
扩展ACL(Extended ACL):不仅检查源地址和目的地址,还要检查协议和应用;
五元组:源IP、目的IP、源端口、目的端口、协议;
2、标准访问控制列表(ACL号:1-99)
只能根据源地址做过滤;
针对整个协议采取相关动作(允许或禁止)
3、扩展访问控制列表(ACL号:100-199)
能根据源地址、目的地址、端口号等进行过滤;
能允许或拒绝特定的协议
阶段性总结
1、每个接口,每个方向,每种协议,只能设置一个ACL;
2、组织好你的ACL的顺序,比如测试性的最好放在ACL的最顶端;
3、你不可能从ACL中出去一行,除去一行意味着你将除去整个ACL,命名访问控制列表(named Access lists)例外;
4、默认ACL结尾语句是deny any,所以你要记住的是在ACL里至少要有一条pernit语句;
5、记得创建了ACL后要把它应用在需要过滤的接口上;
6、ACL是用于过滤经过router的数据包,它并不会过滤router本身所产生的数据包;
7、尽可能的把IP标准ACL放置在离目标地址近的地方;尽可能的把IP扩展ACL放置在离源地址近的地方;
--------------------------------------------------------------
七、网络地址转换NAT
1、NAT的基本概念
为什么需要NAT?IPV4地址紧张。
什么是NAT?NAT(Network Address Translation)网络地址转换
私有地址
A类地址:10.0.0.0 - 10.255.255.255
B类地址:172.16.0.0 - 172.31.255.255
C类地址:192.168.0.0 - 192.168.255.255
NAT优缺点
优点:
1、节省IP地址空间;
2、解决IP地址重叠问题;
3、增加网络的连入Internet的弹性;
4、当网络变更的时候减少更改IP重编址的麻烦;
5、对外隐藏内部地址,增加网络安全性;
缺点:
1、增加转发延迟;
2、丧失端到端的寻址能力;
3、某些应用不支持NAT;
4、需要一定的内存空间支持动态存储NAT表项;
5、需要耗费一定CPU资源进行NAT操作;
NAT术语
内部本地:转换之前内部源地址的名字;
外部本地:转换之前目标主机的名字;
内部全局:转换之后内部主机的名字;
外部全局:转换之后外部目标地址主机的名字;
2、NAT三种类型
静态NAT
1、将内部本地地址与内部全局地址进行一对一的明确转换;
2、这种方法主要用在内部网络中有对外提供服务的服务器,如WEB、MAIL服务器时。
3、该方法的缺点是需要独占宝贵的合法IP地址。即如果某个合法IP地址已经被NAT静态地址转换定义,即使该地址当前没有被使用,也不能被用作其它的地址转换。
动态NAT
1、动态地址转换也是将内部本地地址与内部全局地址进行一对一的转换。
2、但是,是从内部全局地址池中动态地选择一个未使用的地址对内部本地地址进行转换。该地址是由未被使用的地址组成的地址池中在定义时排在最前面的一个。
3、当数据传输完毕后,路由器将把使用完的内部全局地 址放回到地址池中,以供其它内部本地地址进行转换。但是在该地址被使用时,不能用该地址再进行一次转换。
NAPT
1、端口复用
2、复用地址转换也称为端口地址转换(Port Address Translation,PAT),首先是一种动态地址转换。路由器将通过记录地址、应用程序端口等唯一标识一个转换。
3、通过这种转换,可以使多个内部本地地址同时与同一个内部全局地址进行转换并对外部网络进行访问。
4、对于只申请到少量IP地址甚至只有一个合法IP地址,却经常有很多用户同时要求上网的情况,这种转换方式非常有用。
5、理想状况下,一个单一的IP地址可以使用的端口数为4000个。
--------------------------------------------------------------
八、网络抓包分析wireshark
1、数据包捕获分析技术
1.1 网络截获数据包的理论基础
1.2 Wireshark功能界面介绍
1.3 捕获过滤器
1.4 显示过滤器
1.5 Follow TCP Steam
1.6 统计工具
以太网卡的工作方式
(1)网卡的MAC地址(48位)
---通过ARP来解析MAC与IP地址的转换;
---用ipconfig/ifconfig可以查看MAC地址;
(2)正常情况下,网卡应该只接收这样的包
---MAC地址与自己相匹配的数据帧(单播包);
---广播包(Broadcast)和属于自己的组播包(Multicast);
(3)网卡完成收发数据包的工作,两种接收模式
---混杂模式:不管数据帧中的目的地址是否与自己的地址匹配,都接收下来;
---非混杂模式:只接收目的地址相匹配的数据帧,以及广播数据包和组播数据包;
--------------------------------------------------------------
九、DNS协议原理及分析
1、DNS简介(Domain Name System 域名系统)
DNS服务和协议
--预备知识:端口号:DNS TCP/UDP 端口53.
--DNS协议定义了一套自动化服务,该服务将资源名称和所需的数字网络地址匹配。
--DNS是一种客户/服务器服务模式,DNS客户端本身就是一种服务,也被称为DNS解析器,支持其它网络应用程序和服务的名称解析。
--DNS使用域名守护程序(named)主要提供了域名解析服务;
--DNS服务器存储了不同类型的资源记录,用来解析域名,这些记录包括名字、地址、类型;
--消息:DNS定义了统一的消息格式,各种类型的消息都用此格式;
ipconfig /displaydns 命令可以显示所有DNS缓存条目。
--DNS的记录
--A记录-终端设备地址
--NS记录-权威域名服务器
--CNAME记录-别名的规范域名,使用于单个网络地址对应多个服务
--MX记录-邮件交换记录
--客户端提出查询请求,服务器的named守护进程检索自己的记录,看是否能自行解析域名,若不能,将连接其它服务器对该域名进行解析
--通过缓存机制,可以减少解析的次数,减低了DNS查询数据网络的流量,也减少了上层服务器工作的负载。
域名系统采用分级系统创建域名数据库,提供域名解析服务,层级关系模型:倒置的树。最高的根域名服务器维护最高级别域名服务器记录,后者维护下一级域名服务器的记录。
三级域、二级域、顶级域
域名服务器的组织,域名系统是依靠这些分散的、分层级的服务器来保存并维护资源记录的。
2、DNS查询
DNS解析方法
--域名服务器的解析方法:递归、迭代
--客户端发出的查询都是递归查询,DNS服务器向外发出的查询一般都是迭代查询。
递归 RD为1,
迭代 RD为0。
3、DNS报文格式
--------------------------------------------------------------
十、HTTP协议原理及分析
1、HTTP简介
Web Service概述
-- Web服务是我们日常使用最多的服务,所有网站都是以web服务的方式为我们呈现;
-- Web服务分为服务端和客户端;
-- 客户端就是我们使用的浏览器:IE、Chrome、Firefox、Opera等都属于客户端;
-- Web服务端搭建:IIS、某公司、Nginx、Lighttpd等,不同的WEB服务程序针对不同的系统平台,有各自的优缺点。
HTTP协议简介
Hyper Text Transfer Protocol:超文本传输协议
--- 什么是超文本(HyperText)?
包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page).这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML.
---什么是URL?
URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。
---什么是超文本传输协议HTTP?1.1版本
是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。
2、HTTP工作原理
请求/响应交互模型
(1)浏览器分析超链接中的URL;
(3)DNS将解析出的IP地址222.246.129.80返回浏览器;
(4)浏览器与服务器建立TCP连接(80端口);
(5)浏览器请求文档:GET/index.html;
(6)服务器给出响应,将文档index.html发送给浏览器;
(7)释放TCP连接。
HTTP的连接方式和无状态性
a、非持久性连接
即浏览器每请求一个Web文档,就创建一个新的连接,当文档传输完毕后,连接就立刻被释放。
--HTTP1.0、HTTP0.9采用此连接方式。
--对于请求的Web页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,效率低下。两个RTT
b、持久性连接
即在一个连接中,可以进行多次文档的请求和响应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用
该连接继续请求其他文档。连接保持的时间可以由双方进行协商。不带流水线和带流水线。
c、无状态性
是指同一个客户端(浏览器)第二次访问同个Web服务器上的页面时,服务器无法知道这个客户曾经访问过。HTTP的
无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。
3、访问网站分析