TCP/IP协议碎碎念

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介:

整个TCP过程描述:

1)服务器默认的状态是LISTEN,客户端先向服务器发送一个SYS,表明自己要求链接,这时候客户端处于SYS_SENT状态;

2)服务器收到SYS,返回一个ACK,同时再补上一个SYS,这时候服务器端处于SYS_RECEIVE状态;

3)客户端收到了服务器返回的SYS,自己进化成ESTABLISHED状态,然后应答那个ACK,服务器接收到这个应答ACK,进化成ESTABLISHED状态。这样两个就算彻底连接了。

以上简称“三次握手”。


然后客户机与服务器可以传送数据,keepalive。


4)客户端向服务器发送一个FIN告诉服务器可以断开连接了,此时客户端处于FIN_WAIT 1状态。

5)服务器收到这个信息得知可以断开连接了,服务器处于CLOSE_WAIT状态,然后发送信息告诉客户端,服务器这时候处于LAST_ACK状态。

6)客户端收到服务器确认断开连接的信息,进化成FIN_WAIT 2状态,最后成为TIME_WAIT状态。等待一些时间已确保能收到服务器的应答。

以上过程简称“四次挥手”。


TCP的传输过程一共是十一个状态:LISTEN,SYS_SENT,SYS_RECEIVE,ESTABLISHED,FIN_WAIT 1,FIN_WAIT 2,CLOSE_WAIT,CLOSEING,LAST_ACK,TIME_WAIT,CLOSED.

CLOSEING:等待远端TCP 的连接终止请求确认

CLOSED:不在连接状态(其实是不存在的)


那么为什么TCP非要采取三次握手呢?

主要原因就是防止“由于网络阻塞,失效的信息又复活”的情况,举个例子:

A要给B传数据,开始的时候A传了一次请求,但是这个请求失效了,于是过了一段时间之后,A又传了一次请求,这个时候B收到了,两个开始快乐的交流。交流完毕,双方断开。但是这个时候那个失效的信息终于爬到了B端,B也会如期打开端口跟A建立连接,A一看B来张开怀抱,那么A也要张开怀抱,但是A原打算要的数据已经都得到了,这一次虽然建立了链接,已经没东西可以要了。那么这样的链接就是空连接,白白浪费带宽。


TCP VS UDP

先说相同点,他俩都可以全双工,而且都是端到端的传输层通信协议。

TCP一般用来进行文件传输,因为文件的传输要求真真切切,一丝一毫都不能少,所以每一次建立必须要求数据都是十全十美。

TCP只能一对一,不支持广播和多播,TCP是面向字节流的。传输速度慢。


UDP一般用来网络语音传输,建立为主,通信质量其次。

UDP虽然不可靠但是也会尽全力交付,他是面向报文的,应用层给UDP什么样的报文,UDP就传送什么样的报文。

UDP支持一对一,一对多,多对多(各种视频会议),传输速度快。


 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1746515



相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
机器学习/深度学习 人工智能 网络协议
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
56 4
|
8月前
|
缓存 网络协议 Linux
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
|
9月前
|
XML 存储 JSON
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
|
2月前
|
网络协议 安全 网络安全
网络 (TCP/IP 四层协议中常见网络协议)
网络 (TCP/IP 四层协议中常见网络协议)
53 7
|
1月前
|
网络协议 网络架构
计算机网络——计算机网络体系结构(1/4)-常见的计算机网络体系结构(OSI体系、TCP/IP体系、原理体系五层协议)
计算机网络——计算机网络体系结构(1/4)-常见的计算机网络体系结构(OSI体系、TCP/IP体系、原理体系五层协议)
47 0
|
2月前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
11月前
|
网络协议 网络架构 数据格式
协议分层与OSI参考模型【图解TCP/IP(笔记三)】
协议分层与OSI参考模型【图解TCP/IP(笔记三)】
协议分层与OSI参考模型【图解TCP/IP(笔记三)】
|
9月前
|
网络协议
百度搜索:蓝易云【四层协议:TCP/IP详解!】
现了互联网上的可靠数据传输和网络通信。每个层次都有特定的功能和协议,相互配合以实现端到端的通信。
86 0
|
11月前
|
网络协议 Unix 网络性能优化
两种传输层协议TCP和UDP【图解TCP/IP(笔记十二)】
两种传输层协议TCP和UDP【图解TCP/IP(笔记十二)】
121 0
|
11月前
|
监控 网络协议 网络架构
IP协议【图解TCP/IP(笔记九)】
IP协议【图解TCP/IP(笔记九)】