计算机网络

计算机网络 1 分层模型 OSI七层模型: 口诀:物联网书会使用 优点:概念结构清楚,理论完整 缺点:复杂不实用、某些功能在多个层中重复出现。 TCP/IP四层模型: 为什么要分层? 使得各层之间独立。 提高灵活性和可替换性(高内聚低耦合)。 大问题化小,复杂问题分解。 2 常见网络协议 应用层: HTTP SMTP POP3/IMAP FTP Telnet SSH RTP DNS 传输层: TCP UDP 网络层: IP ARP ICMP NAT OSFP RIP BGP 3 HTTP 3.1 从输入URL到页面展示发生了什么? 过程: 用户输入URL。 浏览器查找域名IP地址(通过DNS:浏览器缓存、路由器缓存、DNS缓存)。 浏览器根据IP地址和端口号,向目标服务器发起TCP连接请求。 浏览器与服务器建立TCP连接,并发送HTTP请求报文。 服务器收到报文进行处理请求,并返回HTTP响应报文给浏览器。 浏览器收到HTTP响应报文后,解析响应体中的内容,并进行网页渲染,同时根据HTML中其他资源URL再次发起HTTP请求,直到网页完全加载显示。 浏览器在不需要和服务器通信时,可主动关闭TCP连接,或者等待服务器关闭请求。 使用到的协议:DNS、TCP、IP、OPSF、ARP、HTTP 3.2 HTTP和HTTPS的区别 URL前缀不同(http和https) 端口号不同(80和443) 安全性,HTTPS大于HTTP 资源消耗:HTTP优于HTTPS SEO搜索引擎优化:优先显示HTTPS网页 ::HTTPS中的S如何实现?:: 3.3 HTTP/1.0和HTTP/1.1区别 1.1实现了长连接 1.1加入了大量状态码 1.1有更多的缓存控制机制 1.1支持断点续传 3.4 HTTP/1.1和HTTP/2.0区别 2.0实现了多路复用 2.0使用二进制帧传输(1.1使用文本格式报文) 2.0支持对头部压缩(1.1仅 支持对body压缩) 2.0支持服务器推送,可以减少客户端请求次数。 3.5 HTTP/2.0和HTTP/3.0区别 传输协议:3.0基于QUIC(UDP升级版),提供与TLS/SSL相当的安全性 连接建立:2.0需要经过TCP三次握手外加一个TLS安全握手,需约3个RTT;而3.0由于QUIC的特性,仅需要0个或1个RTT。 队头阻塞:2.0复用一个TCP连接,一旦包丢失,会阻塞所有HTTP请求。3.0一个连接有多个不同的数据流,互不影响。 错误恢复:3.0具有更快的恢复和重传机制,2.0需要依赖于TCP的错误恢复机制。 安全加密:2.0使用TLS协议进行加密,3.0基于QUIC协议,内置加密和身份验证机制,可以提供更强的安全性。 3.6 HTTP是不保存状态的协议,那么如何保存用户状态? Session机制:通过服务端记录用户状态,时间限制到后销毁Session ...

September 26, 2024 · 4 min · 681 words · RLTEA

计算机网络基础

1 TCP/IP网络模型 应用层:工作在用户态,有HTTP、FTP、Telnet、DNS、SMTP协议。 传输层:为应用层提供网络支持作用,有TCP和UDP协议。 网络层:负责实际的传输工作,将数据从一个设备传输到另一个设备,有IP协议等。 网络接口层:为网络层提供**“链路级别”**的传输服务,负责在以太网、Wifi这样的底层网络上发送原始数据包,工作在网卡这个层次,使用MAC地址标识网络上的设备。 网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。 2 从键入网址到网页显示,期间发生了什么? 浏览器解析URL,生成HTTP请求 通过DNS查询真实地址:浏览器先查看自身缓存,然后询问操作系统,操作系统查看自身缓存,然后查看hosts文件,最后询问本地DNS服务器。DNS有轮询和递归两种访问策略,DNS客户端和本地服务器之间是递归策略,而本地服务器和其他DNS服务器之间是迭代轮询。 将HTTP数据报文的传输工作交给操作协调的协议栈。 应用程序调用socket库,委托协议栈工作。 协议栈的上半部分有两块,分别是负责收发数据的 TCP 和 UDP 协议,这两个传输协议会接受应用层的委托执行收发数据的操作。 协议栈的下面一半是用 IP 协议控制网络包收发操作,在互联网上传数据时,数据会被切分成一块块的网络包,而将网络包发送给对方的操作就是由 IP 负责的。 此外 IP 中还包括 ICMP 协议和 ARP 协议。 ICMP 用于告知网络包传送过程中产生的错误以及各种控制信息。 ARP 用于根据 IP 地址查询相应的以太网 MAC 地址。 IP 下面的网卡驱动程序负责控制网卡硬件,而最下面的网卡则负责完成实际的收发操作,也就是对网线中的信号执行发送和接收操作。 通过网卡传输二进制数据 交换机和路由器转发数据包 服务端层层拆包 返回响应走相同流程,浏览器收到响应后渲染页面 ...

August 18, 2024 · 1 min · 155 words · RLTEA