网络协议简述

        信息技术是这个时代的主角,网络的存在让信息传输变得便捷,人们能够通过各种物体媒介来传播数据流信息。网络就像一条条存在虚空中的道路,信息数据被装载在信号波里传到遥远的另一端,这么多人都发送自己的信息出去,需要依赖一种保密的暗号来防止信息数据被他人截胡或者失真,这种暗号的专业名字叫作网络协议。

释义

        网络协议(Network Protocol)是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。一般系统网络协议包括五个部分:通信环境,传输服务,词汇表,信息的编码格式,时序、规则和过程。1969年美国国防部建立最早的网络——阿帕计算机网络时,发布了一组计算机通信协议的军用标准,它包括了五个协议,习惯上以其中的TCP和IP两个协议作为这组协议的通称。

        网络协议的出现使得网络通信有了规范性、安全性、稳定性。在不同地区的人使用不同的人类语言通过不同的网络机器就能进行愉快的信息传输,网络协议起到了识别的作用,让大家的信息不再像无头苍蝇一样到处乱飞,还能给每个装载了信息数据的运输机配备了机长,机长负责了运输过程中的一切事务。

组成要素

一般网络协议由一下几点组成

  • 语义(是什么,有什么含义):语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应;
  • 语法(怎么做,有什么功能):语法是用户数据与控制信息的结构与格式,以及数据出现的顺序;
  • 时序(按什么顺序去做):时序是对事件发生顺序的详细说明(也可称为“同步”)。

体系结构

        网络协议说白了就是机器与机器之间的通信规则,每个机器都有这玩意儿,不然就没办法两两之间相互交流。网络协议有很多,接入网络的不同机器上也有很多不同的协议,根据机器和网络协议的不同作用,就能分为不同的网络层次结构。目前比较流行的是 TCP/IP 网络结构模型和 OSI 网络结构模型

TCP/IP 网络结构模型

        TCP/IP 网络结构模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间可以进行信息交换,一共包括几百种协议,对互联网上交换信息的各个方面都做了规定。

四层结构

  • 连接层:负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ADSL等等;
  • 网络层:负责分配地址和传送二进制数据,主要协议是IP协议;
  • 传输层:负责传送文本数据,主要协议是TCP协议;
  • 应用层:负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP、FTP等。

五层结构

        比四层多了一个物理层。

OSI 网络结构模型

        OSI(Open System Interconnection)意为开放式系统互联,他是一个定义得非常好的协议规范。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。

七层结构

        OSI模型把网络通信的工作分为7层,从上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;其中应用层、表示层、会话层定义了应用程序的功能,下面网络层、数据链路层、物理层主要面向通过网络的端到端的数据流。

四种常见协议

TCP协议

        传输控制协议 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

UDP协议

        用户数据包协议 UDP(User Datagram Protocol),是一种无连接的、开销小的、一对多的传输层协议,提供面向事务的简单不可靠信息传送服务。

HTTP协议

        超文本传输协议(Hyper Text Transfer Protocol),一种用于分布式、协作式和超媒体信息系统的应用层协议,是一个简单的请求--响应协议,它通常运行在 TCP 之上。HTTP 是万维网的数据通信的基础。

        作用

        指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

        组成

        请求和响应消息的头以 ASCII 形式给出;而消息内容则具有一个类似 MIME 的格式。

        HTTP 报文分为请求报文跟响应报文

                请求报文:请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

                响应报文:状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

        版本

  • 0.9:是一个交换信息的无序协议,仅仅限于文字;

  • 1.0:规定了连接方式和连接类型,成为最重要的面向事务的应用层协议。该协议对每一次请求/响应建立并拆除一次连接;

  • 1.1:带宽优化及网络连接的使用,新增了分块传输编码、错误通知的管理、Host 头处理;支持长连接保活,默认开启Connection: keep-alive;

  • 2.0:前身是1.0和1.1,不影响之前的 http ,在应用层(HTTP)和传输层(TCP)之间增加一个二进制分帧层,把文本数据转为二进制数据,使用二进制传输;并且,采用 HPACK 算法进行头部(header)压缩,基本分帧技术,将消息分帧交错发送,通过规定请求优先级,达到多路复用,避免旧版本的队头阻塞问题(Head of line blocking,同一时间段请求数量上限限制);新增了服务器推送,当某个请求发送到了服务器,服务器可以返回遵守同源策略的多个响应。该版本比之前相比,极大的减小了数据包大小、提升了传输效率。

        影响因素

        影响一个 HTTP 网络请求的因素主要有两个:带宽和延迟

        带宽是由网络基础决定的,带宽越大,请求越快;

        延迟包括浏览器阻塞、DNS 查询、TCP 连接等等这几个环节中的时耗。

  • 浏览器阻塞:浏览器会因为一些原因阻塞请求。浏览器对于同一个域名,同时只能有 4 个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制,后续请求就会被阻塞。

  • DNS 查询:浏览器需要知道目标服务器的 IP 才能建立连接。将域名解析为 IP 的这个系统就是 DNS。这个通常可以利用DNS缓存结果来达到减少这个时间的目的。

  • TCP 连接:HTTP 是基于 TCP 协议的,浏览器最快也要在第三次握手时才能捎带 HTTP 请求报文,达到真正的建立连接,但是这些连接无法复用会导致每次请求都经历三次握手和慢启动。三次握手在高延迟的场景下影响较明显,慢启动则对文件类大请求影响较大

        HTTPS 协议

        是以安全为目标的 HTTP 通道,在 HTTP 的基础上加入了 SSL,通过传输加密和身份认证保证了传输过程的安全性。在 HTTP 的传输过程中网络黑客使用抓包等手段进行网络嗅探等行为来获取请求中携带的数据,通过加密的方式就能降低其中的风险,同时也校验了服务器收到数据的完整性。HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数组证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。

        HTTPS 在 HTTP 上的优化

        数据保密性:保证数据内容在传输的过程中不会被第三方查看。

        数据完整性:及时发现被第三方篡改的传输内容。

        身份校验安全性:保证数据到达用户期望的目的地。

        防止重放攻击:SSL使用序列号来保护通讯方免受报文重放攻击。

        防止运营商劫持。

        HTTPS 的局限

        会使页面的加载时间延长近 50%,增加 10%到 20%的耗电。会影响缓存,增加数据开销和功耗。

        安全防护是有范围的,仅限于网络传输中的 TCP 连接。

        SSL 证书的信用链体系并不安全,有时候中间人攻击一样可行。

        服务器成本增加。

IP协议

        网际互连协议(Internet Protocol)是整个 TCP/IP 协议族的核心,也是构成互联网的基础。IP位于 TCP/IP 模型的网络层(相当于 OSI 模型的网络层),它可以向传输层提供各种协议的信息,例如 TCP、UDP 等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值