有了mac地址为什么还需要ip?
mac地址相当于身份证,是一个唯一标识,无定位功能,而ip是地址是能定位的,所以需要ip地址
什么是DHCP?
DHCP是用于动态分配ip地址,会给主机自动分配对应网段的ip地址
ARP协议是什么?
arp是通过广播的方式获取ip所对应的mac地址的协议
交换机比集线器好在哪?
交换机是能够学习mac地址的,他会将发送端的mac地址记录下来,等到全部记录下之后就不需要广播传输包了
ping命令
ping对应的是ICMP协议的查询报文类型,是主动请求并获得主动应答,能得到丢包率和往返时间
traceRoute
traceRoute是差错报文,能确定终点不可达,这样通过设置ttl来确定距离目标地址有几跳,另外一个作用是故意设置不分片,从而可以确定路径的MTU
转发网关和NAT网关
转发网关不会修改ip地址,只会修改mac地址。nat网关会修改ip地址和mac地址
TCP和udp的区别
TCP是面向连接的,udp是无连接的,所谓连接就是客户端和服务端使用一定的数据结构来维护双方的江湖状态
tcp提供可靠交付,保证无差错,不丢失,不重复,有序。udp没有任何保证
tcp是面向字节流的,发送的时候是一个流,没头没尾。udp是一个个的发,一个个的收
TCP支持拥塞控制,能根据网络情况调整发包速率,udp不会
udp适合哪些场景
快速互联网连接,目前quic协议基于udp开发,在应用层实现了连接,拥塞控制等功能
实时性比较高的场景,线上会议,实时游戏等需要实时性高的场景
TCP三次握手
为什么需要三次握手
前两次握手确定了客户端和服务端的收发是没问题的,并且也确定了TCP包的序号,第三次握手主要是为了让客户端确定这个连接无问题,不然如果是一个已经失效的序号让服务端认为连接上,客户端又不发送消息过去会白白浪费资源
四次挥手
为什么需要TIME-WAIT状态
因为主动关闭方发送给被动关闭方的数据丢了时,被动关闭方会重发数据,TIME-WAIT就是等被动关闭方的重发数据,这样确保被动关闭方能最终收到事件关闭的信息
TCP的可靠性是怎样保证的
TCP在三次握手后确定发送序号,之后按照序号升序发送信息,相同序号的包会丢弃,发送端在长时间没有收到包的ack后会重发,接收端发现中间有丢包时也会发消息让发送端重发
TCP是怎样控制流量的
接收方返回的确认报文中有窗口大小,让发送方能精准的控制窗口
TCP是怎样实现拥塞控制的?
首先是慢启动,发送数量由1开始指数性增长,达到65535字节时改成线性增长,当网络拥塞时,会出现丢包,之后收到接收方的快速重传包后会将窗口缩减为一半,慢启动阈值等于窗口大小,如果能收到
TCP的BBR拥塞控制算法是怎样的
TCP socket
说一下你知道的IO模型?
http2.0做了哪些优化?
将请求分层了header帧和data帧,在http协议层解决队首阻塞问题,将header进行本地缓存,然后相同的请求头用索引代替
http使用quic协议有哪些优化
使用udp协议解决传输层的队首阻塞问题
使用id代替四元组表示连接,网络切换时不需要重新建立连接