IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络编程相关知识点 -> 正文阅读

[网络协议]网络编程相关知识点

提示:目录自动生成


前言

网络编程相关知识点


正文

一、字节序

1.网络字节序

大端模式,低地址存高字节

2.本地字节序

小端模式,低地址存低字节

二、TCP协议

1.三次握手

  • 主动发起连接端,发送 SYN 标志位,请求建立连接。携带序号,数据字节大小 (0),滑动窗口大小
  • 被动接受端,发送 ACK 应答,SYN 标志。携带序号,数据字节大小 (0),确认序号,滑动窗口大小
  • 主动发起连接端,发送 ACK 应答,携带确认序号
    tcp第三次握手失败会出现什么:
    如果此时 ACK 在网络中丢失,过了超时计时器后,那么 Server 端会重新发送 SYN+ACK 包。重传次数根据 /proc/sys/net/ipv4/tcp_synack_retries 来指定,默认是 5 次。如果重传指定次数到了后,仍然未收到 ACK 应答,那么一段时间后,Server 自动关闭这个连接。但是 Client 认为这个连接已经建立,如果 Client 端向 Server 写数据,Server 端将以 RST 包响应,方能感知到 Server 的错误。当失败时服务器并不会重传 ack 报文,而是直接发送 RTS 报文段,进入 CLOSED 状态。
    这样做的目的是为了防止 SYN 洪泛攻击。

2.四次挥手

  • 主动关闭连接端,发送 FIN,
  • 被动关闭端,发送 ACK。 处于半关闭
  • 被动关闭端,发送 FIN
  • 主动关闭端,发送 ACK 应答。此时连接全部关闭

三、长连接与短连接

1.长连接

连接 -> 传输数据 -> 保持连接 -> 传输数据 -> …………-> 直到一方关闭连接,多是客户端关闭连接
长连接指建立 SOCKET 连接后不管是否使用都保持连接,但安全性较差。

  • 优点
    长连接可以省去较多的 tcp建立/关闭的操作,减少浪费,节省时间,对于频繁请求资源的客户,较适用于长连接;
  • 缺点
    随着客户的越来越多,server 早晚会有扛不住的一天,这时需要采取一些策略,如关闭一些长时间不读写操作的连接,这样可以避免一些恶意连接导致 server 端服务受损,如果条件再允许,就可以以客户端为颗粒度,限制每个客户端的最大连接数

2.短连接

连接 -> 传输数据 -> 关闭连接
比如 HTTP(1.1之后默认长连接) 是无状态的的短链接,浏览器和服务器每进行一次 HTTP 操作,就建立一次连接,但任务结束就中断连接。

  • 优点
    短连接对于服务器来说较为简单,存在的连接都是有用的连接,不需要额外的控制
  • 缺点
    客户端连接频繁,会在 tcp 的建立和关闭上浪费时间。

总结

总结:
未完待续

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 08:19:50  更:2021-09-19 08:20:28 
 
开发: 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年6日历 -2024/6/27 1:53:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码