非常推荐大家看一下 《图解HTTP》 这本书,这本书页数不多,但是内容很是充实,不管是用来系统的掌握网络方面的一些知识还是说纯粹为了应付面试都有很大帮助。下面的一些文章只是参考。大二学习这门课程的时候,我们使用的教材是 《计算机网络第七版》(谢希仁编著),不推荐大家看这本教材,书非常厚而且知识偏理论,不确定大家能不能心平气和的读完。
-
通过这篇文章可简单的了解一下OSI与TCP/IP各层的结构与功能,这样对后面学习其他计算机网络知识更有帮助。
-
涵盖计算机网络需要系统掌握的几乎所有的知识点,推荐没有系统学过计算机网络知识的可以看一下。
-
大量图解,总结的很不错。
-
掘金社区的一篇文章,可以当做参考文章看一下,我觉得写的内容很鸡肋。
为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。
漫画图解:
- 客户端–发送带有SYN标志的数据包–一次握手–服务端
- 服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端
- 客户端–发送带有带有ACK标志的数据包–三次握手–服务端
为什么要传回SYN(发起一个新链接)?
接收端传回发送端所发送的SYN是为了告诉发送端,我接收到的信息确实就是你所发送的信号了。
传了SYN,为啥还要传ACK(确认序号有效)?
双方通信无误必须是两者互相发送信息都无误。传了SYN,证明发送方到接收方的通道没有问题,但是接收方到发送方的通道还需要ACK信号来进行验证。
断开一个TCP连接则需要“四次挥手”:
- 客户端-发送一个FIN,用来关闭客户端到服务器的数据传送
- 服务器-收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。和SYN一样,一个FIN将占用一个序号
- 服务器-关闭与客户端的连接,发送一个FIN给客户端
- 客户端-发回ACK报文确认,并将确认序号设置为收到序号加1
百度好像最喜欢问这个问题。
打开一个网页,整个过程会使用哪些协议
图片来源:《图解HTTP》
一般面试官会通过这样的问题来考察你对计算机网络知识体系的理解。
图片来源:《图解HTTP》