网络协议和体系架构
前言
当你打开浏览器,使用百度搜索的时候,你有没有想过你搜索后打开的页面,你的计算机经历了哪些操作。首先要想到的是解析域名,因为不会无缘无故一个裸IP让你去搜索,然后我们的计算机会与你所请求的服务器进行三次握手,如果握手成功,就会建立了tcp请求,我们的计算机就会发送http请求,服务器接收到请求,浏览器得到HTML代码,进行解析和处理JSON数据,并请求HTML代码中的静态资源(JS、CSS、图片等)并进行渲染,然后整个页面就展示到你面前了。
网络传输体系
计算机网络连接设备有路由器、网关、集线器(hub)等
通过计算机网络的传输介质无线、有线等进行信号和信息的传输。而网络软件是一种在网络下使用控制和运行网络工作的计算机软件。
网络软件又分为应用软件如远程协作软件,系统软件如网络操作系统。
网络协议
各个独立的计算机系统与系统之间进行通信,必然彼此会有一些约束,而这些约束就叫做协议,这些协议规定了怎么交换数据,以什么样的格式进行传输以及执行顺序怎么展开等。

网络体系结构

自上而下是:
应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用
表示层(数据):主要解决用户信息的语法表示问题,如加密解密
会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的,即组织两个互相通信的应用进程之间组织其交互。
传输层(段):实现网络不同主机上用户进程之间的数据通信,可靠,发送端和接收端建立一条不会出错的路由,对上层提供可靠的报文传输服务。
与不可靠的传输,传输层的错误检测,流量控制等
网络层(包):网络层传输的是包或者叫做分组,它的任务就是选择合适的路由,发送端的包能够准确无误的到达接收端
数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正
物理层(比特流):提供的是物理连接,单位是比特
传输层协议
TCP协议
是一种传输控制层协议,具有接收数据报、具有自动调节超时功能,只接收最先到达的数据报的特点,对排序也有一定的恢复能力。
粘包、拆包
应用程序写入数据小于套接字缓冲区大小,网卡将应用多次写入的数据发送到网络上,这将会发生粘包。
.应用程序写入的数据大于套接字缓冲区大小,这将会发生拆包。
接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包
待发送数据大于 MSS(最大报文长度),TCP 在传输前将进行拆包。
死亡之ping
最简单的基于IP的攻击可能要数著名的死亡之ping,这种攻击主要是由于单个包的长度超过了IP协议规范所规定的包长度。产生这样的包很容易,事实上,许多操作系统都提供了称为ping的网络工具。在为Windows操作系统中开一个DOS窗口,输入ping -l 65500 目标ip -t (65500 表示数据长度上限,-t 表示不停地ping目标地址)就可达到该目的。UNIX系统也有类似情况。通俗来说,就是是对方IP内存溢出,达到破坏对方系统的效果。
死亡值ping”就是故意产生畸形的测试ping包,声称自己的尺寸超过ICMP上限,也就是加载的尺寸超过64KB上限,使未采取保护措施的网络系统出现内存分配错误,导致TCP/IP协议栈崩溃,最终接收方宕机。

关于DOS(拒绝服务攻击)
比如你知道一个服务器的接口地址,你写了一个定时或者多个进程大批量的请求改接口,造成服务器瘫痪,而不能正常工作,大量消耗系统资源,即ddos

HTTP优化方案
TCP复用:TCP连接复用是将多个客户端的HTTP请求复用到一个服务器端TCP连接上,而HTTP复用则是一个客户端的多个HTTP请求通过一个TCP连接进行处理。前者是负载均衡设备的独特功能;而后者是HTTP 1.1协议所支持的新功能
内容缓存:一般在客户端引入缓存,客户端就可以直接在内存中获取相应的数据了,而不会在请求服务器。
压缩:压缩一定程度上可以减少宽带
SSL加速:使用SSL协议对HTTP协议进行加密,在通道内加密并加速
TCP缓冲:通过采用TCP缓冲技术,可以提高服务器端响应时间和处理效率,减少由于通信链路问题给服务器造成的连接负担。
举报/反馈

被折叠的 条评论
为什么被折叠?



