什么是TCP/IP UDP 详解

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 什么是TCP/IP UDP 详解

文章目录


TCP/IP

TCP/IP协议介绍

主要由网络层的IP协议 和 传输层的TCP协议组成
IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议,他们与 TCP 或 IP 的关系紧密。因此,也称 TCP/IP 为网际协议群

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。

IP是给因特网的每一台联网(电脑)设备规定一个地址

打个比方:TCP协议就相当于快递,用来做运输

IP协议就相当于地址,用来唯一标记目的地


TCP协议

TCP协议是传输控制协议,工作在传输层。提供面向链接的,可靠的传输服务( 三次握手,四次挥手)

面向链接:数据传输之前,客户端与服务器之间要建立连接,才可以传输数据

可靠的:数据传输是有序的,要对数据进行校验,数据不会丢失

TCP是面向连接的,可靠的进程到进程通信的协议

TCP提供全双工服务,即数据可在同一时间双向传输

TCP应用场景

(传输数据)效率低,对(传输数据)准确性要求高

TCP 三次握手

客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应。

SYN:进行一次请求和响应

ACK:请求一次

图解

4edc953e2c684bbe819ffa954c899c08.png

4edc953e2c684bbe819ffa954c899c08.png

为什么要三次握手

因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用

扩充

SYN:发起一个新连接
ACK:确认序号有效
FIN:释放一个连接

TCP四次挥手

客户端向服务器发送(断开连接)FIN断开请求,服务器接收到此请求后,回复(稍等)一个ACK。服务器向客户机发送(马上断开)FIN断开请求,客户机收到此请求后,回复(好的)一个ACK

图解

4edc953e2c684bbe819ffa954c899c08.png

4edc953e2c684bbe819ffa954c899c08.png

为什么断开要断四次

数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。

常用的TCP端口号及其功能

4edc953e2c684bbe819ffa954c899c08.png


IP协议

IP协议是TCP/IP协议的核心,所有的TCP,UDP等数据都以IP数据格式传输

UDP协议

UDP协议介绍

用户数据报协议

UDP的主要特点是:

UDP 是无连接的。即发送数据之前不需要建立连接

UDP 支持一对一、一对多、多对一和多对多的交互通信

UDP的首部只有8个字节,而TCP有20个字节


UDP应用场景

(传输数据)效率高,对(传输数据)准确性要求低

UDP和TCP的区别

TCP面向连接(TCP发送数据之前是需要建立连接的)

UDP是无连接的(UDP发送数据之前是不需要建立连接的)

UDP传输数据速度比TCP要快一些

UDP是面向报文的,UDP没有拥塞控制

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1天前
|
网络协议 Java
Java的Socket编程:TCP/IP与UDP深入探索
Java的Socket编程:TCP/IP与UDP深入探索
7 0
|
2天前
|
域名解析 缓存 网络协议
|
3天前
|
网络协议 网络性能优化
TCP和UDP协议的特点和用途
TCP是面向连接、可靠的传输协议,提供按序交付和流量控制,适合网页浏览、邮件及文件传输等需要高可靠性的场景,例如在线购物交易数据的准确传输。而UDP是无连接、不可靠但速度更快的协议,具有较小的头部开销,常用于实时应用如在线游戏和语音通话,其低延迟特性适合对即时性要求高于准确性的场合,如多人在线游戏中的即时互动。
|
3天前
|
网络协议 安全 程序员
网络原理-UDP/TCP详解
网络原理-UDP/TCP详解
网络原理-UDP/TCP详解
|
4天前
|
网络协议
TCP/UDP网络编程
TCP/UDP网络编程
14 2
|
8天前
|
网络协议 安全 Java
网络编程、网络编程的三要素、TCP/UDP通信、三次握手和四次挥手
网络编程、网络编程的三要素、TCP/UDP通信、三次握手和四次挥手
18 1
网络编程、网络编程的三要素、TCP/UDP通信、三次握手和四次挥手
|
16天前
|
网络协议 网络性能优化
UDP与TCP:了解这两种网络协议的不同之处
UDP与TCP:了解这两种网络协议的不同之处
|
17天前
|
网络协议
TCP和UDP可以绑定同样的端口吗?
TCP和UDP可以绑定同样的端口吗?
|
17天前
|
网络协议 网络性能优化 Go
【JaveEE】UDP 与 TCP 原理(下)
【JaveEE】UDP 与 TCP 原理
27 1
|
17天前
|
XML JSON 网络协议
【JaveEE】UDP 与 TCP 原理(上)
【JaveEE】UDP 与 TCP 原理
19 3