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

引言

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

初识协议

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

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

TCP/IP(五层)四层模型

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

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

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

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

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

为什么协议需要分层?

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

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

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

相关推荐
波波0076 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
記億揺晃着的那天7 小时前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
chunmiao30328 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
隔窗听雨眠8 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
鲸采云SRM采购管理系统9 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
迪康Defender10 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
那年窗外下的雪.10 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x5310 小时前
Java网络编程(二)
java·服务器·网络
果果燕11 小时前
C++学习笔记(三):类与对象拓展学习笔记
java·服务器·前端
小绫网络安全12 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器