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

TCP/IP

以下是关于 TCP/IP协议本身 的核心解释:


TCP/IP 是什么?

TCP/IP 是互联网通信的基础协议套件(协议栈),定义了数据如何在网络中传输和路由。其名称来源于两个核心协议:

  • TCP(传输控制协议):确保数据可靠传输。
  • IP(网际协议):负责寻址和路由数据包。

它采用 分层模型(共4层),将复杂的网络通信拆解为独立功能模块,各层协议协同工作。


网络OSI模型和TCP/IP模型

每一层负责的职能都不同,如下:

  • 应用层:负责给应用程序提供统一的接口;
  • 表示层:负责把数据转换成兼容另一个系统能识别的格式;
  • 会话层:负责建立、管理和终止表示层实体之间的通信会话;
  • 传输层:负责端到端的数据传输;
  • 网络层:负责数据的路由、转发、分片;
  • 数据链路层:负责数据的封帧和差错检测,以及 MAC 寻址;
  • 物理层:负责在物理网络中传输数据帧。

TCP/IP 的四大分层模型与功能

分层核心功能典型协议/技术
应用层直接为用户提供服务HTTP、FTP、DNS、SMTP、WebSocket
传输层端到端数据传输管理(可靠/不可靠)TCP(可靠)、UDP(高效)
网络层寻址与路由(跨网络传输数据包)IP(IPv4/IPv6)、ICMP、ARP
网络接口层物理介质上的数据帧传输以太网、Wi-Fi、PPP、MAC地址

关键机制与概念

  1. IP地址与路由
    • IPv4(如 192.168.1.1)和 IPv6(如 2001:db8::1)唯一标识设备。
    • 路由器根据IP地址选择路径,协议(如BGP、OSPF)动态更新路由表。
  2. TCP的可靠性
    • 三次握手建立连接:SYN → SYN-ACK → ACK。
    • 数据分段与确认:接收方需确认收到数据,丢失则重传。
    • 流量控制(滑动窗口)与 拥塞控制(慢启动、拥塞避免)。
  3. UDP的特点
    • 无连接、不保证顺序和可靠性,适用于实时音视频、DNS查询等场景。
  4. NAT(网络地址转换)
    • 将私有IP(如家庭内网)映射为公网IP,解决IPv4地址不足问题。

实际应用示例

当访问一个网页时:

  1. 应用层:浏览器生成HTTP请求。
  2. 传输层:TCP将请求拆分为数据段,附加端口号(如80)。
  3. 网络层:IP协议封装数据段为IP包,添加源/目标IP地址。
  4. 网络接口层:通过以太网/Wi-Fi将数据帧发送至路由器,最终到达服务器。
http://www.xdnf.cn/news/8813.html

相关文章:

  • Mac系统-最方便的一键环境部署软件ServBay(支持php,java,python,node,go,mysql等)没有之一,已亲自使用!
  • RocketMQ 5.0 核心概念与架构解析
  • 深入剖析 RocketMQ:消息保障、事务处理与负载均衡策略
  • Lua 脚本在 Redis 中的运用-24 (使用 Lua 脚本实现原子计数器)
  • SpringBoot返回xml
  • NV171NV173美光闪存颗粒NV181NV186
  • binlog解析工具——binlog2sql
  • 动态规划(6)下降路径最小值
  • C++ for QWidget:类(1)
  • 22、web场景-web开发简介
  • Java 内部类
  • Php JIT 使用详解
  • 慢查询日志的开启与分析:优化SQL性能的实战指南
  • 审计报告附注救星!实现Word表格纵向求和+横向计算及其对应的智能校验
  • rt-linux里的泛rtmutex锁的调用链整体分析
  • clickhouse-1-特性及docker化安装
  • C语言指针进阶
  • 互联网大厂Java求职面试:AI与大模型应用集成中的架构难题与解决方案
  • 向量数据库选型实战指南:Milvus架构深度解析与技术对比
  • OPENEULER搭建私有云存储服务器
  • 使用 Python 库中自带的数据集来实现上述 50 个数据分析和数据可视化程序的示例代码
  • Go 语言基础1 Slice,map,string
  • 在PyCharm中使用pyenv指定的Python:配置指南
  • 机器学习--分类算法
  • xml双引号可以不转义
  • 【python实战】中国主要城市经济统计数据分析与预测
  • 力扣395做题笔记
  • 深度学习论文idea:多模态检索
  • 计算机网络总结(物理层,链路层)
  • 【深度学习】2. 从梯度推导到优化策略:反向传播与 SGD, Mini SGD