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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络 随心笔记(传输层) -> 正文阅读

[网络协议]计算机网络 随心笔记(传输层)

计算机网络随心笔记(传输层)

01、应用层协议很多,传输层就两个协议,如何使用传输层两个协议标识应用层协议呢?

  • 传输层协议加上一个端口号来标识一个应用层协议

image-20210928144324937

02、服务和端口的关系

  • 客户端通过IP地址定位服务器,通过协议和端口号定位服务器上的服务

image-20210928144459370

03、客户端端口的作用

  • 客户端软件可以同时访问多个服务器,客户端会为每个出去的流量分配一个唯一的源端口

image-20210928145447650

04、端口和网络安全的关系

  • 客户端和服务器之间的通信使用应用层协议,应用层协议使用传输层协议 + 端口标识,如果网络设备封掉TCP 或UDP的某个端口,就不能访问其对应的服务,就可以实现网络安全。

image-20210928155422090image-20210928155435931

因此,我们为保障服务器网络安全,只开放必要的端口。(windows上可以通过设置TCP/IP筛选和windows防火墙来实现)

另外,可以在网络设备上控制端口。

image-20210928155855725

05、UDP协议特点

  1. 无连接。减少了开销和发送数据之前的时延
  2. 尽最大努力交付。因此主机不需要维持复杂的链接状态表(其中有很多参数),通信的两端不用保持连接,节省了系统资源
  3. UDP面向报文。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给网络层。UDP对应用层交下来的报文既不合并也不拆分,而是保留这些报文的边界
  4. UDP没有拥塞控制。当网络出现拥塞时不会使源主机的发送速率降低
  5. UDP支持一对一、一对多、多对一和多对多的交互通信
  6. UDP的首部开销小,只有8字节(TCP首部20字节)

06、UDP的首部格式

image-20210928162835741

07、TCP、UDP为什么要有伪首部?

伪首部只用于计算校验和

08、TCP协议特点

  1. 面向连接的传输层协议
  2. 每条TCP连接只能有两个端点(一对一)
  3. TCP提供可靠交付的服务。即通过TCP连接传送的数据,无差错、不重复、不丢失、不失序
  4. TCP提供全双工通信。TCP允许通信双方的应用程序在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据。
    在发送时,应用程序把数据传送给TCP的缓存后,就可以做自己的事了,而TCP在合适的时候把数据发送出去;
    在接收时,TCP把收到的数据放入缓存,上层的应用进程在合适的时候读取缓存中的数据。
  5. 面向字节流。“流”指的是流入到进程或从进程中流出的字节序列

image-20210928164540500

09、TCP报文首部格式

image-20210928165301063

序号的意义

image-20210928165422015

10、TCP可靠传输的实现:停止等待协议

对比原来的“停止等待协议” 和改进后的“连续ARQ协议和滑动窗口协议”

image-20210928171251708

11、TCP连续ARQ协议和滑动窗口协议

ARQ协议,即自动重传请求(Automatic Repeat-reQuest),是OSI模型中数据链路层和传输层的错误纠正协议之一。它通过使用确认超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送。

ARQ协议分 停止等待ARQ协议 和 连续ARQ协议 ,连续ARQ协议了采用滑动窗口方法,又分为 后退N步协议 和 选择重传协议。

https://blog.csdn.net/guoweimelon/article/details/50879588

12、以字节为单位的滑动窗口技术详细图

image-20210928173346018

image-20210928173657083

TCP 通信时,如果发送序列中间某个数据包丢失, TCP 会通过重传最后确认的分组后续的分组,这样原先已经正确传输的分组也可能重复发送,降低了 TCP 性能。

为改善这种情况,发展出 SACK Selective Acknowledgment ,选择确认)技术,使TCP 只重新发送丢失的包,不用发送后续所有的分组,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据已经提前收到等。

13、拥塞控制

1、慢开始

image-20210929131933639

2、拥塞避免

image-20210929132008108

3、快重传

image-20210929132128670

  • 快重传算法首先要求接收方每收到一个失序的分组后就立即发出重复确认,为的是使发送方尽早知道有部分分组没有到达对方,而不是等待自己(接收方)发送数据时才进行捎带确认。
  • 快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必等待到 该报文段 设置的重传计时器到期。

4、快恢复

image-20210929132527929

可靠传输

流量控制

拥塞控制

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

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