当前位置: 首页 > news >正文

从OSI到TCP/IP:Linux网络架构深度解析

一、网络概述

1.网络本质

       所谓网络 ,就是通过物理介质(网线、光纤、WiFi)连接设备,实现设备间的通信和数据交换。

2.核心要素

  • 节点:计算机、服务器、路由器、交换机等设备
  • 链路:连接节点的物理通道
  • 协议:控制通信的规则集(TCP/IP, HTTP等)

3.网络类型

  • LAN(局域网):办公室、家庭网络
  • WAN(广域网):跨地域网络(互联网)
  • MAN(城域网):城市范围网络

二、网络层次模型(OSI 7层模型)

1.概述

       OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。

       OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

2.七层模型详解

关键记忆法:物数网传会表应

层次名称核心功能典型协议/设备数据传输单位
1物理层比特流传输、物理接口定义、电气特性RJ45, IEEE 802.11, 集线器比特(Bit)
2数据链路层物理寻址(MAC)、帧同步、差错控制、流量控制Ethernet, PPP, 交换机帧(Frame)
3网络层逻辑寻址、路由选择、分组转发IP, ICMP, OSPF, 路由器包(Packet)
4传输层端到端连接管理、流量控制、错误恢复TCP, UDP, SCTP段(Segment)
5会话层建立、管理和终止应用程序间的会话NetBIOS, RPC, SIP数据(Data)
6表示层数据格式转换、加密解密、压缩解压SSL, TLS, JPEG, MPEG数据(Data)
7应用层提供用户接口和网络服务HTTP, FTP, SMTP, DNS数据(Data)

三、TCP/IP模型(4层架构详解)

TCP/IP层级对应OSI层核心协议主要功能
应用层5-7层HTTP, FTP, DNS, SMTP应用程序通信接口
传输层4层TCP, UDP端到端连接管理
网络层3层IP, ICMP, ARP寻址和路由
网络接口层1-2层Ethernet, WiFi, PPP物理传输和链路控制

四、DNS访问流程

1.流程图

2.解析流程

第一步: 浏览器访问www.baidu.com
第二步: 查找本地Hosts文件 如果有对应关系则返回IP 
第三步: 如果Hosts文件没有则会请求本地的DNS(LDNS)中是否有域名的对应关系 有返回IP 
第四步: 如果没有则LDNS请求根服务器问 www.baidu.com的IP地址 根存储的是顶级域名的IP地址,所以根会将.com返回给LDNS
第五步: LDNS收到后重新请求.com服务器问www.baidu.com的IP地址 顶级域存储的是权威域名IP地址,所以会返回权威域名服务器的对应IP给LDNS
第六步: LDNS收到后重新请求权威域名服务器,权威域名服务器就是我们自己配置的A记录的服务器 直接将A记录返回给LDNS
第七步: LDNS收到后自己缓存一份 然后在返回给浏览器
最后:   浏览器和服务器的IP地址 建立三次握手

五、TCP三次握手

1.流程图

2.具体流程

01 SYN (Synchronize)

     A向B发送SYN=1(告诉B我想和你建立连接) 发送seq=x(表示第一个数据包)

     标志位SYN=1,ACK=0

02 SYN-ACK:

     B收到信息 B向A发送 ACK=1(确认收到) SYN=1(我也想和你建立连接) seq=y(我给你的第一个包),Ack=x+1(表示下次你应该给我发送第二个数据包)

     标志位SYN=1,ACK=1

03 ACK: 

     A收到信息 A向B发送 ACK=1(确认收到) seq=x+1(给B的第二个数据包)下次你应该给我发第二个数据包 Ack=y+1

    标志位SYN=0,ACK=1

注意:

  • SYN:建立连接

  • ACK:确认有效

  • FIN:关闭连接

  • RST:强制断开

六、TCP四次挥手

第一步: A向B发送FIN请求断开       本国向苍姐姐我想跟你分手
第二步: B向A发送ACK确认收到信息   苍姐姐说收到信息了 你等我收拾下衣服
第三步: B向A发送FIN请求断开       苍姐姐说收拾完了 可以分手了
第四步: A向B发送ACK确认断开       本国说分手吧

七、网络命令大全

1.诊断与监控命令

命令功能描述高级用法示例
ping测试网络连通性和延迟ping -i 0.1 -s 1400 -c 100 example.com
traceroute路径追踪traceroute -T -p 443 google.com
mtr实时路径诊断mtr --report -c 10 cloudflare.com
iftop实时带宽监控iftop -nNP -i eth0
nload网络流量可视化nload -m -u M eth0

2.端口与连接分析

命令功能描述高级用法示例
nc网络瑞士军刀nc -zv 192.168.1.1 20-80
nmap端口扫描与服务探测nmap -sV -O -T4 192.168.1.0/24
telnet远程登录与服务测试telnet smtp.example.com 25
netstat网络连接统计netstat -tunap | grep ESTABLISHED
ss现代套接字统计ss -t -o state established '( dport = :443 )'

3.配置与排错

命令功能描述高级用法示例
ip全能网络配置ip addr add 192.168.1.100/24 dev eth0
ifconfig接口配置(逐步淘汰)ifconfig eth0 mtu 9000
route路由表管理route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1
digDNS诊断dig +trace +nocmd example.com
tcpdump网络抓包tcpdump -i any -nn 'port 80 and host 192.168.1.100'


文章转载自:
http://calcar.kjawz.cn
http://anglomania.kjawz.cn
http://catenane.kjawz.cn
http://brack.kjawz.cn
http://ascendance.kjawz.cn
http://aylmer.kjawz.cn
http://akureyri.kjawz.cn
http://arithmetic.kjawz.cn
http://auditing.kjawz.cn
http://anfractuous.kjawz.cn
http://amylolytic.kjawz.cn
http://acanthocephalan.kjawz.cn
http://astonished.kjawz.cn
http://amplidyne.kjawz.cn
http://bushwhacking.kjawz.cn
http://chemotropic.kjawz.cn
http://charcutier.kjawz.cn
http://avowed.kjawz.cn
http://antre.kjawz.cn
http://beira.kjawz.cn
http://amnion.kjawz.cn
http://ascogonium.kjawz.cn
http://bushelage.kjawz.cn
http://armlet.kjawz.cn
http://bandog.kjawz.cn
http://chapeaubras.kjawz.cn
http://archdeaconate.kjawz.cn
http://assart.kjawz.cn
http://advices.kjawz.cn
http://autoshape.kjawz.cn
http://www.dtcms.com/a/280458.html

相关文章:

  • react - 根据路由生成菜单
  • 多模态大模型研究每日简报(2025-07-14)
  • AI应用服务
  • 整除分块练习题
  • 某地金属矿山自动化监测服务项目
  • Python 数据建模与分析项目实战预备 Day 6 - 多模型对比与交叉验证验证策略
  • 2.【C# in .NET】探秘数据类型:从底层机制到实战启示
  • MySQL高级篇(二):深入理解数据库事务与MySQL锁机制
  • 农村养老模式:乡土智慧与时代创新的共生之路
  • 【每日算法】专题十_字符串
  • PySpark Standalone 集群
  • react native学习record one month
  • Flink SQL 性能优化实战
  • 使用Dify+fastmcp 实现mcp服务,内含详细步骤与源码
  • Windows远程FX的编解码器性能优化
  • 算法在前端框架中的集成
  • 三十二、【核心功能改造】数据驱动:重构仪表盘与关键指标可视化
  • 原型继承(prototypal inheritance)的工作原理
  • Java实现word、pdf转html保留格式
  • 19.如何将 Python 字符串转换为 Slug
  • 全面安装指南:在Linux、Windows和macOS上部署Apache Cassandra
  • 基于STM32与中航ZH-E3L字符卡通信在LED屏显示数据
  • 华为敏态开发流程敏捷开发费用估算敏态IT财务分析模板
  • 进程探秘:从 PCB 到 fork 的核心原理之旅
  • Lang3
  • Spring Ioc Bean 到底是什么
  • 朝鲜升级供应链恶意软件XORIndex,再次瞄准npm生态系统
  • 从springcloud-gateway了解同步和异步,webflux webMvc、共享变量
  • 四种高效搭建SpringBoot项目的方式详解
  • 基于UDP/IP网络游戏加速高级拥塞控制算法(示意:一)