继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

ccLoveStudy
关注TA
已关注
手记 82
粉丝 6
获赞 4

课程名称:剑指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. 三次握手流程

    http://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的生产调优先放放,这阵子要不先以面试为主吧,再定再定,今天先开个头!

加油,同志们。



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





打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP