网络通信概述

Posted 旧时星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络通信概述相关的知识,希望对你有一定的参考价值。

网络通信概述

  • 互联网中主机和主机连接必须通过特定的要求,这个要求称为协议。

  • TCP/IP协议:

    • 应用层(OSI的会话层,表示层,应用层)

      • 常用协议:HTTP,FTP,SMTP,POP3,SSL,RPC
    • 传输层

      • OSI第四层
      • 常用协议:TCP,UDP
    • 网络层

      • OSI中第三层
      • 常用协议:IP,IPV4,IPV6
    • 网络接口层

      • OSI第一二层

IP网络协议,hulianwangs-任何操作系统只要遵守IP协议就可以与互联网互通,给互联网上的每台计算机分配地址。

TCP/UDP(传输控制协议):

  • 面向连接的,可靠的,基于字节流的协议。

  • TCP协议每次连接/关闭都需要确认,也就是经典的三次握手,四次挥手

  • 术语:SYN同步标识

    ​ FIN结束标识

    ​ ACK确认标识

    ​ PSH有DATA传输

    ​ RST连接重置

    ​ SEQ数据包

UDP:是一种无连接协议,基于UDP协议主机把数据包发送给网络后就不管了,不可靠。

Socket

在标准库的net包中提供了可移植的网络I/O接口,其中就包括了Socket,是实现网络双向通讯的一套API。

Socket分类

按时间:短连接,长连接

按客户端与服务器的数量:点对点,点对多,多对多。

网络通信的内容都是包含客户端和服务端,服务端运行在服务器中,而客户端运行在客户端中,可以是浏览器,可以是桌面程序,可以是APP等。

Go语言对Socket的支持

TCPAddr结构体表示服务器IP和端口

  • IP是 type IP [ ] byte
  • Port是服务器监听的接口
//TCPaddr reperents the address of a TCP end point
type TCPaddr struct{
    IP IP
    Port int
    Zone string//IPv6 scoped addressing zone
}

TCPConn结构体表示连接,封装了数据读写操作

type TCOConn struct{
    conn
}

TCPListener负责监听服务器特定端口

type TCPListener struct{
    fd *netFD
}

以上是关于网络通信概述的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

Reactreact概述组件事件

计算机网络3.1 运输层概述 与 多路复用/分解

在tablayout片段之间进行通信[重复]