| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 08.传输层_UDP -> 正文阅读 |
|
[网络协议]08.传输层_UDP |
传输层( Transport) ? 传输层有2个协议 ?TCP(Transmission Control Protocol),传输控制协议 ?UDP(User Datagram Protocol),用户数据报协议 面向连接:三次握手,建立连接,相当于中间有一条隐形的管道,数据发完之后,要断开连接,不然会占用服务器的资源,服务器的端口会一直等客户端发送数据过来。 无连接:不管你在不在线,不管你能不能连接,直接朝服务器扔过去 可靠传输,不丢包:发100k数据过去,中间某个字节丢失了,它会补发,保证这100个字节传输过去。 不可靠传输,尽最大努力交付,可能丢包:尽可能扔过去,中间丢了我也不管 首部占用空间大:要面向连接、要保证可靠传输 小:只包含目标和源就够了 要保证完整的,选TCP;实时的应用场景,选UDP,选TCP会很混乱,说着说着就会插一句之前说过的话 邮件传输:SMTP 我们发送请求,肯定会先在应用层封装一个数据,假设我们用HTTP协议来封装,传输到传输层,我们肯定希望用TCP协议,因为HTTP是客户端用来发送数据用的协议,肯定希望数据不丢失 UDP—数据格式 ? UDP是无连接的,减少了建立和释放连接的开销 ? UDP尽最大能力交付,不保证可靠交付 ?因此不需要维护一些复杂的参数,首部只有8个字节(TCP的首部至少20个字节) 数据丢了就丢了,无所谓 ? UDP长度(Length) ?占16位,首部的长度 + 数据的长度(整体的长度) UDP—检验和(Checksum ) ? 检验和的计算内容:伪首部 + 首部 + 数据 ?伪首部:仅在计算检验和时起作用,并不会传递给网络层(虚拟的) 作用 端口:服务器占用一个端口号,在这个端口上开一个服务器软件进行监听,比如开一个8080端口,在这个端口上开一个tamacat,监听客户端发送过来的数据,tomacat进行接收,同时也可以用这个端口发送数据回去。服务器可以开多个端口,进行接收和发送数据。 wireshark拦截的是校验过的数据,接收到的帧是没有尾部的。 端口(Port) ? UDP首部中端口是占用2字节 ?可以推测出端口号的取值范围是:0~65535 ? 客户端的源端口是临时开启的随机端口 只有请求结束,端口才会关闭,下一次开启,仍然是随机的。 服务器一旦开机,就不会关了,它的端口是一直开启的。 ? 防火墙可以设置开启\关闭某些端口来提高安全性 常用的协议,默认使用的端口 客户端发过来的MySQL请求,可以通过防火墙拦截,让客户端只能通过HTTP请求来间接访问 ? 常用命令行 ?netstat –an:查看被占用的端口 ?netstat –anb:查看被占用的端口、占用端口的应用程序 ?telnet 主机 端口:查看是否可以访问主机的某个端口 telnet baidu.com 3306 连接不上 telnet localhost 443 效果图 ? 安装telnet:控制面板 – 程序 – 启用或关闭Windows功能 – 勾选“Telnet Client” – 确定 |
|
网络协议 最新文章 |
使用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年11日历 | -2024/11/26 4:22:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |