为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第7天+剑指java

标签:
Java

课程名称:剑指Java面试-Offer直通车 百度资深面试官授课

课程章节:第一章

主讲老师:翔仔

课程内容:

  1. OSI七层协议

    1. 物理层(链路层):机械电子等硬件

    2. 数据链路层(链路层):物理寻址,定义如何格式化数据进行传输,

    3. 网络层:将网络地址转化为物理地址,并决定如何将数据从发送方路由到接收方,比如路由器,

    4. 传输层:解决主机间的数据传输,主机可以是不同网络的:关注TCP和UDP协议

    5. 会话层:自动收发包,自动寻址,比如建立或解除与别的节点的联系

    6. 表示层:解决不同系统之间的语法问,如加解密,数据格式化

    7. 应用层:规定发送方和接收方使用对应的包大小,消息头中必须定义,比如文件传输,电子邮件

TCP协议的三次握手

  1. TCP Flags

    1. URG:紧急指针标志,如果为0无事,1则为有效

    2. ACK:确认序号标志,1有效

    3. PSH:push标志,为1代表接收到数据,应把数据尽快提交给应用程序

    4. RST:重置连接标志

    5. SYN:同步序号,用于建立连接过程

    6. FIN:finish标志,用于释放连接

  2. 三次握手流程

    https://img1.sycdn.imooc.com/63e7be4a00016d4b09740663.jpgimage-20220929121513342

    TCP/IP协议中, TCP协议提供了可靠的连接服务,靠三次握手建议一个连接

    1. 第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认

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

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

  3. 为什么需要三次握手才能建立起连接

    1. 通信双方要通知对象自己的x和y值,作为以后数据通信的序号,保证传输的时候,不会乱序,TCP也会用这个序号拼接数据。

    2. 为了初始化Sequence Number的初始值

  4. 首次握手的隐患——SYN超时

    1. 原因:Server收到Client的SYN之后,回复SYN+ACK之后没有收到响应,也就是ACK响应


课程收获:

最近准备面试,也来看看剑指吧,java的生产调优先放放,这阵子要不先以面试为主吧,再定再定,今天先开个头!

加油,同志们。



https://img1.sycdn.imooc.com/63e7be4a00016d4b09740663.jpg





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
6
获赞与收藏
5

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消