报文:应用层交互的数据单元

支持的协议有:

  • 域名系统DNS(Domain Name System)

  • 万维网HTTP协议 (HyperText Transfer Protocol)

  • 电子邮件的SMTP协议

域名系统DNS:将域名和IP地址相互映射的分布式数据库,能够方便用户快捷访问。比如github,如果你再日本访问,是访问日本的服务器,在中国访问的是中国服务器。所以说他是一个分布式的。 域名协议的作用:将域名转换为IP地址,以找到对应的主机

HTTP协议:超文本传输协议,WWW(万维网)都遵守这个协议。最初的目的是为了发布和接收HTML页面。

应用层大白话 : 这里可以理解为计算机之间的翻译过程,将数据进行二进制编码

1.2、运输层

运输层任务:提供通用的数据传输服务供两台主机进程间的通信

运输层协议:运输层数据传输服务规则

传输层有复用和分用功能;

复用:一台主机可以开启多条线程,多个应用进程可同时使用传输服务

分用:传输层接收消息,根据消息的头部信息交给正确的Socket,也就是交给相应的应用进程

支持的协议有:

  • TCP (Transmission Control Protocol)>>> 传输控制协议;面向连接,提供可靠的数据传输服务

  • UDP (User Datagram Protocol)>>> 用户数据协议;面向无连接,不保证数据传输的可靠性 (TCP和UDP的将放在后面详细讲)

运输层大白话 : 传输层将上层数据分割成诸多数据段,方便解决出错,且为每段数据封装,头部带有端口号

1.3、网络层

网络层任务:选择合适的网间路由和交换节点,实现终端节点之间的通信。

网络层协议:网络层传输规则

支持的协议:

  • IP协议 >>> 把运输层产生的报文和用户数据封装成组合数据包进行传输

  • ARP协议 >>> 地址解析协议

  • RARP协议 >>> 逆地址解析协议

网络层大白话 : 网络层将上层数据再度封装为IP数据报,报头带有IP地址,用于标识网络逻辑地址

1.4、数据链路层

数据链路层:将数据封装成数据帧,然后在各个链路上传输

丢帧:数据链路层的控制信息在接收端能够检测数据帧中有误差错,如果有误那么丢弃这帧,以免继续传输浪费资源。如果需要更正数据,那么就要采用可靠传输协议纠错。(这就说明数据链路层不仅可以检错还能纠错)

数据链路层大白话 : 数据链路层将上传数据再度封装成数据帧,其MAC头部包含一个重要的MAC地址信息。可以理解为固化在硬件里的物理地址

1.5、物理层

物理层:实现相邻计算机节点之间比特流的透明传输

物理层大白话 : 将上层数据转成电信号在网络中传输

1.6、补充点

常见硬件设备与五层模型的对应关系

应用层:计算机(其实计算机是融合OSI七层于一身的)

传输层:防火墙

网络层:路由器(严格讲和我们家里所用的家用路由器不一致,一般在机房可以见到)

数据链路层:交换机(例如家里的光猫)

物理层:网卡

二、TCP三次握手和四次挥手


TCP三次握手简单示意图:

2.1、为什么要三次握手?

客户端发送SYN(TCP/IP建立的握手信号) --> 服务端接收后发给客户端SYN/ACK 消息响应表示收到了 --> 客户端收到后向服务端发送ACK表示收到了。

SYN:表示客户端到服务端消息无误

ACK:表示服务端到客户端消息无误

举例:正常的男女朋友关系。客户端(女朋友)发送消息“我要睡了” --> 服务端(男朋友)收到消息 发送“晚安”。如果此时客户端(女朋友)就次不回了, 说明这是非正常的男女关系。如果此时客户端(女朋友

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

)发送“安”,说明是双方关系正常,这是你值得娶回家。这就是为什么要三次握手!!!

TCP四次挥手简单示意图:

2.2、为什么要四次挥手

任何一方在没有要发送消息时,都可以发送连接释放通知。注意此时不是完全关闭TCP连接,待对方确认后进入半关闭状态,当另一方也没有消息要发送时,也发送连接释放通知,此时才完全关闭TCP连接。

举例:A 和 B 打电话,通话即将结束后,A 说“我没啥要说的了”,B回答“我知道了”,但是 B 可能还会有要说的话,A 不能要求 B 跟着自己的节奏结束通话,于是 B 可能又巴拉巴拉说了一通,最后 B 说“我说完了”,A 回答“知道了”,这样通话才算结束。

三、TCP,UDP协议的区别


UDP:面向无连接,速率快。不可靠

TCP:在传递数据之前先建立连接,数据传输结束后还要释放资源。可靠但传输速率相对慢。

TCP的可靠性体现在:在传递数据之前建立连接,在数据传递时,通过确认、窗口、重传、拥塞机制来保证数据传输的可靠性。

四、在浏览器中输入url地址 >> 显示主页的过程


1、DNS解析,找到对应的ip地址

2、建立TCP连接

3、发送HTTP请求

4、服务器处理并返回HTTP报文

5、浏览器解析并渲染页面

6、连接结束

五、状态码概括


六、HTTP短连接和长连接


短连接:每次进行网络请求都要建立连接,和中断连接

长连接:网络请求结束后,不会立即中断连接,也不会永久保持连接,而是在设定的时间内,没有传输时会断开。

//使用长连接,会在响应头加入这行代码

Android高级工程师面试必备之计算机网络基础,android体系架构相关推荐

  1. Android高级工程师面试实战,我的Android美团求职之路,3面直接拿到offer

    缘起 深圳市腾讯计算机系统有限公司成立于1998年11月,是中国最大的互联网综合服务提供商之一,也是中国服务用户最多的互联网企业之一. 腾讯业务多元化,覆盖面广:社交.通信.娱乐全面开花.其中,腾讯Q ...

  2. 50 个 Redis 必备知识:基础知识,架构、调优和监控知识及难点解决

    本文包括:30 个 Redis 基础知识:10个 Redis 架构和运维必懂的知识:Redis 调优.监控知识和10个具体应用难点. 30 个 Redis 基础知识 1.Redis支持哪几种数据类型? ...

  3. Android高级工程师面试实战,万字长文总结Android多进程,实战解析

    开头 眼看着金九银十就快来了,各大厂也开始了新一轮的招聘计划,尤其是腾讯前一段时间爆出了一个大消息: 将正式启动2021届秋季招聘,加大对数字经济和产业互联网人才的挖掘培养. 在本次招聘中,特别面向2 ...

  4. Android 高级工程师面试(二)

    五.Android中的动画 1.Android中的动画有哪几类,它们的特点和区别是什么 Android 中动画分为两种,一种是Tween 动画.还有一种是 Frame 动画. Tween动画,这种实现 ...

  5. android面试宝典!Android高级工程师面试实战,通用流行框架大全

    一.前言 这两个月听的最多的两个词就是 Android前景 和 裁员,作为被裁大军中的一员,我的关键词就是 遗憾 和 还好. 遗憾 的是现在的项目还有很多想象的空间,但是就要走向尽头:还好 的是毕业几 ...

  6. android初中级面试必备

    1. Activity # Activity的四大启动模式,以及应用场景? Activity的四大启动模式: standard:标准模式,每次都会在活动栈中生成一个新的Activity实例.通常我们使 ...

  7. Android 高级工程师面试(一)

    java基础知识准备: java基础篇,这是我自己整理好的: (1)ArrayList,Vector,LinkedList的区别 (2)设计模式的分类 (3)算法 (4)深入探索Java工作原理:JV ...

  8. 1-Kubernetes基础入门体系架构学习(一)

    0x00 基础简述 Borg 系统 Kubernetes 系统 1.发展经历 2.简要介绍 3.系统架构 0x01 组件详述 1.Kubernetes-Master 2.Kubernetes-Node ...

  9. Android高级工程师面试实战,赶快收藏备战金九银十!

    开头 作为一个40的人,能有面试机会是格外的珍惜,也分外的诚恳.没什么豪言壮语,雄心大志.没有狼性,社会把中年人打磨成了听话的舔狗. 感谢马爸爸旗下公司,给了我为数不多机会中一个,而且还是个相当好的位 ...

最新文章

  1. MobileNetV2-YoloV3
  2. 笔记-高项案例题-2016年下-项目收尾
  3. 如何在Python3.x上安装Sentry,实时监控业务错误
  4. (网址收藏)Golang模块之HTTP
  5. C语言中时间的基本用法
  6. 使用mybatis出现异常:invalid comparison: java.time.LocalDateTime and java.lang.String
  7. Qt模仿游戏拖装备(换装备)
  8. Windows下判断文件是否存在
  9. Android每日一记
  10. java 简介及环境搭建配置,jdk安装
  11. Java实现DFA算法对敏感词、广告词过滤功能
  12. turbo c语言教程,turbo c语言教程(Turbo C language tutorial).doc
  13. 配置企业管理系统,什么样的工作流才有用
  14. mongoDB下载安装
  15. 多个无线 AP 怎么实现无缝漫游?
  16. 《软件工程》思维导图
  17. 如何快速区分单模与多模光纤收发器?
  18. hp-unix操作系统root账号被锁定的两种解决方法:
  19. iis php 500 内部服务器错误,服务器_iis的http 500内部服务器错误的解决,iis的http 500内部服务器错误是 - phpStudy...
  20. 华为手机8.0.0怎么找到云相册_华为手机里的相册照片删除了怎么找回?

热门文章

  1. 如何提取伴奏?1分钟让你知道伴奏提取软件手机版有哪些
  2. 10和100Mbps以太网
  3. 安全访问(ISO14229系列之27服务)
  4. 对扫描出的图片进行纠偏
  5. 消费信贷评分建模与应用笔记-2
  6. 安卓开发教你监听手机Home键
  7. 父亲节的海报设计了吗?
  8. Win11磁盘扩展卷变成灰色无法点击解决方法
  9. Excel VBA 实现Ribbon自定义功能区
  10. 部署企业级项目管理系统(禅道)