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地址。**以下是有关域名的一些关键概念:

  1. 域名结构

    • 域名通常由多个部分组成,以点号(.)分隔。这些部分按照从右到左的顺序排列,每一级都更具体。例如,www.example.com 中,顶级域名是.com,次级域名是example,子域名是www。
  2. 顶级域名(TLD)

    • 顶级域名是域名中的最高级别,通常表示国家、地区或通用分类。例如,.com、.org、.net 是通用顶级域名(gTLDs),而 .uk、.jp、.cn 是国家代码顶级域名(ccTLDs)。
  3. 次级域名(SLD)

    • 次级域名是紧跟在顶级域名后面的部分,用于更具体地标识网站或服务。例如,在example.com中,example是次级域名。
  4. 子域名

    • 子域名是在次级域名之前添加的额外部分,用于将网站进一步细分或指向不同的服务器或服务。例如,在www.example.com中,www是子域名。
  5. 完整域名

    • 完整域名是包括所有级别的域名,从顶级域名一直到最具体的子域名。例如,www.example.com 是一个完整域名。
  6. 域名解析

    • 域名解析是将人类可读的域名转换为计算机理解的IP地址的过程。这是通过域名系统(DNS)来实现的,DNS服务器负责将域名映射到相应的IP地址。
  7. 注册和管理

    • 域名需要注册并定期续订,通常通过域名注册商或注册服务提供商完成。注册人(域名持有者)负责管理其域名的配置和维护。
  8. 国际化域名(IDN)

    • 国际化域名允许包含非拉丁字符集的域名,使非英语母语的用户能够使用自己的语言书写域名。例如,使用希腊字母或中文字符的域名。

域名是互联网上非常重要的标识符,它们使用户能够轻松访问网站和其他在线资源,而无需记住复杂的IP地址。选择适当的域名对于品牌建设和在线可识别性非常重要。

- 端口

概念:端口号是计算机网络中用于识别特定服务或进程的数字标识符。在网络通信中,数据包经过计算机或服务器时,端口号用于确定数据应该被传递给哪个应用程序或服务。每个端口号都关联着一个特定的网络服务或协议,以便数据可以正确路由和处理。(用于标识计算机上某个特定的网络程序)

以下是一些关于端口号的关键概念:

  1. 端口范围:端口号通常是一个16位的数字(2个字节),范围从0到65535。端口号被分为三个主要范围:

    • 0到1023:这些端口号是被系统或操作系统保留的,用于一些标准服务和协议,如HTTP(端口80)、HTTPS(端口443)、FTP(端口21)等。
    • 1024到49151:这些端口号通常用于用户应用程序或服务,但不属于标准端口。
    • 49152到65535:这些端口号是动态或私有端口,通常由客户端应用程序动态选择,用于临时通信。
    • 常见的端口号:tomcat:8080,mysqp:3306,oracle:1521,sqlserver:1433
  2. TCP和UDP端口:端口号可以用于TCP(传输控制协议)和UDP(用户数据报协议)两种主要的传输层协议。TCP提供可靠的、面向连接的通信,而UDP提供不可靠的、面向无连接的通信。每个协议都有自己的端口号范围,尽管某些端口号可能同时用于TCP和UDP。

  3. 标准端口号:一些常见的网络服务和协议有标准的端口号分配,这些端口号通常在IANA(Internet Assigned Numbers Authority)维护的端口号列表中定义。例如,HTTP通常使用端口80,SMTP(Simple Mail Transfer Protocol)使用端口25,SSH(Secure Shell)使用端口22等。

  4. 动态分配端口号:某些应用程序或服务在运行时会动态分配一个可用的端口号,这些端口号通常位于私有或临时端口号范围内,以避免与其他应用程序发生冲突。例如,Web浏览器通常会动态分配一个可用的端口来访问Web服务器。

  5. 防火墙和端口过滤:防火墙和网络安全设备可以配置为允许或拒绝特定端口上的流量,以增强网络安全性。

端口号是网络通信中的重要概念,它们帮助数据正确到达目标应用程序或服务。了解不同端口号的用途和分配是网络管理和安全的关键组成部分。

- 网络通信协议

概念:网络通信协议是一组规则和约定,用于在计算机网络中实现通信和数据交换。这些协议定义了如何在不同设备之间传输、编码、解码、路由和处理数据。通信协议是网络通信的基础,确保了数据的可靠传输和正确处理。以下是有关网络通信协议的一些关键概念:

  1. 定义通信规则:通信协议定义了通信双方之间的规则和格式,以确保数据的一致性和可靠性。这包括数据包的结构、报文格式、错误检测和纠正机制等。

  2. 协议层次结构:网络通信协议通常分为多个层次,每个层次负责不同的任务。这种分层结构有助于模块化设计和实现网络通信。常见的网络协议层次结构包括OSI模型(开放系统互连参考模型)和TCP/IP模型。

    • OSI模型包括七个层次:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
    • TCP/IP模型包括四个层次:网络接口层、网络层、传输层和应用层。
  3. 数据封装:在通信协议中,数据通常被分成小块,称为数据包或帧。每个数据包包括数据本身以及一些控制信息,如源地址、目标地址、校验和等。

  4. 错误处理:通信协议通常包括机制,用于检测和纠正数据传输中可能发生的错误。这些机制有助于确保数据的完整性和可靠性。

  5. 路由和寻址:通信协议定义了如何寻找目标设备或主机,并将数据传送到正确的位置。这涉及到IP地址、子网掩码、路由表等概念。

  6. 连接管理:某些协议,如TCP(传输控制协议),提供了连接管理功能,确保数据在发送和接收端之间按顺序传输,以及在需要时进行重新传输。

  7. 应用层协议:应用层协议定义了应用程序之间的通信规则。常见的应用层协议包括HTTP(用于Web浏览)、SMTP(用于电子邮件)、FTP(用于文件传输)等。

  8. 标准化和实现:通信协议通常由标准化组织制定,并在不同设备和操作系统上实现。这确保了不同厂商的设备可以互操作,并使互联网成为可能。

通信协议的使用使得不同类型的设备能够有效地协同工作,无论它们位于世界的哪个位置。这种协议的定义和遵循有助于确保数据的可靠传输、安全性和一致性,同时提供了互联网和各种网络应用程序的基础。

TCP/IP传输过程
在这里插入图片描述
网络通信协议模型

在这里插入图片描述

TCP协议:传输控制协议

  1. 使用TCP协议前,必须先建立TCP连接,形成传输数据通道
  2. 传输前,采用"三次握手"方式,是可靠的传输
  3. TCP协议进行通信的两个应用进程:客户端、服务端
  4. 在连接中可进行大量数据的传输
  5. 传输完毕,需要释放已建立的连接效率低
  6. 适用场景:TCP适用于需要高可靠性和数据完整性的应用程序,如Web浏览、电子邮件传输、文件下载等。

UDP协议:用户数据协议

  1. 将数据、源、目的封装成数据包,不需要建立连接
  2. 每个数据报的大小限制在64K内,不适合传输大量的数据‘
  3. 因无需连接,故不是可靠的
  4. 发送数据结束时无需释放连接(因为不是面向连接的),速度快
  5. 适用场景:UDP适用于一些对延迟更为敏感,且可以容忍一些数据丢失的应用程序,如音频和视频流、在线游戏、DNS查询等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/69678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1773_把vim的tab键设置为4个空格显示

全部学习汇总: GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used. 有时候自己觉得自己很奇怪,看着Linux的命令窗口就觉得很顺眼。那些花花绿绿的字符以及繁多的方便命令工具,确实是比Windows强不少。不过&a…

FBX SDK 开发环境配置 visual studio 2022

FBX | Adaptable File Formats for 3D Animation Software | Autodesk. 下载windows的sdk并安装. 创建一个c console 工程 设置include目录 添加预处理宏 FBX_SHARED1 添加fbx sdk lib 目录 添加依赖lib : libfbxsdk-md.lib libxml2-md.lib zlib-md.lib 配置完毕.

JS 方法实现复制粘贴

背景 以前我们一涉及到复制粘贴功能,实现思路一般都是: 创建一个 textarea 标签 让这个 textarea 不可见(定位) 给这个 textarea 赋值 把这个 textarea 塞到页面中 调用 textarea 的 select 方法 调用 document.execCommand…

go锁-waitgroup

如果被等待的协程没了,直接返回 否则,waiter加一,陷入sema add counter 被等待协程没做完,或者没人在等待,返回 被等待协程都做完,且有人在等待,唤醒所有sema中的协程 WaitGroup实现了一组协程…

TCP的滑动窗口协议有什么用?

分析&回答 滑动窗口协议: TCP协议的使用维持发送方/接收方缓冲区 缓冲区是 用来解决网络之间数据不可靠的问题,例如丢包,重复包,出错,乱序 在TCP协议中,发送方和接受方通过各自维护自己的缓冲区。通…

csharp开发日常之Activator.CreateInstance构造函数生成实例

目录 一、需求:项目中经常需要动态生成对象,而非采用new关键字方式,例如Java里面的根据类全限定名反射生成对象实例。 二、方案:采用Activator.CreateInstance 三、代码例子演示 1、代码结构 2、创建接口 3、创建IObjcet接口的…

FPN模型

【简介】 2017年,T.-Y.Lin等人在Faster RCNN的基础上进一步提出了特征金字塔网络FPN(Feature Pyramid Networks)技术。在FPN技术出现之前,大多数检测算法的检测头都位于网络的最顶层(最深层),虽说最深层的特征具备更丰富的语义信息&#xff0…

Python类的方法

Python类的方法主要分为实例方法、类方法和静态方法三种。 1 实例方法 以self作为第一个参数的方法,就是类的实例方法。该方法由类的实例调用,Python会把调用该方法的实例对象传递给self。 如下代码定义了一个名为A的类。 class A:def __init__(self…

空间曲线的参数方程

空间曲线的参数方程 二维直线 经过一点 P ( x 0 , y 0 ) P(x_0,y_0) P(x0​,y0​)的方向向量为 n ( c o s θ , s i n θ ) n(cos\theta,sin\theta) n(cosθ,sinθ)的直线参数方程为: [ x y …

存储空间压缩6倍 ,多点DMALL零售SaaS场景降本实践

🧑‍💼 作者简介 冯光普:多点 DMALL 数据库团队负责人,负责数据库稳定性建设与 DB PaaS 平台建设,在多活数据库架构、数据同步方案等方面拥有丰富经验。 杨家鑫:多点高级 DBA,擅长故障分析与性能…

接口参数校验

方式一:使用hibernate-validator注解方式参数校验 类似的框架太多了。缺点:返回的提示信息顺序不太确定 文档:https://hibernate.org/validator/documentation/ 参考资料:https://blog.csdn.net/weixin_45080272/article/details…

实战 - Restful APi 格式规范

文章目录 1. 特征2. 优点3. 动作1. GET 获取资源2. POST 创建资源3. PUT 整体替换4. PATCH 部分替换5. DELETE 删除资源 4. 示例 RESTful是一种API的设计风格,他和GraphQL ,JSON-RPC,WebService类似,用于定义在CS、BS架构下暴露服…

OpenCV(十二):图像透视变换

目录 1.透视变换介绍 2.计算透视变换矩阵getPerspectiveTransform() 3.透视变换函数warpPerspective() 4.demo 1.透视变换介绍 透视变换是一种将原始图像映射到目标图像平面上的投影变换,又称为四点变换。 透视变换矩阵的一般形式如下所示&#xff…

Etherpad安装手册(win10 64位电脑)

Etherpad安装手册 我使用的为win10 64位电脑 一、按照教程下载安装Etherpad 按照该文章下载安装,下面记录我的过程 1.下载etherpad 2.解压缩etherpad到d盘 3.双击start.bat,启动编辑器服务 注意:可能出现问题如下图,跳转二 4.在…

websocket--技术文档--spring后台+vue基本使用

阿丹: 给大家分享一个可以用来进行测试websocket的网页,个人觉得还是挺好用的. WebSocket在线测试工具 还有一个小家伙ApiPost也可以进行使用websocket的测试。 本文章只是基本使用--给大家提供思路简单实现!! 使用spring-boot建立一个服…

【Vue】 Vue3 安装说明,适合小白新手

1、独立版本 我们可以在 Vue.js 的官网上直接下载最新版本, 并用 下载 Vue.js https://unpkg.com/vuenext 2、使用 CDN 方法 以下推荐国外比较稳定的两个 CDN,国内还没发现哪一家比较好,目前还是建议下载到本地。 Staticfile CDN(国内&am…

Java低代码开发:jvs-list(列表引擎)功能(一)配置说明

在低代码开发平台中,列表页是一个用于显示数据列表的页面。它通常用于展示数据库中的多条记录,并提供搜索、排序和筛选等功能,以方便用户对数据进行查找和浏览。 jvs-list是jvs快速开发平台的列表页的配置引擎,它和普通的crud 具…

什么是SpringCloud Eureka服务注册与发现

😀前言 本篇博文是关于SpringCloud Eureka 介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&…

CS420 课程笔记 P4 - 以16进制形态编辑游戏文件

文章目录 IntroductionFinding save filesStringsUnicodeExample!Value searchHealth searchConclusion Introduction 这节课我们将学习编辑十六进制,主要用于编辑保存文件,但十六进制编辑涉及的技能可以很好地转移到: Save file editingRe…

Flutter实现CombineExecutor进行多个异步分组监听,监听第一个异步执行的开始和最后一个异步执行结束时机。

1.场景 我们在调用接口时,很多时候会同时调用多个接口,接口都是异步执行,我们很难知道调用的多个接口哪个会最后执行完成,我们有时候需要对最后一个接口执行完成的时机监听,所以基于该需求,设计了CombineE…