当前位置: 首页 > article >正文

CS144 - Lecture 2

CS144 - Lecture 1

TCP

这里就简单讲了一下它的基本性质,没啥好说的

UDP

提供不可靠的传输服务,我们的 DNS 服务和 DHCP 都是用的 UDP 协议。

对于 DNS 我们只是单纯地向 DNS 服务器发送域名,然后返回一个 IP,如果还需要建立 TCP 连接会很麻烦,但是如果使用 UDP 直接传输就很快,只需要简单的重传机制即可。DHCP当然也是这个原因,因为 DHCP 也是发送请求,然后给你分配一个 ip。

以前视频流音频流常使用 UDP 来传输,而现在使用 TCP 的更多,但是对于实时性要求比较高的,还是使用的 UDP。

ICMP

这是一个有用的工具,比如在目标不可达或者重定向的时候,就会向发送方主机返回一些信息,以供我们可以知道发生了什么事情。当然,他被规定的很简单,他不会有重传机制,他会做的仅仅就是返回一个错误信息。比如我们之前使用过的 traceroute 以及 ping 都是利用 ICMP 实现的。

同时 ICMP 依赖于 IP 协议,他并没有独立的传输机制,所以传输的时候是封装在 IP 里面的。

校验和

把所有数据相加来验证数据没有损坏,但是可能出现两个段出错的数据相互抵消了。

值得注意的是,在 TCP 的校验和里面,其实除了 tcp 头部和报文,我们还需要将伪头部加入到计算之中,这个伪头部包含了源地址,目标 ip 以及协议号的内容,我们虽然会将它加入计算,但是并不会将他作为数据报发送出去,而是在目标主机的网络层从 ip 头部中提取信息,然后交给 tcp 进行计算。

循环冗余校验(CRC)

计算多项式的余数来判断数据没有损坏,比校验和准确。通常是在链路层使用 CRC,而 TCP/IP 使用校验和。

消息认证码(mac)

利用算法从消息中提取信息出来并使用共享密钥进行处理然后附加在消息的后面,传输过去之后的时候,对方会提取 MAC,并且使用发送方和接收方才知道的共享密钥对信息再次处理,在计算出一个 MAC,如果不相同,则判断当前的信息已经受损或者已经被篡改(可以用于 TLS 传输层安全协议,即 https)

TCP 的连接

关于 tcp 连接状态的状态转移,这里有三张图帮助我们直观的理解:

在这里插入图片描述

另一张更详细的图,摘自《 linux 高性能服务器编程》:

在这里插入图片描述

接下来一张图是我觉得最直观的,同样摘自《 linux 高性能服务器编程》:

在这里插入图片描述

端对端原则

转存中…(img-ROE24Oa5-1748765656451)]

端对端原则

http://www.lryc.cn/news/2395681.html

相关文章:

  • B站视频下载器 v1.0.4|免登录下载1080P视频
  • AIGC学习笔记(8)——AI大模型开发工程师
  • [蓝桥杯]剪格子
  • 明远智睿SSD2351开发板:语音机器人领域的变革力量
  • Mybtais框架各配置文件主要内容详解(一)
  • Co-IP—验证蛋白互作的不二之选
  • 数据可视化(第4、5、6次课)
  • DAY 18 推断聚类后簇的类型
  • 结合源码分析Redis的内存回收和内存淘汰机制,LRU和LFU是如何进行计算的?
  • ESG体系
  • 基于 KubeKey 3.1.9,快速部署 K8s 1.33.0 高可用集群
  • 华为深度学习面试手撕题:手写nn.Conv2d()函数
  • 归一化相关
  • STM32Cubemx-H7-17-麦克纳姆轮驱动
  • 机器学习算法-逻辑回归
  • Office 2024免费下载 安装包
  • Linux云计算训练营笔记day18(Python)
  • Git深入解析功能逻辑与核心业务场景流程
  • Opencv4 c++ 自用笔记 03 滑动条、相机与视频操作
  • LINUX528 重定向
  • 研华工控机安装Windows10系统,适用UEFI(GPT)格式安装
  • 1、树莓派更换软件下载源
  • 历年中山大学计算机保研上机真题
  • Python----目标检测(《SSD: Single Shot MultiBox Detector》论文和SSD的原理与网络结构)
  • springboot集成websocket给前端推送消息
  • DrissionPage SessionPage模式:轻量级HTTP请求的利器
  • 0527漏洞原理:XSS笔记
  • 智能制造之精读——RPA制造行业常见场景【附全文阅读】
  • spark shuffle的分区支持动态调整,而hive不支持
  • 网络安全十大漏洞