分层思想:
将复杂的流程分解为几个功能相对单一的子过程:
整个流程更加清晰,复杂问题简单化 更容易发现问题并针对性的解决问题
OSI七层协议的建立原因:协议太多,分层管理
问:完成每件事需要的协议太多,如何解决? 答:下层为上层服务,每层独立,协议相同。同层协议相同,下层为上层服务。实际应用上表示层和会话层被应用层包含了
应用层 应用层 PDU 表示层 表示层 会话层 会话层 传输层 传输层 数据段 网络层 网络层 数据包 数据链路层 数据链路层 帧 物理层 物理层 比特五层协议流程图解:
网卡速率:
Ethernet 10Mb/s FsatEthernet 100Mb/s GigabitEthernet 1000Mb/s TenGigabitEthernet 10000Mb/s传输层:
完成进程到进程通信TCP:面向连接服务。提供可靠的通信,因为双方要构建链接,丢包链接有数据重传机制UDP:无连接服务,不可靠,丢包无重传机制网络层:
完成点到点的通信(点-计算机)IP协议:给数据加上IP包头数据链路层:
交换机存在数据链路层,不认识上面层,所以辨识不出IP
交换机根据mac地址来转发数据
mac地址:加上mac地址(帧头)和FCS(帧尾)
物理层:
数字信号:比特流(bit) 8bit >1Byte字节,小b和大B
5层 应用层 >输出数据hello
4层 传输层>给hello加上TCP/UDP头,完成进程到进程的通信(应用层的源端口号和目标端口号)TCP保证安全可靠性,UDP保证性能,速度快但安全性不足
3层 网络层 > 加上IP包头,把源IP和目标IP加上去。
2层 数据链路层 >加上mac子层和FCS(帧校验,保证完整性)
1层 物理层:利用比特流传输数据
封装过程: 解封过程:
三层网络层IP包头格式:
工作在物理层的设备:网线、光纤、空气
网线、光纤、空气都是物理层的介质用比特流的形式传输数据:比特流中传输数据大小:
8bit = 1Byte 1024B = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB信号:
电信号: 模拟信号: 放大器 ->可以远距离传输但是噪音也会放大,会失真 数字信号:中继器 ->把信号复原,抗干扰能力强传输距离短 光信号: 光纤类型: 单模光纤:只传输单种光,传输距离更远,衰减更小 多模光纤:可以传输多种光,传输距离小,网线
网线/双绞线:坑干扰 五类双绞线 超五类双绞线、六类双绞线、七类双绞线:市面上比较常见,更干扰能力更强 水晶头排线: T586A标准:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕 T586B标准(国标):白绿、绿、白绿、蓝、白蓝、绿、白棕、棕 网线用途分类: 交叉线:一端为A一端为B。同种设备间使用 直通线:两端都是A或B。异种设备间使用 全反线:一端为A,另一端为反A,也称console线。网络拓扑图 简单网络拓扑图
工作在数据链路层的设备:交换机、网卡 传输单元:帧
帧格式: 802.3:有线网卡 802.11:无线网卡,在传输的时候去掉源帧加上另一个帧发送给无线笔记本帧结构:帧头-数据段(上三层数据)-帧尾
帧头:目标mac、源mac、类型(IP/ARP)。 mac地址: 也叫物理地址,全球唯一。长度:48位、6字节 类型字段: 0x0800:十六进制,代表上层为IP协议 0x0806:十六进制,代表上层为ARP协议 作用:类型字段作用是识别上层协议,为上层提供服务 上三层数据:MTU值(最大传输单元),1500字节(国标) 帧尾:保证数据完整性,帧头和上三层数据的hash值示例图
交换机(Switch)工作原理:
收到一个数据帧后:
首先学习帧中的源mac地址来形成mac地址表
然后检查帧中的目标mac地址,并匹配mac地址表:
如表中有匹配项,则单播转发
如表中无匹配项,则除接收端口外广播转发
交换机接口模式:
交换机mac地址表只记录自己的端口地址 交换机的端口mac地址不会覆盖,个人PC拔掉网线300秒mac地址会消息而如果换了端口会直接覆盖更新mac地址表 端口状态: up/down,开启/关闭 dowm的3种可能: 1.人工down掉 2.速率不匹配 3.双工模式不匹配(双工duplex) 双工模式3种: 1.单工-已淘汰,只能单向通信,一端接一段收。比如bb机、录音机 2.半双工:双向通信,但是一端发送另一端不能发送 3.全双工:双向通信,两端都可以进行即时通信交换机原理示例图:
交换机基本工作模式和命令:
二层接口默认开启三层接口默认管理down利用console线直插电脑和交换机:
第一次配置网络设备,需要使用cosole线,水晶头连交换机、com口连电脑(或转usb口连usb)
在PC上需要使用"超级终端"或其他软件打开交换机配置窗口
基本工作模式:
1. 用户模式:switch> 可以查看交换机的基本简单信息,且不能做任何修改配置 2. 特权模式:switch# 可以查看所有配置,但不能修改配置。却可以做测试保存、初始化等操作 switch>enable 进入特权模式:switch# configure terminal:配置终端命令 switch(config)# 3. 全局配置模式:switch(config)# 默认不能查看配置,可以修改配置且全局生效 switch#>configure terminal #进入全局配置模式 4. 接口配置模式:switch(config-if)# 默认不能查看配置,可以修改配置且对该端口生效 switch(config)#interface f0/1 #进入f0/1接口配置模式 5. Console口/线/控制台配置模式:switch(config-line)# 默认不能查看配置,可以修改配置且对console口生效 switch(config)#line console 0 #进入console口模式交换机基本命令:
1. exit #退出一级 2. end #直接退到特权模式 3. reload #重启,如果重启或断电前不保存,那么当前所做所有配置命令消失 4. 在内存中存在文件running-config,第一次开机系统会在内存中自动创建一个新的running-config文件。所有配置操作都在此文件中 5. 缩写:e?可以查看该模式下所有e开头的命令,进一格缩写可以不用打全命令 6. tab键可补全命令和路径 7. 修改主机名命令:全局配置模式下 hostname sw-bj-01-02(主机名) #修改交换机主机名 8. 配置用户密码:console口模式下 password laolao(密码) #至少六位 login #开启用户密码,必须用密码启动 exit 9. 配置特权模式用户密码:全局模式下 enable passwor kongyuhen(密码) 明文密码,show 内存文件可看到 hash密码:enable secret 123456(密码) 使用md5加密 当明文和密文同时配置,明文密码失效 10. 删除配置:命令在哪配置在哪模式下删除,命令前加no 原命令参数具有唯一性的时候不用加参数,比如密码、主机名 no hostname 主机名(可不写) 全局模式下,删除主机名配置 no password(可不写) 密码 no login console模式下,删除用户密码不要验证 no enable password 全局模式下,删除特权密码,不需要接密码 11. 快捷键:所有模式 ctrl+u #快速删除光标所有字符 ctrl+a #快速定位光标到行首 ctrl+e #快速光标到行尾 12. 保存配置:特权模式下 copy running-config startup-config #从内存复制到硬盘中 或者write也是保存 13. 查看running-config配置:特权模式下 思科:show running-config 华为:display running-config 14. 重启设备:特权模式下 reload 15. 恢复出厂设置:特权模式下 erase startup-config 16. 查看mac地址表:特权模式下 show mac-address-table #查看mac地址表 17. 查看接口连接端口的状态:特权模式下 show ip interface brief #查看接口状态 18. 人为down掉某端口:进入某端口接口模式 shutdown #关闭,此端口无法进行通信 no shutdown #开启 19. 交换机开机动作: 先去硬盘中查找startup-config是否存在 如果存在,则复制到内存中并改名为running-config文件 如果不存在,在内存中创建running-config文件 20. do的用法:其他模式可强制使用特权模式命令 一般情况下show命令只能在特权模式下是用,但是其他模式可以强制使用 命令:do show... #在命令前加do。任何特权命令在其他模式加do就可以为二层交换机配置管理IP:
交换机内置一个虚拟接口用来方便管理交换机写入命令:
conf t #进入全局模式 int vlan 1 #进入虚拟端口 ip address ip地址 子网掩码 #配置交换机ip地址,不能与现有ip地址冲突 no shutdown 交换机也可以开启远程服务: configure terminal #在全局模式下 line vty 0 4 #进入虚拟终端,开启远程控制 transport input telnet/ssh/none/all #可选择的开启单个服务或全关/开 login local #开启本地身份验证 exit #退回全局模式 username 账号 password 密码 #在全局模式下添加用户,用来远程控制(可添加多个用户) hostname ly1 #配置路由器主机名 ip domain-name ly1.jinyi.com #配置路由器域名 crypto key generate rsa #配置密钥对全局模式下,生成一个rsa算法带有公密钥:加密字节 再进行虚拟终端操作开启ssh服务 交换机也需要配置网关:用于跨网段管理 给vlan接口配置网关地址:在全局模式下 ip default-gateway 网关地址 #配置网关地址路由器原理:
跨越从源主机到目标主机的一个互联网络来转发数据包的经过。 路由就是路由器为数据包选择路径的过程
路由作用:
路由器可以隔离网段但交换机不可以 ,路由器不同接口必须配置不同的网关地址且网段不能相
路由表:
路由器中维护的路由条目的集合
路由器根据路由表做路径选择
路由器工作在网络层,根据路由表转发数据,路由选择,路由转发
路由器命令基本与交换器命令一致 为三层路由器配置网关IP:
路由表的形成: 直连网段:配置ip地址,端口UP状态 非直连网段: 假设三层设备为路由器 和交换机命令一致 三层接口默认是人工down掉,需要手动开启配置ip 手动开启down掉端口:特权模式下 show ip interface brief 查看端口状态 注意查看直通线连的是哪个端口 1. 配置ip:接口模式下,需要查路由器连接线的接口是哪个,然后进入此接口模式 int f0/0 #假设连接是是f0/0接口 ip address ip地址 子网掩码 #配置路由器ip no shutdown #启用up状态 就可以开启路由器转发下一跳路由配置:
静态路由:全局模式 conf t ip route 目标网段 子网掩码 下一跳路由ip 如:ip route 10.1.1.0 255.255.255.0 20.1.1.2 默认路由:全局模式 conf t ip route 全网段 全网段掩码 下一跳路由ip 如:ip route 0.0.0.0 0.0.0.0 20.1.1.2 浮动路由:全局模式 在静态或默认路由后加空格+数字(正整数),比如有两条直通线相连的路由器 conf t ip route 网段 掩码 下一跳路由ip ip route 网段 掩码 下一跳路由ip 2三层路由器远程控制:
远程控制需要设置用户配置和特权配置密码 1. 不需要身份验证: configure terminal #在全局模式下 line vty 0 4 #进入虚拟终端,开启远程控制 transport input telnet/ssh/none/all #可选择的开启单个服务或全关/开 passwword 密码 #设置密码 login exit 2. 需要身份验证: configure terminal #在全局模式下 line vty 0 4 #进入虚拟终端,开启远程控制 transport input telnet/ssh/none/all #可选择的开启单个服务或全关/开 login local #开启本地身份验证 exit #退回全局模式 创建用户: username 账号 password 密码 #在全局模式下添加用户,用来远程控制(可添加多个用户) 3. 如果配置ssh服务需要提前配置路由器主机名、域名、密钥: hostname ly1 #配置路由器主机名 ip domain-name ly1.jinyi.com #配置路由器域名 crypto key generate rsa #配置密钥对全局模式下,生成一个rsa算法带有公密钥:加密字节 再进行2. 中虚拟终端操作开启ssh服务三层路由器拓扑图:
路由器隔离网段示例图:
路由全网互通配置ip基本命令排错:
do show ip route 查看路由表命令 do show ip interface brief 查看接口列表广播和广播域:
广播:将广播地址做为目的地址的数据帧 广播域:网络中能接受到同一个广播的所有节点的集合
MAC地址广播:
广播地址为 FF-FF-FF-FF-FF-FF
IP地址广播:
全IP地址广播:255.255.255.255 广播ip地址为ip地址网段的广播地址,如192.268.1.255/24
ARP协议(Address Resolution Protocol) 地址解析协议 作用:将一个已知的ip地址解析成mac地址 ARP协议没有验证机制
ARP工作原理: ARP协议只存在内网中,路由器隔绝ARP协议
ARP原理: 发送APR广播请求 :获取对方的mac地址 接受ARP单播回应:目标ip接收广播回应mac地址 ARP广播请求报文内容: 我是10.1.1.1 我的mac是AA 谁是10.1.1.2 你的mac是? ARP请求过程: PC1发送数据给PC2,查看缓存中有没有PC2的mac地址 PC1发送ARP请求信息(广播) 内网段中所有主机收到ARP请求信息 只有PC2应答(单播,因为ARP请求包含PC2ip地址) 其他主机丢弃 PC1将PC2mac地址保存到缓存中,发送数据 ARP请求过程(经过路由器): 第一步: 路由器接受到数据帧,查看目标mac地址是否对应自身mac地址 如不对应直接丢弃 如对应直接解封装数据帧 第二步: 解封装数据帧,查看目标ip并对应路由表 如果路由表匹配不成功则直接丢弃,并向源ip反馈错误信息 如果路由表匹配成功则将ip包路由到出接口,然后再封装ip包加上帧头/尾 第三步: 封装数据帧,首先将本路由出接口的mac地址作为源mac地址。然后检查ARP缓存表(路由器中的ip和mac地址对应关系) 检查ARP缓存表是否有下一跳路由的mac地址: 如有,将提取并作为目标mac地址封装到帧中 如没有,则发送ARP广播请求下一跳mac地址并获取对方mac地址(下一跳路由器收到ARP请求然后应答(回应mac地址)。),再进行封装帧。 最后将帧发送到下一条路由 第四步:下一跳路由进行第二步操作。直到路由到目标ip段的网关地址,目标网关收到帧数据进行ARP广播或单播,经由交换机mac地址表进行数据传输到目标ip的PC上数据路由示例图:
ARP基本命令:
Windows系统中的ARP命令: arp -a #cmd查看个人PC本地ARP缓存 arp -d #清除ARP缓存 arp -s #ARP绑定ARP攻击和欺骗原理:
通过发送伪造虚假的ARP报文(广播或单播),来实现攻击和欺骗如虚假的报文的mac是伪造不存在的,实现ARP攻击,结果是终端通信/断网如虚假报文的mac是攻击者自身的真实mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信欺骗原理实例图:
PC1向PC2发起请求 PC2应答,PC3伪造ARP信息应答 因为ARP协议中谁应答最后PC1取谁 ARP攻击者通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒ARP欺骗网关示例图: ARP欺骗主机:
ARP攻击防御
ARP防御3种方法:
第一种: 静态ARP绑定: 手动绑定/双向绑定,将ARP缓存表中学习的ip对应mac地址绑定为静态 对Windows的PC进行绑定: netsh interface ipv4 show neighbors netsh interface ipv4 set neighbors 11 本地地址 本地mac地址 或arp -s 网关地址 网关mac地址 对网关进行绑定:路由全局模式 arp 网关地址 网关mac地址 arpa 路由接口(f0/1) 第二种: ARP防火墙: 优点:自动自动绑定静态ARP,主动防御 缺点:不断向网关发送ARP请求包,网关负载较大(当内网中主机较多时,每台主机都发送ARP请求包) 第三种: 硬件级ARP防御: 优点:直接禁掉ARP攻击 利用管理型交换机(企业级) 交换机支持接口做动态ARP绑定(配合DHCP服务器),交换机ARP缓存表记录下来。不允许发送虚假ARP请求包(因为mac地址绑定下来) 或静态ARP绑定 第一步: 交换机上需要开启DHCP监听功能:交换机全局模式 ip dhcp snooping 第二步: 交换机上:全局模式 arp 所属ip地址 所属网关mac地址 arp 所属交换机接口(f0/1) 对每台PC/网关进行绑定 或 conf t ip dhcp snooping int range f0/1 -48trunk/中继链路/公共链路在交换机上使用 作用:允许所有VLAN数据通过trunk链路 方法:通过在数据帧上加标签,来区分不同的vlan的数据
trunk标签:
ISL标签:cisco(思科)私有的,标签大小30字节26+4(在帧前面加26字节帧尾加4字节)
802.1q标签:公有协议,所有厂家都支持,标签大小4字节,属于内部标签(在数据帧中间加上标签)
交换机端口链路类型:
接入端口:也称为access端口,一般用于连接PC。只能属于某一个vlan,也只能传输1个vlan的数据中继端口:也称为trunk端口,一般用于连接其他交换机。属于公共端口,允许所有vlan的数据通过配置trunk命令:交换机间交叉线上的接口
int f0/x 进入此接口模式 switchport trunk encapsulation dot1q/isl #将此接口封装的标签为dot1q(公共标签)或isl(思科标签)可不选择默认是dot1q switchport mode trunk #将此接口配置为中继接口模式 exitVLAN属于二层技术 广播/广播域 广播的危害:增加网络/终端负担,传播病毒,安全性下降 如可控制广播:
使用路由器物理隔绝,广播不能透过路由器 缺点:成本高,不灵活(PC跑到别的部门访问不了原部门,不同部门网段不同) 使用VLAN技术控制: VLAN技术是在交换机上实现的且是通过逻辑隔离划分的广播域,用来控制广播隔绝离广播域 一个VLAN = 一个广播域 = 一个网段 VLAN的类型: 静态VLAN:手工配置,基于端口划分的VLAN 动态VALN手工配置,基于maczhi'w 默认所有接口都在vlan 1交换机上出接口和入接口不在同一个vlan不能互相通信一台交换机划分VLAN命令:
在交换机上 静态VLAN命令:全局模式下 创建vlan: conf t vlan ID,ID,ID-ID #创建vlan 数字,数字,可创建多个vlan。进入name模式 name IT #给vlan id 起名字为IT部门 exit 查看VLAN表:特权模式或加do show vlan brief 将接口加入到VLAN:全局模式 int f0/x #进入此接口 switchport access vlan ID #将交换机该接口加入到vlan 几中 exit 还需要配置路由-交换机连接的端口配置trunk技术 int f0/5 #进入需要trunk的接口 switchport mode trunk #默认情况下使用802.1q标签一台交换机配置vlan示例图:
多台交换机划分VLAN命令:
默认所有接口都在vlan 1 交换机上出接口和入接口不在同一个vlan不能互相通信 如果有多个交换机:全局模式下 重新创建VLAN ID 并与上交换机一样 创建vlan: conf t vlan ID,ID,ID-ID #创建vlan 数字,数字,可创建多个vlan。进入name模式 name IT #给vlan id 起名字为IT部门 exit 再将连接交换机的接口变为中继接口 当有较多交换机和较复杂vlan情况下: 使用vtp 进行集中管理:在一台交换机上管理其他交换机创建vlan vtp domain name(名字) VTP是用来帮助管理多交换机的多vlan情况,防止vlan信息混乱,维持vlan信息统一。 如果你的网路比较大,且交换机数量多,vlan复杂的情况下,就需要使用vtp domain了。别的交换机就会学习到路由器开启子接口给不同vlan间通信配置命令:
在路由设备上:全局模式下 conf t int f0/0.1 #在此接口模式下创建子接口(可以创建上万个逻辑子接口) encapsulation dot1q 10 #10是标签 ip add 网关地址 掩码 no shutdown exit int f0/0.2 #再创建第二个vlan的子接口 encapsulation dot1q 20 #20是标签 ip add 网关地址2 掩码 no shutdown int f0/0 配完子接口需要配置父接口开启网关f0/0接口 no shutdown路由器使用开启子接口并配置标签示例图:
在三层路由器上部署DHCP服务器:
conf t 全局模式下 ip dhcp excluded-address 10.1.1.1 10.1.1.99 #可提前预留1-99的ip地址 ip dhcp pool 地址池名字(v10) #创建dhcp地址池(作用域),进入地址池配置模式 network vlan地址段 掩码 #提供vlan网段和掩码 default-router 此vlan网关地址 #指定网关 dns-server dns服务器地址 #指定dns服务器地址 lease 天 小时 分钟 提供租约时间,如:lease 1 1 1(租约时间为1天1小时1分钟) exit 然后内网里面有几个网段就在路由器里面配置几个子接口和地址池 在路由器上删除配置:全局模式 no ip dhcp excluded-address 10.1.1.1 10.1.1.99 #删除预留地址 no ip dhcp pool 地址池名字(v10) #删除地址池 有多个地址池有继续删除ICMP端口号:没有端口号,只有应用层的协议才有端口号 ICMP协议作用:网络探测与回馈机制(网络探测、路由跟踪、错误反馈) ICMP封装的帧:2层帧头+3层(ip包头+icmp头+数据)+2层帧尾(只有) ICMP协议的封装格式:ICMP头和数据 数据是一些无意义的数据 ICMP头有四个ICMP类型字段:
8:ping请求 #本地PC向目标PC发送 0:ping应答 #目标PC给本地PC应答 3:目标主机不可达 #路由器无法进行路由,返回的错误(里面存在代码,不同代码代表不同错误类型),或路由器和防火墙不允许访问 11:TTL超时,路由环路 ip跟踪: windows:tracert ip地址 linux和路由器:traceroute ip地址三层交换机原理:
三层交换机 = 三层路由器 + 二层交换机三层路由引擎可以开关三层交换机优点:
解决了网络瓶颈问题解决了单点故障(虚拟接口不再依赖任何物理接口,线路走主板)一次路由,永久交换,只对第一次数据帧路由后面直接根据表换帧头发送。单臂路由对每次数据帧进行路由。路由里面会生成快速转发表[vlan20 目标ip]和邻接关系表[路由mac 目标mac]一一对应)三层交交换机配置命令:
三层交换机接口间线路配置trunk链路: conf t int range f0/1 - 2 #多个接口一起配置 switchport trunk encapsulation dot1q #指定封装标签 switchport mode trunk #接口开启trunk链路 exit vtp domain 名字 #配置vtp,二层交换机也会也会接收到三层交换机划分vlan的配置 划分vlan: 开启路由引擎配置激活vlan,不用配置标签每个vlan走单独主板线路 conf t ip routing #开启三层路由器功能 no ip routing #关闭三层路由功能 int vlan 10 #在路由里面创建vlan10虚拟网关端口(交换机得先创建激活vlan10) ip add 网关地址 掩码 #给vlan10配置网关地址 no shut #激活 int vlan 20 #继续创建vlan20虚拟网关端口,继续上面操作(路由器里面得mac地址一样) exit 访问外网,二层端口升级为三层端口 int f0/x no switchport #此命令升级为三层接口 ip add 网关地址 掩码 no shut内部网络规划示例图:
HSRP协议:使用双网关,当主网关线路出现问题切换到备用网关 VRRP协议:使用双网关,当主网关线路出现问题切换到备用网关
HSRP协议(热备份路由协议): HSRP组号:1-255,没有大小之分 热备份路由配置命令:
活跃路由和备份路由都需要配置: int f0/x或int vlan x #进入路由网关接口模式/如果有多个核心交换机 standby 组号(1-255) ip 虚拟ip地址 #创建组号并设置虚拟ip standby 组号(1-255) priority 优先级(数字) #配置该路由网关的优先级 standby 组号(1-255) preempt #设置占先权,当发现其他路由优先权比自己低立即抢占活跃路由名分 standby 组号 strack f0/x #跟踪路由器路由接口状态f0/x为路由接口 查看路由备份表: show standby (brief ) #查看hsrp状态热备份路由原理: 多核心交换机示例图: