本文共 1652 字,大约阅读时间需要 5 分钟。
来自极客时间上的讲师刘超的关于网络协议的课程,质量非常高,强烈推荐。
协议三要素
以太网 Ethernet
当今局域网采用的最通用的通信协议标准,处于数据链路层。它规定了包括的连线、电子信号和的内容。网关gateway,路由器router,交换机switch,集线器hub,网桥bridge
hub: broadcast to every port, one-line switch: better hub, intelligent they are both used to exchange data within a local network hub->switch。bridge已淡出router: routes data from one network to another, base on ip address
gateway: 离开局域网就要经过一个网关,网关是路由器的一个网口二层定义了本地局域网的传输行为,ip层定义了端到端的传输行为。网络传输以包为单位,二层叫帧,网络层叫包,传输层叫段。
摘评论里@芒果的发言:ip地址不是固定的。为何不直接用mac呢?因为ip选址+mac定位效率更高
评论里的快递比喻个人更认同
差错报文不会产生差错报文
是ip+端口(TCP、UDP)或ID(ICMP)哈希匹配算法
OSPF直接基于IP协议,只发给邻居,只有一跳,不经过中间设备。BGP基于TCP, 在BGP peer之间交换信息
接收端和发送端为维护连接所保持的数据结构,即socket,就是连接
netstat,lsof,ss等
进入缓存并等待,会增加额外的时延
windows是IOCP,事件发生时,IOCP机制将数据直接copy到缓冲区,应用可以直接使用。而epoll的异步通知,应用需要调用IO函数获取数据。跨平台可以使用libevent库,这是一个事件通知库,适用于linux、win、bsd等。
从https设计的流程考虑:DNS查询(httpdns),tcp三次握手(改用基于udp的quic),交换3个key(共享密钥)
基于TCP,不适合实时场景。使用基于udp的quic。
同城双活
异地灾备
转载地址:http://ilvta.baihongyu.com/