cs144笔记(一)

  1. 标题 [数个 “#” + 空格 前置]
  2. 强调 [用 “**” 或 “__” 包围]
  3. 斜体 [用 “*” 或 “_” 包围]
  4. 删除线 [用 “~~” 包围]
  5. 代码 [用 “`” 包围]
  6. 代码块 [按三个 “`” 并敲回车]
  7. 引用 [“>” + 空格 前置]
  8. 无序列表 [“-“ 或 “+” + 空格 前置]
  9. 有序列表 [数字 + “.” + 空格 前置]
  10. 链接 [常用 “[ ]” + “( )” 分别包围文本与链接] 来看看我贫瘠的仓库罢
  11. 任务列表 [“- [ ]” + 空格 前置]
  12. 表格 [用 “|” 绘制表格边框]
  13. 割线 [按三个 “*” 或 “-“ 或 “_” 并敲回车]
  14. Emoji表情 [“:” 前置]
    [TOC]

1.1 app传输流程

1.2四层网络模型

| application |->application presentation
| transport |->session transport
| network |->network
| link |->link physical

ip:
internet protocal
尽可能传输数据,但是传输可能无序倒甚至损坏
tcp:
transmission control protocol
尽可能正确传输,复用保证正确传输
udp:
比tcp简单,不完全保证送达

alt text

ip the thin waist
alt text

1.3ip服务模型

alt text

the ip service model

alt text

data

自包含的包 一步步跳转
ipsa:来源地 ipda:目标地alt text

unreliable

数据可能丢失

best effort

尽可能不丢,只err后丢

connectionless

不连接 不传输任何状态

为什么ip服务尽可能简单

  1. 更可靠 更容易更新 开销更低 更快
  2. 端到端原则
  3. 可信不可信的服务都可以建设到ip服务上
  4. ip对链路层做了最少的假设

细节

  1. 试图防止数据包自循环 在每个数据段头部+跳数(hopcount)字段 ttl字段
  2. ip分片过长数据包 适应不同能力的链路
  3. 使用头部校验减少数据传错目的地
  4. IPv4 ipv6
  5. 可以在header加新功能

ipv4头部

alt text

alt text

1.4 数据包生命周期

tcp btye stream
三次握手

  1. 客户端像服务器发送一个同步消息syn
  2. 服务器响应一个同步消息确认客户端请求 syn ack
  3. 客户端通过确认服务器的同步请求相应 ack
    alt text

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2025 mieopm
  • Visitors: | Views:

有打赏功能?用一下

支付宝
微信