网络编程面试笔试题

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