我每次复习的第一趴都是网络。。
一、高频面试题记录
1.1 计算机网络为什么要分层?
网络庞大而且复杂(大量的软硬件系统、大量的程序和协议等),分层可提高整体结构的灵活性、将层次之间结构解耦,各层相互独立、隔离,每层只考虑当前层如何实现即可,不用考虑其他层。
1.2 是怎么分层的?
1.3 三种计算机网络模型的关系是什么?每一层分别包含哪些协议?
1.4 计算机网络中,数据如何在各层中传播?数据在网络各层中的存在形式是怎么样的?、
1.5 各模型之间的关系
OSI是现有模型,后有协议,先有标准,再进行实践,是理论下的模型;【它引入了服务、接口、协议、分层的概念】
TCP/IP 模型是先有协议和应用,再参考了OSI模型,被广泛使用。【它借鉴了OSI的服务、接口、协议、分层的概念】
二、关键学习细节
2.1 OSI 七层模型(等我补充一个信的逻辑,更容易理解)
应用层:通过应用程序间的交互来完成特定的网络应用。
表示层:解释交换数据的含义。该层提供的服务主要包括数据压缩,数据加密以及数据描述。
会话层:负责建立、管理和终止表示层实体之间的通信会话。该层提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法。
传输层:负责因特网中两台主机的进程提供通信服务。
网络层:选择合适的网间路由和交换节点,确保数据按时成功传送。
数据链路层(链路层):数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。
物理层:实现计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。该层的主要任务是确定与传输媒体的接口的一些特性(机械特性、电气特性、功能特性,过程特性)
2.2 五层体系 和 TCP/IP
五层体系的协议结构是综合了 OSI 和 TCP/IP 优点的一种协议,包括应用层、传输层、网络层、数据链路层和物理层。其中应用层对应 OSI 的上三层,下四层和 OSI 相同。五层协议的体系结构只是为介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构。
应用层 :为特定应用程序提供数据传输服务。
传输层 :为进程提供通用数据传输服务。
网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。
数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。
物理层 :负责比特流在传输介质上的传播。
2.3 对比各网络模型
2.4 数据的传输
假设一个主机上的一个应用向另一个主机的一个应用发送数据。
在发送主机端,一个应用层报文被传送到传输层。在最简单的情况下,传输层收取到报文并附上附加信息,该首部将被接收端的传输层使用。
应用层报文和传输层首部信息一道构成了传输层报文段。附加的信息可能包括:允许接收端传输层向上向适当的应用程序交付报文的信息以及差错检测位信息。该信息让接收端能够判断报文中的比特是否在途中已被改变。
传输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息,生成了网络层数据报文。
该数据报文接下来被传递给链路层,在数据链路层数据包添加发送端 MAC 地址和接收端 MAC 地址后被封装成数据帧。
在物理层数据帧被封装成比特流,之后通过传输介质传送到对端。而在接收主机端,整个过程正好反过来。
三、推荐的书(如果我写的不对,请大家一定和我一起交流指正~)
《图解HTTP》人民邮电出版社