Java网络编程--网络基础

article/2025/10/8 23:27:46

文章目录

  • 网络协议
    • 常用网络协议族(簇)(protocol)
    • 端口(port)
    • 常见知名端口
    • 动态端口
  • IP地址
    • IP地址分类
    • IPv4的分类
    • IPv6
    • 子网掩码

网络协议

是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。
在这里插入图片描述

常用网络协议族(簇)(protocol)

TCP/IP协议簇毫无疑问是这三大协议中最重要的一个,作为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一种短小精悍、通信效率高的广播型协议。
在这里插入图片描述

端口(port)

端口"是英文port的意译,可以认为是设备与外界通讯交流的出入口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
我们网络编程协议中说的是虚拟端口。端⼝就好⼀个房⼦的⻔,是出⼊这间房⼦的必经之路。

如果⼀个进程需要收发⽹络数据,那么就需要有这样的端⼝。在linux系统中,端⼝可以有65535(2的16次⽅减1)个之多!既然有这么多,操作系统为了统⼀管理,所以进⾏了编号,这就是端⼝号 。

常见知名端口

80端⼝分配给HTTP服务
21端⼝分配给FTP服务
443 端口分配给HTTPS服务

动态端口

动态端⼝的范围是从1024到65535,之所以称为动态端⼝,是因为它⼀般不固定分配某种服务,⽽是动态分配。
动态分配是指当⼀个系统进程或应⽤程序进程需要⽹络通信时,它向主机申请⼀个端⼝,主机从可⽤的端⼝号中分配⼀个供它使⽤。当这个进程关闭时,同时也就释放了所占⽤的端⼝号。

IP地址

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。作用:用来在网络中标记一台网络设备的数字,具有唯一性。

IP地址分类

早期的IP地址主要是IPv4,但是随着网络的发展IPv4的数量已经不能满足我们的需要了,于是有了IPv6的出现。

IPv4的分类

每一个IP地址包括两部分:网络地址和主机地址。
在这里插入图片描述
A类IP地址:⼀个A类IP地址由1字节的⽹络地址和3字节主机地址组成,⽹络地址的最⾼位必须是“0”。地址范围1.0.0.1-126.255.255.254,可⽤的A类⽹络有126个,每个⽹络能容纳1677214个主机。
B类IP地址:⼀个B类IP地址由2个字节的⽹络地址和2个字节的主机地址组成,⽹络地址的最⾼位必须是“10”, 地址范围128.1.0.1-191.255.255.254。可⽤的B类⽹络有16384个,每个⽹络能容纳65534主机。
C类IP地址:⼀个C类IP地址由3字节的⽹络地址和1字节的主机地址组成,⽹络地址的最⾼位必须是“110”, 范围192.0.1.1-223.255.255.254。C类⽹络可达2097152个,每个⽹络能容纳254个主机。
D类地址⽤于多点⼴播:D类IP地址第⼀个字节以“1110”开始,它是⼀个专⻔保留的地址,它并不指向特定的⽹络,⽬前这⼀类地址被⽤在多点⼴播(Multicast)中多点⼴播地址⽤来⼀次寻址⼀组计算机。地址范围224.0.0.1-239.255.255.254
E类IP地址:以“1111”开始,为将来使⽤保留。E类地址保留,仅作实验和开发⽤
私有ip:在这么多⽹络IP中,国际规定有⼀部分IP地址是⽤于我们的局域⽹使⽤,也
就是属于私⽹IP,不在公⽹中使⽤的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
特殊IP地址:IP地址127.0.0.1~127.255.255.255⽤于回路测试。如:127.0.0.1可以代表本机IP地址,⽤ http://127.0.0.1 就可以测试本机中配置的Web服务器。

IPv6

IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

子网掩码

用来指定IP地址哪些位是⽹络号、哪些是主机号。
⼦⽹掩码只有⼀个作⽤,就是将某个IP地址划分成⽹络地址和主机地址两部分⼦⽹掩码的设定必须遵循⼀定的规则。
与IP地址相同,⼦⽹掩码的⻓度也是32位,
左边是⽹络位,⽤⼆进制数字“1”表示;
右边是主机位,⽤⼆进制数字“0”表示。
假设IP地址为“192.168.1.1”⼦⽹掩码为“255.255.255.0”。
其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;
“0”有8个,代表与此相对应的IP地址右边8位是主机号。
这样,子网掩码就确定了⼀个IP地址的32位⼆进制数字中哪些是网络号、哪些是主机号。
这对于采⽤TCP/IP协议的⽹络来说⾮常重要,只有通过子网掩码,才能表明⼀台主机所在网络


http://chatgpt.dhexx.cn/article/FUAAK5pP.shtml

相关文章

神经网络如何实现分类,神经网络基本概念

人工神经网络分类方法 从20世纪80年代末期,人工神经网络方法开始应用于遥感图像的自动分类。 目前,在遥感图像的自动分类方面,应用和研究比较多的人工神经网络方法主要有以下几种:(1)BP(BackP…

神经网络如何进行分类

1.首先搞清楚什么是感知机 如上图所示,输入为向量,经线性变换,再通过激活函数得到输出,这样一个完整的结构成为感知机。感知机是人工神经网络的最小单元,本质上由一个仿射变换接一个非线性变换组成。 上图wxb属于仿射变…

Java基础学习(17)网络编程

Java基础学习 一、 网络编程1.1 什么是网络编程1.2 常见的软件架构:1.3 网络编程的三要素1.4 IP1.4.1 InetAddress用法 1.5 端口号1.6 协议1.6.1 UDP协议1.6.1.1 UDP的三种通信方式 1.6.2 TCP协议1.6.2.1 TCP底层原理 一、 网络编程 1.1 什么是网络编程 解释&…

java简单的神经网络

运行环境:jre1.7 以下是神经网络的主体类 public class NeuralNetwork {int inputNodes;//输入层节点数int hiddenNodes;//隐藏层节点数int outputNodes;//输出层节点数double learningRate;//学习率double[][] weight_ih;//输入层与隐藏层之间的权重double[][] w…

java实现神经网络算法,java调用神经网络模型

如何用70行Java代码实现神经网络算法 。 如何用70行Java代码实现神经网络算法import.Random;publicclassBpDeep{publicdouble[][]layer;//神经网络各层节点publicdouble[][]layerErr;//神经网络各节点误差publicdouble[][][]layer_weight;//各层节点权重publicdouble[][][]la…

神经网络如何实现分类,神经网络分类特点区别

人工神经网络分类方法 从20世纪80年代末期,人工神经网络方法开始应用于遥感图像的自动分类。 目前,在遥感图像的自动分类方面,应用和研究比较多的人工神经网络方法主要有以下几种:(1)BP(Back …

Java神经网络(一)——Neuroph初次使用

Java神经网络 前言Neuroph框架Neuroph结构框架图Java API 及其类库说明(core nnet util) Neuroph简单案例实现下载必要的Neuroph jar包导入jar包找案例(在书中或者网上)运行解决方案 前言 学了好一阵子时间的神经网络,…

神经网络分类

人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统…

神经网络分类总结

1.人工智能、机器学习与深度学习 人工智能:努力将通常由人类完成的智力任务自动化。机器学习机器学习( machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型( mo…

神经网络分类四种模型,神经网络分类特点区别

神经网络有哪些主要分类规则并如何分类? 神经网络模型的分类人工神经网络的模型很多,可以按照不同的方法进行分类。其中,常见的两种分类方法是,按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。 1按照网络拓朴结构分类…

【学习记录】神经网络三种主要类型

1.图结构 图网络是定义在图结构数据上的神经网络:①图中每个节点都由一个或一组神经元组成②节点之间连接可以有向可以无向③每个节点可接收来自相邻节点或自身的信息。 2.前馈神经网络 前馈神经网络中,把每个神经元接受信息的先后分为不同的组&#xf…

神经网络的类型分类和结构理解

一、序言 神经网络是模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。 在深度学习领域,神经网络就是我们深度学习的灵魂,如果我们想依靠算法实现一些功能,就必须依托不同的神经网络结构,所以很有必…

idea构建spark开发环境(基于maven)

目前Intellij IDEA对scala支持的比较好,本文使用idea构建spark开发环境。 1.准备工作 jdk版本,scala sdk环境(我的是jdk1.8,scala 2.1) scala官网下载地址:http://www.scala-lang.org/download/ 2.Intellij IDEA 下载地址ht…

Spark多语言开发

目录 1 多语言开发-说明2 Java-Spark-掌握2.1 SparkCore2.2 SparkStreaming2.3 SparkSQL2.4 StructuredStreaming2.5 线性回归算法-房价预测案例2.5.1 需求代码实现 3 PySpark-了解3.1 SparkCore3.2 SparkStreaming3.3 SparkSQL3.4 StructuredStreaming3.5 决策树算法-相亲决策…

eclipse配置spark开发环境

前言 无论Windows 或Linux 操作系统,构建Spark 开发环境的思路一致,基于Eclipse 或Idea,通过Java、Scala 或Python 语言进行开发。安装之前需要提前准备好JDK、Scala 或Python 环境,然后在Eclipse 中下载安装Scala 或Python 插件(…

idea搭建spark开发环境完整版(windows)

利用intellij idea 搭建spark开发环境(windows) 本文配置所有环境 Win10 企业版2016长期服务版 Jdk1.8.0.131 Hadoop2.7.3 Spark2.2.0 Scala2.11.12 一、Jdk环境配置 下载 http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-…

Spark开发环境搭建(提供实验平台)

Spark开发环境搭建 1)Scala环境 1. 前置说明 安装与配置Scala开发环境。 实验平台直达链接 Scala是一种函数式面向对象语言,它融汇了许多前所未有的特性,而同时又运行于JVM之上。随着开发者对Scala的兴趣日增,以及越来越多的…

使用Python开发spark

使用Python开发 一、Python编程语言 1.1、Python语言的特点 Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库。如今Python已经成为继JAVA,C之后的的第三大编程语言。 1、可性移强植 简易单学 2、免开费源 丰富库的 3、可性移强植…

Spark开发环境搭建(学习笔记)

夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远。 夫学须静也,才须学也,非学无以广才,非志无以成学。淫慢则不能励精,险躁则不能冶性。 年与时驰,意与日去…

IDEA下使用maven配置Spark开发环境

IDEA下使用maven配置Spark开发环境 1、安装Java2、配置环境变量3、配置Hadoop环境4、安装Scala插件5、配置maven4、Spark编程Spark测试 使用到的软件安装包: https://pan.baidu.com/s/1fOKsPYBmOUhHupT50_6yqQ 提取码: d473 1、安装Java 点击下一步, 点击下一步&a…