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地址只能对应一个端口。

相关推荐
lkbhua莱克瓦246 小时前
进阶-索引3-性能分析
开发语言·数据库·笔记·mysql·索引·性能分析
美少女战士1@9 小时前
【笔记】AD-检查与导出文件
笔记
大山老树9 小时前
行动教练学习笔记
笔记·学习
@zulnger11 小时前
python 学习笔记(文件读写)
笔记·python·学习
韩明君11 小时前
debian13学习笔记
服务器·笔记·学习
彩色面团儿12 小时前
Pytest框架测试用例分析(测试笔记二)
笔记·测试用例·pytest
浩瀚地学12 小时前
【Java】面向对象进阶-接口
java·开发语言·经验分享·笔记·学习
swan41612 小时前
SCAU期末笔记 - 区块链原理与技术主观题库
笔记·区块链
强子感冒了12 小时前
Java Map学习笔记:HashMap、LinkedHashMap 与 TreeMap 的核心使用与区别
java·笔记·学习
深蓝海拓12 小时前
PySide6从0开始学习的笔记(二十二) 几种封装信号传递内容的方法
笔记·python·qt·学习·pyqt