计算机网络核心概念
一、计算机网络到底在做什么本质把数据从一台设备可靠 / 快速地送到另一台设备。为了做到这件事需要解决怎么标识设备地址怎么找到路径路由怎么保证不丢、不错、不被窃听可靠 / 安全怎么让不同设备、不同系统能互相听懂协议二、分层思想网络的 “总架构”1. 为什么要分层复杂问题拆小各层只干自己的事方便替换、升级、排错下层为上层服务上层使用下层能力2. 实用模型TCP/IP 四层开发 / 面试主流应用层给用户 / 软件用HTTP、DNS、FTP传输层端到端传输TCP、UDP网络层跨网寻址转发IP、ARP、ICMP网络接口层局域网内传输以太网、MAC三、每层核心原理从上到下1. 应用层你每天都在用的一层作用规定 “数据长什么样、怎么交互”HTTP/HTTPS网页、接口DNS域名 → IPFTP文件传输WebSocket长连接、实时通信特点面向业务基于传输层协议大多基于 TCP2. 传输层程序之间的快递员作用实现 进程 ↔ 进程 的通信靠端口号区分不同应用。两个核心协议① TCP可靠快递面向连接可靠丢包重传、有序、校验流量控制 拥塞控制面向字节流场景网页、文件、登录、接口② UDP短信 / 快递包裹无连接不保证可靠、不管顺序速度极快、开销小面向数据报场景直播、游戏、视频通话、DNS 查询3. 网络层跨网导航系统作用实现 主机 ↔ 主机 的通信负责寻址 路由选择。核心协议IP给每台设备一个地址IPv432 位如192.168.1.10尽力投递不保证可靠ARP功能IP → MAC 地址局域网内广播问路ICMP探测网络是否通ping命令就是基于它4. 网络接口层局域网内搬运工作用同一局域网内设备之间传帧用MAC 地址标识网卡单位帧Frame代表以太网、Wi-Fi四、数据怎么流动封装与解封装发送方从上到下封装应用数据→ 加 TCP/UDP 头 →段 / 报文→ 加 IP 头 →包→ 加帧头 / 尾 →帧→ 转为比特流发出接收方从下到上解封装比特流 → 拆帧头 → 拆 IP 头 → 拆 TCP 头→ 纯数据交给对应应用一句话每一层只认识自己的头不关心上层数据是什么。五、网络最核心流程打开一个网页发生了什么浏览器查DNS把域名解析成 IP浏览器与服务器建立TCP 三次握手浏览器发送HTTP 请求服务器处理返回HTTP 响应浏览器渲染页面结束后TCP 四次挥手断开如果是HTTPS在 TCP 连接后多一步TLS 握手加密协商。六、必须掌握的硬核概念1. 无状态 vs 有状态HTTP 无状态服务器记不住你用Cookie Session实现 “记住你”2. 三次握手建立 TCP目的确认双方收发正常同步序列号过程C → SSYNS → CSYNACKC → SACK3. 四次挥手断开 TCP因为是全双工两边要分别关闭A我发完了FINB收到ACKB我也发完了FINA收到ACK4. HTTPS 加密逻辑非对称加密安全交换对称密钥对称加密真正传输数据数字证书防中间人掉包公钥七、设备分别工作在哪一层路由器网络层根据 IP 转发交换机数据链路层根据 MAC 转发防火墙多层可按端口 / 应用过滤八、高频问题一句话答案TCP 和 UDP 区别TCP 可靠、慢、面向连接UDP 不可靠、快、无连接。IP 和 MAC 区别IP 标识网络位置MAC 标识网卡硬件。HTTP 和 HTTPS 区别HTTP 明文 80HTTPS 加密 443多了 TLS 层。为什么要三次握手防止失效连接建立浪费资源。为什么 DNS 一般用 UDP小包、快、允许偶尔丢包。什么是拥塞控制网络堵了TCP 主动减慢发送速度。什么是会话保持用 Cookie 带 SessionId让服务器认出同一个用户。九、极简知识地图可直接背诵应用层HTTP/DNS → 业务数据传输层TCP/UDP 端口 → 进程间传输网络层IP/ARP 路由 → 跨网寻址链路层MAC 以太网 → 局域网传输整体流程封装 → 传输 → 解封装核心目标连通、寻址、可靠、安全
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2446775.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!