| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【网工必备知识】传输层协议之TCP -> 正文阅读 |
|
[网络协议]【网工必备知识】传输层协议之TCP |
传输层有两类协议,TCP和UDP协议,应用层的许多协议的完成都与这两个协议有对应关系。前者提供的是一种可靠服务,但是相对较速度慢;后者不可靠但是速度快。(就像你需要运输一件物品,有两个快递人选提供给你选择,龟兔赛跑中的乌龟和兔子。TCP就好比乌龟,把东西交给他,运输速度慢但是他会非常稳当的帮你把东西送到;而UDP就是那只兔子,固然速度很快,但是保不准途中会出现什么岔子,可能出现数据丢失等问题)我们在传输文件的时候一定是基于TCP协议,因为文件如果有部分丢失,可能就全部受损了;而在语音或者视频聊天时,却是基于UDP协议进行的,那是因为我们追求的是通话之间的实时性。 TCP协议 应用层的HTTP、FTP、TELNET在进行相关操作之前都是使用TCP来建立连接,而TCP建立连接的过程被称作“三次握手”。在这个过程中主要就是SEQ与ACK的确认: PC1要与PC2建立连接,那么他就要向PC2发送一个随机的初始序列号SEQ(设为a)以及确认序列号ACK初始值为0; 然后告诉PC2,要是你收到了我的信息就把我给你的SEQ加1(a+1)作为ACK发送给我; 而PC2这边。他也要确认PC1能不能收到他的消息,于是他以同样的方法給PC1也发送了一个确认消息(初始序列号设为b); PC1收到后,他需要再回复PC2一条消息,此时PC1的初始序列号已经变成了a+1了,他給PC2的确认序列号是b+1,并且告诉PC2:“我已经知道你的消息了别再发了”; 此时他们就已经成功建立了连接。 三次握手其实可以比作你和好久不联系的老朋友打电话: 首先你拨号过去,得问:“你好,请问你是易烊千玺吗?”这时候你还不确定对方的身份,同时对方也不知道你的身份 然后那边回答:“是的,我是易烊千玺,你是迪丽热巴?”这时候,你就可以确定他的身份了,同时他向发问,想要确定你的身份。 最后,你回答:“是的,我是迪丽热巴”这个时候,他那边也可以知道你的身份了。这个时候你们彼此已经确定了对方的身份,相当于就已经成功建立的了连接,就可以开始扯谈了 以上是TCP连接建立的过程,而连接断开的过程被称为“四次握手”,原理和“三次握手”差不太多。 最近还整理了很多网工学习资料 有需要的可以找我要 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 23:16:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |