HCIA笔记3--TCP-UDP-交换机工作原理

1. tcp协议

可靠的连接

1.1 报文格式
1.2 三次握手
1.3 四次挥手

为什么TIME_WAIT需要2MSL的等待时间?
(a) 为了实现可靠的关闭
(b)为了让过期的报文在网络上消失

对于(a), 假设host发给serverlast ack丢了。
server收不到ACK,就会重发FIN报文。

为了让host可以接收到重传的FIN报文,就需要有TIME_WAIT状态。

那么这个时间一定为2MSL吗?

这取决于server端的RTO超时重传时间。
RTO > 2MSL, 那么2MSL时间就不够;
RTO < MSL, 那么MSL的时间就足够。

因此只有当MSL<= RTO <= 2MSL时,才会考虑2MSL

对于(b), 为了让旧的连接在网络中消失,需要考虑极端情况。
HostLast ACK经过MSL才到达server, 而恰好此时server重传了一个FIN报文。而这个报文经过MSL才到达host; 因此需要2MSL才能关闭。

1.4 窗口机制
1.5 序列确认
1.6 超时重传
1.7 网页通信原理

以访问主机A访问百度网页为例

  1. dns协议将域名解析为百度ip
  2. 封装tcp连接请求,跨网段dmac为网关mac。
    dport:80
    sport:15102
    sip:IP_A
    dip:IP_BAIDU
    smac:mac_A
    dmac: mac_gate
    ether type:0x0800
  3. 百度网页服务器发出响应
    dport:15102
    sport:80
    sip:IP_BAIDU
    dip:IP_A
    smac:mac_BAIDU
    dmac: mac_A
    ether type:0x0800
  4. 主机封装http请求在tcp数据中发给百度服务器
  5. 百度服务器收到http请求,产生http响应。
  6. 主机浏览器解http响应,显示在主机上。

2.udp协议

无连接,适合于流媒体。

2.1 报文格式

3 交换机工作原理

(1) 交换机收到广播报文后执行泛洪行为;

泛洪:除了向收到该数据口的其他所有商品复制一份相同报文。

(2) 交换机有自己的端口转发表,其中的表项是mac:交换机端口;交换机根据端口转发表进行转发。如果表项中没有对应的mac, 交换机会进行泛洪。

(3) 交换机会用收到的报文来更新自己的端口转发表,即smac:交换机端口 表项的更新。

(4) 交换机会将收到和发送为同一端口的数据帧丢弃

交换机的一个端口可对应多个mac地址。

一个mac地址只能对应一个端口。

相关推荐
LinXunFeng9 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
treesforest5 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
闪闪发亮的小星星5 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq5 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波5 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.5 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
江华森5 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒5 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
.千余5 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.5 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding