ICT领域面试常见问题总结(一)

最近面试在基础知识这块表现不好,所以想着有空就总结下学过的知识点,一方面当是帮助记忆顺便练练笔,另一方面也可以把有些话题放在网上和大家探讨一下。


主要分四章来总结这些问题

包括:网络、操作系统、数据结构和C/C++程序设计。

第一章 网络

(1)OSI参考模型与TCP/IP参考模型概念及区别

    OSI的七层为:

        物理层            // 在信道上传输的原始的比特流

        链路层    ​    ​    ​// 将数据封装为帧,并接受确认帧,以确保正确性

        网络层    ​    ​    ​// 子网的运行控制,控制数据包在网络上的路由

        传输控制层    ​    ​// 从会话层接收数据按顺序并传递给网络

        会话层    ​    ​    ​// 确保不同的机器可以建立回话

        表示层    ​    ​    ​// 用于完成特定功能

        应用层    ​    ​    ​// 人们普遍需要使用的协议

   

    ​TCP的四层为:

        物理层            // 相当于一个物理链路层,直接提供主机到网络的数据交换

        网络层            // 给主机重新分配一个IP,然后处理主机数据包在各网络间的路由

        传输层            // 为应用程序提供一个端到端的连接保证数据的传输顺序和完整性

        应用层            // 根据用户在网络方面的需求提供各种服务

    OSI七层参考模型是理论模型,没有实际使用,而TCP/IP则使用较多,成为事实上的标准。


(2)TCP和UDP的作用和区别

    TCP的中文名字是传输控制协议,它提供一种可靠的字节流服务。

    UDP的中文名字是用户数据报协议,是一个简单的不可靠的服务,不能保证数据一定到达目的地。

    

    他们的区别主要有三个方面:

    1TCP提供了流量控制机制,而UDP没有。

    2TCP提供超时重发,丢弃重复和数据校验功能,而UDP虽有校验但没有重发机制,可靠性不如TCP。

    3TCP在传输数据前需要建立一个连接,而UDP不用。因TCP提供了超时重发的机制会占用一些时间,故速度不如UDP。


(3)TCP的三次握手和四次挥手过程

    ​TCP建立连接的三次握手

    ​    ​C    ​    ​    ​    ​     ​    ​       ​   S

    ​    ​|--------    SYN           ​-------->|

    ​    ​|<-------    SYN,ACK     -------|

    ​    ​|--------    ACK           ​-------->|

    ​TCP拆除连接的四次挥手

        C                                   S

        |--------    FIN           --------->|

        |<-------    ACK     ​      ---------|

    ​    ​|<-------    FIN,ACK     --------|

        |--------    ACK           -------->|

    ​为什么建立需要三次而拆除却需要四次?

    ​    建立连接时主要使用的是同步信号和确认信号,拆除连接时使用的是完成信号和确认信号。

    ​    ​因为服务器准备好随时和客户建立连接,所以一旦客户发出请求就可以立即确认,并准备开始连接。中间不需要时间差。

    ​    ​但是,在拆除连接的过程中,上图表示客户数据发送完成,等待结束,而服务端可能有数据没传完,所以先给客户端反馈一个确认信息,然后处理没完成的数据,这一步完成后,可以断开连接了,才发送FIN信号和ACK。这个中间有个时间差,所以需要拆成两次挥手。

    ​

    ​    ​注!在握手过程中,客户需要第三次握手确认建立连接,这里会隐藏一个攻击即SYN攻击,即攻击者可以向服务器发送N个SYN信号而不确认,这个服务器就需要建立N个未成功的连接,服务器不断向客户重发求确认未果,造成服务器计算和连接资源浪费而影响正常客户使用。针对这一攻击,增加了两个策略,一个是重发次数策略,一个是等待时间策略。当重发次数或或等待时间到达预定值时,这个对应的连接依然未成功时,将直接被拆除。


(未完待续)

阅读更多
文章标签: 面试 网络 基础
个人分类: 网络
想对作者说点什么? 我来说一句

奇怪的面试(转)

zhiliang1113 zhiliang1113

2010-05-08 20:33:00

阅读数:483

没有更多推荐了,返回首页

不良信息举报

ICT领域面试常见问题总结(一)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭