计算机网络通信1

      最后更新:2022-02-24 14:52:24 手机定位技术交流文章

      OSI网络七层模型:(Open System Interconnection),译为“开放式系统互联”
      物理层、数据链路层、网络层、传输层、会话层、表示层和应用层

      TCP/IP对 OSI 进行了简化,合并了一些层,最终只保留了 4 层,从下到上分别是接口层、网络层、传输层和应用层,这就是大名鼎鼎的 TCP/IP 模型

      在这里插入图片描述
      socket 站在传输层的基础

      本地进程通信
      网络进程通信:三元组(IP地址、协议、端口)传输层的协议+端口表示主机中进程,再加上IP就可以表示网络进程,进一步可以网络交互
      Sock_Stream: 连接(传输+校验)http
      sock_Dgram: 无连接(只管传输,不校验)qq视频语音,缺失不影响正常解析,只会出现噪音噪点

      1 主要通讯层次划分

      应用层:HTTP,FTP,SMTP,DNS,Telnet
      传输层:socket基于TCP / UDP(传输控制协议:提供点对点的连接:封装、定址、传输、路由,目的地如何接受)三个数据包(握手)
      网络层:IP,ICMP,OSPF
      接口层:SLIP,PPP,MTU
      每一抽象层建立在低一层提供的服务上,并为高一层提供服务

      TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接,客户端在收发数据前要使用 connect() 函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无误,为数据的传输开辟通道
      在这里插入图片描述
      在这里插入图片描述

      2 socket常用函数接口及原理

      在这里插入图片描述
      在这里插入图片描述

      MAC

      MAC 地址是 Media Access Control Address 的缩写,直译为“媒体访问控制地址”,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address)。

      socket server client

      Windows 下的 socket 程序和 Linux 思路相同,但细节有所差别:

      1. Windows 下的 socket 程序依赖 Winsock.dll 或 ws2_32.dll,必须提前加载。DLL 有两种加载方式,请查看:动态链接库DLL的加载

      2. Linux 使用“文件描述符”的概念,而 Windows 使用“文件句柄”的概念;Linux 不区分 socket 文件和普通文件,而 Windows 区分;Linux 下 socket() 函数的返回值为 int 类型,而 Windows 下为 SOCKET 类型,也就是句柄。

      3. Linux 下使用 read() / write() 函数读写,而 Windows 下使用 recv() / send() 函数发送和接收。

      4. 关闭 socket 时,Linux 使用 close() 函数,而 Windows 使用 closesocket() 函数。

      linux server

      client

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/18962.html

          热门文章

          文章分类