当前位置: 首页 > 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://www.lryc.cn/news/589158.html

相关文章:

  • 【15】MFC入门到精通——MFC弹窗提示 MFC关闭对话框 弹窗提示 MFC按键触发 弹窗提示
  • OpenCV图像自动缩放(Autoscaling)函数autoscaling()
  • 如何加固Web服务器的安全?
  • Volo-HTTP 0.4.0发布:正式支持 HTTP/2,客户端易用性大幅提升!
  • python学习---dayday6
  • AbMole小课堂 | Angiotensin II(血管紧张素Ⅱ)在心血管研究中的多元应用
  • Kimi-K2与DeepSeek-Chat全面对比:哪款AI大模型更强?
  • 【Python】定时器快速实现
  • React响应式组件范式:从类组件到Hooks
  • 嵌入式开发学习(第二阶段 C语言笔记)
  • 文心4.5开源背后的战略棋局:百度为何选择All in开放?
  • Python_1
  • xss-labs 1-8关
  • 零信任安全架构:如何在云环境中重构网络边界?
  • kotlin布局交互
  • 响应式编程入门教程第三节:ReactiveCommand 与 UI 交互
  • IDEA中删除多余的jdk选项 【IDEA2024版】
  • 数仓面试题
  • MongoDB数据问题说明
  • 论文笔记:Learning Cache Replacement with CACHEUS
  • BPE(字节对编码)和WordPiece 是什么
  • [雨云教程]端口冲突该如何解决
  • View2 UI聊天框架源码分享 - 支持[图文视频]混排 加入AI 分享一套功能强大的View2 UI聊天框架源码
  • 当Dynamics CRM On Promise 使用自建 CA(而非公共信任的 CA 如 DigiCert)时,集成中获取组织服务遇到证书问题处理:
  • Uniapp动态切换主题与老年模式详解
  • WebApplicationType.REACTIVE 的webSocket 多实例问题处理
  • 网络模型
  • TCP协议可靠性设计的核心机制与底层逻辑
  • 计算机系统方向可发会议/期刊参考时间
  • PostgreSQL 超详细安装与使用教程:从入门到实战