此篇文章发布距今已超过161天,您需要注意文章的内容或图片是否可用!
先尝试回答几个小问题
Q1:TCP 为何要三次握手?
4次握手能够建立起来吗?比如
1.Client发SYN
2.Server发ACK
3.Server发SYN
4.Client发ACK
那同时握手能建立起来吗?比如
Q2: UDP是无连接协议,为何也可以使用Connect?UDP Connect做些什么,会触发packet的产生吗?Q3:什么是http pipeline,它解决哪些问题?Q5:一台仅支持http的服务器,不对它做任何软件升级,如何提供https服务?Q6:CDN提供https服务的加速,原理是什么,需要源服务器的Key吗?Q7:如果Q6的答案是Yes,某些CDN服务商Keyless又是如何工作的?Q8: TLS一定要跑在TCP协议上?如果不,请阐述理由。Q9:基于TCP传输的HTTPS,能实现0 RTT吗?Q10:TLS是如何防范Replay Attack的?什么是implicit Initial Vector,什么是explicit IV?Q11: 为何TLS使用implicit Sequence Number,而DTLS却使用explicit Sequence Number?Q12: AES GCC 模式相比AES CBC模式有何优势?以上12个小问题,答出6个就很棒了。以上知识点不是被动看几本书能解决的,在互联网上也无法找到具体的答案。如果有兴趣,带着以上的问题去看书,一定能找到最终的答案。如果有人告诉你知识无用,请远离TA。全球顶尖几家科技公司,哪家不是依赖于脱颖而出的科技实力,哪家不是顶尖人才的聚集?英伟达、苹果、微软。。。Q1:前者不可以,基于当前TCP/IP实现的限制。后者可以,但后者建立起来的前提是Server预知Client的端口号,而如果Client没有bind特定端口号,变成几乎不可能完成的事。但是Server不能用Listening的socket去主动连接,必须使用其它socket才可以。最好的例子就是,BGP双方同时发起SYN,建立2个TCP连接,释放一个,剩下一个给BGP使用。Q2:UDP的Connect用于bind Remote IP + PORT,不会触发Packet的发送。Q5:前置一台TLS服务器即可,用于termination TLS Session,然后再与后台的HTTP服务器通信。Q7:所谓Keyless是指,CDN加速的云服务器不存储Origin服务器的Private Key,需要签名的时候,把签名的内容发给Origin服务器,Origin服务器使用Private Key签名返回即可。Q8:不是,但是TLS需要底层的传输承载方提供Reliable Transmission,比如TCP、Radius、Diameter、EAP。Q9:不能,最少1 RTT,因为 TCP (1RTT) + TLS(0RTT) + HTTP(0RTT) = 1 RTT。Q11:因为TLS的底层是Reliable Transmission,故不会丢包乱序,故可以使用implicit Sequence Number,即每一个Packet都有唯一的隐含序列号,发送方知道,接收方也知道。但是第三方插入数据,比如replay,那么接收方的隐含序列号就出错了。因为接收方是根据packet的到达顺序来决定序列号的,那么数据校验就会出错,整个TLS 会话就会断开。DTLS基于UDP传输,故需要在Packet明确打上序列号,这样即使有丢包,也不会影响别的Packet的解密与数据校验。Q12: AES GCC可以并行解密,因为IV互相独立。CBC只能串行解密,因为IV有先后的依赖关系。并行解密的效率比串行解密效率高。故TLS1.2、TLS1.3优选GCC模式。书,一如既往推荐W.Richard Stevens的,一位伟大的作者!《TCP/IP Illustrated, Volume 1: The Protocols》《TCP/IP Illustrated, Volume 2: The Implementation》。2本绝佳的参考书,2本有温度、非常完美的书籍。读完它们,不仅可以提升专业水平,还能用收获的温度来温暖世界,一个文明、温暖的世界是令人神往的!论坛推荐stackexchange、StackOverflow,非常专业,非常nice,大力推荐!兴趣是最好的老师,保持好奇心,要不了多久就会探索出一个全新的世界!推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
周飒博客-ZhouSa.com
还没有评论,来说两句吧...