ARTICLE DETAIL

资讯详情

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

网络基础知识学习PPT:TCP/IP协议栈与排障实战指南

网络基础知识学习PPT:TCP/IP协议栈与排障实战指南 简介这份PPT面向计算机网络初学者、备考网络相关课程的学生以及需要梳理基础概念的从业者系统讲解网络基础知识帮助读者建立从协议到体系结构的完整认知框架。内容围绕TCP/IP协议展开涵盖应用层、传输层、网络层与网络接口层的分层职责并延伸至HTTP、FTP、TCP、UDP等常见协议同时按作用范围梳理广域网、局域网、城域网与接入网的区别结合电路交换与分组交换的对比、交换机存储转发机制以及OSI七层模型与TCP/IP四层模型的对照深入剖析分层思想带来的独立性、灵活性与标准化优势。资源包为1个pptx文件大小约637KB结构紧凑适合课堂讲授或自学时快速浏览。目前已有283人学习内容覆盖网络接入点、ISP多级结构等实际架构知识可作为网络技术入门与复习的参考材料。1. 网络基础知识学习PPT从协议分层到排障思路的完整梳理很多人学网络基础时都有一种“翻车”体验OSI 七层、TCP 三次握手、子网掩码这些词背得滚瓜烂熟真到抓包或者配路由时却不知道从哪下手。这份网络基础知识学习PPT就是冲着这个痛点来的它把 TCP/IP 协议栈、IP 编址、常见协议交互这些内容按教学节奏重新组织了一遍适合刚入行的运维、后端开发以及准备面试但基础不牢的从业者。它不堆术语而是用分层图、报文结构和典型场景把“数据从网卡到应用”这条链路讲清楚学完至少能看懂一次 ping 或 curl 背后发生了什么。2. 先搞懂 TCP/IP 分层PPT 里的四层模型怎么对应真实抓包2.1 为什么 PPT 从 TCP/IP 四层讲起而不是 OSI 七层OSI 七层是理论模型实际工程里几乎没人按“会话层、表示层”去排障。这份 PPT 选择 TCP/IP 四层网络接口层、网际层、传输层、应用层作为主线原因很直接你抓一次包Wireshark 里看到的 Ethernet、IP、TCP、HTTP 就是按这个顺序封装的。PPT 里用一张封装图解把每层加什么头部、每层负责什么地址MAC、IP、端口标得很清楚这比背 OSI 表格有用得多。常见做法是先记住每层的协议数据单元PDU名称——帧、包、段、数据再记住每层的关键字段。PPT 里对 IP 头部做了逐字段标注版本、首部长度、TTL、协议号这些字段在排障时经常用到。比如 TTL 能帮你判断数据包经过了多少跳协议号 6 代表 TCP、17 代表 UDP这些在过滤抓包时是硬知识。2.2 用一张表把四层模型和常见协议对齐PPT 里有一页专门做协议映射我把它整理成下面这张表方便对照记忆分层典型协议关键标识排障时看什么网络接口层Ethernet、ARPMAC 地址链路是否 up、ARP 是否解析网际层IP、ICMP、ARPIP 地址路由是否可达、TTL 是否异常传输层TCP、UDP端口号连接是否建立、重传是否过多应用层HTTP、DNS、FTP应用协议字段请求响应是否正常、DNS 解析是否超时这张表的价值在于当你 ping 不通时可以按层往下查——先看 ARP 有没有解析到 MAC再看 IP 路由是否可达最后看 ICMP 是否被防火墙拦截。PPT 里配了一个“分层排障流程图”虽然不能贴图但思路就是从上往下逐层排除。2.3 跟着 PPT 做一次分层封装推演PPT 里有一个动手环节让你假设从主机 A 访问主机 B 的 Web 服务写出每层封装的内容。我一般会按下面这个顺序推应用层HTTP GET /index.html HTTP/1.1 传输层TCP 头部源端口 随机目的端口 80SYN 标志 网际层IP 头部源 IP A目的 IP B协议号 6TTL 64 网络接口层Ethernet 头部源 MAC A目的 MAC 网关类型 0x0800这个推演看起来简单但很多人卡在“目的 MAC 到底是主机 B 还是网关”上。PPT 里明确写了如果目的 IP 和源 IP 不在同一网段目的 MAC 就是网关的 MAC不是最终主机的 MAC。这个点搞混了抓包时就会一直疑惑为什么 MAC 地址对不上。参数上注意 TTL 初始值通常是 64 或 128每经过一个路由器减 1减到 0 就丢弃并回 ICMP 超时。3. IP 编址与子网划分PPT 里的计算题怎么在工程里用3.1 子网掩码不是装饰品从 PPT 例题到实际配 IPPPT 里花了很大篇幅讲 IP 编址和子网划分包括 A/B/C 类地址、私有地址范围、CIDR 表示法。很多人学的时候觉得“现在都用 DHCP 了谁还算子网”但实际工作中你配个静态 IP、划个 VLAN、写条 ACL都绕不开子网计算。PPT 里有一道典型例题给定 192.168.10.0/24要划分成 4 个子网每个子网至少 50 台主机怎么划计算过程 PPT 写得很细需要 4 个子网至少借 2 位主机位2^24剩下 6 位主机位每个子网可用主机数 2^6-262满足 50 台需求。子网掩码变成 /26即 255.255.255.192。四个子网分别是192.168.10.0/26 可用范围 192.168.10.1 - 192.168.10.62 192.168.10.64/26 可用范围 192.168.10.65 - 192.168.10.126 192.168.10.128/26 可用范围 192.168.10.129 - 192.168.10.190 192.168.10.192/26 可用范围 192.168.10.193 - 192.168.10.254这里有两个参数容易踩坑一是每个子网的第一个地址是网络地址、最后一个是广播地址不能分配给主机二是 /26 的块大小是 64所以子网起点是 0、64、128、192别算成 0、63、127、191。PPT 里专门用红色标了“块大小 256 - 掩码最后一段”这个口诀在划分子网时很实用。3.2 私有地址和 NATPPT 里没展开但你必须知道的边界PPT 里列出了私有地址范围10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。这些地址不能在公网路由所以家里和公司内网都用这些段。但 PPT 对 NAT 只提了一句“私有地址通过 NAT 访问公网”实际工程里 NAT 的几种类型静态 NAT、动态 NAT、PAT差别很大。常见做法是内网访问外网用 PAT端口复用外网访问内网服务用静态 NAT 或端口映射。如果你在云环境里配安全组还要注意云厂商的“私有网络”虽然也用这些段但底层做了 overlay和传统 NAT 不是一回事。PPT 作为基础教材不会讲这么深但你在实际配 VPC 路由表时得知道 169.254.0.0/16 是链路本地地址别把它划进业务子网。3.3 用 PPT 的练习题验证自己是否真会算子网PPT 每章后面有几道练习题我挑一道有代表性的给定 172.16.5.130/26求网络地址、广播地址、可用主机范围。按步骤来掩码 /26 255.255.255.192 块大小 256 - 192 64 子网起点0, 64, 128, 192 130 落在 128 这个块 网络地址172.16.5.128 广播地址172.16.5.191 可用范围172.16.5.129 - 172.16.5.190这个计算在配防火墙规则时经常用比如你要放行某个子网写错网络地址就会导致规则不生效。PPT 里强调了一点不要用“感觉”去猜子网边界一定要按块大小算。我见过有人把 /26 的子网写成 172.16.5.1-172.16.5.62结果把网络地址和广播地址也算进去了ACL 匹配就会出玄学问题。4. TCP 三次握手与四次挥手PPT 里的时序图怎么对应真实抓包4.1 三次握手不是背状态而是理解 SYN 队列和半连接PPT 里画了标准的 TCP 三次握手时序图客户端发 SYN服务端回 SYNACK客户端再回 ACK。但实际排障时你遇到的是“连接超时”或“连接被拒绝”这时候光背图没用。PPT 里补充了 SYN 队列和 accept 队列的概念服务端收到 SYN 后把连接放入半连接队列SYN queue收到 ACK 后移入全连接队列accept queue应用调用 accept 后才真正取走。如果半连接队列满了新的 SYN 会被丢弃客户端就会重传 SYN表现为连接慢但最终可能成功。如果全连接队列满了服务端可能不回 ACK 或回 RST客户端直接报 connection refused。PPT 里没有给具体的队列长度参数但常见做法是检查net.core.somaxconn和tcp_max_syn_backlog这两个内核参数。在 Linux 上用ss -lnt可以看 Send-Q 和 Recv-QRecv-Q 如果接近 Send-Q说明全连接队列快满了。4.2 四次挥手为什么比握手多一次TIME_WAIT 到底等什么PPT 里解释了四次挥手主动关闭方发 FIN被动方回 ACK被动方处理完数据再发 FIN主动方回 ACK。多出来的一次是因为 TCP 是全双工一方关闭写方向后另一方可能还有数据要发。主动关闭方最后进入 TIME_WAIT 状态等待 2MSL报文最大生存时间的两倍。TIME_WAIT 的作用有两个一是保证最后一个 ACK 能到达对方如果 ACK 丢了对方会重传 FIN主动方还能用 TIME_WAIT 状态回 ACK二是让本次连接的残留报文在网络中消失避免影响新连接。PPT 里没有展开 2MSL 的具体时长Linux 上通常是 60 秒。如果你在服务器上看到大量 TIME_WAIT常见做法是开启tcp_tw_reuse但注意这需要时间戳支持而且不是所有场景都适合。4.3 用 tcpdump 验证 PPT 里的握手过程PPT 里建议用抓包工具验证理论我一般用 tcpdump 做最小化验证。下面这条命令抓取 80 端口的 TCP 握手包tcpdump -i eth0 -nn -c 10 tcp port 80 and (tcp[tcpflags] (tcp-syn|tcp-ack) ! 0)参数说明-i eth0指定网卡-nn不解析主机名和端口名-c 10抓 10 个包后停止过滤表达式只抓 SYN 或 ACK 标志的包。执行后你会看到类似Flags [S]、Flags [S.]、Flags [.]的输出分别对应 SYN、SYNACK、ACK。如果只看到 SYN 没有 SYNACK说明服务端没响应可能是防火墙拦截或服务没监听。如果看到 SYN 后直接回 RST说明端口没开。PPT 里的时序图是理想情况真实网络里还有重传、乱序、窗口为零等情况。抓包时注意看 seq 和 ack 号的变化如果 seq 号重复出现说明发生了重传。这些细节 PPT 不会全讲但你在排障时一定会遇到。5. 常见协议与排障命令PPT 里的知识点怎么串成排查链路5.1 DNS 解析从 PPT 的域名系统到 dig 命令实战PPT 里讲了 DNS 的层次结构和递归查询、迭代查询的区别。实际排障时你遇到的是“域名解析不了”或“解析到错误 IP”。常见做法是先用dig或nslookup确认解析结果dig 8.8.8.8 example.com A short这条命令指定 DNS 服务器 8.8.8.8 查询 example.com 的 A 记录short只输出结果。如果返回空说明解析失败如果返回的 IP 不对可能是本地 hosts 文件或 DNS 缓存问题。PPT 里提到 DNS 默认用 UDP 53 端口但如果响应超过 512 字节或做区域传送会改用 TCP。抓包时如果只过滤 UDP 53 看不到查询记得加上 TCP 53。5.2 ARP 与 ICMPPPT 里一笔带过的协议其实是排障起点PPT 对 ARP 和 ICMP 讲得比较简略但这两个协议是排障的第一步。ARP 负责把 IP 解析成 MAC如果 ARP 表里没有目标 IP 的 MAC就会广播 ARP 请求。用arp -a可以查看 ARP 缓存如果发现某个 IP 的 MAC 是incomplete说明 ARP 解析失败通常是因为目标不在同一网段或对方没开机。ICMP 就是 ping 用的协议。PPT 里提到 ICMP 有类型和代码字段比如类型 8 是 Echo Request类型 0 是 Echo Reply类型 3 是 Destination Unreachable。当你 ping 不通时看 ICMP 的类型和代码能快速定位如果收到类型 3 代码 1说明主机不可达代码 3 说明端口不可达。这些在 PPT 里可能只有一页但实际排障时比背 TCP 状态机还常用。5.3 把 PPT 知识点串成一条排障链路PPT 是按章节讲的但真实排障需要串起来。我一般按这个顺序走先ping目标 IP确认网络层是否可达。如果不通看 ARP 是否解析、路由表是否有对应条目。如果 ping 通但服务访问不了用telnet或nc测端口。nc -zv 目标IP 端口能快速判断端口是否开放。端口通但应用报错抓包看应用层协议。HTTP 看状态码DNS 看响应码。如果涉及域名先dig确认解析再检查本地 DNS 配置。这个链路 PPT 里没有明确写但每一章的知识点都能对应上。比如第 2 章的分层模型帮你定位是哪一层的问题第 3 章的 IP 编址帮你确认网段和路由第 4 章的 TCP 状态帮你判断连接是否建立。把这些串起来才算真正把 PPT 学活了。6. 避坑与常见问题学网络基础时最容易翻车的五个点6.1 现象ping 通 IP 但 ping 不通域名原因DNS 配置错误或 DNS 服务器不可达。ping 用的是 ICMP不经过 DNSping 域名需要先解析解析失败就报“未知主机”。 解决检查/etc/resolv.conf里的 nameserver 是否可达用dig nameserver 域名测试。如果内网 DNS 挂了临时换成公共 DNS 验证。6.2 现象子网划分后部分主机不通原因子网掩码配错或网关不在同一子网。比如主机 IP 是 192.168.1.100/25网关配成 192.168.1.1但 /25 的子网范围是 192.168.1.0-192.168.1.127网关 192.168.1.1 在范围内看似没问题但如果主机是 192.168.1.200/25网关 192.168.1.1 就不在同一子网了。 解决用ipcalc或手动算清楚网络地址和范围确保网关和主机在同一子网。6.3 现象TCP 连接建立慢但最终成功原因SYN 重传或半连接队列满。客户端发 SYN 后没收到 SYNACK会等待 1 秒、2 秒、4 秒后重传表现为连接慢。 解决抓包看是否有 SYN 重传检查服务端tcp_max_syn_backlog和somaxconn必要时调大。同时看是否有 SYN Flood 攻击。6.4 现象服务器大量 TIME_WAIT 导致端口耗尽原因主动关闭方在 TIME_WAIT 状态等待 2MSL如果短连接多端口会被占满。 解决开启tcp_tw_reuse和tcp_timestamps让 TIME_WAIT 的端口可以复用。但注意tcp_tw_recycle在 NAT 环境下会导致连接失败新内核已经移除别乱开。6.5 现象抓包看到重复 ACK 或乱序原因网络拥塞或链路质量差导致报文丢失或乱序。重复 ACK 是接收方在告诉发送方“我还没收到某个包”。 解决看netstat -s里的重传统计如果重传率高检查链路质量。TCP 有拥塞控制轻微乱序会自己恢复但如果持续乱序可能是中间设备做了负载均衡或策略路由。7. 进阶技巧用 PPT 里的协议知识做一次完整的连通性验证学完这份 PPT我建议你找一个真实环境做一次端到端验证而不是停留在看图上。具体做法是从一台 Linux 主机访问一个 HTTP 服务同时用 tcpdump 抓包然后逐层分析每个包。下面是我常用的抓包命令组合# 抓取从本机到目标 IP 的 80 端口流量保存到文件 tcpdump -i any -nn -w /tmp/http.pcap host 目标IP and tcp port 80 # 用 curl 发起请求 curl -v http://目标IP/index.html # 停止抓包后用 tshark 分析握手和挥手 tshark -r /tmp/http.pcap -Y tcp.flags.syn1 or tcp.flags.fin1参数说明-i any抓所有网卡-w写入文件-Y是显示过滤器。分析时重点看三个时间点SYN 到 SYNACK 的时间差网络延迟、ACK 到 HTTP GET 的时间差客户端处理、HTTP 响应到 FIN 的时间差服务端处理。如果 SYN 到 SYNACK 超过 100ms可能是网络延迟或服务端负载高如果 ACK 到 GET 很快但响应慢问题在服务端应用。我还会用ss -ti查看 TCP 连接的详细状态包括 RTT、拥塞窗口、重传次数ss -ti state established ( dport :80 )输出里的rtt是往返时间cwnd是拥塞窗口retrans是重传次数。如果 retrans 大于 0说明有丢包。这些指标比单纯看“通不通”更能反映网络质量。从那以后我每次排查网络问题都强制自己先抓包再下结论因为血泪经验告诉我你以为的“网络不通”很多时候是应用层返回了错误码或者 DNS 解析到了错误的 IP。PPT 给的是知识框架真正的熟练度来自一次次抓包和验证。希望这份笔记能帮你少走点弯路把网络基础真正变成能上手用的技能。本文还有配套的精品资源点击获取
返回列表