一、理论知识总结
1.TCP/IP协议栈

1.1 物理层
作用:负责处理 “纯硬件信号”,把二进制数据转成物理介质能传输的电信号、光信号等,是网络通信的 “最底层硬件基础”。
协议 / 标准:
100Base - TX/1000Base - T:以太网有线传输标准,规定网线(如双绞线)的电气特性、传输速率(百兆 / 千兆),家庭 / 企业网常用。
V.35/G.703:广域网(比如运营商专线)常用的物理接口标准,定义接口的电气信号、引脚功能,让路由器等设备能对接运营商网络。
G.707/G.984:和光纤传输相关,涉及光信号的复用、帧结构等,是光纤通信(比如 PON 网络、SDH 网络)的底层物理规范。
1.2 数据链路层
作用:给物理层传输的信号 “打包成帧”,加入 MAC 地址(设备物理地址),实现同一局域网内设备的直接通信,还要做 “错误检测”(比如帧校验)。
协议:
Ethernet(以太网):最常用的局域网协议,定义帧格式(目标 MAC、源 MAC、数据、校验等),办公网、家庭 WiFi 本质也是基于以太网逻辑。
PPP(点对点协议):广域网常用,比如早期拨号上网、企业专线,负责在 “点到点链路”(如两根网线直连的设备)上封装数据,支持认证(密码验证)。
HDLC(高级数据链路控制):类似 PPP,但更偏向 “纯链路层”,曾用于运营商骨干网,现在少用,主要给其他协议做基础。
Frame Relay(帧中继):老广域网技术,把数据打成 “帧” 在运营商网络里快速转发,适合批量数据传输,现在逐步被 IP 网络取代。
ATM(异步传输模式):曾追求 “语音、数据、视频都能高效传”,把数据切成固定小 “信元”,但因成本高、适配性差,被更灵活的 IP 技术替代。
X.25:很古老的广域网协议,强调 “高可靠性”(疯狂错误校验),但传输慢、效率低,早已淘汰,常当 “网络发展历史案例”。
1.3 网络层
作用:解决 “跨网络通信”,给数据加IP 地址(比如 192.168.1.1),让数据能 “找路”(路由)到其他网络,是 “跨网段通信” 的核心。
协议:
IP(网际协议):给每个设备分配逻辑 IP 地址,定义数据包格式(源 IP、目标 IP、TTL 等),让数据能跨网络传输,是网络层 “灵魂”。
ARP(地址解析协议):解决 “IP 地址 ↔ MAC 地址” 转换,比如你电脑要给同局域网另一设备发数据,用 ARP 查对方 “IP 对应的 MAC 地址”,才能在数据链路层通信。
ICMP(互联网控制消息协议):辅助 IP 工作,比如 ping 命令就是用 ICMP 发包,检测网络通不通;还有 “网络拥塞通知”“路由重定向” 也靠它。
1.4 传输层
作用:负责端到端(比如你的手机 App ↔ 服务器程序)的可靠 / 高效传输,区分 “哪个应用程序用网络”(靠端口号,比如 80 对应网页、443 对应加密网页 )。
协议:
TCP(传输控制协议):追求 “可靠传输”,像寄快递 “保价、跟踪、丢件重发”。会三次握手建立连接、确认数据是否收到、重传丢失包,适合文件下载、网页浏览(不能丢数据)。
UDP(用户数据报协议):追求 “高效传输”,像 “短信”—— 发了不管对方收没收到,速度快、开销小,适合视频通话、直播(偶尔丢包不影响整体,要速度)。
1.5 应用层
作用:直接给 “应用程序” 提供网络服务,把 “网络数据” 转成 App 能看懂的内容(比如网页、邮件),是用户最直接接触的层。
协议:
DHCP(动态主机配置协议):自动给设备分配 IP 地址,家里路由器给手机发 “192.168.1.x” 就是靠 DHCP,不用手动设置 IP。
DNS(域名系统):把 “域名(比如 baidu.com)” 转成 IP 地址,你输网址能访问,多亏 DNS 解析成服务器 IP。
Telnet:老远程登录协议,用明文传用户名密码,不安全,现在被 SSH 取代,常用来测试设备远程连接。
HTTP(超文本传输协议):网页传输基础,浏览器和服务器传网页、图片、视频靠它,HTTPS 是加密版更安全。
FTP(文件传输协议):用来传文件(比如从本地电脑传文件到服务器),分普通 FTP(明文)和 SFTP(加密)。
TFTP(简单文件传输协议):比 FTP 更简单、开销小,适合设备初始化(比如路由器刷固件)传小文件。
SMTP(简单邮件传输协议):发邮件用的,把你写的邮件传到邮件服务器,收邮件常用 POP3/IMAP(图里没列,但流程相关 )。
SNMP(简单网络管理协议):管理网络设备(比如路由器、交换机),管理员用它查设备状态、改配置、收告警。
小结:
物理层:管 “硬件信号”,让数据能在网线 / 光纤里传。
数据链路层:管 “局域网内通信”,加 MAC 地址、组帧。
网络层:管 “跨网通信”,加 IP 地址、找路由,ARP 转 IP 和 MAC,ICMP 辅助查错。
传输层:管 “端到端传输”,TCP 可靠、UDP 高效,用端口区分应用。
应用层:管 “应用服务”,直接对接 App,各种协议实现网页、邮件、文件传输等功能。
2. IP协议特点
① IP是无连接的,在传输数据之前不需要建立连接。
3. IP包头结构

3.1 基础结构(固定 20 字节起)
版本:4 位,标识 IPv4(值为 4 ),区分协议版本。
包头长度:4 位,单位为 4 字节(如 20 字节包头对应值为 5 ,带选项时更长 )。
服务类型:8 位,用于 QoS(前 3 位 IP 优先级、前 6 位 DSCP ,标记数据优先级 )。
报文长度:16 位,IP 包总长度(包头 + 数据),单位字节。
3.2 分片控制(应对数据包过大)
当 IP 包超过链路 MTU(最大传输单元,如以太网默认 1500 字节 ),会分片传输,依赖以下字段重组:
标识符(16 位):同一原始包的分片,标识符相同,标记 “同属一包”。
标志位(3 位):
DF(第 2 位):DF=1 禁止分片,DF=0 允许分片;
MF(第 3 位):MF=1 表示后续还有分片,MF=0 为最后一个分片。
分段偏移量(13 位):分片在原始包中的位置(单位 8 字节 ),确保重组顺序。

3.3 传输控制
TTL(存活时间):8 位,每经过 1 个路由器减 1 ,防止数据包在网络中无限循环(值为 0 则丢弃 )。
协议:8 位,标识上层协议(如 TCP=6 、UDP=17 ,让 IP 包知道交给谁处理 )。
包头校验和:16 位,校验包头完整性,发现损坏则丢弃包。
3.4 地址与扩展
源 / 目标 IP 地址:各 32 位(IPv4 地址 ),标记数据的起点和终点。
选项 + 填充:可选扩展字段(如记录路由、时间戳 ),需填充到 4 字节整数倍,保证包头对齐。
小结:
IP 包头是数据包的 “指挥中心”,用版本、地址确定通信规则,靠分片、TTL 保障传输,借协议、校验和衔接上下层,让数据在网络里 “有序、可控、准确” 地从源到目标 。
4. MTU与IP分片
4.1 MTU 是什么?(最大传输单元)
- 链路层 MTU:链路层能传的最大 “帧”(含链路层头部),比如以太网默认 1500 字节,超过就得分片 / 丢弃。
- 网络层 MTU:网络层能传的最大 “包”(含网络层头部,如 IP 包头 ),受链路层 MTU 限制。
4.2 Cisco 设备的 MTU 规则(重点!网络工程师必懂)

Cisco 路由器 / 交换机转发数据包时,进出接口都检查 MTU,规则分两种场景:
① 只配 MTU 命令:影响所有类型报文(IP、MPLS 等)的转发,限制 “二层净载荷” 最大长度(默认 1500 字节 )。
② 同时配 MTU + IP MTU/MPLS MTU:
IP MTU 只管 IP 报文,MPLS MTU 只管 MPLS 报文;
普通 MTU 命令不再影响 IP/MPLS 报文,只限制其他类型(比如纯二层帧 )。
4.3 IP分片的触发与规则(数据包 “拆包 - 重组” 逻辑)

分片标识:用 标识符、标志位(MF)、分段偏移量 标记分片,确保目标主机能 “拼回原包”。
小结:
MTU 是链路 / 网络层 “单次能传的最大数据量”,Cisco 设备严格检查进出接口 MTU ;IP 包超 MTU 时,DF=1 则丢包,DF=0 则分片(仅目标主机重组 ),核心是让大数据包 “拆得开、拼得回”,保障跨网络传输。
5. TCP协议
5.1 TCP协议概述
TCP(传输控制协议)是 TCP/IP 协议族中传输层的核心协议之一,用于在网络中实现可靠的数据传输 。
5.1.1 TCP 是面向连接的,数据传输需要经过建立连接、传输数据、断开连接三个阶段
面向连接:类比打电话,要先拨通(建立连接),通话中交流内容(传输数据),最后挂断(断开连接),通过三次握手建立连接、四次挥手断开连接,保障通信双方状态同步 。
三个阶段:是 TCP 通信的基本流程,建立连接为数据传输做准备,确保双方就绪;传输数据是核心,交互实际信息;断开连接释放资源,避免占用。
5.1.2 全双工通信,数据可在同一连接上同一时间内双向流动
全双工:如同两个人面对面聊天,你说你的、我说我的,互不干扰,TCP 连接里发送端和接收端能同时收发数据,提升通信效率,比如浏览器下载网页时,服务器发数据,浏览器也能发确认消息 。
5.1.3 TCP 提供有序的数据传输,接收端按字节对数据进行确认
有序传输:TCP 给每个字节数据编号(序列号),接收端按编号重组,像快递按顺序投递,确保应用层拿到的数据是整齐、无乱序的 。
按字节确认:接收端收到数据后,回复确认报文(含期望下一个字节序号),让发送端知道数据已妥收,若没收到确认,发送端会重传,保障可靠 。
5.1.4 TCP 数据传输是可靠的,包头中含有校验和可对数据进行校验,并具有超时重传机制重传丢失的数据
校验和:TCP 包头里的校验和字段,发送端计算数据和包头的校验值,接收端重新计算比对,若不一致,认为数据出错丢弃,触发重传,检测传输错误 。
超时重传:发送端发数据后启动定时器,超时没收到确认,就重传数据,应对网络丢包、延迟等,保证接收端拿到完整数据 。
5.1.5 TCP 提供高质量的传输服务,通过滑动窗口机制实现流量控制
滑动窗口:接收端告知发送端自己的接收缓冲区大小(窗口大小),发送端据此调整发送数据量,避免发送过快,接收端缓冲区溢出,像交通信号灯控制车流,保障数据平稳传输 。
5.1.6 TCP 适合于可靠性要求高的应用
因为 TCP 有连接管理、有序传输、校验和、重传、流量控制等机制,能保障数据准确、完整送达,像文件下载(FTP)、网页浏览(HTTP 基于 TCP)、邮件收发(SMTP)等,丢包或乱序会导致文件损坏、网页加载异常,所以用 TCP 。
小结:
TCP(传输控制协议)是传输层核心协议,面向连接,通信分建立连接、传输数据、断开连接三阶段,支持全双工双向同时收发;靠序列号、确认机制保障有序传输,用校验和、超时重传实现可靠传输,借滑动窗口做流量控制,为文件下载、网页浏览等可靠性要求高的应用,提供准确、稳定的数据传输服务 。
5.2 TCP包头结构核心字段分析

5.2.1 端口号(源端口 + 目标端口,各 16 位 )
作用:区分同一设备上的不同应用程序。比如浏览器用 80/443 端口访问网页,QQ 用随机端口通信。
范围:0 - 65535 ,其中 0 - 1023 是知名端口(如 HTTP=80 、FTP=21 ),系统级应用常用;1024+ 是动态端口,普通程序按需分配。
5.2.2 序列号与确认号(均 32 位 )
序列号(Sequence Number):给发送的每个报文段编唯一号,是该段 “第一个字节的编号”。
例:传 5000 字节文件,首字节编号 10001 ,若分 5 段、每段 1000 字节,则 5 段序列号依次为 10001、11001、12001、13001、14001 ,对应数据范围 10001 - 11000 、11001 - 12000 等。
确认号(Acknowledgment Number):接收方期望下一个字节的编号,用于告诉发送方 “我收到了哪些数据,接下来该发啥”。
例:收到序列号 10001 - 11000 的报文段,确认号填 11001 ,表示 “已收到到 11000 字节,下一个要 11001”。
注意:IP编号从0开始,TCP编号不一定从0开始。
5.2.3 报头长度(4 位 )
表示 TCP 包头占多少个 “4 字节块”。因包头可能含 “选项” 字段(0 或 32 位 ),需用此标识实际包头长度(默认 20 字节,对应值为 5 ;含选项时更长 )。
5.2.4 窗口(16 位 )
滑动窗口的 “接收窗口大小”,单位字节。接收方用它告诉发送方 “我还能收多少数据”,实现流量控制(避免发送方发太快,接收方缓存溢出 )。
5.2.5 校验和(16 位 )
对 TCP 包头 + 数据做校验,检测传输中是否出错。若校验失败,接收方直接丢弃报文段,触发发送方重传。
5.2.6 编码位(TCP Flag,6 个关键标志 )
SYN(同步):建立连接时用,SYN=1 表示 “请求建立连接”(三次握手第一步:客户端发 SYN 包 )。
ACK(确认):确认号有效标识,ACK=1 时确认号才起作用(三次握手后,ACK 常为 1 )。
FIN(结束):FIN=1 表示 “请求断开连接”(四次挥手时,主动关闭方发 FIN 包 )。
RST(复位):RST=1 强制重置连接,用于处理异常(如连接超时、资源冲突 )。
PSH(推送):PSH=1 时,接收方立即把数据交给应用层,不缓存(加速交互,比如实时通信 )。
URG(紧急):URG=1 时紧急指针有效,标记报文段里有 “紧急数据”(需优先处理 )。

5.3 TCP包头的核心作用总结
TCP 包头是 “可靠传输的指挥中心”,通过以下机制保障通信:
① 端口号:精准区分应用,让数据 “对号入座”。
② 序列号 + 确认号:给数据 “编序号、确认收”,实现有序传输 + 可靠确认,确保接收方拿到完整、不乱序的数据。
③ 窗口:动态调节发送速度,避免 “发太猛、收不下”,实现流量控制。
④ 校验和:检测数据完整性,发现错误直接丢包重传。
⑤ 编码位:用标志位控制连接状态(建立、断开、复位 ),还能处理紧急 / 推送数据,让 TCP 适配不同场景(如网页浏览、文件传输、实时通信 )。
小结:
TCP 包头靠 “编号确认、动态调速、状态控制”,实现可靠、有序、可控的端到端传输,是 HTTP、FTP 等应用 “不丢包、不乱序” 的核心保障 。
5.4 TCP工作机制
5.4.1 TCP 连接建立(三次握手)

过程:
Host A 发 SYN=1, SEQ=X → 请求建立连接,告诉 Host B “我要连你,初始序号是 X”。
Host B 回 SYN=1, ACK=1, SEQ=Y, ACK=X+1 → 同意连接,同时发自己的初始序号 Y ,并确认收到 A 的 X(期望下一个序号是 X+1 )。
Host A 回 ACK=1, SEQ=X+1, ACK=Y+1 → 确认 B 的连接请求,告诉 B “我收到你的 Y 了,下一个要 Y+1”。
作用:三次交互让双方同步 “初始序号”,确认彼此 “能发能收”,为可靠传输打基础。
5.4.2 TCP MSS(最大分段大小)

基本逻辑:
三次握手时,双方交换 TCP MSS(如 Host A 说 “我能收 1460 字节的分段”,Host B 说 “我能收 1452 字节” ),避免发送的分段过大导致分片 / 丢包。
网络干预场景:

若网络有特殊 MTU 限制(如中间路由器 MTU 小 ),可通过 ip tcp adjust-mss 命令修改 MSS ,强制缩小分段大小,解决 “大报文传不过去” 的问题。
5.4.3 TCP 数据传输机制
传输确认:

Host A 连续发多个数据段(带 SEQ 序号 ),Host B 回 ACK 确认(如 A 发 SEQ=1、1025、2049…,B 回 ACK=4097 ,表示 “收到到 4096 字节,下一个要 4097” ),保障数据有序、不丢。
超时重传:

若某数据段(如 SEQ=1025 )丢失,Host A 发完启动定时器(RTT ),超时没收到 ACK 就重传该段,确保 B 收到完整数据。
双向传输:

TCP 是全双工,Client 和 Server 可同时收发数据,双方都有自己的 SEQ、ACK ,独立确认传输。
5.4.4 TCP 连接断开(四次挥手 / 三次挥手)
四次挥手(常规流程):

Host A 发 FIN=1, SEQ=P → 请求断开,告诉 B “我没数据发了”。
Host B 回 ACK=1, ACK=P+1 → 确认 A 的断开请求,但可能还有数据要发,先不关闭。
Host B 发 FIN=1, SEQ=Q → 告诉 A “我也没数据了,同意断开”。
Host A 回 ACK=1, ACK=Q+1 → 确认 B 的断开请求,连接关闭。
三次挥手(优化场景):

若 B 回 FIN 时直接带 ACK(合并步骤 ),可简化为三次交互,快速释放连接。
5.4.5 TCP 流量控制(滑动窗口)

核心逻辑:
接收方(Host B )通过 ACK 里的 win(窗口大小 )告诉发送方(Host A )“我还能收多少数据”。
若网络拥塞,B 减小窗口(如 win=2048 ),A 就少发数据;传输稳定后,窗口再慢慢增大,避免 “发太猛,收不下”。
小结:
TCP 靠 “三次握手建连接、四次挥手断连接” 管理通信状态;用 序列号(SEQ)、确认号(ACK) 保障数据有序、不丢;借 超时重传 应对网络丢包;通过 MSS 协商 适配网络 MTU ;以 滑动窗口 实现流量控制,让发送速度匹配接收能力。
简单说:TCP 把 “连接管理、有序确认、丢包重传、流量适配” 全流程打通,用一套机制实现可靠、可控、高效的端到端传输,成为文件下载、网页浏览等场景的 “幕后保障”。
二、子网划分作业总结
1. 子网掩码 255.255.240.0,判断 150.150.0.0、150.150.0.8、150.150.8.0、150.150.16.0 是否合法。


先计算子网掩码的“块大小”,再逐一验证每个IP对应的那个段是否是块大小的倍数。
2. 在一个分公司中,目前有5个部门A至E,其中:A部门有10台PC(Host,主机),B部门20台,C部门30台,D部门15台,E部门20台,然后公司总部分配了一个总的网段192.168.2.0/24给你,作为网络的管理者,你的任务是为每个部门划分单独的网段,你该怎样做呢?

3. 就是要某单位要求有个部门,要建立6个子网,3个部门50台,1部门25台,2部门都是10台,有一个C类地址是192.168.1.0,求个子网的网络地址和广播地址及子网掩码。

4. 某中型企业的网络设备与主机数量下图所示。请根据该公司的具体情况为该公司作IP地址规划;(附加题)(请尽量节省地址)

变长子网掩码划分

这类 企业网子网划分 题目,核心是 “按需分配、避免地址浪费”,解题步骤可总结为 4 步:
步骤 1:明确需求,排序部门
列出每个部门的主机数量,并按 “从多到少” 排序(优先满足大部门,防止大部门地址不够 )。
步骤 2:计算每个部门需要的地址数

步骤 3:确定子网掩码,分配网段
步骤 4:验证地址不重叠
三、实验知识总结(真机)
DHCP中继实验
实验拓扑图:

二层交换机配置:

三层交换机配置:


路由器配置:

测试:

实验小结:
容易忘记的配置命令:
① 配置三层交换机的路由接口时,要先no sw关闭二层接口;
② 路由器的接口应该先打开,no shutdown;
③ 路由器的静态路由配置,ip route 192.168.10.0 255.255.255.0 192.168.1.1
ip route 192.168.20.0 255.255.255.0 192.168.1.1
④ 模拟器的接口和真机接口不一定相同,比如三层交换机真机接口是f1/0/0、f1/0/1等,而模拟器接口是f0/0、f0/1等。
38万+

被折叠的 条评论
为什么被折叠?



