• 网络协议:知识扫盲


    目录

    ARP&RARP

    ICMP

    WebSocket

    WebSocket建立连接

     WebService

     RESTFUL

    简介

    使用建议

    HTTPDNS

     FTP

    连接模式

     主动模式

    被动模式

     邮件相关的协议

    收发邮件的过程

     POP VS IMAP


    ARP&RARP

    • ARP(Address Rusolution Protocol):译为:地址解析协议。通过IP地址获取MAC地址
    • RARP(Reverse Address Rusolution Protocol),译为:逆地址解析协议
      • 使用于ARP相同的报头结构
      • 作用与ARP相反,用于将MAC地址转换为IP地址
      • 后来被BOOTP、DHCP所取代

    ICMP

    • ICMP(Internet Control Message Protocol):译为:互联网控制信息协议
      • IPv4中的ICMP被称为ICMPv4,IPv6中的ICMP被称为ICMPv6
      • 通常用于返回错误信。比如:TTL过期、目的不可达。
      • ICMP的错误消息总是包括了源数据并返回给发送者

    WebSocket

    • HTTP请求的特点:通信只能由客户端发起。所以,早期很多网站为了实现推送技术,所用的技术都是轮询
      • 轮询是指由浏览器每隔一段时间(如每秒)向服务器发出HTTP请求,然后服务器返回最新的数据给客户端
      • 为了更好的节省服务器资源和带宽,并且能够更实时地进行通讯,HTML5规范中出现了WebSocket协议
    • WebSocket是基于TCP的支持全双工通信的应用层协议
      • 在2011年由IETF标准为RFC 6455,后由RFFC 7936补充规范
      • 客户端、服务器,任何一方都可以主动发信息给对方
    • WebSocket的应用场景很多:社交订阅,股票基金报价,体育实况更新,多媒体聊天,多玩家游戏等

    • WebSocket和HTTP属于平级关系,都是应用层协议
      • 其实TCP本身就是支持全双工通信的(客户端、服务器都可以主动发信息给对方)
      • 只是HTTP的“请求-应答”模式限制了TCP的能力
    • WebSocket使用80(ws://)、443(wss://)端口,可以绕过大多数防火墙的限制
      • ws://example.com/wsapi
      • wss://secure.example.com/wsapi
    • 与HTTP不同的是,WebSocket需要先建立连接
      • 这就使得WebSocket成为一种有状态的协议,之后通信时可以省略部分状态信息
      • 而HTTP请求可能需要在每一个请求都额外携带状态信息(比如身份认证等)

    WebSocket建立连接

    WebSocket需要借助HTTP协议来建立连接(也叫做握手,Handshake),由客户端(浏览器)主动发出握手请求

     WebService

    •  WebService,译为:Web服务,是一种跨编程语言和操作系统平台的远程调用技术标准
    • WebService使用场景距离
      • 天气预报、手机归属地查询、航班信息查询、物流信息查询等
      • 比如天气预报,是气象局把自己的服务以WebService形式暴露出来,让第三方程序可以调用这些服务功能
      • http://www.websml.com.cn/zh_cn/index.aspx
    • 事实上,WebService完全可以使用普通的Web API替代(比如HTTP + JSON)
    • 现在很多企业的开放平台都是直接采用Web API

     核心概念如下

    • SOAP(Simple Object Accerss Protocol),译为:简单对象访问协议
      • 很多时候,SOAP = HTTP + XML
      • WebService使用SOAP协议来封装传递数据
    • WSDL(Web Services Description Language),译为:Web服务描述语言
      • 一个XML文档,用以描述WebService接口的细节(比如:参数、返回值)
      • 一般在WebService的URL后面跟上?wsdl获取WSDL信息
      • 比如:http://ws.websml.com.cn/WebServices/WeatherWS.asmx?wsdl

     RESTFUL

    简介

    • REST的全称是:REpresentational State Transfer,译为:表现层状态转移
    • REST是一种互联网软件架构设计风格,定义了一组用于创建Web服务的约束,符合REST架构的Web服务,称为RESTFUL Web服务

    使用建议

    HTTPDNS

    • HTTPDNS是基于HTTP协议向DNS服务器发送域名解析请求
      • 替代了基于DNS协议向运营商Local DNS发起解析请求的传统方式
      • 可以避免Local DNS造成的域名劫持和跨网访问问题
      • 常用在移动互联网中(比如Android、iOS开发中)

     FTP

    • FTP(File Transport Protocol),译为:文件传输协议,RFC 959定义了此规范,是基于TCP的应用层协议
    • 在RFC 1738中有定义,FTP的URI格式为:ftp://[usr[:password]@host[:port]/url-path

    连接模式

    • FTP有两种连接模式:主动和被动
    • 不管哪种模式,都需要客户端和服务器建立两个连接
      • 控制连接:用于传输状态信息
      • 数据连接:用于传输文件和目录信息

     主动模式

    被动模式

     邮件相关的协议

    收发邮件的过程

     POP VS IMAP

     

  • 相关阅读:
    恢复受感染的数据:如何应对.360勒索病毒的策略
    【深度学习理论】(7) 长短时记忆网络 LSTM
    计算机网络 应用层的考纲内容 网络应用模型 域名系统
    1.6 分组延时,丢失和吞吐量
    《统计学习方法》啃书手册|核函数构成希尔伯特空间的步骤详解
    Java多线程(5):CAS
    python将本地png切片栅格数据写入postgis(Postgre入门三)
    TDengine 上榜 BenchCouncil 全球首个开源贡献榜
    美国访问学者申请|签证需要哪些材料?
    go实现分布式锁
  • 原文地址:https://blog.csdn.net/weixin_62775913/article/details/126638273