ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

90DaysOfDevOps 网络协议全解析:ARP、FTP、SMTP、HTTP、SSL/TLS、DNS、DHCP 与子网划分实战

90DaysOfDevOps 网络协议全解析:ARP、FTP、SMTP、HTTP、SSL/TLS、DNS、DHCP 与子网划分实战 文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载本篇是 90DaysOfDevOps 2022 系列 Day 23 的技术专题围绕网络协议这一互联网通信的标准语言系统讲解 ARP、FTP、SMTP、HTTP、SSL/TLS、HTTPS、DNS、DHCP 八大核心协议的定义、工作方式与适用场景并延伸至子网Subnet划分的原理与收益。读完本篇你将能够理解主机接入网络所必需的四大配置要素IP 地址、子网掩码、默认网关、DNS掌握 DHCP 自动下发配置的机制并结合仓库中 Cisco IOSv 网络实验室路由器 R1 与交换机 SW1~SW4的真实配置与自动化脚本把这些协议从概念落到命令行实战。网络协议构成互联网标准的一组规则与消息在计算机网络的世界里协议Protocol可以这样定义一组规则和消息它们构成一种标准即互联网标准Internet Standard。无论是浏览网页、收发邮件、传输文件还是接入 WiFi每一次通信的背后都有一系列协议在协同工作。理解它们各自的分工与边界是排查网络故障、设计网络架构的基础。从 OSI 模型的视角看这些协议分布在不同的层次中ARP 工作在第二层数据链路层负责把 IP 地址与物理 MAC 地址绑定FTP、SMTP、HTTP、DNS、DHCP 等则位于应用层为具体的业务提供服务而 SSL/TLS 作为加密协议穿插在应用层与传输层之间为上层应用提供安全隧道。下面逐一展开。ARP 地址解析协议打通 IP 与 MAC 的桥梁ARPAddress Resolution Protocol地址解析协议的核心职责是将 IP 地址连接到固定的物理机器地址即 MAC 地址它工作在第二层Layer 2网络上。在局域网中主机之间真正通信时数据帧的寻址依赖的是 MAC 地址而应用层使用的是 IP 地址ARP 就是这两者之间的翻译官。主机 A 想与主机 B 通信但只知道 B 的 IP 地址不知道 B 的 MAC 地址A 在本地二层网络中广播 ARP 请求谁的 IP 是 10.0.0.41请告诉我你的 MAC 地址主机 B 收到后以单播方式回复 ARP 响应携带自己的 MAC 地址之后 A 与 B 之间即可基于该 MAC 地址直接交换数据帧解析结果通常会缓存在本机 ARP 表中。如果你想深入了解 ARP 的细节可以查阅互联网标准 RFC 826Address Resolution Protocol这是该协议的权威定义文档。在仓库的网络实验室中ARP 是可以直接通过命令行验证的。查看 paramiko_show.py它通过 SSH 交互式会话登录路由器 192.168.169.115依次执行enable、terminal length 0、show ip int b和show arp命令即可打印出该路由器上 IP 与 MAC 的映射表。这正是 ARP 协议在真实网络设备上的落地体现。FTP 文件传输协议源到目的的文件搬运工FTPFile Transfer Protocol文件传输协议允许将文件从源传输到目的地。一般情况下该过程需要认证用户名/密码但如果配置了匿名访问也可以不认证直接使用。如今你更常看到的可能是 FTPS——它是在 FTP 服务器与客户端之间提供 SSL/TLS 加密连接的版本安全性更好。按 OSI 模型分层FTP 属于应用层协议。典型场景是客户端向 FTP 服务器发送 RETR下载或 STOR上传指令来获取或提交文件。如果传输内容敏感应优先选择 FTPS 或 SFTP避免明文传输带来的安全风险。SMTP 简单邮件传输协议邮件系统的邮递员SMTPSimple Mail Transfer Protocol简单邮件传输协议用于电子邮件传输邮件服务器使用 SMTP 来发送和接收邮件消息。即便是在 Microsoft 365 这样的现代云邮件服务中其邮件收发底层依然在使用 SMTP 协议。一次典型的 SMTP 会话从客户端向服务器发送 HELO问候指令开始服务器以 250 状态码确认随后客户端逐步提交发件人、收件人与邮件内容。正因为 SMTP 历史悠久且无处不在了解它对排查邮件投递问题如退信、延迟非常关键。HTTP 超文本传输协议互联网浏览的基石HTTPHyper Text Transfer Protocol超文本传输协议是互联网和内容浏览的基础让我们能够轻松访问喜欢的网站。HTTP 至今仍被大量使用但 HTTPS 正在或者说应该成为大多数主流网站的标配。从交互流程看客户端浏览器向 Web 服务器发送 GET 请求获取页面资源如 /index.html服务器返回 200 OK 状态码与网页内容。HTTP 本身是明文协议因此任何经过的数据都可被中间设备窥探这推动了 HTTPS 的普及。SSL/TLS为网络通信加锁的加密协议SSLSecure Sockets Layer安全套接层与 TLSTransport Layer Security传输层安全是这一小节的主角。TLS 已经取代了 SSLTLS 是一种加密协议Cryptographic Protocol能在网络上提供安全通信。它可以并且确实出现在邮件、即时消息等各类应用中但最常见的用途是保护 HTTPS。TLS 通过握手协商加密算法、交换密钥在通信双方之间建立一条加密隧道之后所有数据都在隧道内传输防止被窃听和篡改。HTTPS用 SSL/TLS 加固的 HTTPHTTPS 是 HTTP 的扩展用于网络上的安全通信它由上述 TLS 加密提供保护。引入 HTTPS 的核心目标是在主机之间交换数据时提供三大保障认证Authentication、隐私Privacy与完整性Integrity认证确认你正在与真正的服务器通信而不是冒充者通过数字证书实现隐私数据内容经过加密中间人无法直接读取完整性数据在传输中若被篡改接收方可以察觉。因此涉及登录、支付、个人信息等场景的网站都应强制启用 HTTPS。DNS 域名系统把域名翻译成 IP 的巨型分拣办公室DNSDomain Name System域名系统用于将人类友好的域名映射为 IP 地址。例如我们熟知的 google.com如果你在浏览器地址栏直接输入 8.8.8.8也会得到 Google 的页面——但要记住所有网站那串纯数字的 IP 地址几乎是不可能的这正是 DNS 存在的意义它确保主机、服务和其他资源都是可达的。凡是需要联网的主机都必须配置 DNS 才能解析域名。DNS 是一个可以研究很多年的大领域从实战经验看DNS 往往是网络问题中最常见的故障根源作者在原文中半开玩笑地表示这一点网络工程师们可能不一定认同。排查网络不通时优先检查 DNS 解析往往是最高效的切入点。在仓库的网络实验室配置中也能看到 DNS 的身影路由器 R1 的配置里包含ip domain-name 90DaysOfDevOps.net为设备定义了域名后缀同时no ip domain-lookup禁用了不必要的域名查询避免命令行误输入被当作域名解析而长时间等待——这正是网络设备上常见的 DNS 相关实践。DHCP 动态主机配置协议自动发放联网四件套前面讨论的协议目的都是让主机工作起来访问互联网、在主机之间传输文件。而要让主机完成这两件事每一台主机都需要 4 样东西配置项作用生活化类比IP 地址主机在网络中的唯一地址门牌号子网掩码划分网络与主机部分下文详述邮政编码默认网关提供三层Layer 3连通性通常是路由器的 IP是主机走出本地网络的那条路通向街道外的唯一道路DNS将难以记忆的公网 IP 转换为易记的域名巨型分拣办公室确保邮件送达正确地址问题在于如果网络里有 1000 台甚至 10000 台主机逐台手工确定这 4 项配置将耗时巨大。DHCPDynamic Host Configuration Protocol动态主机配置协议正是为此而生管理员只需为网络定义一个作用域ScopeDHCP 就会把配置自动分发给网络中的所有可用主机。一个再熟悉不过的例子走进咖啡店点杯咖啡用笔记本或手机也就是主机连上咖啡店的 WiFi马上就能上网、收消息、刷网页。当你连接 WiFi 的那一刻你的设备就从专用 DHCP 服务器或更常见地兼做 DHCP 的路由器上领取了一个 DHCP 分配的地址。仓库中的真实设备同样如此查看备份文件 192.168.169.115_20220127_145846路由器 R1 的接口GigabitEthernet0/3配置为ip address dhcp——即由上游 DHCP 服务为该接口自动获取地址与文档中路由器兼任 DHCP 客户端/服务的场景完全吻合。子网划分 Subnetting把大网络切分成高效小网络子网Subnet是 IP 网络的一个逻辑细分logical subdivision。核心思想是将大型网络拆分成更小、更易管理、运行更高效的网络。每个子网都是更大网络的逻辑子集同一子网内相连的设备共享共同的 IP 地址标识位即相同的网络部分因此彼此可以直接通信子网之间的通信由路由器管理子网的大小取决于连接需求和所使用的网络技术一个组织负责在可用的地址空间范围内决定子网的数量与大小这些细节对组织内部保持局部性local子网还可以继续切分成更小的子网例如用于**点对点链路Point to Point links**或只承载少量设备的子网。划分网络的收益是多方面的地址复用将大网络切分成子网使 IP 地址得以重新分配减少地址浪费缓解拥塞缩小广播域、降低流量冲突改善网络通信效率提升安全性如果网络的某个部分被攻陷可以将其隔离quarantine让攻击者难以在更大的网络中横向移动。仓库的网络实验室正是子网划分的直观样例。打开 R1 与 SW1、SW2、SW3、SW4 的配置可以看到路由器 R1 的GigabitEthernet0/0配置为ip address 10.10.88.110 255.255.255.0即子网 10.10.88.0/24四台交换机分别使用 10.10.88.111、10.10.88.112、10.10.88.113、10.10.88.114处于同一子网内、共享网络前缀 10.10.88.x因而可以直接互通交换机 SW4 进一步定义了vlan 10,20,30,40,50,60,70,80,90,100,200等多个 VLAN——VLAN 可以看作二层层面的逻辑隔离是子网思想在交换网络中的延伸而 backup.txt 中列出的管理地址192.168.169.115/178/193/125/197则属于另一个子网用于 SSH 带外管理。仓库实战用 Cisco IOSv 实验室验证协议与子网上述协议概念在仓库的 2022/Days/Networking 目录下都有对应的可运行证据。这个实验室由一台 Cisco IOSv 路由器R1和四台交换机SW1~SW4构成通过 SSH 远程管理并用 Python 脚本实现了自动化巡检与配置下发paramiko_show.py使用 Paramiko 库建立 SSH 会话发送show ip int b与show arp命令验证 IP 接口状态与 ARP 表netmiko_con_multi.py通过 Netmiko 一次性连接 R1 与 4 台交换机循环执行show ip int brief并打印设备提示符与结果实现多设备批量巡检netmiko_con_multi_vlan.py对四台交换机执行show int trunk检查 Trunk 链路与 VLAN 透传状态netmiko_sendchange.py向 SW2 下发配置集包含switchport trunk encapsulation dot1q、switchport mode trunk、switchport trunk allowed vlan 1,2演示通过协议自动化完成子网/VLAN 层面的配置变更backup.py读取 backup.txt 中的设备 IP 列表通过 SSH 逐台执行show run并将配置备份到本地文件输出备份耗时与完成时间——典型的网络设备配置合规备份流程。这些脚本印证了一个观点协议不止是教材里的概念而是可以用 Python SSH 实实在在驱动的东西。你在 R1 配置里看到的ip ssh version 2、username admin password access123等行就是让上述自动化脚本能够安全连接设备的协议配置基础。总结与延伸阅读本专题把 90DaysOfDevOps Day 23 的网络协议主干完整梳理了一遍ARP 解决二层寻址FTP/SMTP/HTTP 承载具体的文件与内容传输SSL/TLS 与 HTTPS 提供加密、认证与完整性保障DNS 打通域名与 IPDHCP 自动发放联网四件套子网划分则让大网络变得高效、安全且易于管理。原文内容主要来自 Practical Networking 出品的 Networking Fundamentals 系列以视频形式呈现本主题对应其中 Network Protocols - ARP, FTP, SMTP, HTTP, SSL, TLS, HTTPS, DNS, DHCP 一集作者还推荐了 Subnetting Mastery 系列与完整的计算机网络课程作为后续深挖资料。如果你想动手验证可以直接在仓库中查看网络实验室的完整配置与自动化脚本R1 与 SW1、SW2、SW3、SW4 的配置文件以及 Networking 目录下的 Python 脚本逐步在模拟器或真实设备上重现 ARP 查询、子网划分、DHCP 下发与配置自动化流程。90DaysOfDevOps 系列后续内容例如 2022 年的 day24.md会继续沿着网络与运维主题深入把概念进一步连接到日常工作中。赞分享文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载相关推荐计算机网络应用层协议全解析DNS、FTP、DHCP、电子邮件与 Web 页面请求过程CS-Notes计算机网络应用层协议全解析DNS、FTP、DHCP、电子邮件与 Web 页面请求过程CS Notes 本篇技术指南以 CS Notes 网络系列中的应用层知识库文档教程SELKS网络协议分析深入理解HTTP、TLS和DNS监控的终极指南SELKS网络协议分析深入理解HTTP、TLS和DNS监控的终极指南 SELKS是基于Suricata的开源入侵检测/防御系统和网络流量监控发行版它提供了全网络安全可观测性Cemu控制器映射实战指南手柄、键盘、Wiimote全都能配出好手感Cemu控制器映射实战指南手柄、键盘、Wiimote全都能配出好手感 Cemu控制器映射配置教程覆盖手柄、键盘、Wiimote 的按键映射、死区调参和多人分虚拟化上一篇突破S3性能瓶颈s3fs-fuse多线程模型深度解析下一篇OpCore-Simplify一次构建出可启动的 OpenCore EFI省下核对参数的好几天创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表