Android 面试必备 - 计算机网络基本知识(TCP,UDP,移动终端开发考试题

HTTP协议(超文本传输协议)和 UDP(用户数据包协议),TCP 协议(传输控制协议)

TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。

在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层中有TCP协议与UDP协议,arq协议。

在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。

enter description here

TCP 与 UDP


TCP与UDP基本区别

enter description here

UDP与TCP的区别与联系

一:UDP是面向无连接的协议,TCP 是面向连接的协议

UDP发出请求后,即发送数据之前不需要先连接,TCP 发送数据之前需要先连接

二:UDP 相对TCP来说是不可靠的

因为 UDP 在发送数据以后,没有采用超时重发,停止等待机制,拥塞控制

三:TCP 面向流,UDP 面向报文

TCP优缺点:

优点:可靠,稳定

TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

缺点:

  • 慢,效率低,占用系统资源高,易被攻击

TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。

  • 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

UDP优缺点:

优点:

  • 快,比TCP稍安全

  • UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击……

缺点:

  • 不可靠,不稳定 。因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

三次握手与四次挥手

三次握手

第一次握手:第一次连接时,客户端向服务器端发送SYN(syn=j),等待服务器端的确认,此时客户端进入SYN_SEND状态,SYN:同步序列号

第二次握手:服务器端收到客户端发来的SYN,必须向客户端发送ACK包(ack=j+1=k),同时自己必须发送一个SYN包,即syn+ack,此时进入SYN_REC状态

第三次握手:客户端收到服务器端发来的syn+ack包,向服务器发送ack包(ack=k+1),发送完毕,此时进入ESTABLISH状态,连接成功,完成第三次连接。

发送 确认

第一次:SYN=1 SEQ=X ACK=0(客)

第二次:SYN=1 SEQ=Y ACK=X+1(服)

第三次: SEQ=X+1 ACK=Y+1(客)

4次挥手

  1. 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求

A进入终止等待1(FIN-WAIT-1)状态

  1. 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1

tcp处于半关闭状态(half-close)

a收到b端的确认后,就进入终止等待2状态

  1. 由B 端再提出反方向的关闭请求,将FIN置1

进入last-wait状态

  1. 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.

进入时间等待状态(time-wait)

时间等待计数器设置的时间过了2msl以后,进入closed状态

三次握手的原因

如果只有两次握手的话,比如说失效的报文段,突然发送到服务端,服务端收到失效报文段的请求后,会发送确认报文,新的连接就建立起来了。但现在由于客户端并没有发出请求,所以并不会理睬服务端的确认,也不会像服务端发送数据。而服务端以为已经连接起来了,一直在等待,浪费资源。

四次挥手的原因

TCP建立连接要进行3次握手,而断开连接要进行4次,这是由于TCP的半关闭造成的,因为TCP连接是全双工的(

即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭.

关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须

通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果.

名词解释

ACK TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号之前的数据段

都收到了.比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性.

SYN 同步序列号,TCP建立连接时将这个位置1

FIN 发送端完成发送任务位,当TCP完成数据传输需要断开时,提出断开连接的一方将这位置1


Http 与 https


Http 是在应用层上的传输协议,底层是 TCP 协议实现的,

它一种面向无状态的连接,短连接,

之所以说他无状态,是因为在每一次请求完成之后,都会把连接关了,不会记住是哪一个客户端连接。

四种请求方式*

get,post,pull,delete

最后

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?

Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

所以,最后这里放上我耗时两个月,将自己8年Android开发的知识笔记整理成的Android开发者必知必会系统学习资料笔记,上述知识点在笔记中都有详细的解读,里面还包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

以上全套学习笔记面试宝典,吃透一半保你可以吊打面试官,只有自己真正强大了,有核心竞争力,你才有拒绝offer的权力,所以,奋斗吧!骚年们!千里之行,始于足下。种下一颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。
019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

[外链图片转存中…(img-MR4qEvDS-1647695371726)]

以上全套学习笔记面试宝典,吃透一半保你可以吊打面试官,只有自己真正强大了,有核心竞争力,你才有拒绝offer的权力,所以,奋斗吧!骚年们!千里之行,始于足下。种下一颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值