后台网络请求中的常见协议以及分层模型


go的一些需要记住的语法说完了,就要说网络协议了。

毕竟go本身是一款后端语言,通过网络与客户端交互则是必然的
而本身,go对网络协议的请求封装的很是完善,所以这里就先说下常见的协议吧,算是做一个复习记录。

协议

  • 是一组通信规则,要求数据通信双方,在通信过程中,严格遵守的存在。

典型协议有:

  • 应用层:http,ftp
  • 传输层:TCP,UDP
  • 网络层:IP,ICMP,IGMP
  • 链路层:ARP,RARP

除了上面协议有哪些要记住,面试时也会问网络分层模型

网络分层模型

  • OSI七层模型:
    • 物、数、网、传、会、表、应
  • TCP/IP :
    • 链、网、传、应

在网络数据通信过程,发生了:

  • 数据封装:
    • 数据>应用层>传输层>网络层>链路层>以太网
  • 数据解封装:
    • 以太网>链路层>网络层>传输层>应用层>数据

各层功能简介

  • 链路层:
    • 从 设备 到 设备
    • 源mac ——目标mac (不需要用户指定)
    • ARP协议,借助IP,获取mac地址 RARP 借助mac地址 找到IP地址
  • 网络层:
    • 从节点到节点(主机)
    • 源IP——目标IP (需要用户指定)
    • IP协议 借助IP地址,标识网络中的唯一主机
      • 大小 4字节,每一个字节取值范围0-255
  • 传输层:
    • 从 进程 到 进程
    • 源port——目标port
    • TCP/UDP 通过端口号 port 在一台主机上 唯一标识一个进程
      • IP + port 可以在网络环境中,定位为一个标识的一个应用(进程) ——socket
  • 应用层:
    • 从数据封装 到 数据解封
    • 源应用协议 —— 目标应用协议
    • 应用层协议 可选 非必须

你可能感兴趣的:(后台网络请求中的常见协议以及分层模型)