jtahstu的博客

root@jtahstu.com   Github   英文博客  

最新碎语:以后没事写写小的知识点吧

您的位置:jtahstu的博客 >笔记> Interview - 计算机网络 - Summary

Interview - 计算机网络 - Summary

    1 、 OSI ( Open System Interconnect ):开放系统互联,是一个七层的计算机网络模型,分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
    TCP/IP ( Transmission Control Protocol/Internet Protocol ):传输控制协议 / 因特网互联协议,是一个四层的计算机网络模型,分别为:网络接口层、网络层、传输层和应用层。结合 OSI 和 TCP/IP 产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。 Internet 就是采用的TCP/IP 协议。

    2、ARP 是地址解析协议,简单语言解释一下工作原理。

    ( 1 )首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
    ( 2 )当源主机要发送数据时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址。
    ( 3 )当本网络的所有主机收到该 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖,然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
    ( 4 )源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

    广播发送 ARP 请求,单播发送 ARP 响应。

    3、DNS ( Domain Name System )域名系统,简单描述其工作原理。

    答:当 DNS 客户机需要在程序中使用名称时,它会查询 DNS 服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的 DNS 域名,指定的查询类型, DNS 域名的指定类别。基于 UDP 服务,端口 53. 该应用一般不直接为用户使用,而是为其他应用服务,如 HTTP , SMTP 等在其中需要完成主机名到 IP 地址的转换。

    4、TCP 和 UDP 的区别?

    答: TCP 提供面向连接的、可靠的数据流传输,而 UDP 提供的是非面向连接的、不可靠的数据流传输。 TCP 传输单位称为 TCP 报文段, UDP 传输单位称为用户数据报。 TCP 注重数据安全性, UDP 数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。

    5、端口及对应的服务?

        服务    端口号
        FTP    21    
        SSH    22    
        telnet    23    
        SMTP    25    
        域名服务器    53    
        HTTP    80    
        POP3    110    
        (网络时间协议)    123    
        数据库服务    3306或514    
        POP-2    109    
        SQL Server    1433           

    6、 ICMP 协议?

    答: ICMP 是 Internet Control Message Protocol ,因特网控制报文协议。它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 ICMP 报文有两种:差错报告报文和询问报文。

    7、 TFTP 协议?

    答: Trivial File Transfer Protocol ,是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

    8、 HTTP 协议?


    答: HTTP 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

    9、 DHCP 协议?

    答:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段。

    10、详细解释一下 IP 协议的定义,在哪个层上面,主要有什么作用? TCP 和 UDP 呢?

    答: IP 协议是网络层的协议,它是为了实现相互连接的计算机进行通信设计的协议,它实现了自动路由功能,即自动寻径功能。

           TCP 是传输层的协议,它向下屏蔽 IP 协议的不可靠传输的特性,向上提供一种面向连接的、可靠的点到点数据传输。 TCP 在可靠性和安全性上等更有保证。

           UDP 也是传输层协议,它提供的是一种非面向连接的,不可靠的数据传输,这主要是有些应用需要更快速的数据传输,比如局域网内的大多数文件传输都是基于 UDP 的。UDP 在传输速率上更快,开销更小。

    11、请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

    答:交换机用于局域网,利用主机的 MAC 地址进行数据传输,而不需要关心 IP 数据包中的 IP 地址,它工作于数据链路层。

          路由器识别网络是通过 IP 数据包中 IP 地址的网络号进行的,所以为了保证数据包路由的正确性,每个网络都必须有一个唯一的网络号。

          路由器通过 IP 数据包的 IP 地址进行路由的(将数据包递交给哪个下一跳路由器)。路由器工作于网络层。由于设备现在的发展,现在很多设备既具有交换又具有路由功能,两者的界限越来越模糊

    12、面向连接和非面向连接的服务的特点是什么?

    答:面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
          非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。

    13、TCP 的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

    答:建立连接的过程是利用客户服务器模式,假设主机 A 为客户端,主机 B 为服务器端。
    (1) TCP 的三次握手过程:主机 A 向 B 发送连接请求;主机 B 对收到的主机 A 的报文段进行确认;主机 A 再次对主机 B 的确认进行确认。
    (2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机 B ,因而产生错误。失效的连接请求报文段是指:主机 A 发出的连接请求没有收到主机 B 的确认,于是经过一段时间后,主机 A 又重新向主机 B 发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机 A 第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机 B ,主机 B 以为是主机 A 又发起的新连接,于是主机 B 同意连接,并向主机 A 发回确认,但是此时主机 A 根本不会理会,主机 B 就一直在等待主机 A 发送数据,导致主机 B 的资源浪费。
    ( 3 )采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。

    14、电路交换、报文交换分组交换的比较?

    答:电路交换:公共电话网( PSTN 网)和移动网(包括 GSM 和 CDMA 网) 采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定宽带的通信电路,通信双方在通信过程中 一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带 宽,并且实时性强,时延小,交换设备成本低,但同时带来的缺点是网络带宽利用率不高,一旦电路被建立不管通信双方是否处于通话状态分配的电路一直被占用。连接建立——数据传输——释放链接
          报文交换:报文交换和分组交换类似,也采用存储转发机制,但报文交换是以报文作为传送单元,由于报文长度差异很大,长报文可能导致很大的时延,并且对每个节 点来说缓冲区的分配也比较困难,为了满足各种长度报文的需要并且达到高效的目的,节点需要分配不同大小的缓冲区,否则就有可能造成数据传送的失败。在实际 应用中报文交换主要用于传输报文较短,实时性要求较低的通信业务,如公用电报网,报文交换比分组交换出现的要早一些,分组交换是在报文交换的基础上,将报 文分割成分组进行传输,在传输时延和传输效率上进行了平衡。另外一个缺点是出错时,整个报文都将重传。
         分组交换:电路交换技术主要适用于传送话音相关的业务,这种网络交换方式对于数据业务而言,有着很大的局限性。首先是数据通信具有较强的突发性,峰值比特率 和平均比特率相差较大,如果采用电路交换技术,若按峰值比特率分配电路带宽会造成资源的极大浪费,如果按平均比特率分配带宽,则会造成数据的大量丢失,其 次是和语音业务比较,数据业务对时延没有严格的要求,但是需要进行无差错的传输,而语音信号可以有一定程序的失真但实时性要高。分组交换技术就是针对数据 通信业务的特点而提出的一种交换方式,它的基本特点是面向无连接而采用存储转发的方式,将需要传送的数据按照一定长度分割成许多小段数据,并在数据之前增 加相应的用于对数据进行选路和校验等功能的头部字段,作为数据传送的基本单元,即分组。采用分组交换技术,在通信之前不需要建立连接,每个节点首先将前一 节点送来的分组收下并保存在缓冲区中,然后根据分组头部中的地址信息选择适当的链路将其发送至下一个节点,这样在通信过程中可以根据用户的要求和网络的能 力来动态分配带宽。分组交换比电路交换的电路利用率高,但时延较大。分组转发的带来的问题:带来排队时延以及增加头部带来的开销。

    15、计算机网络体系结构?

    答:实际是分层加每层对应的协议集合。协议包括三个组成部分:
          语法:数据与控制信息结构或格式;
          语义:需要发出何种控制信息,完成何种动作以及做出何种响应;
          时序(同步):事件实现顺序的详细说明。

    16、差错检测?

    答:循环冗余检验 CRC ,计算出的结果叫做帧检验序列 FCS 。循环冗余检验序列 CRC 差错检测技术只能做到无差错接受,即凡是接收端数据链路层接受的帧,我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错,但是要做到可靠传输(即发送什么就收到什么),也就是说,传输到接收端的帧无差错、无丢失、无重复,同时还按发送的顺序接收,这时就必须再加上确认和重传机制。

    17、实现可靠传输的协议?

    ( 1 )停止等待协议:每发送完一帧就停止发送,直到收到接收到发送回来的确认在发送下一帧,如果没有收到接收端的确认,则通过设定的定时器超时了重传上一帧。其存在的三种可能:
    重传可能会导致接收端收到相同的帧,这时候根据序号来判定,如果收到的帧的序号之前已经被接收到了,则新接收到的帧被丢弃。因为可能会出现接收端不能在一次 情况就能正确接收,因此帧需要在发送端备份一份,直到被确认后才丢弃,因为该协议一次只能发送一帧,因此发送端的缓存区不需要太大。
    ( 2 )连续 ARQ 协议:发送窗口大于 1 ,接收窗口等于 1 ,因此发送窗口已经发送到了序号为 5 的帧,但是接收端接收到序号为 3 的帧出现错误时,那3 号以后的帧都需要重传,因此出现错误的情况可能会导致重传多个帧,同时为了能够在出错时重传,因此发送出来还没有经过确认的帧都需要在发送端全缓区进行保存,这种情况需要的缓冲区比停止等待协议需要的更大。但采用 n 比特来表示编号时,则发送窗口的的大小为 时,该协议才能正确工作。若用n比特编号时,则发送窗口的大小 WT<=2n -1。
    ( 3 )选择重传 ARQ 协议:发送窗口和接收窗口都大于 1 ,这种情况可能减少重传帧的数量,若用 n 比特编号时,则接收窗口的大小为 WR £ 2n /2 。

    18、 PPP 协议工作过程?

    答:用户拨号接入 ISP , ISP 的调制解调器对拨号做出确认,并建立一条物理链路,用户向 ISP 的路由器发送一系列的 LCP 分组,这是为 PPP 选择一些参数,然后配置网络层, NCP 为新接入的 PC 分配一个临时的 IP 地址,这样用户 PC 就成为因特网上的主机,通信结束后, NCP 释放网络层连接收回 IP地址,然后, LCP 释放数据链路层连接,最后释放物理层的连接。

    19、NAT ?

    答:( 1 )网络地址转换,是一种将私有地址转换为合法 IP 地址的转换技术,这种技术可以解决现在 IP 地址不够的问题。
          ( 2 ) NAT 的实现方式:静态转换;动态转换;端口多路复用(即 内部 IP+ 端口号——外部 IP+ 端口号,这种方式改变外出数据包的源端口并进行端口转换,内部网络的所有主机都可共享一个合法外部 IP 地址实现对 Internet 的访问,从而节约 IP 资源,同时隐藏网络内部的所有主机,有效避免来自Internet 的攻击)。
         ( 3 )缺点:由于需要将 IP 包头中的 IP 地址进行转换,因此不能进行加密操作。

    20、私有(保留)地址?

    答: A 类: 10.0.0 .0 —— 10.255.255.255
           B 类: 172.16.0.0 —— 172.31.255.255
           C 类: 192.168.0.0 —— 192.168.255.255

    21、交换和路由的区别是什么? VLAN 有什么特点?

    答:交换是指转发和过滤帧,是交换机的工作,它在 OSI 参考模型的第二层,而路由是指网络线路当中非直连的链路,它是路由器的工作,在 OSI 参考模型的第三层。

          交换和路由的区别很多,首先,交换是不需要 IP 地址的,而路由需要,因为 IP 就是第三层的协议,第二层需要的是 MAC 地址,再有,第二层的技术和第三层的不一样,第二层可以做 VLAN ,端口捆绑等,第三层可以做 NAT , ACL , QoS 等。

         VLAN 是虚拟局域网的英文缩写,它是一个纯二层的技术,它的特点有三:控制广播,安全,灵活性和可扩张性。

    22、路由表是做什么用的?在 Linux 环境中怎么配置一条默认路由?

    答: 路由表是用来决定如何将一个数据包从一个子网传送到另一个子网的,换句话说就是用来决定从一个网卡接收到的包应该送到哪一个网卡上去。路由表的每一行至少 有目标网络号、子网掩码、到这个子网应该使用的网卡这三条信息。当路由器从一个网卡接收到一个包时,它扫描路由表的每一行,用里面的子网掩码与数据包中的 目标 IP 地址做逻辑与运算( & )找出目标网络号。如果得出的结果网络号与这一行的网络号相同,就将这条路由表六下来作为备用路由。如果已经有备用路由了,就载这两条路由里将网络号最长的留下来,另一条丢掉(这是用无分类编址 CIDR 的情况才是匹配网络号最长的,其他的情况是找到第一条匹配的行时就可以进行转发了 )。如此接着扫描下一行直到结束。如果扫描结束仍没有找到任何路由,就用默认路由。确定路由后,直接将数据包送到对应的网卡上去。在具体的实现中,路由表可能包含更多的信息为选路由算法的细节所用。
    在 Linux 上可以用“ route add default gw< 默认路由器 IP> ”命令配置一条默认路由

    23、每个路由器在寻找路由时需要知道哪 5 部分信息?

    答:目的地址:报文发送的目的地址
          邻站的确定:指明谁直接连接到路由器的接口上
          路由的发现:发现邻站知道哪些网络
          选择路由:通过从邻站学习到的信息,提供最优的到达目的地的路径
          保持路由信息:路由器保存一张路由表,它存储所知道的所有路由信息。

    24、两台笔记本电脑连起来后 ping 不同,你觉得可能存在哪些问题?

    答:( 1 )首先考虑是否是网络的问题
          ( 2 )局域网设置问题,电脑互联是要设置的。看是否安装了必要的网络协议,最重要的是 IP 地址是否设置正确。
          ( 3 )网卡驱动未安装正确
          ( 4 )防火墙设置有问题
          ( 5 )是否有什么软件阻止了 ping 包

    25、运输层协议与网络层协议的区别?

    答:网络层协议负责的是提供主机间的逻辑通信
          运输层协议负责的是提供进程间的逻辑通信

    26、运输层的协议?

    答: TCP ,传输单位称为: TCP 报文段

           UDP ,传输单位称为:用户数据报

    其端口的作用是识别那个应用程序在使用该协议。

    27、直接链接两个信令点的一组链路称作什么?

    答: PPP 点到点连接。

---

本文章采用 知识共享署名2.5中国大陆许可协议 进行许可,欢迎转载,演绎或用于商业目的。

---

二维码加载中...

扫一扫移动端访问O(∩_∩)O

发表评论

91 + 56 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交
正在加载中……