"计算机网络-仔细应对2023之变化" 计算机网络是一个复杂的系统,涉及到多个层次和协议。本文将详细介绍计算机网络的七层协议、每层的作用、数据传输的基本单元、协议设计、为什么要分层、键入网址到网页显示的过程、浏览器输入URL到页面打开的过程如何加速、服务器收到一个包如何处理、网卡、交换机、路由器的工作层次和基本原理等内容。 一、七层协议 计算机网络的七层协议是OSI模型,它们分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每层都有其特定的作用和协议。 * 物理层:为数据链路层提供二进制传输的服务,传输bit流。 * 数据链路层:为网络层提供链路级别的服务,将网络层传下来的包组成帧。 * 网络层:实际的传输功能,寻址(找到IP地址对应的设备,如果找不到设备,就需要路由导航)+路由(找到数据应该往哪里发送方向盘)功能。 * 传输层:为应用层提供数据传输服务,将上层数据分段并提供端到端的、可靠/不可靠的传输;还要负责流量控制等问题。 * 会话层:负责两点之间建立、维持和终止通信,例如服务器验证用户登录。 * 表示层:数据格式的转换、加密、压缩。 * 应用层:专注于为用户提供应用功能,不关心数据如何传输,工作在用户态,其下工作在内核态。 二、每层传输的基本数据单元 * 应用层:报文 * 传输层:段 * 网络层:包 * 数据链路层:帧 * 物理层:bit流 三、协议设计 * 应用层:HTTP、FTP(文件传输)、SMTP(电子邮件)、SNMTP(网络管理)、TELNET(远程登录协议)、DNS、SSH(安全外壳协议) * 表示层:格式转换、数据加密、压缩 * 会话层:建立、管理、维持会话 * 传输层:TCP、UDP(建立、管理、维持端到端的链接) * 网络层:IP、ICMP(Internet控制报文协议,PING协议使用的)、ARP、RARP(属于网络层协议,工作内容是在数据链路层的) * 数据链路层:PPP、ARQ、路由器 * 物理层:IEEE802、交换机 四、为什么要分层? * 各层之间相互独立,不需要知道下一层是如何实现的,只需要通过接口联系 * 灵活性好,某一层发生变化时,只要借口不变,其他层不受影响 * 易于设计实现和标准化 * 太少每一层协议太复杂,太多各层功能无法分清 五、键入网址到网页显示的过程 * 应用层:输入URL,解析URL(协议名称、服务器域名、目录名);生成HTTP请求信息(GET、POST报文);DNS查询域名对应的IP地址(如果本地有DNS缓存或者hosts文件直接返回) * 传输层:发送TCP连接请求,三次握手;发起HTTP请求 * 网络层:生成IP头部 * 数据链路层:加上MAC头部 * 网卡(检查、数字信息转换为电信号) * 交换机 * 路由器 * 到达服务端(解析MAC、IP、TCP、HTTP) * 服务器再返回响应,生成HTTP响应,加TCP、IP、MAC、经过网卡、交换机、路由器到达客户端 * 四次挥手;浏览器解析HTML、浏览器显示页面、执行JS脚本,相应AJAX请求 六、浏览器输入URL到页面打开的过程如何加速 * 使用http3.0协议(多路复用、TCP连接换成UDP连接减少三次握手时间、0-RTT建连,向前纠错机制减少重传) * 数据压缩,减少传输时间和次数 * CDN服务器,地域分布式缓存静态资源 * 页面先呈现静态资源及框架,动态资源延迟加载,从用户角度加速 * 每次打开做好缓存,例如DNS缓存、静态资源缓存 七、服务器收到一个包如何处理 * 查看MAC头部:是否和服务器自己的MAC地址符合 * 查看IP头部:是否和IP地址符合;从IP头部中能够得到的是TCP还是UDP协议 * 查看TCP头部:查看序列号是不是想要的,返回一个ACK,不是则丢弃 * 查看TCP中的端口号,将包发给HTTP进程 * HTTP进程发现:把网页封装到响应报文中,加上TCP、IP、MAC头部打包发给客户端 八、网卡、交换机、路由器的工作层次和基本原理 * 网卡:工作在OSI的物理层和数据链路层;通过硬件支持和网卡驱动程序实现802.3Ethernet、802.11WIFI协议吗,完成物理层的信号收发和数据链路层的帧的封装和解封;网卡和计算机操作系统之间主要通过I/O中断技术和直接内存访问(DMA)技术完成交互;进行socket编程时,OS内部实现的TCP/IP协议栈的相关模块完成TCP报文和IP数据包的封装或解封装,由网卡实现链路层帧的封装或解封装,由网卡实现物理信号的转换和发送。 * 路由器和交换机:路由器工作在网络层;交换机工作在数据链路层;路由器负责路由导航,交换机负责链路级别的服务。
剩余29页未读,继续阅读
- 粉丝: 595
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 双工位自动打磨机含bom工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- RSIRL,风险敏感的反向强化学习Matlab代码.rar
- 测试强化学习代理作为优化策略Matlab代码.rar
- 标准14节点的无功优化,粒子群算法的Matlab实现.rar
- 批量调整表格行高的Python实现,解决表格换行打印显示不全问题
- SpectralMEIRL,用于多专家反向强化学习的谱方法Matlab代码.rar
- 带有标量调整参数的最大相关准则卡尔曼滤波器的压缩Matlab1实现.rar
- 带选项的线性强化学习Matlab源代码.rar
- 船载视频稳定和校正的地平线跟踪方法 matlab代码.rar
- 单阵元条件下的主动、被动、虚拟时间反转水声通信的matlab样例 matlab代码.rar
- 点源定通量地下水污染物非稳定迁移计算Matlab代码.rar
- 等离子体化学Matlab工具.rar
- 多无人机定时绕椭圆飞行多运动目标Matlab代码.rar
- 多巴胺对强化学习和巩固的影响一文中使用的分析和模型拟合代码.rar
- 多光谱成像,压缩编码孔径成像,数据立方体获取,图像重建Matlab代码.rar
- 多智能体的编队控制,适合多智能体的编队或一致性研究Matlab代码.rar