- 网络编程面试笔试题
- 一、TCP/UDP
- 列举一下OSI协议的各种分层。说说你最熟悉的一层协议的功能。
- TCP/IP协议包括?
- TCP通信建立和释放的过程?端口的作用?
- IP地址转换成物理地址的协议?反之?
- IP地址的编码分为哪两部分?
- 简述TCP三次握手的过程。
- 简述TCP四次挥手的过程
- TCP为什么需要三次握手,第三次握手去掉行不行?
- 三次握手为什么ACK信号是SYN信号值+1
- 为什么TCP建立连接是三次握手,而关闭连接却是四次挥手?
- TCP四次挥手中,为什么客户端最后还要等待2*MSL(Maximun Segment Lifetime)?
- TCP、UDP的区别?
- TCP、UDP分别有什么优点和缺点?
- TCP、UDP各自的适用场景是什么?
- TCP为什么是可靠连接?
- TCP如何保证可靠传输?
- 为什么服务器端易受SYN攻击?有什么防范措施吗?
- 什么是TCP粘包?
- 造成TCP粘包的原因?
- 什么时候需要处理粘包现象?
- 如何解决粘包问题?
- IP地址的分类?
- IP地址与MAC地址的相同点和不同点?
- 路由器、交换机、集线器的区别?
- 二、HTTP
- 三、SOCKET
- 网络编程的作用?
- Socket编程的流程?
- socket网络编程中,哪五个元素可以明确标识一条连接?
- epoll是什么?
- select和epoll的区别
- DNS服务器和客户机设置完毕后,有哪三个命令可以测试其设置是否正确?
- 四、客户端/服务器
网络编程面试笔试题
网络编程面试笔试题
2023年10月15日修改
一、TCP/UDP
列举一下OSI协议的各种分层。说说你最熟悉的一层协议的功能。
(1)七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
(2)五层划分为:应用层、传输层、网络层、数据链路层、物理层。
(3)四层划分为:应用层、传输层、网络层、网络接口层。(TCP/IP协议对应模型)
(4)各层功能:
应用层
在实现多个应用进程相互通信的同时,完成一系列业务处理所需的服务,比如电子邮件、文件传输、远程登录等。
传输层
为通信双方的主机提供端到端的服务,有两个不同的传输协议TCP和UDP,TCP提供可靠交付,而UDP并不能保证可靠交付。
网络层
处理分组在网络中的活动,例如分组的选路。
网络接口层
处理与电缆(或其他任何传输媒介)的物理接口细节。
TCP/IP协议包括?
应用层
传输层
网络层
IP(为主机提供一种无连接、不可靠、尽力而为的数据服务)、ICMP(主机与路由器之间传递控制信息)、IGMP(主机与路由器之间进行组播成员信息交互)
网络接口层
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地址。