TCP/IP协议族详解:数据在互联网中是如何“漂流”的?

引言

当你在浏览器输入网址,按下回车,网页瞬间加载,当你在与朋友聊天时,按下消息发送键,消息就会精准无误的显现在对方手机中,网络究竟是什么,数据在互联网中是如何"漂流"的?本文将为你答疑解惑。

初识协议

在计算机的世界,数据是通过光信号或电信号传播的,用信号的强弱来表示0和1,数据就是一串串由0和1组成的信号,显然这样的二进制信息我们人是看不懂,所以要传递我们人看得懂的信息就需要有协议,数据发送方按照协议将数据转换成二进制,接收方按照协议执行逆过程。

TCP/IP协议族就是一系列协议的集合,他们共同构成了我们现如今的互联网。

TCP/IP(五层)四层模型

**物理层:**负责光/电信号的传递⽅式. ⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤, 现在的wifi⽆线⽹使⽤电磁波等都属于物理层的概念。物理层的能⼒决定了最⼤传输速率、传输距离、抗⼲扰性等. 集线器(Hub)⼯作在物理层.

**数据链路层:**负责设备之间的数据帧的传送和识别. 例如⽹卡设备的驱动、帧同步(就是说从⽹线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就⾃动重发)、数据差错校验等⼯作. 有以太⽹、令牌环⽹, ⽆线LAN等标准. 交换机(Switch)⼯作在数据链路层.

**⽹络层:**负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识⼀台主机, 并通过路由表的⽅式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)⼯作在⽹路层.

传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到⽬标主机.

**应⽤层:**负责应⽤程序间沟通,如简单电⼦邮件传输(SMTP)、⽂件传输协议(FTP)、⽹络远程访问协议(Telnet)等. 我们的⽹络编程主要就是针对应⽤层.

为什么协议需要分层?

就像一个公司的组织架构中,需要有不同的部门,每个部门又有员工和领导。

协议分层的好处在于:各层独立、灵活性高、易于维护和实现,设计上为了更好的进行模块化,解耦合,每层协议各有自己明确的职责。

本文将按照自顶向下的顺序,依次介绍每层协议的具体内容和具体实现。部分协议层有多种协议存在,本文将挑选一种较主流协议进行介绍。

相关推荐
Shadow(⊙o⊙)1 分钟前
Linux网络——文件与网络的连接桥梁struct sock {
linux·运维·网络
李永奉2 分钟前
中科蓝讯SDK开发-提示音音频文件格式转换和压缩教程
网络·单片机·嵌入式硬件·mcu·物联网
新时代牛马14 分钟前
Linux 性能调优与追踪完整篇:ftrace、perf、eBPF从采样到落地验证
linux·运维·服务器
sunoo-22922 分钟前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
长脖鹿Johnny25 分钟前
游戏输入系统框架设计(三):网络输入权威与可验证性
网络·游戏·游戏开发·架构设计·输入系统·网络同步
Mortalbreeze35 分钟前
深入理解 Linux IO 模型(二):多路复用——select
linux·运维·服务器·网络·tcp/ip
Mrs_DongDong1 小时前
华为云 Windows 服务器远程桌面自定义端口排障指南
服务器·windows·华为云
SamChan901 小时前
PDF翻译服务端到端基准测试:4款主流方案的吞吐量、延迟、内存占用对比
服务器·网络·python·ai·pdf·wpf
Sagittarius_A*1 小时前
CVE-2026-42271:从 MCP stdio 测试接口看 LiteLLM 的命令执行风险与防御闭环
网络·windows·安全·cve·rce
DLYSB_1 小时前
旧上位机不肯改怎么办:原生 TCP 字节帧接入声光语音终端的改造实录
网络·网络协议·tcp/ip·报警灯