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

引言

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

初识协议

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

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

TCP/IP(五层)四层模型

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

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

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

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

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

为什么协议需要分层?

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

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

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

相关推荐
2401_868534789 分钟前
网络安全:信息加密、认证(鉴别)、数字签名(CA)、密钥安全分发
网络·网络协议
运维行者_9 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
国强_dev10 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
三84410 小时前
文件查找/文件压缩/解压缩
linux·运维·服务器
小猪写代码10 小时前
Linux 管道(Pipeline)作业
linux·运维·服务器
桌面运维家11 小时前
如何用半缓存云桌面将服务器硬盘容量扩展至本地终端?
运维·服务器·缓存
Jurio.11 小时前
Codex App SSH 远程开发教程:本地连接远程服务器项目
服务器·ssh·远程工作·codex
Coder_Shenshen11 小时前
西门子S7CommPlus协议鉴权算法原理与流程详解
网络·后端·算法
tryCbest13 小时前
Python 文件操作
服务器·python
HavenlonLabs14 小时前
Havenlon 对抗性完整(十七):安全不是“防住攻击”,而是控制失败方式
网络·人工智能·架构·安全威胁分析·安全架构·havenlon