# OSI模型 ### 一、物理层 1. **传输介质分类** - 无线介质:无线电…… - 有线介质:网线(双绞线)、光纤 2. **双绞线分类** 1. 功能分类:非屏蔽(UTP) 、屏蔽(STP) 2. 性能分类 > 五类cat5: 适用于100 Mbps > > 超五类cat5e: 适用于1 Gbps > > 六类cat6:适用于1 Gbps > > 七类cat7:适用于10 Gbps(带有屏蔽功能) > > > 注:双绞线传输距离控制在100米范围内 3. 网线线序 - T568A:白绿 绿 白橙 蓝 白蓝 橙 白棕 棕 - T568B:白橙 橙 白绿 蓝 白蓝 绿 白棕 棕 > 直连线: 一根网线的两端都是568A或两端都是568B的线序早期连接不同设备( PC—交换机) > > 交叉线:一根网线一端是568A,一端是568B 早期 连接相同设备 > > 全反线:一根网线两端线序完全相反(不用于局域网组建,用于连接交换或路由console口另端连接主机usb口进行本地访问控制) > 主机直接连接路由器使用交叉线 > > 交换机与交换机相连使用交叉或直连,一般使用交叉 4. 光纤分类 - 单模光纤:窄芯、长距离传输 - 多模光纤:宽芯、短距离传输 5. 项目实施常用工具 - 网线钳 - 测试线/寻线仪 - 光纤测试仪 - 光纤切割刀 - 熔纤机 > 红光笔:光纤故障检测功能,其中包含检测光纤连通性及光纤断裂、弯曲等故障点定位。 6. 网线制作 1. 去线皮 2. 排线(从左到右) 3. 剪齐 4. 装水晶接头(金手指面向自己,将线装到水晶头的顶端) 5. 压接 ### 二、数据链路层 1. **MAC地址概述** - MAC地址,即以太网地址,用来标识一个以太网上的某个单独设备或一组设备 - 长度:48个bit(6个字节) 组成:24个bit的厂商标识+24个bit的网卡编号 > MAC地址的第8位为0 表示单播地址(每一个物理网卡都有一个全球唯一的MAC地址) > > MAC地址的第8位为1 表示组播地址 > > 48位都为1 表示广播地址 > > 表示方式:使用12位的16进制数表示的 如:98-FA-9B-EE-AA-04 2. **帧格式** ![image-20240823175025852](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240823175025852.png) - 以太网帧的数据长度范围46-1500 字节 (净重) - 以太网帧的长度范围(64-1518)字节 (毛重) 3. **什么是冲突域** 1. 在一个网络范围内发送数据时会产生冲突的区域就是冲突域 2. 冲突是以太网致命故障,导致信号冲突,数据损坏、丢失、数据传输慢 4. **接口双工模式** 1. 单工模式 > 传输数据的信道只有一个,只能接收数据,不能回复数据(类似BB机) 2. 半双工模式 > 传输数据的信道只有一个,可以接收数据,也可以回复数据,但是不能同时进行(类似:对讲机) 3. 全双工模式 > 传输数据的信道有两个,接口可以在同一时刻接收数据和发送数据;(类似:电话) 5. **通过什么设备来分割冲突域** - 交换机 > 把多台电脑连接在一-起的设备,组建局域网的主要设备 交换机的每一个接口有专门的数据信道来为用户转发数据; 交换机分割冲突域,实现全双工。 6. **交换机工作过程** 1. `学习`:学习数据帧源MAC地址,生成MAC地址表,并将源MAC地址和对应的接口号写入MAC地址表 2. `广播`:向除接收接口之外的所有接口广播未知目标MAC地址 3. `转发`:根据MAC地址表转发数据帧 4. `更新`:端口对应主机MAC地址发生变化重新学习(MAC地址表中记录生存时间为300秒) 7. **查看MAC地址表** - `display mac-address` ![image-20240823175337509](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240823175337509.png) ``` display mac-address MAC address table of slot 0: ------------------------------------------------------------------------------- MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID VSI/SI MAC-Tunnel ------------------------------------------------------------------------------- 5489-9802-3b6e 1 - - GE0/0/1 dynamic 0/- 5489-9886-7447 1 - - GE0/0/2 dynamic 0/- 5489-9899-2a4a 1 - - GE0/0/3 dynamic 0/- ------------------------------------------------------------------------------- ``` 8. **案例实验** PC1访问PC4,MAC地址表学习结果如下: ![image-20240823175514335](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240823175514335.png) ``` display mac-address MAC address table of slot 0: ------------------------------------------------------------------------------- MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID VSI/SI MAC-Tunnel ------------------------------------------------------------------------------- 5489-9802-3b6e 1 - - GE0/0/1 dynamic 0/- 5489-9875-353e 1 - - GE0/0/3 dynamic 0/- ------------------------------------------------------------------------------- ``` ``` display mac-address MAC address table of slot 0: ------------------------------------------------------------------------------- MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID VSI/SI MAC-Tunnel ------------------------------------------------------------------------------- 5489-9802-3b6e 1 - - GE0/0/3 dynamic 0/- 5489-9875-353e 1 - - GE0/0/2 dynamic 0/- ------------------------------------------------------------------------------- ``` 9. **广播域** 1. 什么是广播域 > 能够接收到同样广播消息的网络节点的集合 2. 广播域过大所带来的问题 > 当同一个广播域内广播报文过多时,会对局域网造成干扰,导致网络延迟,网络拥塞(上网卡,上网慢),严重情况可以造成广播风暴,导致网络瘫痪,给网络的可靠性和安全性带来了严重挑战。 3. 如何解决广播域 > 利用vlan技术可用在交换机中分割广播域,实现广播报文的隔离。 10. **IP** 1. IP报头 - 长度至少为 20字节 ![image-20240826094107457](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826094107457.png) - 标识符、标志、段偏移量:作用将拆开的数据包进行组合(用来数据重组的) - TTL值:数据生命周期 - 作用:防止数据无限循环转发 - 原理:数据包每经过一台路由器,TTL值会减1,当TTL为0时,数据包被丢弃 - 协议号:数据包在网络中传递时所用的协议 > 协议号1 ICMP, 6 TCP ,17 UDP 2. IPv4地址回顾 - IP的作用:用来标识一个节点的网络地址 - IP地址的版本:V4(32)、V6(128) - V4地址的表示方式:点分十进制 - V4地址的组成:网络位+主机位 - IP地址的分类:A、B、C、D、E - A、B、C默认子网掩码 - 私有IP地址的范围 > 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 3. IP地址的网络ID、广播地址、可用范围、可用IP地址的个数 1. IP地址的默认网络ID:默认网络位地址不变,主机位全0 > 例如:192.168.1.1/24的网络ID > 192.168.1.00000000 > 192.168.1.0(192.168.1.1/24的网络ID) 2. IP地址的默认广播地址:默认网络位地址不变,主机位全1 > 例如:192.168.1.0/24的广播地址 > 192.168.1.11111111 > 192.168.1.255(192.168.1.0/24的广播地址) 3. 192.168.1.0/24可用主机IP地址范围: > 192.168.1.00000000 192.168.1.0/24(网络ID) > 192.168.1.00000001 192.168.1.1第一个可用主机IP > 192.168.1.00000010 192.168.1.2 > 192.168.1.00000011 192.168.1.3 > …… > 192.168.1.11111110 192.168.1.254最后一个可用主机IP > 192.168.1.11111111 192.168.1.255(广播地址) 4. IP地址可用个数 可用IP地址个数的计算: > 2的主机位数次方-2=可用主机IP地址的个数 > 例如:192.168.1.0/24的网络中可用IP的个数? > 2的8次方 - 2 = 254可用个数 ### 三、网络层 1. **ICMP协议** 1. 概述 - ICMP:Internet控制消息协议 - 作用:为网络连通性测试以及网络故障定位提供有效指示信息 - 协议号:1. - 位于TCP/IP的第三层(网络层) 2. ICMP报文类型 - echo request 请求报文 - echo reply 应答报文 3. ICMP 命令 - ping 命令 > ping 目标IP地址 -t //一直ping ctrl+c 结束 > ping 目标IP地址 -c x(数字) //指定ping几次 > ping 目标IP地址 –l x(数字) //指定ping的字节的大小 > ping 目标IP地址 -t -l x(数字) //攻击对方 > tracert 目标IP地址 //路由跟踪 > 作用:探测一个数据包 从源地址到目标地址所走的路径,记录节点,发现故障点,然后解决故障! 4. ICMP 消息提示 1. from 目标地址 ytes=32 seq=1 ttl=127 time=63 ms //表示连接成功 2. Destination host unreachable //表示目标主机不可达 > 同网段中没有这个IP地址,或IP地址错误 > > 跨网段通信时,本主机没有填写网关地址 3. Request timed out 请求时间超时 > 此提示常见原因:数据包可以出去,但是回不来【肉包子打狗】 > > --对方主机没有填写网关地址 > > --对方的防火墙阻断了 2. **ARP协议** 1. ARP协议概述 - ARP:地址解析协议 - 作用:已知目标设备的IP地址,获取目标设备的MAC地址 - 解析方式:发送arp广播,得到mac地址后,缓存到arp缓存表中 2. ARP报文类型 - ARP请求报文:源设备以广播的方式发送 ARP 请求报文 - ARP回应报文:目的设备以单播的方式回应,直接返回给源设备 3. ARP缓存表 - ARP缓存表中记录IP地址和MAC地址的对应关系 - ARP 缓存表中有动态和静态两类条目 - ARP动态条目存活时间是1200S (华为的网络设备的arp缓存表的默认老化时间) 4. ARP 常用命令 > PC>arp -a //查看arp缓存表 > PC>arp -d //清空arp缓存表 > PC>arp -s 192.168.1.2 54-89-98-B9-74-25 //添加静态的ARP表记录 ### 四、传输层 1. **传输层协议** - TCP协议:传输控制协议,面向连接、可靠,效率低 - UDP协议:用户数据包协议,无连接、不可靠,效率高 2. **TCP封装格式** ![image-20240826165247982](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165247982.png) - 源端口:源端口和IP地址的作用是标识报文的返回地址 - 目的端口:目标端口指明接收方计算机上的应用程序接口 备注:源端口是随机的,目标端口是固定的 - 序列号:seq 使用序列号,保证了tcp传输的有序性 - 确认号:ACK,确认号,表示在回复对端,你发的(在该序号之前的所有数据,我都已经收到) - 首部长度:由固定头部和可选项组成, 最小为20字节,最大为60字节 - 保留:为将来定义新的用途保留,现在一般置0 - 控制位:共6个,每一个标志位表示一个控制功能 - SYN=1:代表请求建立连接(同步位) - ACK=1:代表同意建立连接(确认位) - FIN=1:代表请求断开连接(停止位) - URG=1:代表紧急指针开启—紧急指针:特别着急的数据段优先传递 - PSH=1:代表提示接收端应用程序要立刻将数据从缓冲区里面取走. - RST=1:数据没有传输完成断开了,在次请求建议连接 - 窗口:滑动窗口,代表数据在发送之前,设备间要进行协商,依照最小单位为准发送 - 校验和:此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据 3. **TCP三次握手** | 主机A | 主机B | | ------------------------------------- | ------------------------------------------------------------ | | 第一次:seq号=100,SYN位=1 请求连接 | | | | 第二次: 回应seq号=300,ack号=101
发起连接 SYN位=1,ACK位=1 | | 第三次:seq号=101,ack号=301,ACK位=1 | | ![image-20240826165615556](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165615556.png) 4. **三次握手抓包实验** - 拓扑 ![image-20240826165652863](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165652863.png) - 数据包 ![image-20240826165709977](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165709977.png) ![image-20240826165722955](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165722955.png) - 第一次握手 ![image-20240826165740913](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165740913.png) - 第二次握手 ![image-20240826165802564](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165802564.png) - 第三次握手 ![image-20240826165819842](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165819842.png) 5. **TCP的四次挥手** | 主机A | 主机B | | ------------------------- | ------------------------- | | 第一次: FIN位=1,ACK位=1 | | | | 第二次: ACK位=1 | | | 第三次: FIN位=1,ACK位=1 | | 第四次: ACK=1 | | ![image-20240826165906775](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165906775.png) 6. **四次挥手抓包实验** - 拓扑 ![image-20240826165938303](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165938303.png) - 数据包 ![image-20240826165957332](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165957332.png) - 第一次挥手 ![image-20240826170021603](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170021603.png) - 第二次挥手 ![image-20240826170050170](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170050170.png) - 第三次挥手 ![image-20240826170109935](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170109935.png) - 第四次挥手 ![image-20240826170124644](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170124644.png) 7. **UDP封装格式** ![image-20240826170146027](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170146027.png) 1. UDP抓包实验 - 拓扑 ![image-20240826170236577](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170236577.png) - 在客户上模拟UDP的发包 ![image-20240826170255771](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170255771.png) - 在交换机上抓包查看UDP的发包 ![image-20240826170321612](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170321612.png) ![image-20240826170328752](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170328752.png) ### 五、应用层 1. **DNS** 1. 域名解析系统,端口号TCP或UDP的53 2. 域名注册网站 > 新网 www.xinnet.com > > 万网(阿里云) www.net.cn > > 中国互联 hulian.top 2. **FTP** - FTP概述 > 文件传输协议 > > 控制连接:TCP 21 > > 数据连接:TCP 20 3. **HTTP** - 超文本传输协议 TCP 80 - 安全超文本传输协议 TCP 443 4. **Telnet** 1. telnet 概述 > 远程终端协议 > > 端口号:TCP 23 2. telnet常见认证 > 密码认证(仅需要密码) > > AAA认证(需要用户名和密码,可以为不同用户配置不同权限) 3. Telnet -AAA认证实验 - 拓扑 ![image-20240826172648897](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826172648897.png) - 需求 > R1通过telnet 协议远程控制R2 - 配置步骤 > 第一步:配置R1/R2接口IP地址 > > 第二步:在R2中开启telnet 远程服务,并配置AAA认证 > > 第三步:R1使用telnet 远程R2 - 配置命令 - 第一步:配置R1的IP地址 ``` un t m //关闭消息 sys //进入系统视图 [Huawei]sys PC //修改主机名 [PC]interface g0/0/0 //进入千兆接口g0/0/0 [PC-GigabitEthernet0/0/0]ip address 192.168.12.1 24 //给接口配置IP地址 ``` - 第二步:配置R2的IP地址 ``` un t m //关闭消息 sys //进入系统视图 [Huawei]sys R2 //修改主机名 [R2]interface g0/0/0 //进入千兆接口g0/0/0 [R2-GigabitEthernet0/0/0]ip address 192.168.12.2 24 //给接口配置IP地址 [R2-GigabitEthernet0/0/0]quit //返回上一视图 ``` - 第三步:测试R1和R2的网络连通性 ``` ping 192.168.12.1 ``` - 第四步:配置R2的telnet 远程管理 ``` [R2]user-interface vty 0 4 //进入虚拟终端 [R2-ui-vty0-4]authentication-mode aaa //远程登录的认证模式设置为aaa认证 [R2-ui-vty0-4]aaa //进入aaa协议视图 [R2-aaa]local-user ntd password cipher 123456 //创建本地用户 ntd 密码:123456 [R2-aaa]local-user ntd privilege level 15 //给本地用户ntd设置权限等级为15 [R2-aaa]local-user ntd service-type telnet //允许本地用户ntd使用telnet远程 [R2]user-interface vty 0 4 //进入虚拟终端 [R2-ui-vty0-4]authentication-mode aaa //远程登录的认证模式设置为aaa认证 [R2-ui-vty0-4]aaa //进入aaa协议视图 [R2-aaa]local-user ntd password cipher 123456 //创建本地用户 ntd 密码:123456 [R2-aaa]local-user ntd privilege level 15 //给本地用户ntd设置权限等级为15 [R2-aaa]local-user ntd service-type telnet //允许本地用户ntd使用telnet远程 ``` > [R2]telnet server enable //开启远程管理的服务(默认是开启的,所有会报错) - 第五步:验证远程管理 ``` telnet 192.168.12.2 Username:ntd //输入用户名 Password:123456 //输入密码 ``` - 第六步:验证telnet远程管理服务的禁用与启用 ``` [R2]undo telnet server enable //关闭过程管理服务 通过R1发起telnet远管理查看提示: telnet 192.168.12.2 Press CTRL_] to quit telnet mode Trying 192.168.12.2 ... ``` ``` [R2]telnet server enable //开启远程管理的服务 通过R1发起telnet远管理查看提示: telnet 192.168.12.2 Press CTRL_] to quit telnet mode Trying 192.168.12.2 ... Connected to 192.168.12.2 ... Login authentication Username: ```