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用条件变量和互斥锁实…...
MATLAB解析和保存ini文件
1. 将ini文件转换成struct结构体 function data ini2struct(filename)fid fopen(filename, r);if fid -1error(Unable to open file %s., filename);enddata struct();section ;while ~feof(fid)line fgetl(fid);line strtrim(line);% 如果是注释行或者空行,…...
模型压缩-对模型结构进行优化
模型压缩-对模型结构进行优化 概述 模型压缩通常都是对推断过程而言,训练过程的计算代价通常不考虑,因为GPU可以快速完成任意复杂度模型的训练对于推断过程来说,模型应用才是对于速度敏感的场景多数情况下 希望使用尽可能少的能耗完成京可能…...
软件工程课件
软件工程 考点概述软件工程概述能力成度模型能力成熟度模型集成软件过程模型逆向工程![ ](https://img-blog.csdnimg.cn/425cea8190fb4c5ab2bf7be5e2ad990e.png) 考点概述 重点章节 软件工程概述 之前老版教程的,之前考过 能力成度模型 记忆 能力等级 和 特点 能力…...
基于ADS的marx雪崩电路设计-设计实践(射频脉冲源)
基于ADS的marx雪崩电路设计-设计实践(射频脉冲源) 设计一个ns级别的脉冲源,属于是半路转行的,虽然不了解具体原理但是也可以进行设计。具体的设计理论以及优化方法将在之后进行讨论. 参考文献:基于Marx电路的亚纳秒级…...
X86_64函数调用汇编程序分析
X86_64函数调用汇编程序分析 1 X86_64寄存器使用标准2 对应代码的分析2.1 main函数及其对应的汇编程序2.1.1 main的C代码实现2.1.2 main函数对应汇编及其分析2.1.3 执行完成之后栈的存放情况 2.2 test_fun_a函数及其对应的汇编程序2.2.1 test_fun_a函数的C实现2.2.2 test_fun_a…...
Vue3【Provide/Inject】
前言 自从使用了Provide/Inject代码的组织方式更加灵活了,但是这个灵活性的增加伴随着代码容错性的降低。我相信只要是真的在项目中引入Provide/Inject的同学,一定一定有过或者正在经历下面的状况: 注入名(Injection key&#x…...
Go-Python-Java-C-LeetCode高分解法-第四周合集
前言 本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接:LeetCode-Go-Python-Java-C Go-Python-Java-C-LeetCode高分解法-第一周合集 Go-Python-Java-C-LeetCode高分解法-第二周合集 Go-Python-Java-C-LeetCode高分解法-第三周合集 本…...
vue路由
一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! 2.解决方案 vue-router 提供了一个全局组件 router…...
最强的AI视频去码图片修复模型:CodeFormer
目录 1 CodeFormer介绍 1.1 CodeFormer解决的问题 1.2 人脸复原的挑战 1.3 方法动机 1.4 模型实现 1.5 实验结果 2 CodeFormer部署与运行 2.1 conda环境安装 2.2 运行环境构建 2.3 模型下载 2.4 运行 2.4.1 人脸复原 编辑编辑 2.4.2 全图片增强 2.4.3 人脸颜色…...
jenkins自动化部署安装
一、准备工作 1、安装jdk # 1、下载准备jdk包(也可以用docker安装) wget ... # 2、直接解压到,无需安装 unzip ...2、安装maven # 1、下载准备maven压缩包 wget ... # 2、直接解压,无需安装 unzip ... # 3、修改setting.xml,修改localRepository和MIRROR镜像地址…...
免费代理做企业网站/兰州正规seo整站优化
转载:http://www.abc188.com/info/html/chengxusheji/Javajishu/20080226/50390_2.html一般有以下四种把字符串转换成boolean的方法,各自有各自的实现思路和特点:1.最基本的,先看JDK的做法:Java,lang.Boolean的toBoolean(String n…...
哈尔滨做网站费用报价/百度云盘登录入口
1.11〓系统调用和库函数 所有操作系统都提供多种服务的入口点,由此程序向系统核请求服务。各种版本的Unix都 提供经良好定义的有限数目的入口点,经过这些入口点进入系统核,这些入口点被称之为 系统调用(system call),系统调用是我…...
网站的色调/hao123网址大全浏览器设为主页
commit规范 git commit 时候需要输入一个message,该message用于描述当前commit。一个恰当的commit可以让大家清晰的了解这次commit的内容。 git commit message submitting format: <type>[<scope>]:<subject> //need placeholder a newline if…...
哪里有做php网站免费教程/网站推广沈阳
Hexo更改主题后启动服务器,界面显如下字符: extends includes/layout.pug block content include includes/recent-posts.pug include includes/partial 解决方案: 执行如下命令 npm install --save hexo-renderer-jade hexo-generator-feed hexo-generator-sit…...
dw做的网站如何上传云服务器/企业中层管理人员培训课程
VR(虚拟现实)的开发主要使用以下技术: 3D 图形学技术:用于渲染和显示三维虚拟世界。 感应技术:用于捕捉用户头部和手部的运动,并将其映射到虚拟环境中。 声音技术:用于模拟环境声音和游戏音效。 网络技术:用…...
wordpress首页url/网络营销的方式包括
WindowProc的原型LRESULT CALLBACK WindowProc (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam); 在VC里面则是:WindowProc(UINT message, WPARAM wParam, LPARAM lParam)一般使用方法如下:先定义一个自定义消息如:1)#define …...