【Java 网络编程】网络相关概念

简介: 【Java 网络编程】网络相关概念

文章目录

I 报文段

II 传输协议

III MAC 地址

IV IP 地址

V IPv4 地址

VI IPv6 地址

VII 端口

VIII 服务器



I 报文段


1. 报文段作用 : TCP/IP 协议 , 信息在网络传输过程中 , 使用报文段作为导航 ; 其可以查询各个路由网段 , IP 地址 , 交换协议等 IP 数据包 ; 报文段负责 TCP/IP 协议的数据包的路由导航功能 ;


2. 不断封装 : 报文在传输过程中 , 不是一成不变的 , 而是不断地在封装或者拆分成数据组 , 数据包 , 数据帧进行传输 ;


3. 封装方式 ( 报文头 ) : 报文封装就是添加报文头 , 报文头包含控制信息组, 放在数据的首部 ;


4. 传输示例 : 信息从 A 传输到 B , 不是简单的二进制数据传输 , 首先要对数据进行报文封装 , 加上对应的报文头 , 然后将封装后的信息传给 B , B 收到报文后 , 解析该信息 , 获取到封装的信息 ;




II 传输协议


1. 约定 : 传输协议是一种约定 , 网络传输的健壮性 , 稳定性 , 主要是靠协议的约定实现的 ;


2. 协议作用 : A 传输数据给 B , B 能识别 , 反之 A 也能识别 B 传输给 A 的数据 ; 这样 A 和 B 之间就需要约定一个协议 , 才能实现数据的传输识别 ;




III MAC 地址


1. MAC 简介 : MAC 是 Media Access Control 的缩写 , 媒体控制访问 , 又叫物理地址 ; 所有的网络设备都有 MAC 地址 , 其作用是在网络上标识设备物理地址 , 相当于设备的身份信息 ;


2. IP 地址与 MAC 地址 : 有 IP 地址的前提是有 MAC 地址 , 网络中为物理设备分配一个临时的 IP 地址 , IP 地址可以改变 , MAC 地址无法修改 ;




IV IP 地址


1. IP 是 Internet Protocol Address 缩写 , 互联网协议地址 ; IP 地址是分配给硬件设备的临时身份标签 , 这些设备在网络上行使用网际协议 ( Internet Protocol ) ;


2. IP 地址分类 : 分为 IPv4 和 IPv6 两类 ;




V IPv4 地址


1. IPv4 地址表示 : IP 地址由 32 位二进制数组成 , 以 192.168.1.1 的形式出现 , 每个数字取值范围 0 ~ 255 ;


2. IPv4 分类 : IPv4 地址分为 A, B, C, D, E 五类 , E 类时保留地址 , 其总数量只有 42 亿个 , 在 2011 年时已经分配完毕 ;


3. 直接广播地址 : 1.1.1.1 , 如果想改地址发送 UDP 数据包 , 在理论上会向整个网络所有设备发送 UDP 数据 ; 实际上会被局域网防火墙拦截 ;


4. 受限广播地址 : 255.255.255.255 , 当前局域网的广播地址 , 如果 UDP 给该地址发送信息 , 会将信息发给局域网的所有设备 ;




VI IPv6 地址


IPv6 表示方式 : IPv6 有 128 位长度 , 其采用 32 个 16进制数组成 ;


IPv6 组成 : 其由 2 部分组成 , ① 网络前缀 ( 64 位 ) , ② 主机地址 ( 64 位 ) , 主机地址根据 MAC 地址自动生成 , 称为 EUI-64 ;


IPv6 示例 : 2001:0DB8:0000:0023:0008:0800:200C:417A ;


转换关系 : IPv4 可以转为 IPv6 , IPv6 不一定能转为 IPv4 ;




VII 端口


1. 将 IP 地址当做房子 , 那么端口就是其中的窗户 , 不同的窗户后有不同的人 , 与外界通过该窗户进行交流 ;


2. 特殊端口 : 0 ~ 1023 号端口 , 1024 ~ 49151 号端口 ; 注意有些端口号是特殊端口是不能占用的 ;


3. 动态端口 : 49152 ~ 65535 号端口 , 这部分端口号可以随意使用 , 客户端连接到服务器后 , 客户端分配的端口号属于该端口号 ;


4. 传输层的 TCP/IP 协议是计算机之间通信的基础 , 不同的协议使用不同的端口号 ;


5. 设备端口号与连接数量 : 端口号有 65536 个 , 但是指的是一个 IP 地址可以有 65536 个端口号 , 如果一台电脑有 2 块网卡 , 那么就会有 65536 x 2 个端口号 , 可以建立更多的连接 ;




VIII 服务器


局域网之间的设备是无法直接进行通信的 , 其 IP 地址和端口号都是局域网内网的地址和端口号 , 互相之间是不能访问的 , 两个设备必须通过服务器进行中转 , 才能进行通信 ;


目录
相关文章
|
4月前
|
JSON 移动开发 网络协议
Java网络编程:Socket通信与HTTP客户端
本文全面讲解Java网络编程,涵盖TCP与UDP协议区别、Socket编程、HTTP客户端开发及实战案例,助你掌握实时通信、文件传输、聊天应用等场景,附性能优化与面试高频问题解析。
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
189 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
213 1
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
355 0
|
9月前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
376 23
|
安全 Java Linux
(七)Java网络编程-IO模型篇之从BIO、NIO、AIO到内核select、epoll剖析!
IO(Input/Output)方面的基本知识,相信大家都不陌生,毕竟这也是在学习编程基础时就已经接触过的内容,但最初的IO教学大多数是停留在最基本的BIO,而并未对于NIO、AIO、多路复用等的高级内容进行详细讲述,但这些却是大部分高性能技术的底层核心,因此本文则准备围绕着IO知识进行展开。
532 1
|
Java 大数据
如何在Java中进行网络编程:Socket与NIO
如何在Java中进行网络编程:Socket与NIO
|
监控 Java 开发者
深入理解 Java 网络编程和 NIO
【4月更文挑战第19天】Java网络编程基于Socket,但NIO(非阻塞I/O)提升了效率和性能。NIO特点是非阻塞模式、选择器机制和缓冲区,适合高并发场景。使用NIO涉及通道、选择器和事件处理,优点是高并发、资源利用率和可扩展性,但复杂度、错误处理和性能调优是挑战。开发者应根据需求选择是否使用NIO,并深入理解其原理。
191 1
|
JSON 前端开发 安全
Java网络编程IO模型 --- BIO、NIO、AIO详解
Java网络编程IO模型 --- BIO、NIO、AIO详解
520 0
Java网络编程IO模型 --- BIO、NIO、AIO详解
|
JSON 安全 JavaScript
Java网络编程IO模型 --- BIO、NIO、AIO详解
一文教你搞懂Java网络编程 BIO、NIO、AIO
620 0
Java网络编程IO模型 --- BIO、NIO、AIO详解