00:00
那下面呢,我们就来看一个IP地址,这个IP地址的概念呢,也比较简单哈,就是每一个因特网上的主机和路由器都有一个IP,包括网络号和主机号,这个基本知识就在一个网络里边呢,它有它有自己的这个这个主机IP呢,现在有IP32和IPV6这两种,那么为什么有这两种呢?大家看一下。你看我现在查一下我的地址IP confi这个指令可以看你的IP地址。你看我这边地址呢,你看他这已经有两种地址了,一个是IPV6,一个是IPV4,那怎么会有这两种地址呢?它是这样子的,最早的时候呢,我们这个网络只有IPV4,为什么道IPV4呢?是因为它是四个字节来表示的,呃,这个ipp地址,但是大家知道四个地四个字节能够表示的IP地址啊,它非常有限,即使全部用来表示表示的话,它最多表示多少个地址呢?就二的32次方。他最多就这么大,但是大家看最多这么大,你数一数,一共才多少个一二个十百千万,10万,百万千万亿,10亿,才42亿,才42亿,IP地址根本就不够用,根本就不够用好,不够用怎么办呢?后边发现如果在20200几年,他当时说的是2008年,整个IP地址就没有用了,就就用光了,后边呢,计算机专家就提出来什么概念呢?干脆这样子,我们把它提到IPV4,那么IPV4过后呢,它的它的IP地址是按128位来这个进行这个。
01:35
嗯,这个计算的就是128位,那128位意味着什么呢?128位就意味着,呃,它上面原先写了个文档说就意味着如果我们把电脑每一平方米放一台电脑,整个地球都能放满啊,所以说那个就足足的够用了,它所以说做了一个扩展,就是这么一个概念。好,IP地址我们就说到这,另外一个呢,同学们必须要理解啊,在做网络编程的时候,必须要理解一个特别重要的概念叫端口,那么这个端口如果你做过网络编程,当然你这个很清晰了,如果你没有做过端口的话,你还是要注意听,端口很有用,有几个,有几个基础知识需要给大家讲一讲,什么是端口啊。
02:16
我们首先跟他这样,我们这说的端口,在网络里面的端口,它不是指物理意义上的端口。就是你不要说诶韩老师,我们这有个端口,这个电脑上的这个插插口那个跟我们不是一个概念,它是特指什么呢?特指TC pip端口的协议中的端口,是逻辑意义的端口。你可以这样比较,说我这里有台电脑,说我这里有台电脑啊,我这里有台电脑。就是韩老师的111台电脑。那么这个电脑上呢,各位同学注意听,电脑上呢,你必然跑了很多的程序,你比如说你跑了一个啊,比如说你跑了一个程序是用来做服务器的啊,那你这运行的一个程序。
03:02
你这运行这个程序。好,这是第一个程序。我把它放在这里。假设你又跑了第二个程序。你又跑到第二个程序。比如说你自个儿做了一个服务器。好,这两个程序,第一个程序是这个,比如说你是跑了一个汤姆凯特。汤姆凯特,你还跑了一个什么呢?你还跑了一个聊天系统的一个服务器。聊天的福气。聊天服务器好,那么你你跑这个程序过后呢,只要是做服务器的,注意听这句话,只要是做服务器的,一定会监听一个端口,这是一个重要的原则。对吧,我以前刚刚做开发的时候,我我连这些基本知识都不知道,就说只要是。只要是做服务器,只要做服务的。主要是做服务的程序。都必须,都必须监听一个端口。
04:01
监听一个端口,那么这个端口你可以这样理解啊,就好像你的电脑是一个房间,你将来要跟别的程序交流,比如说你这里有个客户端,注意听,假设你这有个客户端程序啊,注意听,这是你的一个客户端,我不管你客户端是什么,张三李四玩我都无所谓,这是一个客户端。那么你这个客户端你要跟他交流,比如说我们除了汤姆凯特呢,我们还有一个程序,大家都非常熟悉的MYSQL。假设你还你在你的电脑上还跑了一个MYSQL服务。好,那你想一想。我们客户端跟你的电脑服务器进行交流,其本质就是靠靠刚才老师画的一个图,就是你发送一个。发送一个数据包给到汤姆凯特,或者发送一个数据包给到你的MYSQL,问题来了。问题呢,你怎么给?你怎么知道这个包包要给汤姆凯特,这个包包要给MYSQL呢?比如说你现在有两个包包,两个数据包,一个是他。
05:04
对,一个是他还有一个数据包,是给他MYMYSQ的,你怎么知道给他呢?其中一个最重要的东西就是他有一个端口在监听,也就是说汤姆凯特也好,Myc也好,包括你的服务器,呃,聊天的这个也好,它有个小端口,你可以理解成是一个人的耳朵。它这有个端口。啊,假设老师画了这么一个东西,就好像他就像一个人一样长了一个耳朵。啊,我在这儿进一个监听。但是这个监听很形象啊,其实他就是在这等待你来连接,本质上就是等待你的连接,就是这么一个东西,注意每一个每一个服,只要是做服务服务的程序必须监听一个端口,必须监听端口。那么这个端口就是我们别的程序跟你进行交互的一个一一个一个通道。该端口。该端口就是其他的程序,程序和你交互的,交互的啊,或者叫叫通讯的吧。
06:06
和你和该程序和该程序该服务该服务通讯的一个一个通道。通道,如果你没有这个端口,你根本就没法玩,所以为什么有些同学学这个网络编程,他没有知不懂这个基本知识的话,他一直很蒙圈呢,很蒙圈这就这个端口,这就好比说韩老师给你们讲课,是你们每一个人,你们是不是有两个耳朵。对吧,说了说我没有耳朵,那不可能,如果你没有耳朵的话。对不对,那你那你就应该去医院看一看了啊,那么你耳朵会说韩老师说一句话,哎,今天咱们中午去吃个红烧肉,你怎么就知道了呢?因为你长了一个耳朵,那你耳朵时时在监听,说老师我没有监听呢。耳朵是就你耳朵是这样子的,你不是故意听你,你也能接收到我的信息,对不对,说还我非要听,你看突然有一个人在爆炸了,你也听得到,为什么声音到你这,你就自动接收了。就跟那个耳朵一样,那么一个人有两个耳朵对不对?周老师,我有三个耳朵,不可能有两个耳朵,那么我们电脑上有几个耳朵呢?我们电脑一共有65535个耳朵。
07:11
就它一共呢,有6535个端口可以来监听,所以说第二点我们要说的第三点啊,就是电脑上就一共。一共。一个一台电脑啊,一台这个电脑电脑。电脑有多少个呢?6535个,65535个端口。三国端口。端口。好,这是第第二点啊,那么还有第四第四第四点就是说一旦有一个端口是这个端口从哪从哪到呢?理论上是呃,这个一到一到6535,但是有些端口不能用啊啊零其实也算是个端口,很特别的一个端口,叫保留端口啊,就我就假定6535吧,我也不去研究那么多了,有些端口呢,不能用,就有名端口,我待会儿再说啊,待会再说,还有一点呢,注意听,一旦一个端口被一个程序监听了,那这个端口就不能再用了,注意听这句话啊,一旦。
08:12
一旦一个端口。端口被某个程序监听了,什么叫监听呢?你可以简单理解成就是占用了。啊,简单利用,那么那么其他的程序,其他的程序就不能在这个端口中监听。那么其他同学就不能?不能再。不能在该端口上,端口上监听。这一点是个基本常识,所以说有些时候你你看到待会儿我们这个聊天系统启动一次过后,你再启动,它就给你报错,好这是一个基本常识啊,基本常识那问题来了,苏老师,我有一个问题,我有一问题啊,说假设我们的这个MYSQL,我们这个MYSQL是在3306上监听。
09:00
非常好非常好,那么我想请问,我想请问一个问题,说韩老师,我问你一个问题啊,说我我我在这儿监听,那么你客户端,你的客户端发一个数据包给我,你这边有没有端口呢。有没有端口啊,有没有端口啊,你们不是有些同学学过编程吗?我问大家,就我这边是3306,那么当我这个客户端发一个,就是我的客户端跟他进行一个连接的时候,我的客户端跟他连接上我才能发东西吗?那么我这边有没有端口呢?我这边有端口给它相对应呢,有没有。有没有?有没有?小夏有没有觉得有他这个端口是什么,多少号呢?就是我跟他连接起来,我就发数据。发,不管发什么。比如说连接上过后,我给他发数据,或者发一个指令。嗯,是它的端口是多少,能确定吗。
10:02
那就错了。错了啊,各位同学,对,刚才那位同学毕竟是搞工,搞过这个这个运维的同学,他就不一样啊,他说是随意的,的确是如此,他这样子的啊,客户端跟他发生一个连接,它首先要连接上,连接上过后呢,由这个TC bid协议给他随机的分配一个端口也与它对应,这个端口是多少不知道。这个是待确定的,但是它一定是在可以分配的端口,所以说这个端口呢,可能是个随意端口,比如说是7860。就是他们之间还是要端口和端口之间进行交互,同样你这这个跟他姆凯特,比如说你这个客户端,你这个客户端好跟他交流,他也会有一个端口跟他交流,比如这个端口呢,也是一个随意的。啊,当然是根据当时的情况来定,比如说我这边端口可能是一个1245可以的。可以说这样子呢,这个包他们就在通过这个端口之间交流,其实他打回来啊,同学们,你这个MYSQL也好,他们他们肯定要给他回一个信息,它也是靠这个端口来识别的。
11:07
就他会诶找到你,然后反过来把这个数据推送给你这个端口,只是这个端口呢,同学们这个端口是随意的,那为什么这么说呢?同学们看,我给大家看一个非常有意思的指令,大家看。Light时代杠AB。同学们看到这个指令,当我一输过后呢,你们发现,诶有点意思。同学们有没有发现?同学们有没有发现?我我我这样给他说啊,比如说我们连接到一个。同学们,你们现在知道大概什么意思了吗?你看我,我这边有这么多人连到我来了。我是我的IP是210的。看我是哪个端口啊。我有一个地方在监听的端口是历史,你看我这有个49156在监听,4949153在监听。
12:11
我又49153在监听。这边你们还不好看啊,这么这么多八零,八零是谁来的?应该是你们念叨我的呢,但这个IP地址怎么都是一个呢?好,这样这样演示吧,这样演示啊,嗯。嗯,应该这个地方是不好演示,我看看怎么去演示这个效果啊。我这因为我这没有,我这没有MYSQL。我这MYSQL,我启动一个MYSQL就可以马上演示个效果啊,放到这个我们就先暂时不去演示了,就说这边呢会有很多端口,那么同样你有别的客户端跟他连接,这边也有也有端口的对应,好大家把这个基本知识知道就行了,好这是关于端口的一个一个解释啊,关于端口解释,那么大家看到端口就是出这个房间的门,真正的房子只有几个门,但是一个IP地址的端口一共有6535个及256乘256啊,当时我把那个零也算进去了,端口是通过端口号来标记的,端口只有整数。
13:19
只有整数啊,就说没有那个小数这个端口概念说到这,那么端口呢,还有几个比较重要的特点,我说一下第一个。零是保留端口。不能用,还有一个呢,是一到1024是固定端口,这个固定端口是什么呢?又叫有名端口,即某些程序固定使用,程序员一般不能用,打个比方,二二这个端口一般不让你用。还有二三,Tonight用的,还有二幺,FTP用的,还有二五,这个收发电子邮件用的还有八零,一般是I is用的,还有个7A口端口。很多很多这些端口呢,一般来就是说程序员如果你要去,你要去自己写个程序,说我写个程序,我去监听,你就不能用,一到1024个端口不能用啊,那么1025~65535呢是动态端口,这些端口呢,程序员可以编程使用,就你可以去指定你监听哪个端口,这个还是很有意思的啊,就你你可以用这个上面端口,其他端口不让你用了。
14:24
那么一般来说端口呢,大家用的时候尽量给他大一点,就是一般来说你至少上上端口大一点,比如说是四四万以上,这个一般来讲不会冲突,一般人不会用四万四万以上的,所以说这样子呢,你你的监听的时候就不会报错,好这个是端口的一个概念,我把这个端口呢给大家板述一下,就是端口和IP地址,好这个我们说完了。一个是IP地址。哦,IP地址大家有有一个基本认识啊,好给他反述第一个IP地址我们说了一下。IP地址是干什么的呢?就是每一台电脑的一个房间号啊,就是每一台电脑都有一个IP啊,通过这个IP呢,咱们可以去确定你的电脑的在网上的一个位置,这是第一个。
15:12
好,呃,IP呢,怎么去查?我用了一个指令,就是IP config,这个指令大家必须会啊,同学们,这是个基本指令,每个同学都要会。好IP完了过后呢,我们又讲了一个,就是叫做什么呢?端口的概念,端口其实是指的一个程序去监听的那个那个那个号啊,那么一台电脑呢,一共有6535个端口。啊,当然如果把零算上就6536了。好端口,我们说到这里。我们写一个端口啊,那端口是什么,做了一个介绍啊,端口是这个意思。我画了一个示意图。我画了一个示意图来描述这个端口的一个概念,我画了这么一个图。我这整理了有四句话啊,四句话还是很重要的,大家一定要一个认识,这是一个基本知识。
16:03
好,这是一个基本知识。基本知识要有啊,那么这边呢,你3306好,再来一个程序。再一个连呢,它还是连到这这边还是3306,那这边的端口呢,有可能发生变化了,但是我问大家一个问题啊,这边是3306,这这台电脑这个端口实际上也还可以是七七,还可以是7890。因为呢,两个电脑不一样了,但也可能是不一样的,这是随机的啊,随机的这不好说。好,接着呢,我们再把它放到这里来,就是关于端口的一个示意图,紧接着呢,我们又给大家讲了一下端口的分类,讲了三大分类,一个是叫保留端口,不能用的啊零号,还有呢叫固定端口,固定端口呢就是说有一些非常非常常用的程序已经占用这些端口了,大家不要去用,还有一种呢,我们叫做动态端口,动态端口呢,就是说我们程序员呢,可以自己去随意的使用啊,就是自己想用就可以了。
17:00
那把端口的分类我们也聊到这里,好,我们写一下啊端口分类。一个标题三,然后呢,零号是我们叫做保留端口,一到1024固定端口不要去用,程序员不要去用啊,一般来说我们不要去用这些端口。我们程序员不要用,程序员不要不要轻易使用啊,不要使用就是留给已经有名的,就那么他就叫有名端口,就名花有主了,说这端口人家人家有些特别有名的程序已经用了,你要去用的话,就有可能出问题,名花有主了,不要去抢啊,不要去抢,你要用的话呢,用什么呢?诶你用这个1025~6535的,这个是没问题的,这个呢,我们叫动态端口。动态端口好,同学们,这个呢,我们先先介绍到这里。
我来说两句