Advertisement

网络协议知识整理

阅读量:

目录

1

2

(1)

复制代码
* 三、TCP协议传输特点
* * 3.1、三次握手
  * 3.2、四次挥手

* 四、服务端口
* * 4.1、端口分配
  * 4.2、常见的应用层协议与端口分配

* 五、数据包与处理流程
* * 5.1、数据包
  * 5.2、处理流程

* 六、HTTP协议
* * 6.1、介绍
  * 6.2、特点
  * 6.3、版本
  * 6.4、URI、URL、URN
  * 6.5、请求与响应

一、协议简介

1)该约定方式用于描述计算机网络中实现通信的基本规范;
2)常见的网络层次协议主要有三个:

  • 七个层次的 OSI 模型
  • 四个层次的 TCP/IP 模型
  • 五个层次的 TCP/IP 模型
在这里插入图片描述
网络层次 说明
应用层 为应用程序提供服务
表示层 数据格式转化、数据加密
会话层 建立、管理和维护会话
传输层 建立、管理和维护端到端的连接
网络层 IP选址和路由选择
数据链路层 提供介质访问和链路管理
物理层 物理层

二、TCP/IP协议群

2.1、TCP/IP协议群

基于IP通信的协议系列的总称包括应用层协议、传输层协议、网络层协议以及路由控制协议等

2.2、应用协议

不同操作系统间应用程序之间的通信机制;
1)Telnet 协议
作为 Internet 远程登录服务的标准通信方案与主要手段之一,在这一框架下实现了本地计算机对远程主机的操作能力,并被广泛应用于通过 Telnet 实现远程连接到 Web 服务器等网络资源;
2)FTP 协议
文件传输机制(File Transfer Mechanism),其核心功能是以文件操作的方式支持不同终端设备间的高效数据交换;
3)HTTP 协议
基于 TCP/IP 体系结构运行的一对多双向请求响应模型,在这一架构下实现了客户端与服务端之间的简单 yet 先进的数据交互方式;
4)SNMP 协议
专为管理 IP 网络中的服务器、工作站等网络节点设计的一种统一标准通信方案;
5)SMTP 协议
基于纯文本信息的数据传输机制,在这一规范下实现了邮件发送与接收过程的安全性与可靠性保障;
6)DNS 协议
作为一个全球范围内的数据库系统,在这一层次实现了域名与其对应 IP 地址之间的自动映射关系。

2.3、传输协议

传输层为进程间的逻辑通信提供了通道,并将网络层的核心细节隐藏于其之上,在这种抽象层次下,应用程序呈现出一个端到端的逻辑通信信道。
1)TCP协议
TCP(Transmission Control Protocol)是一种面向连接、提供可靠传输并基于字节流的运输层(Transport layer)通信协议。该协议通过实施"按顺序发送"或"重传机制"来保障数据完整性,并具备流量控制、拥塞控制等功能以优化网络利用率;
2)UDP协议
UDP(User Datagram Protocol)则是一种无可靠性保证的数据报文协议;尽管它能够确保消息大小的信息正确传递,在接收端并不能保证消息一定会成功到达;
3)TCP与UDP对比
在具体应用场景中,应根据不同的需求选择相应的协议:例如,在需要可靠传输的应用场景中应采用TCP协议;而UDP则专为对高速传输和实时性要求高的场合以及广播通信设计;

2.4、网际协议

网际协议作为网络层的一种protocol,在其运行过程中不仅包含用于定位设备的寻址information以及用于data传输过程中的controlinformation,并且能够在network中进行路由操作;
(1)IP protocol
互联网互连protocol(Internet Protocol),即常说的IP protocol,在其运行过程中承担两个主要功能:一是在设备间查找目标地址;二是负责管理分片data的过程;
(2)ICMP protocol
ICMP protocol的主要职能包括:一是在data传输过程中确认目标address是否成功到达;二是在data传输中断时通知具体原因;三是改善network配置等;
(3)ARP protocol
address resolution protocol(ARP)作为另一种protocol,在其运行过程中负责将特定的IP address转化为对应的MAC address;

2.5、路由控制协议

该方法提供了一种共享路由选择信息机制,在网络中允许路由器与其他路由器通信以便更新维护自己的路由表,并确定最佳的路由选择路径;当网络发生变化时,在网络中运行的路由表中的信息能够随时更新以保证网络上的所有路由选择路径都处于可用状态。

三、TCP协议传输特点

可靠的传输协议在创建连接时经历三个握手过程 在断开连接时则经历四个挥手过程

3.1、三次握手

三次握手是指创建一个TCP连接时需要客户端和服务器端交替发送/接收三段报文以完成连接的建立过程;

在这里插入图片描述

3.2、四次挥手

通过握手协议快速关闭 TCP 连接的具体方式是:当断开一个 TCP 连接时(即握手过程),客户端和服务端各自发送4个数据包以确认连接的断开;

在这里插入图片描述

四、服务端口

端口号用于标识同一台计算机内不同应用程序间的通信,并被称作程序地址;

4.1、端口分配

  1. 可用的端口号范围覆盖了从零到六万五千五百三十五的所有数值。
  2. 公认为常使用的公认为常使用的公认为常使用的公认为常使用的公认为常使用的公认为常使用的公认为常使用的公认为常常用的Well KnownPorts
    是指从零到一千零二十三之间的一组固定号码段。
    这些号码段通常是某些网络设备上支持使用的基本接口数量。
    它们在实际应用中有着非常明确的功能标识,
    比如:80号端口始终用于HTTP通信;
    这类号码段之间的通信会明确标识出相应的网络服务协议。
  3. 注册的注册的注册的注册的注册的注册
    端口号是指从一千零二十四到六万五千五个百三十五之间的一组固定号码段。
    这些号码段通常是某些网络设备上正式注册并支持使用的一组接口数量。
    它们在实际应用中有着非常灵活的功能标识,
    并且能够支持多种多样的网络功能与应用。

4.2、常见的应用层协议与端口分配

在这里插入图片描述

五、数据包与处理流程

5.1、数据包

1)通信传输中使用的各项信息载体主要包括:数据包、帧、段、消息以及分组等;
2)构成部分分为两大部分:一部分是由上层协议所指定并负责解析的数据头部字段;另一部分是来自上一层传输过来的实际数据内容;
3)这些头部字段的结构遵循特定协议规范进行说明,并具体规定了协议如何解析接收的数据内容。

在这里插入图片描述

5.2、处理流程

在这里插入图片描述

六、HTTP协议

6.1、介绍

超文本传输协议体系(Hyper Text Transfer Protocol),遵循基于TCP/IP 通信协议的机制来实现数据传输(HTML文件、图像文件以及其他类型如查询结果等媒体内容),明确了客户端如何向服务器发送请求以及服务器如何回应请求的内容;这是万维网进行数据交换的根本架构。

6.2、特点

  1. 采用客户-服务器模式(B/S模式)。
  2. 高效且便捷;由于HTTP协议设计精炼, 因此HTTP服务器实现相对简单, 从而保证了通信效率高。
  3. 支持多种媒体文件传输;HTTP通过Content-Type字段标识不同内容类型, 具备灵活性特点。
  4. 支持短连接;建立一个会话后, 只需释放一次连接即可完成数据传输, 从而减少资源浪费并提高效率;当HTTP协议头部中字段Connection: keep-alive被启用时, 即表示支持长连接功能。
  5. 单向通信特性;服务端系统始终处于被动等待客户端请求的状态;
  6. 无状态机制;无状态意味着系统不具备处理事务的能力, 必须借助Cookie或Session等数据结构来维持会话连接状态。

6.3、版本

当前主流使用的 HTTP/1.1 版本与最低要求的 HTTP/2.0 版本;
该协议的主要特点包括:
a) 单线连接:在客户端请求页面的过程中只需建立一个持续的 TCP 连接即可;
b) 多路复用技术:通过共享同一个传输通道实现多个请求的有效处理;
c) 首部压缩技术:通过减少客户端传输的数据量来提高效率;
d) 服务端推送技术:通过提前向客户端推送资源来减少响应时间;
e) 更加强大的安全性措施:采用了 TLS 拓展 ALPN 作为升级协议,并对 TLS 的安全性进行了进一步优化。

6.4、URI、URL、URN

1)URI:统一资源标识符(UR),是用于标识互联网上资源名称的字符串。例如,在<a href="mailto:xxx@qq.com">发送邮件</a>中使用该标识符即可实现邮件发送功能。同时,在此示例中,“URL”和“URN”都属于URI的一种形式;
2)URL:统一资源定位符(URL),是用来定位互联网上特定资源的字符串。例如,在http://ip:port/index.html?id=1中使用该定位符即可访问指定页面;
3)URN:统一资源名称(URN),是在特定命名空间内对某项网络实体进行唯一标识的字符串。例如,在ip:port/index.html?id=1中使用该名称即可唯一确定该网页实例。

6.5、请求与响应

GET 和 POST 的区别如下:

  1. 在浏览器后退过程中不会引起不良影响, 而POST请求会导致重新提交;
  2. GET请求生成的URL地址可以被Bookmarked, 而POST请求无法实现这一功能;
  3. GET请求会被浏览器主动缓存, 而POST请求除非手动设置否则不会被缓存;
  4. GET请求仅支持URL编码, 而POST请求则可采用多种编码方式;
  5. GET请求的所有参数都会完整地保存在浏览器的历史记录中, 而POST请求中的参数无法保留;
  6. 在URL中传输的数据长度对于GET请求有限制, 而POST请求则不受此限制——数据类型方面, GET仅接受ASCII字符而非字节;
  7. 相对而言, GET比POST更为不安全, 因其将所有传输数据暴露于URL路径上;
  8. GET数据通过URL路径传输至服务器, 而POST数据则以Request body的形式发送

全部评论 (0)

还没有任何评论哟~