【计算机网络】计算机网络面试题系列一
【计算机网络】计算机网络面试题系列一
1 、 OSI ( Open System Interconnect ):开放系统互联,是一个七层的计算机网络模型
分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP ( Transmission Control Protocol/Internet Protocol ):传输控制协议 / 因特网互联协议,是一个四层的计算机网络模型
分别为:网络接口层、网络层、传输层和应用层。
结合 OSI 和 TCP/IP 产生了一个五层结构
分别为:物理层、数据链路层、网络层、传输层和应用层。
Internet 就是采用的 TCP/IP 协议
2 、集线器 工作在 OSI 模型的物理层
网卡 工作在 OSI 模型的物理层???网卡工作在物理层和数据链路层的MAC子层
网桥、交换机 工作在数据链路层
路由器 工作在网络层
大多数网关 工作在OSI模型的应用层
3 、机器 A 的 IP 地址为 202.96.128.130 ,子网掩码为 255.255.255.128 ,则该 IP 地址的网络号为 202.96.128( 利用 IP 地址和子网掩码求与运算 ) ,主机号为 130 。
4 、 ARP 是地址解析协议,简单语言解释一下工作原理。IP地址到MAC的转化
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 响应。
5 、 DNS ( Domain Name System )域名系统,简单描述其工作原理。
DNS 客户机需要在程序中使用名称时,它会查询 DNS 服务器来解析该名称。
客户机发送的每条查询信息包括三条信息:指定的 DNS 域名,指定的查询类型, DNS 域名的指定类别。
基于UDP 服务,端口 53. 该应用一般不直接为用户使用,而是为其他应用服务,
如HTTP , SMTP 等在其中需要完成主机名到 IP 地址的转换。
6 、 TCP 和 UDP 的区别?
TCP 提供面向连接的、可靠的数据流传输,而 UDP 提供的是非面向连接的、不可靠的数据流传输。 TCP 传输单位称为 TCP 报文段, UDP 传输单位称为用户数据报。 TCP 注重数据安全性, UDP 数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
基于连接与无连接
对系统资源的要求(TCP较多,UDP少)
UDP程序结构较简单
流模式与数据报模式
TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证
7 、网关的作用?
网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能
网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
8 、 ipconfig 的作用是什么?
显示当前 TCP/IP 配置的信息。
9 、运行 net share 返回的结果是什么?
列出共享资源相关信息。
10 、 net use 和 net user 分别指什么?
net user 是对用户进行管理,如添加删除网络使用用户等。
net use 是对网络设备进行管理。
11 、如何查看当前系统开放的服务?
在命令提示符下执行 net services 命令。 Windows 下是用 net start
12 、除以上的命令,列出一些其他的命令?
taskkill :用于结束至少一个进程
tasklist:用于显示在本地或远程计算机上运行的所有进程
net view :显示计算机列表
netstat:显示连接、路由表和网络接口信息
telnet :远程登录
13 、关掉以下服务会出现什么情况?
关掉 Automatic Updates :则不能自动更新
Plug and Play :则会导致 USB 不能使用
Remote Registry Service :远程用户不能修改计算机上的注册表设置
Computer Browser :则会无法维护网络上计算机的最新列表以及提供这个列表给请求的程序。
14 、端口及对应的服务?
答:
服务
端口号
服务
端口号
FTP
21
SSH
22
telnet
23
SMTP
25
Domain( 域名服务器)
53
HTTP
80
POP3
110
NTP (网络时间协议)
123
MySQL 数据库服务
3306
Shell 或 cmd
514
POP-2
109
SQL Server
1433
SNMP
15 、 ICMP 协议?
ICMP 是 Internet Control Message Protocol ,因特网控制报文协议。它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 ICMP 报文有两种:差错报告报文和询问报文。
16 、 TFTP 协议?
Trivial File Transfer Protocol ,是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
17 、 HTTP 协议?
HTTP 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
18 、 DHCP 协议?
动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段。
19 、详细解释一下 IP 协议的定义,在哪个层上面,主要有什么作用? TCP 和 UDP 呢?
IP 协议是网络层的协议,它是为了实现相互连接的计算机进行通信设计的协议,它实现了自动路由功能,即自动寻径功能。
TCP是传输层的协议,它向下屏蔽 IP 协议的不可靠传输的特性,向上提供一种面向连接的、可靠的点到点数据传输。 TCP 在可靠性和安全性上等更有保证。
UDP 也是传输层协议,它提供的是一种非面向连接的,不可靠的数据传输,这主要是有些应用需要更快速的数据传输,比如局域网内的大多数文件传输都是基于UDP 的。 UDP 在传输速率上更快,开销更小。
20 、请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
交换机用于局域网,利用主机的 MAC 地址进行数据传输,而不需要关心 IP 数据包中的 IP 地址,它工作于数据链路层。
路由器识别网络是通过 IP 数据包中 IP 地址的网络号进行的,所以为了保证数据包路由的正确性,每个网络都必须有一个唯一的网络号。路由器通过 IP 数据包的 IP 地址进行路由的(将数据包递交给哪个下一跳路由器)。路由器工作于网络层。由于设备现在的发展,现在很多设备既具有交换又具有路由功能,两者的界限越来越模糊。
21 、 Internet 上保留了哪些 IP 地址用于内部?
10.0.0 .0 到 10.255.255.255
172.16.0.0 到 172.31.255.255
192.168.0.0 到 192.168.255.255
22 、 ipconfig/all 用于查看申请的本机 IP 地址
ipconfig/release 用于释放 IP
ipconfig/renew 用于重新向 DHCP 服务器申请 IP 。
23 、 ADSL 使用的是频分多路复用技术。
24 、网桥的作用
网桥是一个局域网与另一个局域网之间建立连接的桥梁。
25 、防火墙的端口防护是指?
指通过对防火墙的端口开关的设置,关闭一些非必需端口,达到一定安全防护目的的行为。
26 、 IP 数据包的格式? TCP 和 UDP 数据报的格式?及头部常见的字段?
1 )一个 IP 数据报由首部 和数据 两部分组成。首部由固定部分和可选部分 组成。首部的固定部分有 20字节。
可选部分的长度变化范围为 1 —— 40 字节。固定部分的字段:
字段名
位数( bit )
字段名
位数
版本
4 Ipv4
首部长度
4 (表示的最大数为 15个单位,一个单位表示4 字节)
服务类型
8 以前很少用
总长度
16 (首部和数据部分的总长度,因此数据报的最大长度为 65535 字节,即 64KB ,但是由于链路层的 MAC 都有一定的最大传输单元,因此 IP 数据报的长度一般都不会有理论上的那么大,如果超出了MAC 的最大单元就会进行分片)
标识
16 (相同的标识使得分片后的数据报片能正确的重装成原来的数据报)
标志
3 (最低位 MF=1 表示后面还有分片, MF=0表示这是若干个数据报片的最后一个 中间位DF=0 才允许分片)
片偏移
片偏移指出较长的分组在分片后,某片在原分组中的相对位置,都是8 字节的偏移位置
生存时间
数据报在网络中的生存时间,指最多经过路由器的跳数
协议
8 (指出该数据报携带的数据是何种协议,以使得目的主机的 IP 层知道应将数据部分上交给哪个处理程序)如ICMP=1 IGMP=2 TCP=6 EGP=8 IGP=9 UDP=17 Ipv6=41 OSPF=89
首部校验和
这个部分只校验首部,不包括数据部分,计算方法:将首部划分为多个 16 位的部分,然后每个 16 位部分取反,然后计算和,再将和取反放到首部校验和。接收方收到后按同样的方法划分,取反,求和,在取反,如果结果为零,则接收,否则就丢弃
源地址
32
目的地址
32
2 )一个 TCP 报文段分为首部和数据两部分。首部由固定部分和选项部分组成,固定部分是 20 字节。
TCP 首部的最大长度为 60 。首部固定部分字段:
字段名
字节( Byte )
字段名
字节( Byte )
源端口
2
目的端口
2
序号
4
确认号
4 ,是期望收到对方的下一个报文段的数据的第一个字节的序号
数据偏移
4bit 指出 TCP 报文段的数据起始处距离 TCP报文段的起始处有多远
保留
6bit
紧急比特
确认比特 ACK
只有当 ACK=1 时,确认号字段才有效
推送比特
复位比特
同步比特
终止比特
窗口
2
检验和
2 (包括首部和数据两部分,同时还要加 12字节的伪首部进行校验和计算)
选项
长度可变(范围 1 ——40 )
TCP 的 12 字节伪首部:
源 IP 地址( 4 )
目的 IP 地址( 4)
0 (1)
6(1) 代表这是 TCP, IP 协议中提到过
TCP 长度( 2 )
3 )用户数据报 UDP 由首部和数据部分组成。首部只有 8 个字节,由 4 个字段组成,每个字段都是两个字节。
字段名
字节
字段名
字节
源端口
2
目的端口
2
长度
2
检验和
2 (检验首部和数据,加 12 字节的伪首部)
UDP 的 12 字节伪首部:
源 IP 地址( 4 )
目的 IP 地址( 4)
0 (1)
17(1) 代表这是UDP , IP 协议中提到过
UDP 长度( 2 )
27 、面向连接和非面向连接的服务的特点是什么?
面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。
28 、以太网帧的格式
目的地址
源地址
类型
数据
FCS
29 、 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 )采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。
30 、电路交换、报文交换分组交换的比较?
电路交换:公共电话网( PSTN 网)和移动网(包括 GSM 和 CDMA 网) 采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定宽带的通信电路,通信双方在通信过程中 一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带宽,并且实时性强,时延小,交换设备成本低,但同时带来的缺点是网络带宽利用率不高,一旦电路被建立不管通信双方是否处于通话状态分配的电路一直被占用。连接建立——数据传输——释放链接
报文交换:报文交换和分组交换类似,也采用存储转发机制,但报文交换是以报文作为传送单元,由于报文长度差异很大,长报文可能导致很大的时延,并且对每个节 点来说缓冲区的分配也比较困难,为了满足各种长度报文的需要并且达到高效的目的,节点需要分配不同大小的缓冲区,否则就有可能造成数据传送的失败。在实际 应用中报文交换主要用于传输报文较短,实时性要求较低的通信业务,如公用电报网,报文交换比分组交换出现的要早一些,分组交换是在报文交换的基础上,将报 文分割成分组进行传输,在传输时延和传输效率上进行了平衡。另外一个缺点是出错时,整个报文都将重传。
分组交换:电路交换技术主要适用于传送话音相关的业务,这种网络交换方式对于数据业务而言,有着很大的局限性。首先是数据通信具有较强的突发性,峰值比特率 和平均比特率相差较大,如果采用电路交换技术,若按峰值比特率分配电路带宽会造成资源的极大浪费,如果按平均比特率分配带宽,则会造成数据的大量丢失,其 次是和语音业务比较,数据业务对时延没有严格的要求,但是需要进行无差错的传输,而语音信号可以有一定程序的失真但实时性要高。分组交换技术就是针对数据 通信业务的特点而提出的一种交换方式,它的基本特点是面向无连接而采用存储转发的方式,将需要传送的数据按照一定长度分割成许多小段数据,并在数据之前增 加相应的用于对数据进行选路和校验等功能的头部字段,作为数据传送的基本单元,即分组。采用分组交换技术,在通信之前不需要建立连接,每个节点首先将前一 节点送来的分组收下并保存在缓冲区中,然后根据分组头部中的地址信息选择适当的链路将其发送至下一个节点,这样在通信过程中可以根据用户的要求和网络的能 力来动态分配带宽。分组交换比电路交换的电路利用率高,但时延较大。分组转发的带来的问题:带来排队时延以及增加头部带来的开销。