Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议
- 网络通信
概念:网络通信是指通过计算机网络进行信息传输的过程,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准确性和安全性。常见的网络通信协议有TCP/IP、HTTP、SMTP等。随着互联网的发展,网络通信已成为人们日常生活中不可或缺的一部分。(两台设备之间通过网络实现数据传输,即将数据通过网络从一台设备传输到另一台设备)

- 网络
概念:网络是指将多台计算机或设备通过通信线路、交换机等网络设备连接起来,形成一个可以互相通信和共享资源的系统。网络使得不同设备可以通过互联网等各种通信技术实现数据传输和信息共享。这样的连接可以是有线的或无线的,可以是局域网、城域网、广域网,也可以是互联网等。网络的功能包括信息传递、资源共享、远程通信、分布式处理、实时协作等。(两台或多台设备通过一定的物理设备连接起来构成了网络)
网络的常见分类:
-
按范围分类:
-
局域网(LAN):通常在相对较小的地理区域内,如家庭、办公室或校园内部使用。
-
城域网(MAN):跨越城市范围的网络,通常由多个局域网连接而成。
-
广域网(WAN):覆盖更广泛地理区域的网络,通常由多个城域网或局域网连接而成,互联网是最大的广域网。
-
按用途分类:
-
互联网:全球范围的公共网络,用于连接世界各地的计算机和网络。
-
局域网:用于组织内部的内部通信和资源共享。
-
数据中心网络:用于连接数据中心内的服务器和存储设备。
-
无线网络:使用无线通信技术,如Wi-Fi、蓝牙、移动网络等。
-
传感器网络:用于监测和收集环境数据的分布式传感器系统。
-
按通信技术分类:
-
有线网络:使用物理电缆(如以太网、光纤)进行数据传输。
-
无线网络:使用无线电波进行数据传输,包括Wi-Fi、蓝牙、移动通信等。

- ip地址
概念:IP地址(Internet Protocol Address)是计算机网络中用于唯一标识和定位设备(通常是计算机或网络设备)的数字地址。IP地址是因特网通信的基础,它允许数据在网络上正确传输到目标设备。(用于唯一标识网络中的每台计算机/主机)
唯一性:每个设备在网络中都应具有唯一的IP地址,以确保数据能够正确路由到目标设备。这使得每台计算机都可以在全球范围内被唯一标识。
版本:目前主要使用的IP地址版本是IPv4(Internet Protocol Version 4)和IPv6(Internet Protocol Version 6)。IPv4使用32位地址,而IPv6使用128位地址,因此IPv6提供了更大的地址空间,以满足不断增长的互联网需求。
ip地址的组成:网络地址+主机地址
IPv4地址:IPv4地址由四个十进制数(例如,192.168.1.1)组成,每个数范围从0到255。IPv4地址空间有限,已经耗尽了大部分可用的地址。这导致了IPv6的发展,以提供更大的地址空间。
IPv6地址:IPv6地址采用128位二进制表示,通常以冒号分隔的八组四位十六进制数表示,例如,2001:0db8:85a3:0000:0000:8a2e:0370:7334。IPv6地址的主要优势是其巨大的地址空间,可以支持未来的网络增长。
子网掩码:子网掩码是用于划分IP地址空间的工具,它确定哪些部分属于网络标识符,哪些部分属于主机标识符。子网掩码通常与IP地址一起使用,以创建子网。
公共IP地址和私有IP地址:IP地址可以分为公共IP地址和私有IP地址。公共IP地址用于直接与互联网通信,而私有IP地址用于内部网络通信,通常在家庭、企业或组织内部使用,不直接暴露在互联网上。
动态和静态IP地址:IP地址可以分为动态IP地址和静态IP地址。动态IP地址由Internet Service Provider(ISP)动态分配给设备,而静态IP地址是手动配置的,通常用于服务器和网络设备,以确保其IP地址不变。
地址分配:IP地址可以通过DHCP(Dynamic Host Configuration Protocol)动态分配给设备,也可以手动配置。DHCP允许网络设备自动获取IP地址、子网掩码、网关等网络配置信息。
ipv4地址的分类及范围:

- 域名
概念:域名(Domain Name)是互联网上用于标识和定位特定资源的人类友好的文本标识符。**域名用于代替IP地址,使用户能够更容易地访问网站、电子邮件服务器、FTP服务器和其他互联网服务。使用域名,用户可以通过输入网站的域名来访问网站,而不必知道其IP地址。**以下是有关域名的一些关键概念:
-
域名结构:
- 域名通常由多个部分组成,以点号(.)分隔。这些部分按照从右到左的顺序排列,每一级都更具体。例如,www.example.com 中,顶级域名是.com,次级域名是example,子域名是www。
-
顶级域名(TLD):
- 顶级域名是域名中的最高级别,通常表示国家、地区或通用分类。例如,.com、.org、.net 是通用顶级域名(gTLDs),而 .uk、.jp、.cn 是国家代码顶级域名(ccTLDs)。
-
次级域名(SLD):
- 次级域名是紧跟在顶级域名后面的部分,用于更具体地标识网站或服务。例如,在example.com中,example是次级域名。
-
子域名:
- 子域名是在次级域名之前添加的额外部分,用于将网站进一步细分或指向不同的服务器或服务。例如,在www.example.com中,www是子域名。
-
完整域名:
- 完整域名是包括所有级别的域名,从顶级域名一直到最具体的子域名。例如,www.example.com 是一个完整域名。
-
域名解析:
- 域名解析是将人类可读的域名转换为计算机理解的IP地址的过程。这是通过域名系统(DNS)来实现的,DNS服务器负责将域名映射到相应的IP地址。
-
注册和管理:
- 域名需要注册并定期续订,通常通过域名注册商或注册服务提供商完成。注册人(域名持有者)负责管理其域名的配置和维护。
-
国际化域名(IDN):
- 国际化域名允许包含非拉丁字符集的域名,使非英语母语的用户能够使用自己的语言书写域名。例如,使用希腊字母或中文字符的域名。
域名是互联网上非常重要的标识符,它们使用户能够轻松访问网站和其他在线资源,而无需记住复杂的IP地址。选择适当的域名对于品牌建设和在线可识别性非常重要。
- 端口
概念:端口号是计算机网络中用于识别特定服务或进程的数字标识符。在网络通信中,数据包经过计算机或服务器时,端口号用于确定数据应该被传递给哪个应用程序或服务。每个端口号都关联着一个特定的网络服务或协议,以便数据可以正确路由和处理。(用于标识计算机上某个特定的网络程序)
以下是一些关于端口号的关键概念:
-
端口范围:端口号通常是一个16位的数字(2个字节),范围从0到65535。端口号被分为三个主要范围:
- 0到1023:这些端口号是被系统或操作系统保留的,用于一些标准服务和协议,如HTTP(端口80)、HTTPS(端口443)、FTP(端口21)等。
- 1024到49151:这些端口号通常用于用户应用程序或服务,但不属于标准端口。
- 49152到65535:这些端口号是动态或私有端口,通常由客户端应用程序动态选择,用于临时通信。
- 常见的端口号:tomcat:8080,mysqp:3306,oracle:1521,sqlserver:1433
-
TCP和UDP端口:端口号可以用于TCP(传输控制协议)和UDP(用户数据报协议)两种主要的传输层协议。TCP提供可靠的、面向连接的通信,而UDP提供不可靠的、面向无连接的通信。每个协议都有自己的端口号范围,尽管某些端口号可能同时用于TCP和UDP。
-
标准端口号:一些常见的网络服务和协议有标准的端口号分配,这些端口号通常在IANA(Internet Assigned Numbers Authority)维护的端口号列表中定义。例如,HTTP通常使用端口80,SMTP(Simple Mail Transfer Protocol)使用端口25,SSH(Secure Shell)使用端口22等。
-
动态分配端口号:某些应用程序或服务在运行时会动态分配一个可用的端口号,这些端口号通常位于私有或临时端口号范围内,以避免与其他应用程序发生冲突。例如,Web浏览器通常会动态分配一个可用的端口来访问Web服务器。
-
防火墙和端口过滤:防火墙和网络安全设备可以配置为允许或拒绝特定端口上的流量,以增强网络安全性。
端口号是网络通信中的重要概念,它们帮助数据正确到达目标应用程序或服务。了解不同端口号的用途和分配是网络管理和安全的关键组成部分。
- 网络通信协议
概念:网络通信协议是一组规则和约定,用于在计算机网络中实现通信和数据交换。这些协议定义了如何在不同设备之间传输、编码、解码、路由和处理数据。通信协议是网络通信的基础,确保了数据的可靠传输和正确处理。以下是有关网络通信协议的一些关键概念:
-
定义通信规则:通信协议定义了通信双方之间的规则和格式,以确保数据的一致性和可靠性。这包括数据包的结构、报文格式、错误检测和纠正机制等。
-
协议层次结构:网络通信协议通常分为多个层次,每个层次负责不同的任务。这种分层结构有助于模块化设计和实现网络通信。常见的网络协议层次结构包括OSI模型(开放系统互连参考模型)和TCP/IP模型。
- OSI模型包括七个层次:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- TCP/IP模型包括四个层次:网络接口层、网络层、传输层和应用层。
-
数据封装:在通信协议中,数据通常被分成小块,称为数据包或帧。每个数据包包括数据本身以及一些控制信息,如源地址、目标地址、校验和等。
-
错误处理:通信协议通常包括机制,用于检测和纠正数据传输中可能发生的错误。这些机制有助于确保数据的完整性和可靠性。
-
路由和寻址:通信协议定义了如何寻找目标设备或主机,并将数据传送到正确的位置。这涉及到IP地址、子网掩码、路由表等概念。
-
连接管理:某些协议,如TCP(传输控制协议),提供了连接管理功能,确保数据在发送和接收端之间按顺序传输,以及在需要时进行重新传输。
-
应用层协议:应用层协议定义了应用程序之间的通信规则。常见的应用层协议包括HTTP(用于Web浏览)、SMTP(用于电子邮件)、FTP(用于文件传输)等。
-
标准化和实现:通信协议通常由标准化组织制定,并在不同设备和操作系统上实现。这确保了不同厂商的设备可以互操作,并使互联网成为可能。
通信协议的使用使得不同类型的设备能够有效地协同工作,无论它们位于世界的哪个位置。这种协议的定义和遵循有助于确保数据的可靠传输、安全性和一致性,同时提供了互联网和各种网络应用程序的基础。
TCP/IP传输过程

网络通信协议模型

TCP协议:传输控制协议
- 使用TCP协议前,必须先建立TCP连接,形成传输数据通道
- 传输前,采用"三次握手"方式,是可靠的传输
- TCP协议进行通信的两个应用进程:客户端、服务端
- 在连接中可进行大量数据的传输
- 传输完毕,需要释放已建立的连接,效率低
- 适用场景:TCP适用于需要高可靠性和数据完整性的应用程序,如Web浏览、电子邮件传输、文件下载等。
UDP协议:用户数据协议
- 将数据、源、目的封装成数据包,不需要建立连接
- 每个数据报的大小限制在64K内,不适合传输大量的数据‘
- 因无需连接,故不是可靠的
- 发送数据结束时无需释放连接(因为不是面向连接的),速度快
- 适用场景:UDP适用于一些对延迟更为敏感,且可以容忍一些数据丢失的应用程序,如音频和视频流、在线游戏、DNS查询等。
相关文章:
Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议
- 网络通信 概念:网络通信是指通过计算机网络进行信息传输的过程,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准…...
【Qt】总体把握文本编码问题
在项目开发中,经常会遇到文本编码问题。文本编码知识非常基础,但对于新手来说,可能需要花费较长的时间去尝试,才能在脑海中建立对编码的正确认知。文本编码原理并不难,难的是在项目实践中掌握正确处理文本编码的方法。…...
Linux命令(77)之curl
linux命令之curl 1.curl介绍 linux命令之curl是一款强大的http命令行工具,它支持文件的上传和下载,是综合传输工具。 2.curl用法 curl [参数] [url] curl参数 参数说明-C断点续传-o <filename>把输出写到filename文件中-x在给定的端口上使用HT…...
详解 sudo usermod -aG docker majn
这个命令涉及到几个 Linux 系统管理的基础概念,包括 sudo、usermod 和用户组管理。我们可以逐一地解析它们: sudo: sudo(superuser do)允许一个已经被授权的用户以超级用户或其他用户的身份执行一个命令。当使用 sudo 前缀一个命令…...
大数据课程L2——网站流量项目的算法分析数据处理
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的算法分析; ⚪ 了解网站流量项目的数据处理; 一、项目的算法分析 1. 概述 网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内…...
jar包或exe程序设置为windows服务
最近在使用java和python制作客户端时突发奇想,是否能够通过一种方法来讲jar包和exe程序打包成windows服务呢?简单了解了一下是可以的。 首先要用到的是winSW,制作windows服务的过程非常简单,仅需几步制作完成,也不需要…...
数据结构--- 树
(一)知识补充 定义 树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 它具有以下的特点: 每个节点有零个或多个子节点; 没有父节点的节点称为根节点;每一个非根…...
两个pdf文件合并为一个怎么操作?分享pdf合并操作步骤
不管是初入职场的小白,还是久经职场的高手,都必须深入了解pdf,特别是关于pdf的各种操作,如编辑、合并、压缩等操作,其中合并是这么多操作里面必需懂的技能之一,但是很多人还是不知道两个pdf文件合并为一个怎…...
Zookeeper简述
数新网络-让每个人享受数据的价值 官网现已全新升级—欢迎访问! 前 言 ZooKeeper是一个开源的、高可用的、分布式的协调服务,由Apache软件基金会维护。它旨在帮助管理和协调分布式系统和应用程序,提供了一个可靠的平台,用于处理…...
1、Flutter移动端App实战教程【环境配置、模拟器配置】
一、概述 Flutter是Google用以帮助开发者在IOS和Android 两个平台开发高质量原生UI的移动SDK,一份代码可以同时生成IOS和Android两个高性能、高保真的应用程序。 二、渲染机制 之所以说Flutter能够达到可以媲美甚至超越原生的体验,主要在于其拥有高性…...
stride与padding对输出尺寸的计算
公式: 练习: 图1: input4,filter3,padding0,stride1 output2 图2: input5,filter3,padding0,stride2 output2 图3: input6,filter3&am…...
Excel VSTO开发2 -建立Excel VSTO项目
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 2 建立Excel VSTO项目 新建项目,选择Excel 2013和2016 VSTO外接程序。输入项目名称(本示例的项目名称为&am…...
chrome插件:一个基于webpack + react的chrome 插件项目模板
项目结构 $ tree -L 1 . ├── README.md ├── node_modules # npm依赖 ├── package.json # 详细依赖 ├── pnpm-lock.yaml ├── public # 里边包含dist,安装的时候安装这个目录即可 ├── src …...
Vue:组件缓存
组件缓存 keep-alive 文章目录 组件缓存 keep-alive一、keep-alive是什么二、keep-alive优点三、问题四、解决方案五、代码示例 六、回顾一下钩子七、总结 一、keep-alive是什么 keep-alive是Vue中的一个内置组件,会缓存不活动的组件实例。并不会销毁组件ÿ…...
【C++】DICOM医学影像工作站PACS源码
PACS即影像存档与传输系统,是医学影像、数字化图像技术、计算机技术和网络通讯技术相结合的产物,是处理各种医学影像信息的采集、存储、报告、输出、管理、查询的计算机应用程序。 PACS是基于DICOM标准的医学影像管理系统,其模块覆盖了从影像…...
UDP的可靠性传输2
系列文章目录 第一章 UDP的可靠性传输-理论篇(一) 第二章 UDP的可靠性传输-理论篇(二) 文章目录 系列文章目录三、流量控制RTORTT流量控制1.如何控制流量2. 发送方何时在发送数据3.流程图 拥塞控制1.慢启动 总结1.拥塞控制和流量…...
《Java程序设计》实验报告
实验内容:面向对象程序设计 1、定一个名为Person的类,其中含有一个String类型的成员变量name和一个int类型的成员变量age, 分别为这两个变量定义访问方法和修改方法,另外再为该类定义一个名为speak的方法, 在其中输出n…...
数据可视化、BI和数字孪生软件:用途和特点对比
在现代企业和科技领域,数据起着至关重要的作用。为了更好地管理和理解数据,不同类型的软件工具应运而生,其中包括数据可视化软件、BI(Business Intelligence)软件和数字孪生软件。虽然它们都涉及数据,但在功…...
Ros noetic 机器人坐标记录运动路径和发布 实战教程(C)
前言: 承接上一篇博文本文将编写并记录上文中详细的工程项目,用于保存小车的运动路径,生成对应的csv,和加载所保存的路径到实际的Rviz中,本文将开源完整的工程项目,工程结构如下: 工程原码位于文章末尾: 路径存储: waypoint_saver 用于存储 waypoint 的节点 waypo…...
Linux入门之多线程|线程的同步|生产消费模型
文章目录 一、多线程的同步 1.概念 2.条件变量 2.1条件变量概念 2.2条件变量接口 1.条件变量初始化 2.等待条件满足 3.唤醒等待 3.销毁条件变量 2.3条件变量demo 二、生产消费模型 1.生产消费模型 2.基于BlockQueue的生产者消费者模型 3.基于C用条件变量和互斥锁实…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...
