网络编程面试题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了网络编程面试题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2049字,纯文字阅读大概需要3分钟。
内容图文
一、简述OSI七层协议
# 答案:
'''
应用层: HTTP,FTP,NFS
表示层: Telnet,SNMP
会话层: SMTP,DNS
传输层: TCP,UDP
网络层: IP,ICMP,ARP
数据链路层: Ethernet,PPP,PDN,SLIP,FDDI
物理层: IEEE 802.1A, IEEE 802.11
'''
二、简述TCP三次握手、四次挥手过程
三次握手
1.首先客户端向服务端发送一个带SYN标志,以及随机生成的序号100(0字节)的报文
2.服务端收到报文后返回一个报文(SYN200(0字节)),ACK1001(字节+1)给客户端
3.客户端再次发送带有ACk标志201(字节+)序号的报文给服务端
至此三次握手过程结束,客户端开始向服务端发送数据。
白话版:
1.客户端向服务端发送请求:我想给你通信,你准备好了么?
2.服务端收到请求后回应客户端: I'ok,你准备好了么?
3.客户端礼貌的再次回一下服务端:准备就绪,咱们开始通信吧!
整个过程跟打电话的过程一摸一样:1 喂,你在吗? 2在呢,我说话听得到不, 3 嗯,听得到,接下来请开始你的表演
补充: SYN:请求询问 ACk:回复,回应
四次挥手
由于TCP连接是可以双向通信的(全双工),因此每个方向都必须单独进行关闭(这句话才是精辟,后面四个挥手过程都是其具体实现的语言描述)
四次挥手过程,客户端和服务端都可以先开始断开连接
1.客户端发送带有fin标识的报文给服务端,请求通信关闭
2.服务端收到信息后,回复ACk答应关闭客户端通信(连接)请求
3.服务端发送带有fin标识的报文给客户端,也请求关闭通信
4.客户端回应ACk给服务端,答应关闭服务端的通信(连接)请求
三、TCP和UDP的区别?为何基于TCP协议的通信比基于UDP协议的通信更可靠
# 答案:
# TCP和UDP的区别:
'''
1.TCP面向连接(通信之前需要建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2.TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错、不丢失、不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
3.TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5.TCP首部开销20字节;UDP的首部开销小,只有8个字节
6.TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
'''
# 为何基于TCP协议的通信比UDP协议的通信更可靠?
'''
TCP:可靠,对方给了确认收到消息,才发下一个消息,如果没收到确认消息就重发
UDP:不可靠,一直发数据,不需要对方回应.
'''
内容总结
以上是互联网集市为您收集整理的网络编程面试题全部内容,希望文章能够帮你解决网络编程面试题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。