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个 关键信息为:
- 源 IP
- 源 端口号
- 目的 IP
- 目的 端口号
- 协议类型

举个例子来说明一下这五个信息:
大家都应该知道西游记吧,唐僧做自我介绍的时候,都会讲这么一句话:
贫僧自东土大唐而来,去往西天拜佛取经。
其中:
东土大唐 就是 源IP,表示我来自哪里。
贫僧 就是 源端口号,表示我是来自东土大唐的什么人
西天 就是 目的IP,表示你要去往哪个地方
拜佛 就是 目的端口号,表示你要去西天找谁
经文类似于网络数据包,经文用什么方式写的,就是具体协议类型。
4. 总结
本篇博客,主要介绍了这么些内容:
- IP地址和端口号
- 协议的概念
- 五元组
- 协议分层(重点掌握)
这些内容,图片可能没有别的博客那么生动形象,但是,该有的内容,基本上都有,也足够通俗易懂,希望这篇博客讲到的知识内容,能够帮助到对这方面知识有困惑的你!
如果你觉得这篇博客能增长你的见识,对你有帮助,请你点点赞,如果有错误的讲述信息,多多指出,谢谢!
