网络编程常见面试题

1.四层网络模型和七层网络模型;

四层网络模型:

a.应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

b.传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCPUDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

c.互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

d.网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如EthernetSerial Line等)来传送数据。

七层网络模型:

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

2.五类IP的分类;

IP地址有5类,A类到E类,各用在不同类型的网络中。地址分类反映了网络的大小以及数据包是单播还是组播的。
  A类到C类地址用于单点编址方法,但每一类代表着不同的网络大小。
  A类地址1.0.0.0-126.255.255.255)用于最大型的网络,该网络的节点数可达16,777,216个。
  B类地址128.0.0.0-191.255.255.255)用于中型网络,节点数可达65,536个。
  C类地址192.0.0.0-223.255.255.255)用于256个节点以下的小型网络的单点网络通信。
  D类地址并不反映网络的大小,只是用于组播,用来指定所分配的接收组播的节点组,这个节点组由组播订阅成员组成。D类地址的范围为224.0.0.0-239.255.255.255。
  E类(240.0.0.0-255.255.255.254)地址用于试验。

3.IP,编口号,网关,DNS,路由的作用;

IP:IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的

编口号:

网关:网关实质上是一个网络通向其他网络的IP地址。只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

DNS:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务

路由:路由器是一种连接多个网络或网段网络设备,它将不同网络或网段数据信息进行“翻译”,以使它们能够相互”懂对方的数据,从而成一个大的网络 

 

4.TCPUDP的区别;

TCP:(传输控制协议)为应用程序提供可靠的通信连接,适合一次传输大批数据的情况,并适用要求得到相应的应用程序;

UDP:(用户数据包协议)提供无连接通信,且不对传送包进行可靠的保证,适合一次传输少量数据。

1.TCP为可靠连接UDP为不可靠连接
2.TCP系统资源较多,UDP系统资源少
3.TCP保证数据确性UDP可能丢包TCP保证数据顺序UDP保证 

5.三次握手,四次挥手的详细过程以及作用;

三次握手:

第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;

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

握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。

确认号:其数值等于发送方的发送序号+1(即接收方期望接收的下一个序列号)。

四次挥手:

与建立连接的“三次握手”类似,断开一个TCP连接则需要“四次挥手”。

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可以接受数据。

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

TCP的四次挥手过程(简言之):主动关闭方向被动关闭方发送不会再给你发数据了的信息;被动关闭方对收到的主动关闭方的报文段进行确认;被动关闭方向主动关闭方发送我也不会再给你发数据了的信息;主动关闭方再次对被动关闭方的确认进行确认。

 

6.什么时候使用TCP协议,什么时候使用UDP协议;

a.对数据可靠性的要求。对数据要求高可靠性的应用需选择TCP协议,如验证,密码字段的传送都是不允许出错的,而对数据的可靠性要求不那么高的应用可选择UDP传送;

b.应用的实时性。TCP协议在传送过程中要使用三次握手、重传确认等手段来保证数据传输的可靠性。使用TCP协议会有较大的延迟,因此不适合对实时性要求较高的应用,如VOIP、视频监控等。相反,UDP协议则在这些应用中能发挥很好的作用。

c.网络的可靠性。由于TCP协议的提出主要是解决网络的可靠性问题,它通过各种机制来减少错误发生的概率,因此,在网络状况不是很好的情况下需选用TCP协议(如在广域网等情况),但是若在网络状况很好的情况下(如局域网等)就不需要采用TCP协议,而建议选择UDP协议来减少网络负荷。

7.C/S架构和B/S架构的优缺点;

 

8.TCP数据报头的构成;

P323

9.UDP数据报头的构成;

P324

10.如何使UDP实现可靠传输;

 

11.VPN的作用。

VPN英文全称:Virtual Private Network(虚拟专用网络)。VPN被定义为通过一个公用互联网络建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定隧道,使用这条隧道可以对数据进行几倍加密达到安全使用互联网的目的,广泛使用企业办公当中,虚拟专用网也可以是针对企业内部网的扩展,虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网,因此很多办公一族在自己电脑中也需要建立VPN连接,方便远程办公等等。

  • 0
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值