计算机网络方面的面试基础题(超级全哦)
精品文档 一、什么是互联网 OSI 模型? OSI(Open System Interconnection)是指开放式系统互联参考模型。在我们的平常使 用的计算机网络中存在众多体系结构, 如 IBM 公司的 SNA(系统网络体系结构)和 DEC 公司的 DNA(Digital Network Architecture) 数字网络体系结构等。 由于体系太多,为了能够解决不同网络之间的互联问题,国际标准化组织制定了这个OSI 模型。 OSI 将网络通信工作分为七层,由高到低依次为物理层、数据链路层、网络层、传输层、会 话层、表示层和应用层。 OSI 模型结构图 二、数据如何各层之间传输? 物理层,数据链路层,网络层属于OSI 模型的低三层,负责创建网络通信连接的链路, 传输层,会话层,表示层和应用层是OSI 模型的高四层,具体负责端到端的数据通信。 每层完成一定的功能,每层都直接为其上层提供服务, 并且所有层次都互相支持, 而网络通 信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。 当然,并不是所有通信都是要经过OSI 的全部七层,如物理接口之间的转接, 只需要物理层 中进行即可;而路由器与路由器之间的连接则只需网络层以下的三层。 三、各层的作用是什么?各自包括哪些就应用? 1.物理层。物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能 特性以及过程特性。物理层为上层协议提供了一个传输数据的物理媒体。 属于物理层定义的典型规范包括: EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45 等。 2.数据链路层。 数据链路层在不可靠的物理介质上提供可靠的传输。 数据链路层的作用 包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。 数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。 3.网络层。网络层负责对子网间的数据包进行路由选择。网络层还可以实现拥塞控制、 网际互连等功能。 网络层协议的代表包括:IP、IPX、RIP、OSPF 等。 4.传输层。传输层是第一个端到端, 即主机到主机的层次。 传输层负责将上层数据分段 并提供端到端的、可靠的或不可靠的传输。 此外,传输层还要处理端到端的差错控制和流量 控制问题。 传输层协议的代表包括:TCP、UDP、SPX 等。 5.会话层。 会话层管理主机之间的会话进程, 即负责建立、 管理、 终止进程之间的会话。 会话层还利用在数据中插入校验点来实现数据的同步。 。1 欢迎下载 精品文档 6.表示层。 表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个 主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。 7、应用层。应用层为操作系统或网络应用程序提供访问网络服务的接口。 应用层协议的代表包括:Telnet、FTP、HTTP、SNMP 等。 四、在各层之间,数据是以什么单位进行传输的? 这个问题比较有意思, 数据在各层之间的单位都是不一样的, 在物理层数据的单位称为 比特(bit);在数据链路层,数据的单位称为帧(frame); 在网络层, 数据的单位称为数据包 (packet) ; 传输层, 数据的单位称为数据段 (segment) 。 ******************************************************************************* ******************************************************************************* ************************************ 一、TCP 握手协议 在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn 包(syn=j)到服务器,并进入SYN_SEND 状态,等 待服务器确认; 第二次握手:服务器收到syn 包,必须确认客户的SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入SYN_RECV 状态; 第三次握手:客户端收到服务器的SYN+ACK 包,向服务器发送确认包ACK(ack=k+1),此包 发送完毕,客户端和服务器进入ESTABLISHED 状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念: 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN 包(syn=j)开设一个条目,该条目表明服务器已收到SYN 包,并向客户发出确认,正在等 待客户的确认包。 这些条目所标识的连接在服务器处于Syn_RECV 状态,当服务器收到客户的确认包时,删除 该条目,服务器进入 ESTABLISHED 状态。 Backlog 参数:表示未连接队列的最大容纳数目。 SYN-ACK 重传次数 服务器发送完 SYN-ACK 包, 如果未收到客户确认包, 服务器进行首次重 传,等待一段时间仍未收到客户确认包, 进行第二次重传,如果重传次数超过系统规定的最 。2 欢迎下载 精品文档 大重传次数, 系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 半连接存活时间: 是指半连接队列的条目存活的最长时间, 也即服务从收到 SYN 包到确认这 个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。 有时我们也称半连接存活时间为Timeout 时间、SYN_RECV 存活时间。 二、TCP/IP 4 层模型以及每层主要功能描述如下: 应用层(Application Layer) TCP/IP 组中的应用层综合了 OSI 应用层、表示层以及会话层的功能。 因此,在 TCP/IP 结构中,传输层以上的任何过程都称之为应用。 在 TCP/IP 中,使用套接 字 (socket) 和端口描述应用程序通信路径。 大多数应用层协议与一个或多个端口号相关联。 传输层(Transport Layer) TCP/IP 结构中包含两种传输层协议。 其一传输控制协议(TCP),确保信息传输过程。其二用户数据报协议( UDP),直接传输数 据报,而不需要提供端对端可靠校验。两种协议对应不同的应用具有各自功能。 网络层(Network Layer) TCP/IP 网络层中的主要协议是网际协议(IP)。 所有网络层以下或以上的各层通信在跨越 TCP/IP 协议栈时,都必须通过 IP 完成。此外, 网络层还包含部分支持性协议,如 ICMP,实施和管理路由过程。 网络访问层(Network Access Layer) 在 TCP/IP 结构中,网络访问层由数据链路层和物理层合并而成。 TCP/IP 网络访问层并没有重新定义新标准,而是有效利用原有数据链路层和物理层标准。 很多 RFC 中描述了 IP 如何使用数据链路协议并作为其接口界面, 如以太网、 令牌环、 FDDI、 HSSI 和 ATM 等。 物理层中规定了硬件通信属性, 但它不直接作为网络层及以上层