网络通信三要素

news2024/11/11 6:53:46

三要素概述

IP地址:设备在网络中的地址,是唯一的标识。

端口:应用程序在设备中唯一的标识。

协议:   数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。

网络通信过程

A程序通过IP和端口找到B程序,再互相发送和接收数据。

要素一:IP地址

IP(Internet Protocol):全称”互联网协议地址”,是分配给上网设备的唯一标志。

常见的IP分类为:IPv4和IPv6。

IPv6:128位(16个字节),号称可以为地球每一粒沙子编号。

IPv6分成8个整数,每个整数用四个十六进制位表示, 数之间用冒号(:)分开。 

IP地址基本寻路

IP地址形式

公网地址和私有地址(局域网使用)。 192.168. 开头的就是常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用。

IP常用命令

ipconfig:查看本机IP地址

ping IP地址:检查网络是否连通

特殊IP地址

本机IP: 127.0.0.1或者localhost:称为回送地址也可称本地回环地址,只会寻找当前所在本机。

IP地址操作类-InetAddress

此类表示Internet协议(IP)地址。

API如下:

要素二:端口号

端口号:标识正在计算机设备上运行的进程(程序),被规定为一个 16 位的二进制,范围是 0~65535。

端口类型

        周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用 80,FTP占用21)

        注册端口:1024~49151,分配给用户进程或某些应用程序。(如:Tomcat占 用8080,MySQL占用3306)

        动态端口:49152到65535,之所以称为动态端口,是因为它 一般不固定分配某种进程,而是动态分配。

注意:我们自己开发的程序选择注册端口,且一个设备中不能出现两个程序的端口号一样,否则出错。

要素三:协议

连接和通信数据的规则被称为网络通信协议。

网络通信协议有两套参考模型:

        OSI参考模型:世界互联协议标准,全球通信规范,由于此模型过于理想化,未能在因特网上进行广泛推广。

        TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。

 传输层的2个常见协议:

        TCP(Transmission Control Protocol) :传输控制协议

        UDP(User Datagram Protocol):用户数据报协议

TCP协议特点:

使用TCP协议,必须双方先建立连接,它是一种面向连接的可靠通信协议。

传输前,采用“三次握手”方式建立连接,所以是可靠的 。

在连接中可进行大数据量的传输 。  

连接、发送数据都需要确认,且传输完毕后,还需释放已建立的连接,通信效率较低。

TCP协议通信场景

对信息安全要求较高的场景,例如:文件下载、金融等数据通信。 

 

 

UDP协议:

UDP是一种无连接、不可靠传输的协议。 将数据源IP、目的地IP和端口封装成数据包,不需要建立连接

每个数据包的大小限制在64KB内 发送不管对方是否准备好,接收方收到也不确认,故是不可靠的。  

可以广播发送 ,发送数据结束时无需释放资源,开销小,速度快。

UDP协议通信场景

语音通话,视频会话等。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1080566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

沁恒CH582触摸功耗测试 BleTouchKey

准备用沁恒的CH582 做个低成本的蓝牙锁控,正好ch582 支持14通道的触摸,可以节省一个触摸芯片,测试了下功耗,具体如下 1、在BleTouchKey_Demo中 注释掉tmos_set_event( TouchKey_TaskID, NOTIFY_DATA_EVT); 2、把打印log 给屏蔽掉…

map合并数据

printNodeProperties(node, data, type) {if (type preview) {console.log(333)this.selectedNodes [] // 清空之前收集的节点this.filteredData.forEach((rootNode) > {this.collectPreviewNodes(rootNode) // 递归收集节点})// 所有具有预览功能的节点console.log(具有 …

Gradle安装

文章目录 官网配置环境变量 官网 Gradle官网:https://gradle.org/ Gradle官方下载安装教程页面:https://gradle.org/install/ Gradle官方用户手册:https://docs.gradle.org/current/userguide/userguide.html 注意: 1.SpringBoo…

华为数通方向HCIP-DataCom H12-831题库(多选题:221-240)

第221题 以下哪些项能被正则表达式^30.成功匹配? A、200 100 300 B、100 200 300 C、300 200 100 D、300 100 200 答案:CD 解析: 30.其中的“点”表示的是任何的一个数字,表示的是as-path的开头;所以以300开头的都是满足题目需求的。 第222题 以下哪些项的Community属性能…

Jetson Orin NX 开发指南(3): 安装 ROS 系统

一、前言 由于本专栏主要介绍如何将 Jetson Orin NX 作为自主无人机的机载电脑,因此需要 ROS 操作系统来实现各个模块的衔接,ROS支持在Linux系统上安装部署,因为ROS与Ubuntu兼容性最好,使用它的首选开发平台是Ubuntu,…

YOLOv7改进: 多分支卷积模块RFB,扩大感受野提升小目标检测精度

💡💡💡本文属于原创独家改进:多分支卷积模块RFB,使用不同的卷积核,设计了多分支的conv、pooling操作(makes use of multi-branch pooling with varying kernels),扩大感受野提升小目标检测精度 RFB | 亲测在多个数据集实现涨点,对小目标效果佳; 收录: YOLO…

spy++ 用法

spy 用法 win10 64位系统 VC6 里面的SPYXX.EXE D:\safe_software\VC\vc6\VC6CN\COMMON\TOOLS\SPYXX.EXE 把那个红色框住的地方 ,拖动到 要监控的软件上面 点击OK 0000243F 9279 0111 Posted WM_COMMAND 另外一个版本的,不好用

批量给每一段文字 段落加上符号

批量给每一段文字 段落加上符号 例如 要给下面的内容统一加上[xxxxxxxx] 查找替换–>查找内容 :输入前面统一的标识 替换为:–>特殊格式–>查找内容–>全部替换 先在前面加符号 在后面加符号: 最后效果:

CPU vs GPU 的区别详解

今天我们将讨论 CPU 和 GPU 之间的区别,尽管两者用途相似,其应用领域却有所不同。CPU 更多用于传统桌面处理,而 GPU 的运算能力更多用于其他领域。以下我们将探讨其中的几个领域,以及 CPU 与 GPU 之间的一些关键区别。 为何需要两…

Xception:使用Tensorflow从头开始实现

一、说明 近年来,卷积神经网络已成为计算机视觉领域的主要算法,开发设计它们的方法一直是相当的关注。Inception模型似乎能够用更少的参数学习更丰富的表示。它们是如何工作的,以及它们与常规卷积有何不同?本文将用tensorflow实现…

Linux 网络编程 tcp server 笔记

一、TCP 服务器的创建 在 Linux 上创建一个简单的 tcp 服务器步骤如下: ①创建套接字 ②将套接字绑定到 IP 地址和端口号 ③监听来自客户端的连接 ④接受连接并创建新的套接字用于与客户端通信 ⑤通过新建的套接字发送和接收数据 ⑥关闭套接字 流程框图如下&#xf…

AI 法律助手与原创奇幻小说生成 | 开源专题 No.33

eosphoros-ai/DB-GPT Stars: 6.4k License: MIT DB-GPT是一个实验性的开源项目,利用本地化的GPT大型模型与数据和环境进行交互,旨在提供私密性和安全性的数据处理解决方案。 主要功能: SQL语言能力SQL生成和诊断私有领域问答和数据处理知识管理&#x…

AIGC Excel办公应用实现行与列交叉多条件求和

这样的一个多条件求和函数的应用,我们可以使用ChatGPT,OpenAI,人工智能来实现。 Prompt提示词: 有一个表格A3至A186为部门,B3至B186为月份,D3至D186为费用,请根据G2单元格的月份与F3的部门汇总费用,写出Excel函数公式,并且加上绝对引用与相对引用,可以向右填充与向…

在北欧设计中,有种轻奢叫石膏线。福州中宅装饰,福州装修

很多人在追求精致的路上, 大都选择一个喜欢的城市, 小到睫毛也要刷出太阳花。 在家装中,我们也追求更精致的家居生活。 现如今石膏线的运用也很广泛 有一个不起眼的东西, 它对于家装的精致感提升, 起到了画龙点…

Echarts图例图标和文字居中

前言:设置了verticalAlign:"middle",lineHeight,效果没有生效,然后通过设置文本的padding,实现居中。 代码实现:

FPGA面试题(3)

一.FPGA和CPLD区别 FPGA:现场可编程门阵列CPLD:复杂可编程逻辑器件 二.多位异步信号如何同步 单比特异步信号 慢时钟域->快时钟域:同步打拍快时钟域->慢时钟域:先拓展位宽再同步打拍 多比特异步信号 1.异步FIFO2.保持…

vs code 添加vue3代码模板方法

最终效果 vs code 添加vue文件模板用于通过简写自动生成代码 操作步骤如下 1.找到vue模板代码编写入口 2.修改模板内容 2.1 vue.json内容 {// Place your snippets for vue here. Each snippet is defined under a snippet name and has a prefix, body and// description. T…

生信学院|10月13日《SOLIDWORKS参数化应用——DriveWorksXpress》

课程主题:SOLIDWORKS参数化应用——DriveWorksXpress 课程时间:2023年10月13日 14:00-14:30 主讲人:温晓露 生信科技 售后服务工程师 1、DriveWorks的作用 2、用 DriveWorksXpress 自动化您的设计过程 3、Drive Works Xpress最佳做法 4…

Matlab地理信息绘图—研究区域绘制

文章目录 m_map工具箱Matlab绘制研究区域结果显示 m_map工具箱 m_map是 MATLAB 中用于制作地图和地理数据可视化的工具包。这个工具包提供了一组函数和工具,使得用户能够在 MATLAB 中轻松创建地图,并在地图上显示各种地理和气象数据。以下是 m_map 工具包…

nginx在windows下按照

Windows下Nginx的启动、停止等命令 可以进入到nginx的安装根目录,执行nginx.exe -h 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简…