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

相关推荐
_落纸2 天前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
树码小子2 天前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
Alice-YUE2 天前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha2 天前
SpringBoot
笔记·学习
FPGA_Linuxer2 天前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
real 12 天前
传输层协议UDP
网络·网络协议·udp
路由侠内网穿透2 天前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中3 天前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
酷飞飞3 天前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip