当前位置: 首页 > news >正文

Java网络初识(2):IP地址和端口号,协议,五元组

Java网络初识(2):IP地址和端口号,协议,五元组

文章目录

  • Java网络初识(2):IP地址和端口号,协议,五元组
  • 1. IP地址 和 端口号
    • 1.1 IP地址
      • ip地址的作用
      • 网络数据包
      • 通过指令,查看本电脑的IP地址
    • 1.2 端口号
      • 端口号的作用
  • 2. 协议
    • 2.1 网络协议的定义
    • 2.2 协议在生活中的案例(灯管,插座,手机充电口)
      • 换灯管
      • 通电插座
      • 手机充电头
    • 2.3 协议的重要性
  • 3. 五元组
  • 4. 总结

1. IP地址 和 端口号

1.1 IP地址

什么是 ip 地址?
首先,我们还是通过一个例子来引出来这个概念。
学过 JDBC 的,可以看看这个例子,没学过的,可以不看这个例子,直接跳过。

在JDBC编程中,我们需要先创建一个DataSource,往 DataSource 中设置一下关键信息,其中包括 URL,类似于这样的:
jabc:mysql://127.0.0.1:3306//数据库名字? … …

其中,标记红色的 127.0.0.1 就是一个IP地址。

ip地址的作用

ip地址的作用:通过一串特别的字符串,标记一台网络设备在所在的位置

当你从网络上下载某一个网络数据包的时候,会根据你电脑的IP地址,发送到对应的电脑主机上。

就像你上网买东西,你需要提供你的收获地址(类似于IP地址),快递小哥才能把你买的东西(类似于网络数据包),送往目的地(IP地址)。

网络数据包

什么是网络数据包?
网络传输的数据,类型于“包裹”,所以形象的称为:“网络数据包”。

通过指令,查看本电脑的IP地址

操作步骤:

Win + R,弹出窗口后,输入 cmd,输入命令:ipconfig

即可查看本机的IP地址。
在这里插入图片描述

1.2 端口号

jabc:mysql://127.0.0.1:3306//数据库名字(?..)

这一串字符中,标记为蓝色的部分 3306,就叫做端口号。

端口号同样重要,和 IP地址 是配合使用的。

IP地址,是标识主机所在的位置,通过IP地址,找到了主机电脑,那么,在这一台电脑中,会有很多的程序正在使用网络(如:游戏,b站,酷狗音乐都在运行),那么,当电脑收到一个网络数据包的时候,要交给哪个程序呢?
这个时候,我们就需要使用端口号进行区分

端口号的作用

作用:用来区分一台主机上多个应用程序的。

这些程序都在我这台电脑上,IP地址是相同的,但是,这些应用程序的端口号是不同的。

所以,收到的网络数据包,就可以通过端口号,再做进一步的区分。

就像你上网买东西,你需要提供你的收获地址(类似于IP地址),快递小哥才能把你买的东西(类似于网络数据包),送往目的地(IP地址)。
但是,到了目的地后,快递有很多个,不同的包裹,相同收获地址的包裹也很多,你要怎么样,才能送到对应的人的手里呢?
这时,我们就需要使用手机号(类似于端口号)来进行区分。
快递员会拨打你本人的手机号码,来告诉你,快递到了,过来指定地方来领取快递。

所以,网络通信,一般是先通过IP地址(收获地址),找到主机电脑再通过端口号(个人手机号),找到对应的程序,才能进行通讯,这是网络通信最核心的逻辑部分。

2. 协议

协议这个词,是进行网络通信的基本盘

之前我们说,网络数据包,先通过IP地址,找到个人主机,再通过端口号,找到对应的应用程序了。

那么,程序收到数据包后,程序如何理解数据的含义
那么,这就是协议需要去描述的一件事情了。

协议在网络的学习中,占有很大的比例,网络知识的学习相当大的部分就是网络协议的学习

2.1 网络协议的定义

网络协议,是计算机网络中用于数据交换的一组规则、标准或约定,是通信双方对于 发送/接收 数据格式的约定

即,我的数据怎么发送给你的,你收到之后就得怎么解析。
发送的规则,和你解析数据的规则是一样的,才是有意义的。

2.2 协议在生活中的案例(灯管,插座,手机充电口)

换灯管

举一个生活中例子:
当你家的灯管用得久了,肯定会烧掉的,那么,你就要更换灯管。

换灯管,前提是你得买灯管,那么,你如何确保你买的新灯管能和原来的灯座匹配上?
答案:闭着眼睛买,只要你买的灯管的大小,和坏了的那个是一样的大小,就能够放进灯罩里,灯管和灯座之间通电的插头,是一定能够插上去的。

无论你的灯管和灯座是哪个厂商生产的,他们都是按照这个插电口的规则来设计生成的,是有一套固定的规则的。
在这里插入图片描述

通电插座

插座也是,你买的能插上电的电器,它的口,要么是两脚插口,要么是三角插口。
在这里插入图片描述

不管哪个厂商生成用电器,都是按照这么一套标准来的,不可能说,设计一个四脚插口出来。

手机充电头

还有手机的充电口要么是 typeC(目前流行的充电口)的,要么是USB(老安卓手机的充电口)的,要么是苹果的lighting。
各个手机厂商,都是按照 固定的规则(协议) 来设计手机的充电口的。
在这里插入图片描述

以上三个例子,均体现了协议,也就是公共的协议,规定。

这些规定(协议),不能说全世界是一样的,至少在国内是一样的。

至于国外,有可能和中国的是不一样的。
所以,如果你要出国的话,大概率要准备一个插座转换器。
因为国外和国内的插座,电压,大概率是不一样的。
国内是220V,可能在国外,就是110V的了。

2.3 协议的重要性

网络通信中,协议非常的重要。

在网络通信中,肯定不是一台主机就能搞定数据的通信的,必须是多个主机设备。
并且,这多个主机设备都能认同并遵守同一套协议,此时通信才是有意义的

好比:我说一句话,你能听懂我说的意思,你说一句话,我能听懂你的意思,这才是有意义的。现在你能看到的这篇文章,你能看懂(数据能通信),这篇文章才有了作用和意义。
你能看懂或听懂这些数据,是因为我们遵守了同一套协议:使用的是中文汉字,我们讲的是普通话。

3. 五元组

进行一次网络通信的过程中,会涉及到 5 个非常关键的信息,这 5 个信息整体概括为:五元组

五元组中,包含的 5个 关键信息为:

  1. 源 IP
  2. 源 端口号
  3. 目的 IP
  4. 目的 端口号
  5. 协议类型

在这里插入图片描述

举个例子来说明一下这五个信息:
大家都应该知道西游记吧,唐僧做自我介绍的时候,都会讲这么一句话:
贫僧自东土大唐而来,去往西天拜佛取经。

其中:
东土大唐 就是 源IP,表示我来自哪里
贫僧 就是 源端口号,表示我是来自东土大唐的什么人
西天 就是 目的IP,表示你要去往哪个地方
拜佛 就是 目的端口号,表示你要去西天找谁
经文类似于网络数据包,经文用什么方式写的,就是具体协议类型

4. 总结

本篇博客,主要介绍了这么些内容:

  1. IP地址和端口号
  2. 协议的概念
  3. 五元组
  4. 协议分层(重点掌握)

这些内容,图片可能没有别的博客那么生动形象,但是,该有的内容,基本上都有,也足够通俗易懂,希望这篇博客讲到的知识内容,能够帮助到对这方面知识有困惑的你!

如果你觉得这篇博客能增长你的见识,对你有帮助,请你点点赞,如果有错误的讲述信息,多多指出,谢谢!


文章转载自:

http://qsCh7QBO.zgdnd.cn
http://4MnJ0osk.zgdnd.cn
http://OG069gTo.zgdnd.cn
http://X5PY7jqB.zgdnd.cn
http://khG49cRX.zgdnd.cn
http://TFItTxro.zgdnd.cn
http://6wW2LeZ5.zgdnd.cn
http://RT5pXzCx.zgdnd.cn
http://G4YvZRwz.zgdnd.cn
http://VrQ5INeG.zgdnd.cn
http://sq127syA.zgdnd.cn
http://jZyzdNp2.zgdnd.cn
http://xMtk29Hn.zgdnd.cn
http://C5KkbkZe.zgdnd.cn
http://RhWg15Ok.zgdnd.cn
http://43xT1O9N.zgdnd.cn
http://e2vr70RH.zgdnd.cn
http://VVvxJcnC.zgdnd.cn
http://OBs625IE.zgdnd.cn
http://kLhLpIvC.zgdnd.cn
http://faCmcseZ.zgdnd.cn
http://jICKw2LF.zgdnd.cn
http://4Pvfq7I2.zgdnd.cn
http://lTO8mljn.zgdnd.cn
http://uOilkkJl.zgdnd.cn
http://dyidF8UT.zgdnd.cn
http://eFOttlSB.zgdnd.cn
http://xYSMvKwv.zgdnd.cn
http://SGKy9ZO2.zgdnd.cn
http://ZP6MDpkU.zgdnd.cn
http://www.dtcms.com/a/373631.html

相关文章:

  • 什么是算法:高效解决问题的逻辑框架
  • EFCore与EF6:ORM技术深度解析
  • 【开题答辩全过程】以 线上“三味书屋”学习平台设计与实现为例,包含答辩的问题和答案
  • iframe引入界面有el-date-picker日期框,点击出现闪退问题处理
  • BP-Adaboost模型
  • 使用redis的发布/订阅(Pub/Sub), 实现消息队列
  • 鸿蒙:更改状态栏、导航栏颜色
  • [数据结构——lesson4.双向链表]
  • 集成学习:从理论到实践的全面解析
  • 机器学习-集成学习
  • 集成学习简介
  • JDK 17、OpenJDK 17、Oracle JDK 17 的说明
  • VM中CentOS 7密码重置
  • 科技信息差(9.8)
  • MATLAB的数值计算(三)曲线拟合与插值
  • 城市脉搏中的“绿色卫士”:当智能科技邂逅城市清洁
  • linux播放视频出现需要MPEG-4 AAC解码器,H.265(Main Profile)解码器,但是没有安装
  • ARM工作模式、汇编学习
  • 【入门级-算法-6、排序算法:选择排序】
  • React state在setInterval里未获取最新值的问题
  • Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例
  • AP和stage模式差异
  • 支持生成一维条形码Extend .NET
  • 企业级固态硬盘——U.2接口技术
  • 【Android虚拟摄像头】七、安卓15系统实现虚拟摄像头
  • FxSound:提升音频体验,让音乐更动听
  • Don‘t Sleep:保持电脑唤醒,确保任务不间断
  • android/java中,配置更改导致activity销毁重建的解决方法
  • C++day8作业
  • 【CI/CD】GitHub Actions 快速入门