计算机网络面试

1. IP、子网掩码、子网

A类 0-127     0      8位   24位 
B类 128-191 10  1 6位   16位 
C类 192-223 110   24位  8位 
D类 224-239 1110 组播地址 
E类 240-255 1111 保留试验使用 

引入子网的概念后,

IP地址的结构分为三部分:网络位、子网位和主机位。网络位加上子网位才能全局唯一地标识一个网络。把所有的网络位用1来标识,主机位用0来标识,就得到了子网掩码

IP地址和子网掩码(图二)

常见的题型:

1) 一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。 

C类:202.120.14.[1110 0000] 可以划分为14个子网,每个子网最多32个主机

常规解法:把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。

另一个方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址为开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159

2.OSI 七层模型

在OSI参考模型中,从下至上,每一层完成不同的、目标明确的功能。
  1、物理层(Physical Layer)
  物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。
  在这一层,数据的单位称为比特(bit)。
  属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
  2、数据链路层(Data Link Layer)
  数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
  在这一层,数据的单位称为帧(frame)。
  数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
  3、网络层(Network Layer)
  网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。
  在这一层,数据的单位称为数据包(packet)。
  网络层协议的代表包括:IP、IPX、RIP、OSPF等。
  4、传输层(Transport Layer)
  传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
  在这一层,数据的单位称为数据段(segment)。
  传输层协议的代表包括:TCP、UDP、SPX等。
  5、会话层(Session Layer)
  会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
  会话层协议的代表包括:NetBIOS、ZIP(AppleTalk区域信息协议)等。
  6、表示层(Presentation Layer)
  表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
  表示层协议的代表包括:ASCII、ASN.1、JPEG、MPEG等。
  7、应用层(Application Layer)
  应用层为操作系统或网络应用程序提供访问网络服务的接口。
  应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。

下面的图表试图显示不同的TCP/IP和其它的协议在最初OSI模型中的位置: 

7 应用层 例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP 

6 表示层 例如XDR、ASN.1、SMB、AFP、NCP 

5 会话层 例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS?、ASP、Winsock、BSD sockets 

4 传输层 例如TCP、UDP、RTP、SCTP、SPX、ATP、IL 

3 网络层 例如IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、 X.25 

2 数据链路层 例如Ethernet、Token ring、HDLC、Frame relay、ISDN、ATM、802.11 WiFi?、FDDI、PPP 

 

1 物理层 例如wire、radio、fiber optic、Carrier pigeon

3.三次握手协议

 

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 
SYN: 同步序列编号(Synchronize Sequence Numbers)
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念: 

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。 
Backlog参数:表示未连接队列的最大容纳数目。 

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

猜你喜欢

转载自blueskator.iteye.com/blog/2224484