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

TCP/IP协议新手友好详解

前言

整理了一下TCP/IP协议架构。

图片引用了一些学习以及网络上的ppt。

一、层次结构:四层模型拆解

TCP/IP协议栈采用四层结构,从下到上依次为:

应用层(HTTP/FTP/SMTP)
传输层(TCP/UDP)
网际层(IP/ICMP)
网络接口层(以太网/WiFi)

形象比喻:如同快递系统,应用层是包裹内容,传输层是快递单号,网际层是地址标签,网络接口层是卡车运输。

二、各层核心功能与协议
层级功能常见协议类比说明
应用层处理应用程序逻辑HTTP/HTTPS/FTP/DNS相当于手机APP的操作界面
传输层端到端数据传输TCP/UDP类似物流公司的运输方式选择(陆运/空运)
网际层路由与寻址IP/ICMP/ARP类似快递分拣中心的地址识别系统
网络接口层物理传输以太网/WiFi/PPP相当于高速公路和运输车辆

典型过程示例(发送邮件):

  1. 应用层:SMTP协议打包邮件内容
  2. 传输层:TCP协议添加端口号(如25)
  3. 网际层:IP协议封装源/目的IP地址
  4. 网络接口层:以太网封装MAC地址

三、TCP vs UDP核心对比
维度TCP(传输控制协议)UDP(用户数据报协议)
连接性需要三次握手建立连接无连接直接发送
可靠性100%数据可达(自动重传)可能丢包(如视频卡顿)
速度较慢(需确认机制)极快(无需等待确认)
应用场景网页/邮件/文件传输直播/语音通话/在线游戏
典型协议HTTP/HTTPS/FTPDNS/SNMP/QUIC

四、IP地址与端口号

IP地址(网络身份证):

  • IPv4格式:192.168.1.1(总量43亿,已枯竭)
  • IPv6格式:2001:0db8:85a3::8a2e:0370:7334(理论可给每粒沙子分配地址)

端口号(应用门牌号):

  • 知名端口:0-1023(HTTP-80/HTTPS-443)
  • 注册端口:1024-49151(MySQL-3306)
  • 动态端口:49152-65535(临时使用)

组合示例192.168.1.100:8080 表示局域网内某主机的Tomcat服务

五、数据传输全过程图解

封装过程(发送数据):

应用数据 → 添加TCP头 → 添加IP头 → 添加MAC头 → 比特流

解封装过程(接收数据):

比特流 → 去掉MAC头 → 去掉IP头 → 去掉TCP头 → 应用数据

六、三次握手与四次挥手

建立连接(三次握手)

  1. 客户端发送SYN(我要连接)
  2. 服务器回复SYN+ACK(同意连接)
  3. 客户端发送ACK(确认连接)

断开连接(四次挥手)

  1. 主动方发送FIN(我要断开)
  2. 被动方回复ACK(收到请求)
  3. 被动方发送FIN(同意断开)
  4. 主动方回复ACK(确认断开)

七、网络设备角色定位

路由器 vs 交换机

设备工作层级核心功能类比说明
路由器网际层跨网络路由/NAT转换高速公路立交桥
交换机网络接口层MAC地址转发小区内部道路系统
防火墙传输/应用层流量过滤安全检查站

典型组网示例

[电脑]--(交换机)--[路由器]--(互联网)│[打印机]
http://www.xdnf.cn/news/1190.html

相关文章:

  • 【以太网安全】——防护高级特性配置总结
  • 数字化转型“变形记”:中钧科技经营帮如何让企业长出“智慧骨骼”
  • 分部积分选取u、v的核心是什么?
  • 多态以及多态底层的实现原理
  • mysql日常巡检
  • JSP服务器端表单验证
  • Conceptrol: Concept Control of Zero-shot Personalized Image Generation(个性化图像生成)
  • 多骨干、多融合:RT-DETR 如何解锁主干网络新姿势?
  • qt.tlsbackend.ossl: Failed to load libssl/libcrypto.
  • 24-算法打卡-字符串-反转字符串II-leetcode(541)-第二十四天
  • java中值传递的含义
  • IDEA下载kotlin-compiler-embeddable特别慢
  • 从零开始配置 Zabbix 数据库监控:MySQL 实战指南
  • RFID手持机,助力固定资产高效管理
  • 工业以太网无线网桥:无线通信的工业级解决方案
  • macOS安全隐私最佳实践分析
  • vscode:Live Server Preview插件
  • HarmonyOS Next 编译之如何使用多目标产物不同包名应用
  • 深入解析C++ STL List:双向链表的特性与高级操作
  • 再话git merge和rebase
  • GIT合并/推送报错
  • Redis 处理读请求
  • 针头式过滤器推荐
  • 虚幻基础:动画k帧
  • csv数据的写入
  • nifty数据格式中qform 和sform
  • 电子电器架构 --- 面向下一代车辆的演进式(发展演变的)汽车网关
  • C++ std::forward 详解
  • WLAN 漫游技术全解析:类型、转发模式与应用场景
  • C++ 拷贝构造函数 浅拷贝 深拷贝