| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计网简记-5-运输层 -> 正文阅读 |
|
[网络协议]计网简记-5-运输层 |
1.目的:实现进程间通信(端口到端口) 2.熟知端口号:IP中的协议字段UDP为17,TCP为6 ? 3.UDP(用户数据报协议): 无连接、不可靠,但是无需连接,所以比较快,适用于视频会议、直播等实时应用。面向应用报文,只添加一个UDP首部,不进行拆分。 4.TCP(传输控制协议):面向字节流,有连接,可靠传输,会拆分应用报文。
PS:若接收到窗口为0时,启动0窗口计时器,0窗口计时器超时则发送0窗口探测报文,该报文也有重传计时器,超时继续重传。
????????1)使发送方不需等超时再重传,而是尽快重传; ? ? ? ? 2)要求接收方收到数据立即发送确认,而不是发送数据时捎带确认 ? ? ? ? 3)即使收到失序的报文段,也要对已收到的报文段重复确认 ? ? ? ? 4)发送方一旦收到3个连续的重复确认,立即重传相应报文段
PS:为什么不能两次握手?因为若两次握手,则对服务器来说,连接的建立不够可靠,比如一个连接请求报文经网络延迟等原因在不正确的时间到达了,服务器依然会认为连接成功的建立了,这样就会浪费服务器的资源,若改为三次握手,因为第三次握手中报文的ack字段对应着服务器发送的报文的seq,所以不会导致误判。
? PS: ? ? ? ? 1)其实类似于三报文握手,四次挥手也是为了确认发出去的FIN报文被正常接收。 ? ? ? ? 2)TIME_WAIT的作用有两个,一是防止最后一个ACK报文未能到达服务器时客户端就关闭连接,导致服务器不断重发,无法正常关闭;二是2MSL的时间可以保证这次连接的报文全部消亡,不会对下一次连接产生影响。
? ? |
|
网络协议 最新文章 |
使用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/27 13:23:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |