您的位置:首页 > 理论基础 > 计算机网络

IT名企常见面试题总结之计算机网络篇(一)

2017-03-22 10:54 337 查看

1.OSI七层模型和 TCP/IP四层模型

osi七层模型和tcp/ip四层模型对比(图片来源于网络)



下面是各层分别对应的一些协议:



2.TCP传输的三次握手与四次挥手



首先要理解TCP中两个序号和三个标记位的含义:

seq:sequence number的缩写,表示所传数据的序号。
ack:acknoledgement number的缩写,表示确认号。
ACK:确认位,只有ACK=1的时候ack才起作用。
SYN:同步位,用于建立连接时同步序列。
FIN:终止位,用来数据传输完成后释放连接。
三次握手:

a.  TCP建立连接时,首先客户端和服务器处于close状态。然后客户端发送SYN同步位,此时客户端处于SYN-SEND状态,服务器处于LISTEN状态。此时,ACK=0,SYN=1,seq=x.发送给服务器。
b. 当服务器接受连接后回复ACK报文,并为这次连接分配资源。此时,ACK=1,ack开始起作用。然后发送给客户端。
c.客户端再向服务器发送ACK确认码,服务器接收到以后也变成ESTABLISHED。然后服务器客户端开始数据传输。
四次挥手:

a.客户端端发起中断连接的请求,也就是发送FIN报文。
b.服务端接收到FIN报文后,知道客户端要请求关闭连接。如果服务端还有数据则不必急着关闭Socket连接,可以先发送个ACK来确认收到信息,然后继续发送剩下没发送完的消息。
c.当服务端接收到数据时,则向客户端发送FIN报文,告诉客户端关闭连接,客户端接收到FIN报文后,知道可以关闭连接了,但是为了保险起见,所以发送完后ACK进入了TIME_WAIT状态,服务端如果没有收到ACK则可以重传。
d.服务端收到ACK后,知道可以断开连接 了,客户端等待2msl后没有收到回复,则证明服务端正常关闭,最后客户端关闭连接。

3.DNS劫持和DNS污染

DNS劫持:指用户访问一个被标记的地址时,DNS服务器故意将此地址指向一个错误的IP地址的行为。范例就是收到各种推送广告等网站。


DNS污染:
指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。比如不能访问Google、YouTube等。

4.常见的网络端口号

网络层---数据包的包格式里面有个很重要的字段叫做协议号。比如在传输层如果是TCP连接,那么在网络层IP包里面的协议号就将会有个值是6,如果是UDP的话那个值就是17---传输层。 

传输层---通过接口关联(端口的字段叫做端口)---应用层。 

用netstat –an 可以查看本机开放的端口号。 

代理服务器常用以下端口: 

(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080 

(2). SOCKS代理协议服务器常用端口号:1080 

(3). FTP(文件传输)协议代理服务器常用端口号:21 

(4). Telnet(远程登录)协议代理服务器常用端口:23 

WIN2003远程登陆,默认的端口号为3389; 

DHCP server的端口号是67

端口号的范围是从1~65535。其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端口”(Well Known Ports);从1025~65535的端口被称为动态端口(Dynamic Ports),可用来建立与其它主机的会话,也可由用户自定义用途。

一些常见的端口号及其用途如下:

TCP 21端口:FTP 文件传输服务

TCP 23端口:TELNET 终端仿真服务

TCP 25端口:SMTP 简单邮件传输服务

UDP 53端口:DNS 域名解析服务

TCP 80端口:HTTP 超文本传输服务

TCP 110端口:POP3 “邮局协议版本3”使用的端口

TCP 443端口:HTTPS 加密的超文本传输服务

TCP 1521端口:Oracle数据库服务

TCP 1863端口:MSN Messenger的文件传输功能所使用的端口

TCP 3389端口:Microsoft RDP 微软远程桌面使用的端口

TCP 5631端口:Symantec pcAnywhere 远程控制数据传输时使用的端口

UDP 5632端口:Symantec pcAnywhere 主控端扫描被控端时使用的端口

TCP 5000端口:MS SQL Server使用的端口

UDP 8000端口:腾讯QQ

TCP 25端口:SMTP 25仔

TCP 110端口:POP3 报警110 police

5.简述IP地址的分类

IP地址分为网络号和主机号,A类地址前8位是网络地址,B类地址前16位是网络地址,C类地址前24位是网络地址。

A类地址:以   0 开头,  
 第一个字节范围:1~126(1.0.0.0 - 126.0.0.0);
B类地址:以  10   开头,  第一个字节范围:128~191(128.0.0.0 - 191.255.255.255);

C类地址:以 110  开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);

D类地址:以1110 开头,  第一个字节范围:224~239(224.0.0.0 - 239.255.255.255);(作为多播使用)

E类地址:保留

其中A、B、C是基本类,D、E类作为多播和保留使用。

以下是留用的内部私有地址:

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

IP地址与子网掩码相与得到网络号:

ip       : 192.168.2.110

&

Submask : 255.255.255.0

----------------------------

网络号   :192.168.2  .0

注:

主机号,全为0的是网络号(例如:192.168.2.0),主机号全为1的为广播地址(255.255.255.255)

6.TCP和UDP的区别

TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。

TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。

TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
TCP面向字节流,UDP面向报文
TCP是点对点连接的,UDP一对一,一对多,多对多都可以
TCP适合用于网页,邮件等,UDP适合用于视频,语音广播等,UDP也应用于:分组数据较少、多播、广播、实时性要求较高的视频等多媒体领域

TCP:协议内容复杂,不适用于视频会议等(音、视频数据既定)场合

TCP对应的协议和UDP对应的协议

TCP对应的协议:

(1) FTP:定义了文件传输协议,使用21端口。

(2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。

(3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。

(4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。

(5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。

UDP对应的协议:

(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。

(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

(3) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

7.简述OSI,TCP/IP,五层协议的体系结构,以及各层协议

OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。

五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。

每一层的协议如下:

物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)

数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)

网络层:IP、ICMP、ARP、RARP(有的教材放在数据链路层)、OSPF、IPX、RIP、IGRP、 (路由器)

传输层:TCP、UDP、SPX

会话层:NFS、SQL、NETBIOS、RPC

表示层:JPEG、MPEG、ASII

应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

每一层的作用如下:

物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)

数据链路层:将比特组装成帧和点到点的传递(帧Frame)

网络层:负责数据包从源到宿的传递和网际互连(包PackeT)

传输层:提供端到端的可靠报文传递和错误恢复(段Segment)

会话层:建立、管理和终止会话(会话协议数据单元SPDU)

表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

8.简述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响应。

9.简述ICMP、TFTP、HTTP、NAT、DHCP协议

ICMP协议: 因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

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

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

NAT协议:网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,

DHCP协议:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段,使用UDP协议工作。具体用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

10.RARP协议

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息