尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

云计算基础-13:Linux网络管理实战-1

云计算基础-13:Linux网络管理实战-1 # 博客原文链接Breeze作为一名运维工程师你每天都在与网络打交道。但你有没有想过当你在浏览器中输入www.baidu.com并回车的那一瞬间到底发生了什么数据是如何从你的电脑穿过层层网络设备最终到达百度服务器的要回答这些问题你需要理解网络通信模型。本文将系统讲解 OSI 七层模型、TCP/IP 协议族、数据封装与解封装过程以及网络通信中必不可少的进制转换基础知识。这些看似理论的知识实际上是你排查网络故障、理解协议行为的底层逻辑。文章表述可能难懂可以做个了解之后跳过再深入学习OSI 七层模型简介OSIOpen System Interconnection开放系统互联模型由国际标准化组织ISO制定。OSI 模型的核心价值定义了不同计算机互联的标准提供了设计和描述计算机网络通信的框架将全世界网络通信的工作划分为7 个层次OSI 七层结构┌─────────────────────────────────────┐ │ ⑦ 应用层 Application │ ← 应用程序/原始数据 ├─────────────────────────────────────┤ │ ⑥ 表示层 Presentation │ ← 格式/压缩/加密 ├─────────────────────────────────────┤ │ ⑤ 会话层 Session │ ← 会话/全双工/半双工 ├─────────────────────────────────────┤ │ ④ 传输层 Transport │ ← 分段/重组/端口号 ├─────────────────────────────────────┤ │ ③ 网络层 Network │ ← IP地址/寻址/路由 ├─────────────────────────────────────┤ │ ② 数据链路层 Data Link │ ← MAC地址/局域网 ├─────────────────────────────────────┤ │ ① 物理层 Physical │ ← 传输介质/比特流 └─────────────────────────────────────┘我个人有个谐音记忆的方法应表会传往树屋制定 OSI 模型的优势优势说明开放标准公开任何厂商都可以遵循厂商兼容性不同厂商的设备可以互联互通易于理解、学习分层结构清晰便于教学模块化工程各层独立开发互不影响故障排除可以逐层排查定位问题所在各层功能详解第 7 层应用层Application Layer功能为用户的应用程序提供网络服务接口。关键词应用程序、原始数据典型应用应用协议场景QQ、微信即时通信协议聊天、视频爱奇艺、优酷HTTP/HTTPS视频流媒体吃鸡、王者荣耀游戏协议网络游戏通俗理解你打开的所有应用——浏览器、QQ、游戏——都属于应用层。第 6 层表示层Presentation Layer功能处理数据的格式转换、压缩和解压缩、加密和解密。关键词格式、压缩、加密核心功能功能说明类比格式转换不同系统之间的数据格式统一翻译官数据压缩减小数据体积加快传输速度打包行李数据加密保障数据传输安全鸡毛信简单比喻古代送信时重要情报会写在绢布上卷成小筒藏在鸡毛里——这就是最早的加密压缩。表示层做的事类似让数据传得更快、更安全。第 5 层会话层Session Layer功能建立、管理和终止应用程序之间的会话连接。关键词会话、全双工/半双工、身份信息通信模式模式说明类比全双工双方可以同时发送和接收数据打电话双方可以同时说话半双工同一时间只能一方发送数据对讲机按住说话松开收听单工只能单向传输数据广播/电视只能接收不能发送电话 vs 对讲机的比喻打电话时双方可以同时说话全双工对讲机只能一方说一方听半双工。会话层决定了通信的对话模式。第 4 层传输层Transport Layer功能提供端到端的数据传输服务负责数据的分段、重组和端口号管理。关键词分段、重组、端口号、传输效率核心职责职责说明分段将大数据拆分成适合传输的小段重组在接收端将数据段还原为完整数据端口号标识数据应该交给哪个应用程序可靠性确保数据完整、有序到达通俗理解传输层就像快递员——把你的大包裹拆分成小包裹分段贴上标签端口号送到对方后再重新组装重组。第 3 层网络层Network Layer功能负责数据包从源到目的地址的传输路径选择路由和逻辑寻址。关键词IP 地址、寻址、路由核心职责职责说明IP 地址全球唯一的逻辑地址寻址确定数据包的目标地址路由选择最优传输路径总目标全球地址——让世界上任何两台设备都能互相通信。通俗理解网络层就像邮局的分拣系统——根据信封上的地址IP 地址决定包裹应该走哪条路线到达目的地。第 2 层数据链路层Data Link Layer功能负责同一局域网内的数据传输使用物理地址MAC进行设备识别。关键词MAC 地址、局域网、帧核心职责职责说明MAC 地址网卡唯一的物理地址如00:50:56:C0:00:08帧封装将网络层的数据包封装为帧错误检测检查传输过程中的数据错误分段目标局部地址——在局域网范围内找到正确的设备。邮递员的比喻数据链路层就像小区的邮递员——他知道每栋楼、每户人家的具体位置MAC 地址负责把包裹从小区门口送到你家门口。第 1 层物理层Physical Layer功能定义物理传输介质的电气、机械、过程和功能规范负责比特流的物理传输。关键词传输介质、比特流传输介质介质类型示例有线网线双绞线、光纤无线Wi-Fi 信号、4G/5G、蓝牙电信号电流、光信号通俗理解物理层就是路——公路、航道、光纤数据就是路上跑的车。没有路车就跑不起来。TCP/IP 模型TCP/IP 五层模型TCP/IPTransmission Control Protocol/Internet Protocol传输控制协议/网际协议。与 OSI 模型的对比OSI 七层模型TCP/IP 五层模型说明⑦ 应用层应用层合并了 OSI 的应用层、表示层、会话层⑥ 表示层↑↑⑤ 会话层↑↑④ 传输层传输层相同③ 网络层网络层相同② 数据链路层数据链路层相同① 物理层物理层相同TCP/IP 四层模型在实际应用中TCP/IP 通常被描述为四层模型四层模型包含的 OSI 层说明应用层应用层 表示层 会话层所有应用相关协议传输层传输层TCP、UDP网络层互联网层网络层IP、ICMP网络接口层数据链路层 物理层硬件和介质相关OSI vs TCP/IP 模型对比对比维度OSI 模型TCP/IP 模型推出时间稍晚1984 年更早1974 年开始发展理论基础先有理论后有实现先有实践后总结理论层级数量7 层4 层或 5 层实际应用理论模型用于教学居多当今互联网通信的实际标准背景国际标准化组织ISO制定美国军方 ARPANET 实践中总结数据单元PDU在网络通信中每一层对数据都有不同的称呼这些称呼统称为协议数据单元PDU, Protocol Data Unit。打个比方牛奶从鲜奶变成奶粉要经历很多道工序。信息从产生到接收也会经历不同的变身。为了方便交流通信模型对不同阶段的信息进行了统一命名。各层数据单元层级数据单元名称英文简称类比应用层应用协议数据单元Application Protocol Data UnitAPDU鲜牛奶传输层数据段SegmentSegment桶装牛奶网络层数据包/数据报Packet/DatagramPacket装箱的桶数据链路层数据帧FrameFrame装车发运物理层比特流BitBit公路上的运输过程数据封装与解封装简介信息从一台计算机产生经过 TCP/IP 模型各层加工最终传递到另一台计算机。这个通信过程就像快递从厂家包装到顾客收到货物拆包一样。封装发送数据时从上到下逐层添加头部信息解封装接收数据时从下到上逐层剥离头部信息数据封装过程发送端┌──────────────────────────────────────────────┐ │ ⑤ 应用层用户信息转换为数据 │ │ 数据 用户原始信息 │ ├──────────────────────────────────────────────┤ │ ④ 传输层数据 → 数据段 │ │ 源端口号 目标端口号 │ │ 序号 校验和 │ │ 建立可靠连接 │ ├──────────────────────────────────────────────┤ │ ③ 网络层数据段 → 数据包 │ │ 源 IP 地址 目标 IP 地址 │ │ TTL 协议类型 │ │ 数据包可通过互联网络传输 │ ├──────────────────────────────────────────────┤ │ ② 数据链路层数据包 → 数据帧 │ │ 源 MAC 地址 目标 MAC 地址 │ │ 帧校验序列FCS │ │ 在本地网段传输硬件地址标识主机 │ ├──────────────────────────────────────────────┤ │ ① 物理层数据帧 → 比特流 │ │ 数字编码和时钟方案 │ │ 通过传输介质网线/光纤/无线发送 │ └──────────────────────────────────────────────┘数据封装步骤总结步骤层级操作主要添加的信息1应用层用户信息转换为数据应用层协议头2传输层数据 → 数据段建立可靠连接源/目标端口号3网络层数据段 → 数据包添加逻辑地址源/目标 IP 地址4数据链路层数据包 → 帧添加硬件地址源/目标 MAC 地址5物理层帧 → 比特流通过介质发送无直接传输封装与解封装示意发送端封装 网络传输 接收端解封装 ---------------------------------------------------------------------- 应用层数据 ──────────────────────────────────────── 应用层数据 ↓ 加TCP/UDP头 ↑ 剥TCP/UDP头 传输层段 ──────────────────────────────────────── 传输层段 ↓ 加IP头 ↑ 剥IP头 网络层分组 ──────────────────────────────────────── 网络层分组 ↓ 加MAC头FCS尾 ↑ 剥MAC头FCS尾 链路层帧 ──────────────────────────────────────── 链路层帧 ↓ 转换为比特流 ↑ 还原为帧 物理层比特流 →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→ 物理层比特流 ----------------------------------------------------------------------TCP/IP 协议族应用层协议协议全称用途典型场景端口号HTTPHyperText Transfer Protocol超文本传输浏览网页淘宝、百度80HTTPSHTTP Secure加密的 HTTP安全网页访问443SSHSecure Shell安全远程登录远程控制服务器远程桌面等22FTPFile Transfer Protocol文件传输文件上传下载电影天堂21SMTPSimple Mail Transfer Protocol邮件传输发送电子邮件QQ 邮箱25DNSDomain Name System域名解析将域名转换为 IPbaiyun.com → 1.2.3.453传输层协议TCP vs UDP 对比对比维度TCPUDP全称Transmission Control ProtocolUser Datagram Protocol可靠性可靠有确认、重传、排序不可靠发出去就不管了连接面向连接三次握手建立连接无连接直接发送速度较慢需要确认和重传更快无需等待确认流量控制有滑动窗口机制无适用场景网页浏览、文件传输、邮件视频直播、在线游戏、DNS 查询类比挂号信有签收、可追踪普通信寄出去就不管了挂号信 vs 普通信的比喻TCP 像挂号信寄出去后你能知道对方是否收到如果丢失了会重新寄送UDP 像普通信寄出去就不管了到不到看运气但速度快、成本低网络层协议协议全称用途典型场景IPInternet Protocol互联网协议负责寻址和路由每台设备的 IP 地址192.168.1.1ICMPInternet Control Message Protocol网络消息管理用于测试和诊断ping命令通信兵的比喻ICMP 就像军队中的通信兵——负责探测线路是否通畅、报告网络状态。ping命令就是派出一个通信兵去探测目标是否可达。数据链路层与物理层层级核心概念类比数据链路层MAC 地址家到邮局的地址本地地址物理层网线、光纤、无线信号公路、航道传输通道协议族概览┌─────────────────────────────────────────────────┐ │ 应用层 │ │ HTTP SSH FTP SMTP DNS DHCP Telnet ... │ ├─────────────────────────────────────────────────┤ │ 传输层 │ │ TCP UDP │ ├─────────────────────────────────────────────────┤ │ 网络层 │ │ IP ICMP IGMP ARP │ ├─────────────────────────────────────────────────┤ │ 数据链路层 │ │ Ethernet PPP PPPoE WiFi │ ├─────────────────────────────────────────────────┤ │ 物理层 │ │ 网线 光纤 无线信号 4G/5G 蓝牙 │ └─────────────────────────────────────────────────┘进制转换基础网络地址尤其是 IP 地址和子网掩码的本质是二进制数。理解进制转换是理解 IP 地址、子网划分、路由计算的基础。十进制Decimal我们日常使用的数字系统。概念说明示例数值0 ~ 9共 10 个符号0, 1, 2, 3, 4, 5, 6, 7, 8, 9数位数字的位置123中的1、2、3位权每个位置代表的权重百位、十位、个位100, 10, 1数位能不能随便调整当然不能123和321是完全不同的数。二进制Binary计算机使用的数字系统。概念说明示例数值0 ~ 1共 2 个符号0, 1数位每一位只能是 0 或 1101中的1、0、1位权2 的幂次128, 64, 32, 16, 8, 4, 2, 1二进制位权表位权2⁷2⁶2⁵2⁴2³2²2¹2⁰值1286432168421记住这 8 个数字128-64-32-16-8-4-2-1它们是二进制和十进制互转的关键十六进制Hexadecimal编程和网络中常用的紧凑表示法。概念说明数值0~9, A(10), B(11), C(12), D(13), E(14), F(15)数位每一位可以是 0-F位权16 的倍数… 256, 16, 1十六进制对照表十进制0123456789101112131415十六进制0123456789ABCDEF二进制与十进制互转十进制 → 二进制方法位权加减法写出 8 位二进制的位权128, 64, 32, 16, 8, 4, 2, 1通过加减法从大到小凑出目标数字用到的位权标记为 1没用到的标记为 0示例十进制计算过程二进制129128 11000 0001192128 641100 0000130128 21000 00106764 2 10100 00113332 10010 0001一、核心方法 1除 2 取余法通用方法示例 1十进制 129 → 二进制 129 ÷ 2 64 余 1 ← 最低位 64 ÷ 2 32 余 0 32 ÷ 2 16 余 0 16 ÷ 2 8 余 0 8 ÷ 2 4 余 0 4 ÷ 2 2 余 0 2 ÷ 2 1 余 0 1 ÷ 2 0 余 1 ← 最高位 结果从下往上读余数 → 10000001 示例2十进制 192 → 二进制示例 1十进制 129 → 二进制 192 ÷ 2 96 余 0 ← 最低位 96 ÷ 2 48 余 0 48 ÷ 2 24 余 0 24 ÷ 2 12 余 0 12 ÷ 2 6 余 0 6 ÷ 2 3 余 0 3 ÷ 2 1 余 1 1 ÷ 2 0 余 1 ← 最高位 结果从下往上读余数 → 11000000 示例 3十进制 33 → 二进制 33 ÷ 2 16 余 1 ← 最低位 16 ÷ 2 8 余 0 8 ÷ 2 4 余 0 4 ÷ 2 2 余 0 2 ÷ 2 1 余 0 1 ÷ 2 0 余 1 ← 最高位 结果从下往上读余数 → 100001补成 8 位标准字节格式00100001二、核心方法 28421 权值法8 位以内快速计算示例 1十进制 129 → 二进制权值1286432168421判断129≥1281641321161814121≥1结果10000001示例 2十进制 192 → 二进制权值1286432168421判断192≥12864≥6403201608040201结果11000000示例 3十进制 33 → 二进制权值1286432168421判断33128336433≥321161814121≥1结果00100001二进制 → 十进制方法将每一位的位权值相加示例1010 1010 128 0 32 0 8 0 2 0 170练习1111 1110 128 64 32 16 8 4 2 0 254常用二进制/十进制对照表十进制二进制说明00000 0000全 010000 0001最低位为 11270111 11117 个 11281000 0000最高位为 11921100 00002 个 1常见子网掩码2241110 00003 个 12401111 00004 个 12481111 10005 个 12521111 11006 个 12541111 11107 个 12551111 1111全 1这些数字在网络配置中经常出现特别是子网掩码的计算。建议记下来存储单位换算单位全称换算关系说明bit (b)比特1 bit 1/0最小信息单位Byte (B)字节1 Byte 8 bits基本存储单位KBKilobyte1 KB 1024 BytesMBMegabyte1 MB 1024 KBGBGigabyte1 GB 1024 MBTBTerabyte1 TB 1024 GB我们习惯性的以1G1000MB的说法也是没多大问题的ASCII 编码ASCIIAmerican Standard Code for Information Interchange美国信息交换标准代码。1 个英文字母 1 个字节 8 个比特1 个中文字符 2~4 个字节取决于编码方式GBK2 字节UTF-83 字节感兴趣的可以看看这个对照表ASCII码对照表ASCII码一览表非常详细 - C语言中文网网络速度 vs 存储速度注意区分网络速度单位MbpsMegabits per second兆比特每秒下载速度单位MB/sMegabytes per second兆字节每秒100 Mbps ÷ 8 12.5 MB/s 1 Gbps ÷ 8 125 MB/s为什么你的 100M 宽带下载速度只有 12.5 MB/s因为运营商说的是比特而下载软件显示的是字节差了 8 倍总结通过本章节的学习你应该掌握了理解 OSI 七层模型的层级结构和各层功能理解 TCP/IP 五层/四层模型及其与 OSI 模型的对应关系掌握各层的核心概念应用层→原始数据、传输层→端口号、网络层→IP 地址、链路层→MAC 地址、物理层→比特流理解数据单元PDU的概念APDU、Segment、Packet、Frame、Bit理解数据封装发送端逐层加头和解封装接收端逐层去头的过程熟悉常见的应用层协议HTTP、SSH、FTP、SMTP、DNS理解 TCP可靠、面向连接和 UDP不可靠、无连接的区别理解 IP 和 ICMP 协议的作用掌握二进制与十进制的互转方法熟悉常用二进制数值特别是子网掩码相关数值掌握存储单位换算bit → Byte → KB → MB → GB → TB学习建议网络基础看似理论但它是你理解一切网络行为的基石。建议将 OSI 七层模型和 TCP/IP 协议族的知识与你之前学过的网络配置实践结合起来理解——IP 地址属于哪一层端口号又是谁负责的ping 命令用的是哪个协议多问多想理论与实践结合才能真正掌握。
返回列表