2023.9.7 关于 TCP / IP 的基本认知

目录

网络协议分层

[TCP/IP 五层(四层)模型](#TCP/IP 五层(四层)模型)

应用层

传输层

网络层(互联网层)

数据链路层(网络接口层)

物理层

网络数据传输的基本流程


网络协议分层

为什么需要分层?

  • 分层之后,类似于面向接口编程,定义好两层的接口规范,让双方遵循这个规范来对接,这样有利于更好的扩展和维护

TCP/IP 五层(四层)模型

  • TCP/IP 是一种网络通信协议族,是互联网的核心协议,也是全球广泛使用的网络通信标准,定义了数据如何在网络中分组、传输、路由和接收方式,其中 TCP 为传输控制协议,IP 为 Internet 协议!
  • TCP 负责数据的可靠传输,确保数据的完整性和有序性
  • IP 负责数据的分组和路由,将数据从源地址传递到目的地址

应用层

  • 应用层定义了应用程序之间的通信规则和数据格式
  • 我们的网络编程主要是针对应用层,经常涉及实现一个应用层协议
  • 该层包含了各种应用层协议

HTTP

  • 用于 Web 应用的写于,用于在客户端和服务器之间的通信协议,用于请求和传输网页、图片、视频和其他资源

HTTPS

  • 是 HTTP 的安全版本,通过 SSL 或 TLS 加密协议,提供了安全的数据传输,其在进行敏感数据传输时常被使用,例如网上银行和电子商务网站

DNS

  • 用于域名解析协议,他将人类可读的域名转换为计算机可识别的 IP 地址,使得用户能够通过域名访问互联网上的资源

FTP

  • 用于文件传输协议,允许在客户端和服务器之间进行文件上传、下载和管理,其提供了一种标准的方法来访问远程文件系统

SSH

  • 用于安全远程登录和文件传输的协议,其提供了加密和身份验证机制,用于安全地远程管理网络设备和传输文件

SMTP

  • 用于电子邮件传输的协议,它定义了电子邮件的发送方式、邮件服务器之间的通信规则和数据格式,使得电子邮件能够在不同邮件服务器之间进行传输和投递

POP3

  • 用于接收电子邮件的协议,它允许邮件客户都安从邮件服务器上下载电子邮件,并在客户都安上存储和管理邮件

IMAP

  • 用于接收和管理电子邮件的协议,IMAP允许客户端在邮件服务器上直接操作邮件,包括查看、删除、移动和标记邮件等操作

传输层

  • 负责两台主机之间的数据传输
  • 包括传输控制协议 TCP 和 用户数据报协议 UDP

TCP

  • 提供可靠的、面向连接的数据传输,确保数据的可靠性和有序性

UDP

  • 提供不可靠的、无连接的数据传输,适用于实时性要求较高的应用

网络层(互联网层)

  • 负责地址管理和路由选择
  • 包括 Internet 协议 (IP)

IP

  • IP 协议定义了数据报文的结构和寻址规则,使得数据能够在不同网络之间进行传递

数据链路层(网络接口层)

  • 负责处理与物理网络介质的通信,设备之间的数据帧的传送和识别
  • 如以太网、Wi-Fi 等

物理层

  • 负责在物理媒介上传输原始的比特流,将数据从发送方传输到接收方

注意:

因为物理层我们考虑的相对较少,所以通常也称 TCP/IP 为四层模型

网络数据传输的基本流程

实例假设:

  • 用户 A 通过微信给用户 B 发送一条消息 "你吃了嘛?"

第一步:进行封装(用户A)

1.应用层形成协议报文

  • 假设微信内部约定好一个应用协议,这个一般由程序员所定义,我们不知道,所以假设为下面这样
  • 把用户输入的字符串构造成约定好的应用层数据报文
  • 随后数据报文便会通过 调用操作系统内核所提供的一些 API 来传递给传输层,因为传输层正是操作系统内核所实现的

2.传输层添加 UDP 报头

  • 在传输层,需要把应用层数据报文构造成传输层数据报文
  • 此处是使用 UDP 报头,从而仅需在 应用层数据报文 的基础上加个 UDP 报头 即可
  • UDP 报头也是一个特定格式的字符串,涉及到源端口和目的端口,将其与数据拼到一起,进而传输给网络层

3. 网络层添加 IP 报头

  • 在网络层,需要把传输层数据报文构造成网络层数据报文
  • 仅需在 传输 层数据报文 的基础上加个 IP 报头
  • IP 报头也是一个特定格式的字符串,涉及到 源 IP 和 目的 IP,将其与传来的数据拼到一起,进而传输给数据链路层

4.数据链路层添加帧头和帧尾

  • 数据链路层中最典型的是 以太网
  • 基于上述数据我们还需再将其打包一个 以太网数据帧
  • 帧头包含了 目的MAC地址,用于指示数据帧的接收方
  • 帧头包含了 源MAC地址,用于指示数据帧的发送方
  • 帧尾包含帧校验序列 FCS 组成,用于检查数据帧是否在传输过程中出现错误的校验值
  • 数据链路层继续将该数据传输给物理层

5.物理层进行解析传输

  • 物理层将上述二进制数据转换成电信号或光信号,完成真正的传输

第二步:进行分用操作(用户B)


总结:

  • 通信双方需使用相同的协议才能进行通信
  • 这五层协议之间有明确的层级关系,只有相邻的两层之间才能进行交互,不能跨层交互
  • 上层协议要调用下层协议进行封装操作,下层协议要给上层协议提供支持要进行解析操作
相关推荐
袖手蹲4 分钟前
K10 百炼 AI 语音助手从网络配置到全链路语音交互的嵌入式实战
网络·人工智能·交互
liulilittle5 分钟前
KCC: An Exploration Along the Lines of BBR
网络·tcp/ip·计算机网络·bbr·通信·拥塞控制·kcc
星野爱89512 分钟前
云顶之弈7周年新版本!手机随时随地畅玩周年时光机派对
网络·智能手机·电脑
AI科技星17 分钟前
第六卷:量天尺传奇(几何学)
网络·人工智能·算法·概率论·学习方法·几何学·拓扑学
酉鬼女又兒22 分钟前
零基础入门IPv4地址:从基本概念、分类编址、子网划分到无分类编址与应用规划全解
网络·网络协议·计算机网络·考研·职场和发展·分类·智能路由器
未来侦察班26 分钟前
网络协议 数据链路层,“帧”建立统一新秩序
网络·网络协议
ICT系统集成阿祥38 分钟前
校园网络准入认证建设与运维经验
运维·网络·智慧校园·经验总结
liulilittle1 小时前
甲骨文云中国大陆定向 QoS 原理及绕过解决方案
服务器·开发语言·网络·计算机网络·oracle·通信·qos
行走__Wz1 小时前
【网工入门-eNSP模拟-02】dhcp动态主机配置ip地址
服务器·网络·tcp/ip
AI科技星1 小时前
数术工坊·第八卷 大道归一录・番外・下篇 零界封神・万法归元终章
网络·人工智能·算法·几何学·拓扑学