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.rhkb.cn/news/124446.html

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

相关文章

【EI/SCOPUS会议征稿】第二届环境遥感与地理信息技术国际学术会议(ERSGIT 2023)

第二届环境遥感与地理信息技术国际学术会议 2023 2nd International Conference on Environmental Remote Sensing and Geographic Information Technology 第二届环境遥感与地理信息技术国际学术会议(ERSGIT 2023)定于2023年11月10-12日在中国陕西西安…

“搞事情”?OpenAl将于11月召开其首届开发者大会

摘要:OpenAI也要召开它的第一届开发者大会了。这次活动,或许标志着OpenAI向其下一阶段的商业开发迈出了关键一步。 昨天,OpenAI宣布将于11月6日举办其首次开发者大会。在这场名为“OpenAI DevDay”的活动中,OpenAI的技术人员将进行…

10、哈希函数与哈希表

哈希函数 出现次数最多的 32G 小文件方法:利用哈希函数在种类上均分 设计RandomPool结构 设计一种结构,在该结构中有如下三个功能: insert(key):将某个key加入到该结构,做到不重复加入 delete(key):将原本在结构中的某个key移除 getRando…

【Sentinel】Sentinel与gateway的限流算法

文章目录 1、Sentinel与Hystrix的区别2、限流算法3、限流算法对比4、Sentinel限流与Gateway限流 1、Sentinel与Hystrix的区别 线程隔离有两种方式实现: 线程池隔离(Hystrix默认采用)信号量隔离(Sentinel默认采用) 服…

vue 分页器组件+css动画效果

全网都找了一遍没有找到符合UI需求的分页动画,于是就主动上手了 需求: 1、分页最多显示9页,总页数最多显示无上限; 2、点击下一页的时候需要有动画效果过度,如果当前页数是当前显示最后的一页,则停了当前…

337. 打家劫舍 III

337. 打家劫舍 III C代码:二叉树 动态规划 typedef struct { // 每个节点都有两个状态:选中、不选中int selected;int notSelected; } SubtreeStatus;SubtreeStatus dfs(struct TreeNode *node) {if (!node) {return (SubtreeStatus){0, 0};}SubtreeS…

FPGA实战小项目2

基于FPGA的贪吃蛇游戏 基于FPGA的贪吃蛇游戏 基于fpga的数字密码锁ego1 基于fpga的数字密码锁ego1 基于fpga的数字时钟 basys3 基于fpga的数字时钟 basys3

【人月神话】重新探索人月神话:软件工程的现实与挑战

人月神话是一篇由美国软件工程师弗雷德里克布鲁克斯所写的软件工程经典之作,最早发表于1975年。这篇文章的全名是《人月神话:软件工程的神话与现实》(The Mythical Man-Month: Essays on Software Engineering),它涵盖…

【算法专题突破】双指针 - 三数之和(7)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:15. 三数之和 - 力扣(Leetcode) 题目就是要找出和为0的不重复的三元组, 注意三元组的每个元素是得不同的位置,那不重复又…

JDK1.8下载、安装和环境配置使用

JDK1.8下载、安装和配置 下载安装包解压文件配置测试安装 下载安装包 链接地址 https://pan.baidu.com/s/1RF7-ulq0_qAelpXskDxdvA 提取码 d1y0解压文件 jdk1.8.0_181 配置 右击我的电脑,选择属性 2.点击高级系统设置 在系统变量区里点击:新建…

数据结构-01 数据结构基本概念,算法时间复杂度,空间复杂度

0 数据结构概述 四门课的关系 1 绪论 数据对象、数据元素、数据项关系 1.1 数据结构的基本概念 1.2 算法和算法评价 小练习 空间复杂度中的递归调用 n只是传入 n也是数组,计算存储数组flag的空间大小

【嵌入式软件C编程】主函数free子函数malloc地址的两种方式以及注意事项

本文档主要记录嵌入式C语言在子函数中应用malloc函数的方式,在实际项目中内存管理特别重要 一般在主函数中(main)使用malloc函数,然后在通过free函数进行释放内存,但有时候如果必须在子函数长调用malloc函数该怎样进行…

【MySql】数据库的CRUD(增删查改)

写在最前面的话 哈喽,宝子们,今天给大家带来的是MySql数据库的CRUD(增删改查),CRUD是数据库非常基础的部分,也是后端开发日常工作中最主要的一项工作,接下来让我们一起进入学习吧,感…

多功能透明屏,在智能家居领域中,有哪些功能特点?显示、连接

多功能透明屏是一种新型的显示技术,它能够在透明的表面上显示图像和视频,并且具有多种功能。 这种屏幕可以应用于各种领域,如商业广告、智能家居、教育等,为用户提供更加便捷和多样化的体验。 首先,多功能透明屏可以…

DockerCompose部署es和kibana

DockerCompose文件 version: 3.1 services:elasticsearch:image: elasticsearch:7.13.3container_name: elasticsearchprivileged: trueports:- "9200:9200"- "9300:9300"environment:- ES_JAVA_OPTS-Xms128m -Xmx1024m #设置使用jvm内存大小- cluster.na…

【牛客刷题】bfs和dfs (二叉树层序遍历、矩阵最长递增路径、被围绕的区域)

二叉树层序遍历 vector<vector<int> > levelOrder(TreeNode* root) {// write code herevector<int> res;vector<vector<int>> result;if (root nullptr) return result;queue<TreeNode*> que;que.push(root);while (!que.empty()) {int …

算法专题:前缀和

文章目录 Acwing&#xff1a;前缀和示例2845.统计趣味子数组的数目思路容易理解的写法&#xff1a;前缀和两层循环存在问题&#xff1a;超时 优化写法&#xff1a;两数之和思路&#xff0c;转换为哈希表 前缀和&#xff0c;就是求数组中某一段的所有元素的和。 求子数组中某一…

【C++基础】类与对象(中):默认成员函数、构造函数、析构函数、拷贝构造、赋值重载函数……

​&#x1f47b;内容专栏&#xff1a; C/C编程 &#x1f428;本文概括&#xff1a; C基础语法。六大默认构造函数简介、构造函数、析构函数、拷贝构造函数、赋值重载函数、const成员函数、取地址重载等。 &#x1f43c;本文作者&#xff1a; 阿四啊 &#x1f438;发布时间&…

K8S:kubeadm搭建K8S+Harbor 私有仓库

文章目录 一.部署规划1.主机规划2.部署流程 二.kubeadm搭建K8S1.环境准备2.安装docker3. 安装kubeadm&#xff0c;kubelet和kubectl4.部署K8S集群&#xff08;1&#xff09;初始化&#xff08;2&#xff09;部署网络插件flannel&#xff08;3&#xff09;创建 pod 资源 5.部署 …

网络编程套接字,Linux下实现echo服务器和客户端

目录 1、一些网络中的名词 1.1 IP地址 1.2 端口号port 1.3 "端口号" 和 "进程ID" 1.4 初始TCP协议 1.5 UDP协议 2、socket编程接口 2.1 socket 常见API 2.2 sockaddr结构 3、简单的网络程序 3.1 udp实现echo服务器和客户端 3.1.1 echo服务器实…