手记

【备战春招】第7天+剑指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. 三次握手流程

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

加油,同志们。







0人推荐
随时随地看视频
慕课网APP