当前位置: 首页 > news >正文

网络通信三要素

三要素概述

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.lryc.cn/news/191359.html

相关文章:

  • 2023年中国渔业研究报告
  • python字符串中的\“
  • Elasticsearch 分片内部原理—使文本可被搜索、动态更新索引
  • lvgl 界面管理器
  • 一篇文章让你了解“JWT“
  • HJ73 计算日期到天数转换
  • Unity实现设计模式——适配器模式
  • 【2023年11月第四版教材】专题1 - 计算题考点汇总 (合集篇)
  • 系统架构设计:17 论信息系统的安全性与保密性设计
  • 使用EasyDarwin+ffmpeg+EasyPlayerPro完成rtsp的推流操作和拉流操作
  • FPGA project : flash_secter_erase
  • HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Radio
  • python opencv 深度学习 指纹识别算法实现 计算机竞赛
  • 一图看懂CodeArts Inspector 三大特性,带你玩转漏洞管理服务
  • 【Mysql】Mysql的启动选项和系统变量(二)
  • FPGA project : flash_read
  • nnunetv2训练报错 ValueError: mmap length is greater than file size
  • React知识点系列(2)-每天10个小知识
  • AutoGPT:让 AI 帮你完成任务事情 | 开源日报 No.54
  • USB 转串口芯片 CH340
  • Day 05 python学习笔记
  • Python如何17行代码画一个爱心
  • 生产环境中常用Linux命令
  • 【使用 TensorFlow 2】03/3 创建自定义损失函数
  • Vue3中使用v-model高级用法参数绑定传值
  • 你的工作中,chatGPT可以帮你做什么?
  • k8s简单部署nginx
  • 小黑子—MyBatis:第四章
  • Docker快速上手:使用Docker部署Drupal并实现公网访问
  • React知识点系列(1)-每天10个小知识