TCP/IP协议 笔试题和面试题

来源:互联网 发布:dating付费软件靠谱吗 编辑:程序博客网 时间:2024/04/27 06:17
TCP/IP协议流程综述:
TCP/IP协议的工作流程如下:
●在源主机上,应用层将一串应用数据流传送给传输层。
●传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。
●在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。
●链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。
●在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。
●网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。
●传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。
●在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。


笔试题总共分为2套

第一套

一、基础部份

1、OSI的中文全称是( 国际标准化组织)
分为:应用层(Application layer) 

          表示层(Presentation layer) 

          会话层(Session layer) 

          传输层(Transport layer)
          网络层(Network layer) 

          数据链路层(Data link layer) 

          物理层(Physical layer) 。

联系记忆:赢标回船王书屋 (一个叫王书屋的人赢了标回到船上)


2、各个设备工作在哪个层:

集线器hub工作在OSI参考模型的(物理)层;

网卡工作在OSI参考模型的(物理)层;
路由器router工作在OSI参考模型的(网络)层; 

交换机Switch工作在OSI参考模型的(数据链路)层。


3、机器A的IP地址为202.96.128.130,子网掩码为255.255.255.128,

则该IP地址的网络号是(202.96.128),主机号是(130 )。


4、ARP的中文意思是(地址解析协议),请用简单语言说明其的工作原理。

 (1)首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。

 (2)当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,
       如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的
       主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

    (3)网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此
       数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP
       的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;

    (4)源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息
       开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。


5、DNS是指(域名系统Domain Name System)。请用简单语言描述其工作原理。


    当 DNS 客户机需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。
    客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。

  (1)指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。

     (2)指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。

  (3)DNS域名的指定类别。

 

6、TCP和UDP的区别

   TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
   简单的说,TCP注重数据安全,而UDP数据传输快点,但安全性一般


7、网关的作用。
通过它可以访问外网

二、网络命令

1、ipconfig的作用是什么?
   显示当前的TCP/IP配置的设置值

2、运行net share 返回的结果是什么?
   列出共享资源相关信息 如 IPC$

3、net use 和net user分别是指什么?
  net user 用于用户管理,添加,删除网络使用用户。
  net use 用于网络设备管理,例如添加磁盘

4、如何在命令行下面查看当前系统开放的服务?
   在命令行下执行net services 命令

5、除以上命令,还有哪些,请写出你知道的命令。
   taskill
   taslist
   net view显示计算机列表
   netstat
   ftp
   telnet   远程登录服务,如telnet 192.168.1.23

三,系统端口及服务

1、关掉以下服务,会出现什么样的情况,并请说明你的看法。
Automatic Updates 
不能自动更新

Plug and Play
禁用会导致USB不能使用.

Remote Registry Service
远程用户不能修改此计算机上的注册表设置的服务

2、端口及相对的服务
FTP(21文件传输FTP服务)
Terminal Services 的端口是(3389)
23端口是(TELNET)开放的默认端口
25端口是(E-mail SMTP)开放
109端口是(POP2开放
1433端口是( SQL Server   )开放

四、网络协议

ICMP:是Internet Control Message Protocol(Internet控制消息协议)的缩写。
           它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
           控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
           这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

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

HTTP:超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统,
   
DHCP:动态主机配置协议, 是一种让系统得以连接到网络上,并获取所需要的配置参数手段

第二套(可忽略不看)

一、填空题

1、浏览器与WWW服务器之间传输信息时使用的协议是( http )。

2、在新型局域网结构中,连接文件服务器与工作站的设备是(交换机  )。

3、在安装完成Linux系统后,系统自动创建的管理员帐号是( root )。

4、单位分得合法IP地址202.112.68.40 掩码为255.255.255.248,其中,路由器的外口和ISP之间占据了2个,
     若使用202.112.68.41和202.112.68.42,掩码为255.255.255.252

问:(1)则可供使用的合法IP还有多少哪些?

     答: 还可用的有 202.112.68.44/29, 202.112.68.45/29 ,202.112.68.46/29

问:(2)使用内部IP进行地址转换,若用一台主机连接内外两个网络,请说出(2)中不同的网络接法;并进行比较?

     答:

         两种连接方法:A:主机接一块网卡绑定两个不同子网的地址,运行代理软件,内部网络将网关设置指向该主机。
                                  B:主机插2块网卡,分别连接内外网,主机起到网关和地址转换作用。

                       区别:A:中方案若内网盗用主机合法IP可以绕过主机
                                  B:不能绕过主机。

 问:(3)Internet上保留了哪些内部IP有可以供使用?

 可以使用10.0.0.0 或 172.16至172.31 或192.168.0 至192.168.255


5、如何规划防火墙,将内部业务服务器和部分PC机与Internet隔离?

         可以构建一个非军事区,将内部业务服务器通过内网路由器对内提供服务。
         部分PC通过外网路由连接INTERNET,Internet上限制内部的部分pc机访问Internet。
          在非军事区和内网之间设置路由器或代理服务器作为防火墙,限制外部的访问。


6、在我国,目前可供选择大的用户选择的接入方式有哪些,各自的接入速率为多少?

DDN 最高2M

ISDN 64K*2 (2B+D)

帧中继 最高2M

X.25 64K

[[[DDH(最高2M )

ADSL(非对称数字用户线,下行速率从512Kbit/s到8Mbit/s,而上行速率则从64Kbit/s到640Kbit/s ) 

ISDN(  综合业务数字网最高速度可达到64Kbps或128Kbps )


7、被路由器隔离的2个子网能否公用一台DHCP服务器?(不能 )


8、用户通过什么命令可以看到自己申请到的本机IP地址?用何命令可以重新向DHCP服务器申请IP?用何命令可以释放IP?

ipconfig /all          
ipconfig /release释放ip
ipconfig /renew 获取新ip


9、ADSL使用的多路复用技术是(a )

   A.频分多路复用    B.时分多路复用
   C.码分多址           D.空分多址  


二,问答题。

1、写出下面网络命令的作用。

       Netstat –p ( 只打印给出名字的协议的统计数字和协议控制块信息  )

       Net   view   ( 显示当前域或网络上的计算机上的列表 )

       如何在命令行下显示windows的服务 (  net services  )


2、网桥的作用。

        是一个局域网与另一个局域网之间建立连接的桥梁

 

3、用一条命令实现:将远程主机C盘映射为自己的F盘

   net use f: \\远程主机IP\c$ "密码" /user:"用户名"


4、防火墙的端口防护是指?

     指通过对防火墙的端口开关的设置,关闭一些非必需端口,达到一定安全防护目的的行为。


面试题(重点)


(不一定保证100%正确)
1、 为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
      这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。

2、 为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态?
      这是因为:虽然双方都同意关闭连接了,而且握手的4个报文也都协调和发送完毕,按理可以直接回到CLOSED状态(就好比从SYN_SEND状态到ESTABLISH状态那样);但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态的作用就是用来重发可能丢失的ACK报文。

3、TCP通讯中,select到读事件,但是读到的数据量是0,为什么,如何解决????
    select 返回0代表超时。select出错返回-1。
    select到读事件,但是读到的数据量为0,说明对方已经关闭了socket的读端。本端关闭读即可。
    当select出错时,会将接口置为可读又可写。这时就要通过判断select的返回值为-1来区分。

4、2MSL(maximum segment lifetime) 
    (1).等待一段时间,防止最后的FIN的ACK包丢失,对方未收到ACK会重发FIN
    (2)TCP连接在2MSL时间内 ip,port不能重新被bind

5、复位报文(RST)
   (1)接收到不存在端口的连接请求,回复RST包(但是udp是响应ICMP端口不可达的error)
   (2)异常终止一个连接,发送RST包,收到RST的一方终止该连接。
   (3)收到一个半开连接的数据包后,回复RST,收到RST的一方终止该连接。

6、几种情况
   (1)服务器未开启服务,回复RST
   (2)服务器连接正常关闭,回复FIN
   (3)服务器进程异常终止,回复RST。
   (4)服务器直接掉电,如果客户端没有"发送数据"或者"设置keepalive选项",客户端将一直保持此半开连接。
       如果客户端重新连接,将新建立一个连接。
   (5)服务器重启时,如果收到一个半开连接的数据包,回复RST.

7、TCP建立连接为什么是三次握手,为什么不是两次或四次?
  (1)为什么不是两次?     
      因为我们不进行第三次握手,所以在服务器对客户端的请求进行回应(第二次握手)后,就会理所当然的认为连接已建立,而如果客户端并没有收到服务器的回应呢?此时,客户端仍认为连接未建立,服务器会对已建立的连接保存必要的资源,如果大量的这种情况,S会崩溃。 
       因此第三次握手是必要的。
 (2)为什么不是四次?
        首先,既然没法确认第二次的握手,服务器是否可以收到,
        那么怎么确定第三次握手服务器就可以收到呢?
        不错,这根本没法确定,因为完全可靠的通信协议是根本不存在的,我们任何的通信协议都是在接受这样的现实情况之上进行的。 
        而三次握手后,客户端和服务器至少可以确认之前的通信情况,但无法确认之后的情况。 
        在这个道理上说,无论是四次还是五次或是更多次都是徒劳的。

原创粉丝点击