TCP/IP 协议簇

313 阅读4分钟

TCP/IP 协议簇

  • TCP/IP 协议簇,也叫 TCP/IP 协议栈,不单单只包含 TCP 和 IP 两个协议,而是一系列能够实现网络间信息传输协议的统称,是互联网的基础通信协议集合,TCP 传输控制协议和 IP 互联网协议这两个协议是协议簇中最核心的部分
  • TCP/IP 模型结构通常被划分为四层(四层网络模型):应用层、传输层、网络层(互联网层)和网络接口层,每一层都调用下一层所提供的服务来完成任务,数据从应用层开始逐层向下封装(每一层都会在数据上添加自己的协议头)后进行传输,然后到达目标主机进行逐层解封装,最终还原出数据给目标应用程序
  • TCP/IP 协议簇通过分层设计(将多种协议分层),实现了跨平台兼容、高效、可靠和灵活的网络通信,相对于 OSI 七层模型来说,TCP/IP 四层模型结构更加简洁实用(五层模型结构:将网络接口层进一步细分成数据链路层和物理层)

Application Layer 应用层

  • 直接面向用户应用,为应用程序提供网络服务,负责应用程序之间的网络通信,处理应用程序的逻辑,应用程序之间通过应用层协议(比如 HTTP、FTP 等)往下将数据发送到传输层
  • HTTP 超文本传输协议,HTTPS 是 HTTP 的安全版本,使用 SSL/TLS 加密,用于网页浏览
  • FTP 文件传输协议,用于文件的传输
  • SMTP 简单邮件传输协议、POP3 邮局协议第 3 个版本、IMAP 互联网邮件访问协议,用于电子邮件的收发管理相关
  • DNS 域名系统,用于将域名解析为 IP 地址
  • DHCP 动态主机配置协议,用于自动分配 IP 地址及网络参数配置
  • Telnet 是一种远程登录的协议,用于远程登录
  • SSH 是一种远程登录的加密协议,用于安全的远程登录
  • RTSP 实时流传输协议,用于流媒体数据传输
  • RTMP 实时消息协议,用于流媒体数据传输

Transport Layer 传输层

  • 主要提供端到端的数据传输通信服务,确保数据能够从发送端正确地传送到接收端,主要负责数据分段和重组、传输控制、错误检测与纠正和流量控制等
  • TCP 传输控制协议,提供可靠的、面向连接的传输服务,确保数据包按顺序无差错的到达目的地,适用于需要高可靠性的应用场景,如网页浏览(HTTP)、文件传输(FTP)等
  • UDP 用户数据报协议,提供高效低延迟更快速的、不可靠的、无连接的传输服务,适用于对实时性要求较高的应用,如语音通话、视频会议和在线游戏等

Internet Layer 网络层

  • 也被称为互联网层,实现在多个网络和多段链路之间传输数据包,主要负责处理 IP 地址以确保数据包能够在复杂的网络中进行正确传输,实现数据的跨网络通信
  • IP(即 Internet Protocol 网际协议)实现对数据包进行路由和寻址,便于跨网络传输到正确的目的地,IP 协议有 IPv4 和 IPv6 两种版本
  • ARP 将 IP 地址解析为 MAC 地址(Media Access Control 设备物理地址、设备硬件地址)
  • ICMP 用于发送错误消息和操作信息,网络状态诊断(比如 Ping 命令)
  • IGMP 用于管理 IP 组播
  • 可能涉及到路由器等设备

Network Interface Layer 网络接口层

  • 也被称为 Data Link Layer 数据链路层,是 TCP/IP 模型中的最底层,负责管理在物理设备间网络上进行数据传输,为上层协议提供一个统一的接口,实现数据帧(原始数据包)的封装和发送工作,通常使用 MAC 地址来标记网络上的设备,所以有时候也可称之为 MAC 层
  • Ethernet 以太网、WIFI/WLAN 无线局域网
  • 可能涉及到网络适配器、交换机、中继器(转发器)、集线器等设备

总结

  • TCP/IP 协议簇是互联网通信的基础,每层都使用不同的协议来完成特定的功能,又相互协作使得互联网上的各种应用和服务得以实现
  • 数据从应用层向下传递时,每层添加头部信息(比如传输层 TCP 头部加端口号,网络层 IP 头部加 IP 头信息,网络接口层加帧头、帧尾信息)最终形成数据帧通过物理网络进行传输,接收方逐层剥离头部解封装,还原出原始数据进行使用
  • 数据从应用层向下传递时,比如应用层 HTTP 传的是 Message 消息报文,传输层 TCP 传的是 Segment 数据段(UDP 则是 Datagram 数据报),网络层 IP 传的是 Packet 数据包,网络接口层 MAC 传的是 Frame 数据帧,不过笼统的讲它们都可以称为数据包