非常经典的笔试题。
2.网络编程(29道)
2.1列举一下OSI协议的各种分层。说说你最熟悉的一层协议的功能。
(
1
)七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理
层。
(
2
)五层划分为:应用层、传输层、网络层、数据链路层、物理层。
(
3
)四层划分为:应用层、传输层、网络层、网络接口层。(
TCP/IP
协议对应模型)
(
4
)各层功能:
应用层 :在实现多个应用进程相互通信的同时,完成一系列业务处理所需的服务,比如电子邮件、文件传输、远程登录等。
传输层 :为通信双方的主机提供端到端的服务,有两个不同的传输协议TCP
和
UDP
,TCP提供可靠交付,而
UDP
并不能保证可靠交付。
网络层 :处理分组在网络中的活动,例如分组的选路。
网络接口层 :处理与电缆(或其他任何传输媒介)的物理接口细节。
2.2 TCP/IP协议包括?
应用层 :Telnet(远程登录服务)、
FTP
(文件传输,使用
TCP
)、
SMTP
(建立于FTP上的邮件服务)、DNS(域名与IP地址相互转换)等
传输层 :UDP(无连接、不可靠)、
TCP
(面向连接、可靠传输)
网络层 :IP(为主机提供一种无连接、不可靠、尽力而为的数据服务)、
ICMP
(主机与路由器之间传递控制信息)、IGMP
(主机与路由器之间进行组播成员信息交互)
网络接口层 :ARP(
IP
地址
-> MAC
地址)、
RARP
(
MAC
地址
-> IP
地址)等
2.3 TCP通信建立和释放的过程?端口的作用?
(
1
)连接是三次握手,释放是四次挥手。
(
2
)端口是一个软件结构,被客户进程或服务进程用来发送和接收信息。一个端口
对应一个
16
比特的数。服务进程通常使用一个固定的端口。
2.4 IP地址转换成物理地址的协议?反之?
答案:
(
1
)将
IP
地址转换成物理地址的协议是
ARP
(地址解析协议)。
(
2
)反之则是
RARP
(反地址解析协议)。
解读:
(
1
)
ARP
协议工作流程:
①首先,每台主机都会在自己的
ARP
缓冲区
( ARP Cache )
中建立一个
ARP
列表,以
表示
IP
地址和
MAC
地址的对应关系。
②当源主机需要将一个数据包要发送到目的主机时,会首先检查自己
ARP
列表中是否
存在该
IP
地址对应的
MAC
地址,如果有﹐就直接将数据包发送到这个
MAC
地址;如果
没有,就向本地网段发起一个
ARP
请求的广播包,查询此目的主机对应的
MAC
地址。
此
ARP
请求数据包里包括源主机的
IP
地址、硬件地址、以及目的主机的
IP
地址。
③网络中所有的主机收到这个
ARP
请求后,会检查数据包中的目的
IP
是否和自己的
IP
地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的
MAC
地址
和
IP
地址添加到自己的
ARP
列表中,如果
ARP
表中已经存在该
IP
的信息,则将其覆
盖,然后给源主机发送一个
ARP
响应数据包,告诉对方自己是它需要查找的
MAC
地
址;
④源主机收到这个
ARP
响应数据包后,将得到的目的主机的
IP
地址和
MAC
地址添加到
自己的
ARP
列表中,并利用此信息开始数据的传输。如果源主机一直没有收到
ARP
响
应数据包,表示
ARP
查询失败。
(
2
)
RARP
协议工作流程:
①网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的
MAC
地址。
PC1
从网卡上读取
MAC
地址,然后在网络上发送一个
RARP
请求的广播数据
包,请求
RARP
服务器回复该
PC
的
IP