写在前面:在大战之前,最好还是先做好准备,鉴于上一次的失利,所以接下来面试之前,还是要整理一下自己的问题库,这样才不会出现面试的时候,一问基础,懵逼的回答不上来,那就实在是太尴尬了。
参考帖子
http://blog.youkuaiyun.com/liyangbai/article/details/78432167 |
网络层
1、OSI的七层协议是
应用层、表示层、会话层、传输层、网络层、物理链路层、物理层
1.1、TCP/IP分层(4层)
链路层、网络层、运输层、应用层
1.2、五层协议(5层)
物理层、数据链路层、网络层、运输层、应用层
2、tcp/udp是属于哪一层?tcp/udp有何优缺点?
tcp /udp属于传输层 ,TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。
与 TCP 不同, UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单, UDP 头包含很少的字节,比 TCP 负载消耗少。
tcp: 提供稳定的传输服务,有流量控制,缺点是包头大,冗余性不好
udp: 不提供稳定的服务,包头小,开销小
2. 1、TCP 的可靠性如何保证?
TCP的可靠性是通过顺序编号和确认(ACK)来实现的。
3、在浏览器中输入 www.baidu.com 后执行的全部过程
现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:
1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。3)客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
其他协议