业余无线电爱好者 - 计算机网络基础
第三章 传输层 第五节 传输控制协议TCP
IP转十六进制核心原理生活类比： 把IP地址看成 "电话号码"（如192.168.1.108），转换十六进制就像 "把号码翻译成摩斯密码" 每个数字 → 一组固定长度的特殊符号（十六进制两位）graph LR A[IP地址] --> B[拆成4段] --> C[每段转十进制数] --> D[十进制转十六进制] --> E[补零凑齐两位] --> F[拼接最终结果]分步教学演示（以192.168.1.108为例）步骤1：拆解IP地址 → 理解四段结构IP地址：192 . 168 . 1 . 108 │ │ │ │ 段1 段2 段3 段4 → 像手机号 138-XXXX-YYYY强调：每段范围是0-255（类比手机号每段0-9）步骤2：每段十进制转十六进制（核心计算）计算工具："除16取余法"（用计算器演示） 以段1（192）为例：192 ÷ 16 = 12 → 商数12（十六进制的C）余数 = 0 → 192 - 12×16 = 0结果：C + 0 → C0学生动手实践表：IP段计算过程十六进制记忆口诀192192÷16=12余0 → 12=C, 0=0C0"除16，商余拼"168168÷16=10余8 → 10=A, 8=8A8商A余8 → A811÷16=0余1 → 0=0, 1=101不足两位要补零！108108÷16=6余12→ 6=6,12=C6C6×16=96,108-96=12→C关键提示：十六进制符号：0-9对应数字，10=A, 11=B, 12=C, 13=D, 14=E, 15=F结果必须两位！不足补零（如1→01）步骤3：拼接最终结果 → 生成连续代码段1：C0 段2：A8 段3：01 段4：6C ↓↓↓ 像拼乐高 最终：C0A8016C类比训练： 把 "上海-浦东-张江-108号" 转成缩写 "SH-PD-ZJ-108" → 同样分段编码常见错误预防表错误类型案例纠正方法记忆口诀忘记补零1转成1强制补零 → 01"一位数前加零"十六进制符号混淆12写成1212→C"超9用字母"计算顺序错误先取余再除先除16得商，再取余数"先除后余"忽略小数点192.168写成C0A8严格按.分段"见点就分段"课堂互动游戏游戏1：IP解码挑战赛教师给出十六进制代码，学生反向解析IP地址：题目：C0A86401 → 答案：192.168.100.1 解析： C0 → 192 A8 → 168 64 → 100（6×16 + 4 = 100） 01 → 1游戏2：快速转换接力分组竞赛，用速查表完成转换（提供工具表）：十进制十六进制十进制十六进制0-150-F192C01610168A83220255FF644012880任务：将 10.255.128.64 转十六进制 → 0A FF 80 40教学工具包动态转换器： 在线IP转十六进制工具计算尺教具：┌──────┬─────┐ │ 十进制 │ 十六进制 │ ├──────┼─────┤ │ 192 │ C0 │ ← 滑动指针对准 └──────┴─────┘为什么需要转换？ → 实际应用场景网络配置：路由器设置需要十六进制格式的子网掩码协议分析：Wireshark抓包显示的源/目的IP都是十六进制编程开发：# Python socket编程示例 import socket addr = socket.inet_aton("192.168.1.108") print(addr.hex()) # 输出：c0a8016c终极记忆法： 把IP地址想象成 "四组密码锁"（每组0-255），转十六进制就是 "把数字密码转成字母密码"