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

tcp、http面试指南

标签:
Java

TCP

要说http就绕不开tcp,TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。但是,http是基于tcp协议的。

TCP/IP 协议分层模型

  • 物理层将二进制的0和1和电压高低,光的闪灭和电波的强弱信号进行转换

  • 链路层代表驱动

  • 网络层

    • 使用 IP 协议,IP 协议基于 IP 转发分包数据

    • IP 协议是个不可靠协议,不会重发

    • IP 协议发送失败会使用ICMP 协议通知失败

    • ARP 解析 IP 中的 MAC 地址,MAC 地址由网卡出厂提供

    • IP 还隐含链路层的功能,不管双方底层的链路层是啥,都能通信

  • 传输层

    • TCP 协议面向有连接,能正确处理丢包,传输顺序错乱的问题,但是为了建立与断开连接,需要至少7次的发包收包,资源浪费

    • UDP 面向无连接,不管对方有没有收到,如果要得到通知,需要通过应用层

    • 通用的 TCP 和 UDP 协议

  • 会话层以上分层

    • TCP/IP 分层中,会话层,表示层,应用层集中在一起

    • 网络管理通过 SNMP 协议


划重点了啊(面试最常问的啊)

TCP三次握手和四次挥手?

被问烂了的问题了,这里不详细讲了,


三次握手:

  • 客户端–发送带有SYN标志的数据包–一次握手–服务端

  • 服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端

  • 客户端–发送带有带有ACK标志的数据包–三次握手–服务端


四次挥手:

  • 客户端-发送一个FIN,用来关闭客户端到服务器的数据传送

  • 服务器-收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。和SYN一样,一个FIN将占用一个序号

  • 服务器-关闭与客户端的连接,发送一个FIN给客户端

  • 客户端-发回ACK报文确认,并将确认序号设置为收到序号加1


点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

关注作者,订阅最新文章

阅读免费教程

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消