计算机网络 极客十道面试题


image

分层名称 功能 每层功能概览
应用层 针对特定的应用协议 Hppt协议,邮件协议
表示层 网络标准数据格式 接受不同形式的文本、图像、声音
会话层 通信的管理 何时建立连接,何时断开连接,保持多久连接
传输层 TCP协议 两个进程之间的数据传输
网络层 地址管理和路由选择 经过哪个路由器传递到目标地址
数据链路层 通过MAC地址实现传输
互联设备之间传送和识别帧
由数据流变成比特帧
物理层 电压的高低和灯光的闪灭 比特流和电子信号的切换

TCP三次握手和四次挥手?

为什么要进行握手

TCP协议是可靠的传输协议,也就是我给你发完消息,我要知道明确知道你收到了,然后再发下一条,所以要进行握手。挥手的时候,对于双工的网络,由其中一方可以停止发送,但是另一方可以继续发,这个要分别确定,所以挥手要四次

为什么握手是三次而不是四次

因为如果是进行四次握手,比如我给你说,我要传数据了,你说好的,你说 “我也要给你传数据了”,我也说好的,这个过程过程中,如果你给我发的,我没收到,此时的网络就会处于一种 半打开 的状态,这种状态在 linux 系统中,可以持续半个月之久,关闭的时候可以半打开状态,但是发送的时候,tcp协议不允许出现这种状态,所以只能是三次而不是四次

握手时候的序列号为什么不能从0开始

因为从0开始,发生断开重连的时候,那么序列号就有可能重复

HTTP中的缓存处理流程

输入 url 后,网络世界发生了什么?

image

image

HTTP长链接有什么优点?

image

  • http协议是基于 tcp协议的,这样就可以减少tcp握手的次数提高效率
  • 减少慢启动的影响

缺点

TCP协议是字符流协议,也就是说他传文件的时候,会从文件的头传到文佳的位,一个字符一个字符的传,绝对不能乱。那么串行的时候,就会有对头阻塞问题

介绍一下多播怎么实现的?

多播一般是在局域网内实现的,多播分为光播组播

如果把 IP 地址中的地址位全部置成 1 ,就成了广播,比如 127.20.255.255,

服务器的最大并发连接数是多少?

服务器大概有6万多个端口,但是最大连接数是六万吗?其实受制于 源ip/目的ip源端口号/目的端口号

受制于tcp报头。

image

其次是端口号

image

TCP和UDP的区别

TCP协议

  • 传输任意长度消息:(因为他是字符流)
  • 可靠传输
  • 流量控制,阻塞控制。(通过滑动窗口,慢启动等来控制)

UDP协议

  • 一对多通信
  • 效率高、简单,:因为他的 head 要比 TCP的头部小很多
  • 时效性好,无队头阻塞

为什么说http协议是无状态的,如何加状态信息

http本身是无状态的,第一次访问和第二次访问,没有任何区别。
如何让 http协议变得有状态呢?通过添加 cookiesession , cookie 是保存在客户端的,session 是保存在服务器端的。不过都是有服务器写的。

posted @ 2021-07-19 10:29  沧海一声笑rush  阅读(137)  评论(0编辑  收藏  举报