计算机网络概论
网络结构
网络的网络
网络分层
第一层:物理层(physical)(单位类型:比特):实现比特流的透明传输,物理接口,具有电气特性
第二层:数据链路层(date link)(单位类型:帧):访问介质;数据在该层封装成帧;用MAC地址作为访问媒介;具有错误检测与修正功能。MAC描述在共享介质环境中如何进行站的调度、发生和接收数据。MAC确保信息跨链路的可靠传输,对数据传输进行同步,识别错误和控制数据的流向。一般地讲,MAC只在共享介质环境中才是重要的,只有在共享介质环境中多个节点才能连接到同一传输介质上
第三层:网络层(network)(单位类型:报文):数据传输;提供逻辑地址,选择路由数据包,负责在源和终点之间建立连接
第四层:传输层(transport):实现端到端传输;分可靠与不可靠传输;在传输前实现错误检测与流量控制,定义端口号(标记相应的服务)
第五层:会话层(session):主机间通信;对应用会话管理,同步
第六层:表示层(presention):数据表现形式;特定功能的实现-比如加密模式确保原始设备上加密的数据可以在目标设备上正确地解密
第七层:应用层(application):最接近终端用户的OSI层,这就意味着OSI应用层与用户之间是通过应用软件直接相互作用的。网络进程访问应用层;提供接口服务
OSI的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等。
协议
协议定义了在两个或多个通信实体之间交换的报文格式和顺序, 以及报文发送和/或接受一条报文或其他事件所采取的动作。
标头和载荷:如同快递包裹收件人寄件人信息、包裹里面的东西
TCP/UDP
HTTP1 / 2 / 3 QUIC
请求 响应
get请求方法 / 资源路劲 HTTP/1.1 协议版本
HTTP/1.1 版本 200状态码 OK 状态信息
(队头堵塞) short-lived connection persistent connection http pipelining
http1.1 无法多路复用 http2: 帧 解决多路复用 http3: 比2更快
WebSocket
CDN
CDN(Content Delivery Network,内容分发网络)是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容。
CDN的优势:
提高了用户访问网站的响应速度
为了实现跨运营商、跨地域的全网覆盖 互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。
为了保障你的网站安全 CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞,应对绝大部分的互联网攻击事件。防攻击系统也能避免网站遭到恶意攻击。
为了异地备援 当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。
为了节约成本 投入使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。
为了让你更专注业务本身 CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。
安全(SSL/TLS/密码学)
三要素
• 机密性: 攻击者无法获知通信内容
• 完整性: 攻击者对内容进行篡改时能被发现
• 身份验证: 攻击者无法伪装成通信双方的任意一方与另一方通信
• 对称加密: 加密、 解密用同样的密钥
• 非对称加密: 加密、 解密使用不同的密钥(公钥和私钥),而且公钥 加密只能用私钥解密、 私钥加密只能用公钥解密
密码散列函数(哈希函数)
• 输入: 任意长度的内容
• 输出: 固定长度的哈希值
• 性质: 找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的