当前位置: 首页 > news >正文

TCP/IP协议,TCP和UDP区别

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是一组用于计算机网络中的通信协议,它为数据传输提供了标准框架,广泛用于互联网和局域网中。TCP/IP协议包括多个层次,每个层次都负责特定的通信任务。它是现代互联网及大多数计算机网络的基础。

TCP/IP 协议栈的四个层次:

  1. 网络接口层(Network Interface Layer)

    • 也称为数据链路层或物理层。
    • 负责数据的物理传输,包括设备间的通信、数据的打包与传输等。
    • 常见的协议有:以太网(Ethernet)、Wi-Fi、PPP(Point-to-Point Protocol)等。
  2. 互联网层(Internet Layer)

    • 主要负责数据包的路由选择和地址管理。
    • 关键协议:
      • IP(Internet Protocol,互联网协议):负责将数据包从源主机传输到目标主机,基于IP地址进行寻址。
      • ICMP(Internet Control Message Protocol,互联网控制报文协议):用于诊断网络问题(如 ping 命令使用 ICMP 协议)。
      • ARP(Address Resolution Protocol,地址解析协议):将 IP 地址映射为物理硬件地址(如 MAC 地址)。
  3. 传输层(Transport Layer)

    • 负责端到端的数据传输控制,确保数据可靠传输。
    • 主要协议:
      • TCP(Transmission Control Protocol,传输控制协议):面向连接、可靠的协议,提供流量控制、错误检查和重传机制,确保数据的完整性与正确顺序。
      • UDP(User Datagram Protocol,用户数据报协议):无连接、不可靠的协议,适用于对速度要求高、对可靠性要求低的应用,如视频流、实时通信等。
  4. 应用层(Application Layer)

    • 这一层直接面向用户,提供应用程序之间的通信服务。
    • 主要协议:
      • HTTP(Hypertext Transfer Protocol,超文本传输协议):用于万维网上的网页浏览。
      • FTP(File Transfer Protocol,文件传输协议):用于文件的上传和下载。
      • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议):用于发送电子邮件。
      • DNS(Domain Name System,域名系统):用于将域名解析为IP地址。

TCP/IP协议的核心概念

  1. IP地址

    • IP地址是网络中设备的唯一标识符,用于在网络中进行寻址。
    • IPv4:32位地址,通常表示为四个十进制数(如 192.168.0.1)。
    • IPv6:128位地址,解决IPv4地址耗尽问题,通常表示为八组十六进制数(如 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。
  2. 端口号

    • 端口号用于区分同一主机上的不同应用程序。每个网络应用程序都监听一个特定的端口。
    • 常见端口号
      • HTTP:端口 80
      • HTTPS:端口 443
      • FTP:端口 21
      • SMTP:端口 25
  3. 数据包

    • TCP/IP协议中,所有通信数据都被分割为数据包传输。每个数据包包含头部和数据部分,头部包含源地址、目标地址、端口号等信息。
  4. 路由

    • 路由是数据包在网络中从源设备到达目标设备的过程。路由器根据目标IP地址和路由表来决定数据包的转发路径。

TCP 和 UDP 的区别

  • TCP(传输控制协议)

    • 面向连接,数据传输前需要建立连接(如三次握手)。
    • 提供可靠的数据传输,确保数据包按顺序到达,不丢失、不重复。
    • 支持流量控制和拥塞控制,确保网络不会因过多数据包而崩溃。
    • 用于需要可靠性的应用,如网页浏览(HTTP)、文件传输(FTP)等。
  • UDP(用户数据报协议)

    • 无连接,数据包直接发送,无需建立连接。
    • 不保证数据的顺序、完整性或可靠性。
    • 适用于实时性要求高、对丢包容忍的应用,如视频流、实时游戏、DNS查询等。

TCP/IP 协议的工作流程

  1. 建立连接

    • 使用 TCP 时,通信的两端通过“三次握手”建立连接:
      1. 客户端发送SYN请求。
      2. 服务器回应SYN-ACK确认。
      3. 客户端发送ACK确认,连接建立。
  2. 数据传输

    • 连接建立后,数据以数据包的形式在网络中传输。每个数据包包含序列号、确认号等,用于确保数据正确传输。
  3. 关闭连接

    • 使用 TCP 时,通信完成后,通过“四次挥手”过程关闭连接:
      1. 客户端发送FIN请求。
      2. 服务器回应FIN-ACK确认。
      3. 客户端发送ACK确认。
      4. 服务器关闭连接。

总结

  • TCP/IP 是用于计算机网络通信的基础协议集。
  • 包括 互联网层(IP)传输层(TCP/UDP)应用层 等,确保数据在网络中可靠传输和有效路由。
  • 常见协议有 HTTP、FTP、SMTP、DNS 等。
  • TCP 提供可靠、面向连接的服务,适合对数据传输有高可靠性要求的应用。
  • UDP 提供简单、无连接的服务,适合实时性要求高的应用。

理解这些协议和它们的工作方式对于网络配置、故障排查和优化非常重要。

相关文章:

TCP/IP协议,TCP和UDP区别

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是一组用于计算机网络中的通信协议,它为数据传输提供了标准框架,广泛用于互联网和局域网中。TCP/IP协议包括多个层次,每…...

【go从零单排】Timer、Epoch 时间函数

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,time.Timer 是一个用于在指定时间后执行操作的计时器。…...

壁仞科技上市前最后一波 校招 社招 内推

随着美国大选结束,国内GPU 产业得到空前的的发展空间,国内芯片相关股票一片飘红。 国内大型 GPU厂商壁仞科技,摩尔线程等正紧锣密鼓地加紧上市。 GPGPU 芯片赛道来到了史无前例的红利点,抓住机会💪 壁仞科技正在火热…...

【微软报告:多模态基础模型】(2)视觉理解

欢迎关注【youcans的AGI学习笔记】原创作品 【微软报告:多模态基础模型】(1)从专家到通用助手 【微软报告:多模态基础模型】(2)视觉理解 【微软报告:多模态基础模型】(3)…...

Linux 驱动

四十三、Linux设备树 43.1 DTS、DTB 和 DTC DTS 是设备树源码文件 DTB 是将DTS 编译以后得到的二进制文件。 DTC 工具将.dts 编译为.dtb 43.2 DTS语法 43.2.1 .dtsi 头文件 在.dts 设备树文件中,可以通过“#include”来引用.h、.dtsi 和.dts 文件。 …...

【数学二】线性代数-线性方程组-齐次线性方程组、非齐次线性方程组

考试要求 1、会用克拉默法则. 2、理解齐次线性方程组有非零解的充分必要条件及非齐次线性方程组有解的充分必要条件. 3、理解齐次线性方程组的基础解系及通解的概念,掌握齐次线性方程组基础解系和通解的求法. 4、理解非齐次线性方程组的解的结构及通解的概念. 5、会用初等行变…...

Git别名设置

在 Git 中设置命令别名可以让你更高效地使用常见的 Git 命令。通过为常用命令创建简短的别名,可以减少输入的字符数并加速工作流程。 参考链接 设置 Git 命令别名的方法: 使用 Git 配置命令: Git 允许通过 git config 命令来设置命令别名。这…...

算法基础 -- 红黑树原理与插入伪代码

红黑树原理与插入伪代码 红黑树的原理 红黑树是一种自平衡的二叉搜索树,通过对节点的颜色(红色或黑色)以及结构的约束条件来保持树的平衡。红黑树的原理可以通过以下五个特性描述: 节点是红色或黑色。根节点必须是黑色。所有叶…...

力扣 LeetCode 27. 移除元素(Day1:数组)

解题思路: 注意:数组只能覆盖,不能删除 erase方法的复杂度为O( n )而不是O( 1 ),因为需要把删除后后面的数组向前移动 方法一:双层for循环暴力 方法二:快慢指针 fast表示新数组的元素 slow表示新数组元…...

微服务链路追踪skywalking安装

‌SkyWalking是一个开源的分布式追踪系统,主要用于监控和分析微服务架构下的应用性能。‌ 它提供了分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,特别适用于微服务、云原生架构和基于容器的环境(如Docker、K8s、Mesos&…...

mqtt学习笔记(一)

以解决问题方式逐步学习探索 mqtt使用场景mqtt可能缺点mqtt学习疑问探索1、mqtt主题发布过的历史消息,全新连接的client能消费到吗?2、mqtt的client掉线如何重连,重连后订阅的topic配置还在不?3、mqtt的client掉线重连后&#xff…...

Kafka Eagle 安装教程

目录 前言 一、安装前的准备 1. 系统要求 2. 安装 JDK 3. 安装 Kafka 和 Zookeeper 4. MySQL 环境准备 二、下载并安装 Kafka Eagle 三、配置 Kafka Eagle 1. 编辑配置文件 2. 配置 Kafka 和 Zookeeper 信息 四、启动 Kafka Eagle 五、访问 Kafka Eagle 六、测试功…...

Ajax 获取进度和中断请求

HTML加入一些内容方便看效果和做交互&#xff1a; <div><p>当前传输进度&#xff1a;<span id"progress">0%</span></p><button id"send">发送</button><button id"btn">中断</button> …...

实验5:网络设备发现、管理和维护

实验5&#xff1a;网络设备发现、管理和维护 实验目的及要求&#xff1a; 通过实验&#xff0c;掌握Cisco 路由器和交换机的IOS配置管理。自动从NTP服务器获取时间信息。能够利用TFTP服务器实现路由器和交换机配置文件的备份和恢复。同时验证CDP协议和LLDP协议的网络参数。完…...

kafka 生产经验——数据积压(消费者如何提高吞吐量)

bit --> byte --> kb -->mb -->gb --> tb --> pb --> eb -> zb -->yb...

对等同步身份认证(Simultaneous Authentication of Equals,简称SAE)介绍

对等同步身份认证&#xff08;Simultaneous Authentication of Equals&#xff0c;简称SAE&#xff09;介绍 对等同步身份认证&#xff08;Simultaneous Authentication of Equals&#xff0c;简称SAE&#xff09;是一种基于密码的身份验证方法&#xff0c;用于安全地交换密钥…...

Ajax 与 Vue 框架应用点——随笔谈

老式 在老式的技术中&#xff0c;一个网页通常由前端工程师直接使用 HTML、CSS、JavaScript 编写而成 这种方式的优点很明显&#xff1a;简单粗暴&#xff0c;方便工程师以简单的思维完成工作 当然&#xff0c;缺点也很明显&#xff0c;包括但不限于&#xff1a; 直接原生开发…...

The Internals of PostgreSQL 翻译版 持续更新...

为了方便自己快速学习&#xff0c;整理了翻译版本&#xff0c;目前翻译的还不完善&#xff0c;后续会边学习边完善。 文档用于自己快速参考&#xff0c;会持续修正&#xff0c;能力有限,无法确保正确!!! 《The Internals of PostgreSQL 》 不是 《 PostgreSQL14 Internals 》…...

redis 原理篇 31 redis内存回收 内存淘汰策略

哦哦&#xff0c; 内存满了咋搞 就算过期key 删除&#xff0c;还是不够用&#xff0c; 这种问题没办法&#xff0c;只能了解一下啥解决方案了&#xff0c; 内存是有限的&#xff0c;一直存&#xff0c;肯定会满&#xff0c;这时&#xff0c;咋处理&#xff1f; 首先&#xff…...

微信小程序——实现二维码扫描功能(含代码)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...