408简答题相关
计算机网络部分:
tcp三次握手过程,能用两次握手吗:
三次握手:连接建立过程采用客户端-服务器端模式。假设A为客户端。B为服务器端。A向B发送连接请求,B对其确认。A再对其确认报文再进行确认。为三次握手过程。
若采用二次握手,会出现A发送的失效的请求报文又突然传送到B,而发生错误。失效的请求报文是指A发送的请求报文由于网络延时没有及时到达B,A再次发送请求报文给B,成功与B建立第二次连接。而后第一次请求报文到达B后,B误以为A又要进行连接,即对A发送确认,此时A不再理会。B主机就一直等待A主机发送数据,导致B主机资源浪费。三次握手很好得避免这种情况。
四次挥手:
1,主动关闭方发送一个FIN,用来关闭主动关闭方到被动关闭方这个方向的数据连接
2.被动关闭方发送一个确认,表示收到FIN.确认关闭连接,此时主动关闭方到被动关闭方这个方向的数据连接关闭。主动关闭方还可以接收数据。
3.被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方这个方向的数据连接。告诉 主动关闭方,我的数据也发完了,不会在发送数据了。
4.主动关闭方发送一个确认,表示收到FIN.确认关闭连接,此时被动关闭方到主动关闭方这个方向的数据连接关闭
交换机,路由器,集线器作用
集线器hub是指多条以太网双绞线或光纤连接在同一个物理介质下的设备
1.工作在哪一层?物理层
2.集线器会把传送给它的帧广播每一个端口,不能区分传送到具体哪个帧,都传送能确保达到目的
3.不能划分冲突域和广播域
交换机switch意为开关,是一种为接入交换机的两台设备提供独享的电信号通路,把传输的信息送到符合要求的相应路由上。
1.工作在哪一层?数据链路层
2.有目的发送。记住与它连接的设备的MAC地址。根据MAC地址来确定转发数据的目的地址,不会显著增加网络响应时间。
3.能划分冲突域和不能划分广播域
路由器router是指连接因特网和广域网的设备,根据信道情况自动选择路由,根据最佳路径,按前后顺序发送信号。
1.工作在哪一层?网络层
2.有目的发送。根据IP地址来确定转发数据的目的地址。
3.能划分冲突域和广播域
在浏览器中输入www.baidu.com后执行的全部过程
(1)浏览器获取输入的域名www.baidu.com
(2)浏览器向DNS请求解析www.baidu.com ip地址
(3)DNS解析出www.baidu.com的ip地址
(4)浏览器与该ip地址对应的服务器建立tcp连接
(5)浏览器发出Http请求,请求百度首页
(6)服务器通过Http响应把百度首页发送给浏览器
(7)tcp连接释放
(8)浏览器再将首页文件解析,将web页展示给用户
ARP协议,简述工作原理:
每个主机都会建立一个ARP列表里面存有ip地址到ARP地址映射
源主机通过广播发送一个ARP请求数据包给本网络各个主机,数据包内容是源主机MAC地址,ip地址,目的主机ip地址。
各主机收到数据包后检查目的ip地址是否是自己的,不是就忽略。是就从数据包中取出源主机的ip地址和MAC地址写入ARP列表中。并把自己的MAC地址放入arp响应包,告诉源主机就是它想要的MAC地址。列表已经存在就覆盖掉。
广播发送ARP请求。单播发送ARP响应。
CSMA协议:
(1)1坚持:发送数据时先侦听,空闲发。忙则等待同时监听如果空闲立刻发数据
(2)非坚持:发送数据时先侦听,空闲发。忙则等待。放弃监听
(3)p坚持 发送数据时先侦听,空闲发。忙则等待下一个时隙监听。空闲则P概率发送数据,1-p概率推迟到下一个时隙发送数据
CSMA-CD协议:
碰撞检测协议
先听后发,边听边发,冲突停发。随机重发。
流量控制拥塞控制区别:
拥塞控制是从整体情况上看,防止过多数据注入网络中,
流量控制:两个相邻节点,点对点之间。AB结点通信。B结点根据自己缓存大小通过窗口值告诉A。A结点发送数据不超过窗口值
osi模型和tcp/ip网络区别:
osi7层。物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
tcp/ip网络 4层。分别是网络接口层,网际层,传输层 应用层
不同有以下几点:
网络模型层数不同。
支持连接数目不同。
应用规模不同。
数据报和虚电路服务区别:
数据报和虚电路都是物理层的分组交换
1.数据报服务在传输前不需要和目的地址建立连接。虚电路要
2.数据报每个分组都有完整的目的地址。虚电路服务仅在连接建立阶段使用,之后用虚电路号
3.数据报的每个分组独立地进行路由选择和转发。虚电路服务属于同一条虚电路的分组按同一路由转发。
4.数据报服务不保证有序到达。虚电路保证有序到达。
DNS协议:
将域名地址转换为ip地址。 ip地址到域名映射的分布式数据库。方便用户使用互联网
如何实现可靠传输?
定时器
检验和
序号
确认(记忆:怎么样才可靠?1.有deadline定时,2.验算 [检验和] 3.编序号,丢了也知道丢哪个。4.事事有回音即确认 == 非常可靠)
其他各种协议的介绍
ICMP协议: 网络报文控制协议,可以报告错误信息或差错情况,封装在Ip数据报中
常见应用
tracerouter:探测ip数据报走过的路径
ping:排查网络故障
FTP协议:用于在客户机和服务器之间进行简单的文本传输的协议,提供不复杂,开销不大的文本传输服务
HTTP协议: 所有www文件必须遵守的应用最广泛的超文本传输协议
常见http请求方法
PUT 给给定的URL文档存储一个文档
DELETE 删除指定URL所标志的文档
POST 给服务器添加信息如注释
GET 从指定的URL获取信息
其中GET 和POST区别
1.get是从服务器获取信息。post向服务器发送信息
2.get获得的信息量不超过2KB post获取的信息量无限制
3.get获得的信息是安全的幂等的(从同一个URL获取的信息每次都相同)
4.get在URL中如果带参数会被用户看到,值和表单一一对应 post 会将表单各个字段放到html header中,用户不可见。
NAT协议:将私有ip地址转为合法ip地址技术。
DHCP协议:动态主机配置协议。给内部网络分配ip地址或给用户或网络管理员对所有计算机作中央管理功能。
TCP和UDP的区别?
一个变量的地址称为该变量的指针
一个专门用来存放另一个变量的地址即指针的变量
B/S和C/S的优缺点
C/S客户端服务器端
B/S
LINUX系统
软件工程
1.软件开发的生命周期:
可行性分析--需求分析--软件设计(概要设计和详细设计)--软件编码--测试--维护