各种协议

网络协议

OSI模型

开放式系统通信参考模型,一种概念模型,由国际标准化阻止提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC

划分

  • 应用层

    • 为操作系统提供应用程序服务
  • 表示层

    • 转换数据格式,加密、压缩
  • 会话层

    • 负责管理会话和维持或终止通信
  • 传输层

    • 拆分数据、标记顺序,标记端口
  • 网络层

    • 基于IP地址为数据的传输进行网络间的路由选择
  • 数据链路层

    • 物理地址寻址,为网络层提供数据传送服务
  • 物理层

    • 传输比特流

TCP/UDP

TCP(传输控制协议)

  • 是一种面向有连接【一对一才能连接】的、可靠的【无论链路如何变化,确保报文一定能到达】基于字节流【有序的】的传输层通信协议,又IETF的RFC 793【1】定义

  • 应用场景

    • http、https、ftp文件传输、pop、smtp

UDP(无连接的传输协议,该协议称为用户数据报协议。)

  • udp为应用程序提供了一种无需建立连接就可以发送封装的IP数据报的方法。

  • 应用场景

    • TETP SNMP DNS
    • 视频直播
    • 视频会议
    • 广播通信等

区别

  • 连接

    • tcp面向有连接,传输数据前需要先建立连接。
    • udp是不需要连接,可以直接传输数据
  • 服务对象

    • tcp一对一通信
    • udp支持一对一,一对多、多对多通信
  • 可靠性

    • tcp是可靠交付数据的,数据可以无差错、不丢失、不重复、按需到达
  • udp是尽最大努力交付,不保证可靠交付数据

传输方式

  • tcp是流式传输,没有边界,但保证顺序可靠

http/https协议

http

  • http协议(超文本传输协议)的缩写。是用于从www服务器传输超文本到本地浏览器的传输协议.http是一个应用层协议,由请求和响应构成

  • 特点:无状态的、可拓展、可靠的

  • http/1.1【当前正在使用版本】

    • 持久化连接(默认tcp连接不关闭,tcp请求可用)
    • 管道机制(浏览器可以同时发起多个请求)
    • 支持put、patch、head、options、delect请求方式
    • 支持分块传输【绕waf思路之一】
  • http/2

    • 采用二进制协议
    • 多路复用
    • 数据流
  • 请求方式

    • options

      • 探测服务器支持哪些请求方法
    • GET

      • 请求资源
    • POST

      • 传输实体主体
    • PUT

      • 上传文件
    • HEAD

      • 获取响应体头部
    • DELETE

      • 删除文件
    • TRACE

      • 回显服务器收到的请求
    • CONNECT

      • HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

https

  • 超文本传输安全协议,https常称为http over TLS、HTTP over SSL或HTTP Secure,是一种通过计算机网络进行安全通信的传输协议。HTTPS经由http进行通信,但利用SSL/TLS【ssl的后续版】来加密数据包

    • 端口 80
  • https开发的主要目的,是提供对网站服务的身份认证,保护交换资料的隐私与完整性。

    • 端口 443

URI和URL

  • URI

    • URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。 Web上可用的每种资源和HTML文档、图像、视频片段、程序等都是一个来uri来定位的uri一般由三部分组成:1、访问资源的命名机制,2、存放资源的主机名,3、资源自身的名称,由路径表示,着重强调于资源。
    • uri属于父类,而URL属于uri的子类。url是uri的一个子集
  • URL

    • 是Uniform Resource Loactor,统一资源定位符,用于定位资源在互联网上面的位置。

SSL/TLS

SSL

  • SSL (Secure Sockets Layer)安全套接层。是由Netscape公司于1990年开发,用于保障Word Wide Web(WWW)通讯的安全。主要任务是提供私密性,信息完整性和身份认证。1994年改版为SSLv2,1995年改版为SSLv3.

    • SSL是一个不依赖于平台和运用程序的协议,位于TCP/IP协议与各种应用层协议之间,为数据通信提高安全支持。

TLS

  • TLS(Transport Layer Security)安全传输层协议,)用于在两个通信应用程序之间提供保密性和数据完整性。该标准协议是由IETF于1999年颁布,整体来说TLS非常类似SSLv3,只是对SSLv3做了些增加和修改。

DNS(域名系统)

是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。当前每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

使用UDP 53 端口

Telnet(远程登录协议)

端口:23

  • 参数:目标ip地址或域名,登录口令

是登录和仿真程序,建立在TCP之上,它的基本功能是允许用户登录进入远程计算机系统

缺点:通信的数据库明文传输,未加密

SSH

默认端口:22

ssh是比较可靠,专为远程登陆会话和其他网络提供安全性的协议

FTP(文件传输协议)

是TCP/IP协议组中的协议之一

  • 端口

    • 20

      • 用于传输数据
    • 21

      • 用于连接

ftp协议包含两个组成部分

  • ftp服务器

    • 用来存储文件,用户可以使用ftp客户端通过fto协议访问位于ftp服务器上的资源。在开发网站的师傅,通常利用ftp协议把网页或程序传到web服务
  • ftp客户端

SMTP(邮件传输协议)

建立在tcp之上,是一种可靠且有效的电子邮件传输协议,主要用于传输系统之间的邮件信息,并提供与电子邮件有关的通知

ICMP(Internet控制报文协议)

它是TCP/IP 协议簇的一个子协议,用于IP主机,路由之间传递控制信息。控制信息是指网络通不通,主机是否可达、路由是否可以用等网络本身信息。

TTL 是time to live的缩写

  • 该字段指定IP包被路由器丢弃之前允许通过最大网段数量。TTL是IPv47报头的一个8 bit字段。TTL值是IP包中表示IP包生存周期的变量,数据包在发出时,操作系统会对其赋予一个值,每当数据包流经网络层设备时,该值减1,当该值减为0时,网络设备会将该包丢弃!

注意:

  • TTL与DNS TTL有区别。二者都是生存时间,但一个是指ICMP包的转发次数(跳数),另一个指域名解析信息在DNS中的存在时间
  • TTL值可以自己修改

SNMP(网络管理协议)

是由互联网工程组定义的一套网络管理协议。该协议是基于简单网关监视协议制定的。

ARP(地址解析协议)

是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回信息,以此确定目标的物理地址。

posted @ 2023-04-12 10:45  Alrights  阅读(56)  评论(0)    收藏  举报