网络的初步认知

网络的一些概念

网络里面涉及到许许多多的协议,因此会涉及到很多概念。

协议

这里的协议和现实的协议有所不同,这里的协议是某一个组织规定的,这个组织叫ISO(听过吧,好多标准都是他定的),所有想建网络的,都得遵守这个协议,才能进行网络通讯,这个组织为啥这么牛逼?因为……我咋知道,要说这个协议可就太多了,大家都听说过的有,TCP协议,IP协议,UDP协议,Socket协议(神马?这不是协议!),而协议呢也不是乱用的,ISO出了一个大的协议模型叫OSI(真。。,名字这么像是绕口令吗?),中文名叫网络七层协议,TCP协议啊IP协议啊都是在这个模型里面用的,看个图先:图片来自度娘这个协议详细的规定了网络的各个环节,从硬件到软件都有了,但是,看了以后是不是觉得很麻烦,确实很麻烦,所以呢,后来又出了一个简化一些的协议,叫TCP/IP模型,我们来对比一下,看下面:
图片来自度娘
是不是一下子感觉清爽了许多,这个协议模型是我们经常使用的协议模型,至于为什么叫TCP/IP模型呢?因为这个协议最重要的两个协议,一个是TCP协议,一个是IP协议,好,既然这么重要,那我们就来说说它们两个:

TCP协议

TCP协议是一种安全可靠的传输协议,是需要先建立连接然后才能进行通讯的,建立连接的时候,遵循的是一个著名的三次握手规则,先看图:
图片依然来自度娘网络通讯嘛,自然就是两方了,在图中,左侧的是发起请求的一方,右侧是接受请求的一方,客户端发起请求,服务器收到请求并返回,客户端收到服务器的确认并再次发送请求,如此以后建立连接,那么,为什么要这样呢?就直接客户端发起请求,服务器接受以后就建立连接不好吗?我通过一个小故事来告诉大家:
军事演习开始了,红方的小组A和小组B要共同进攻一个目标,那么他们两个就要开始沟通,一起进攻,他们的沟通可能是下面这样:
1.A对B说,我要进攻了昂!你听到没有啊!我现在说17,你听到以后就在这个数字上加一然后回复我啊
2.B听到A说了,B就说我听到了啊,18
3.此时,如果A不回复B了,那么B就不知道A听没听到B的回复,那万一A没听到,B自己去进攻可能就会失败。所以这时候B就接着喊:我说了18了昂,我现在说30,你听到了你就在这个上面加一回复我。
4.这时候A如果接收到B地回应了,A就喊:31!这样当B收到信息的时候,双方就能确定对方都能接收到自己的信息了,就可以开始进攻了,我们的三次握手也就完成了。
TCP协议广泛的应用于网络中,因为建立连接以后的传输是可靠的,啥是可靠呢?就是你发1,我就能接收到1,你发12345,我就能接收到12345,而不会接收到123(截断)或者54321(错序),信息会完整的按顺序的发送过去。和TCP对应的有一个协议叫UDP,啥是UDP呢?

UDP协议

是一种不可靠的传输协议,它不用建立连接就可以进行传输,那么为什么还会存在呢?因为不建立连接,所以开销小速度也会快,经常应用于一些需要大批量的传输数据但对数据准确度要求不那么高的地方,最最普遍的,就是视频传输了,我们用QQ或者微信或者其他的应用软件进行视频聊天时,对清晰度的要求不是很高,只要能看到人就可以,但对实时性要求很高,UDP很好的满足了这一点要求。

IP协议

IP协议和平时我们说的IP并不是一回事,平时我们说的IP通常指的是IP地址,而IP协议是包含我们说的IP地址的。具体IP协议的定义我再次不详细说了,有兴趣的可以百度百科,只说下可能有些困惑的地方:
1.IP地址是什么?
我们现在用的IP地址,全称为IPV4地址,是由32位二进制的数字和四个小数点组成的一个字符串,而且IP地址具有唯一性,就是不能重复,有的同学可能会说,我家和别人家就有重复的,别着急,此重复非彼重复。IP地址分为A、B、C、D四类,平时我们在家里看到的IP地址,都是C类地址,大部分都类似于:192.168.1.xxx或者192.168.0.xxx这种,这种地址都是路由器分配的,属于内网地址,我们在家里,各个智能设备和电脑,加上路由器,一起组成了一个小型的网络,这个网络和外面的网络是隔开的,路由器就相当于这个网络的门,当你去办理宽带业务的时候,电信移动联通这几大运营商会动态的分配给你一个账号密码,然后随即给你分配一个IP地址,这个地址是动态的,具体什么规则我不太清楚,这个地址是一个外网地址,就是真正的IP地址,路由器会把这个地址,保存起来,然后分配新的内网地址,家里电脑啊手机啊都是用的路由器分配的内网地址,为啥不直接用外网地址呢?上面已经说过了,IP地址是不能重复的,家里肯定有不止一个需要上网的,那怎么办?所以就用路由器,分配内网地址,顾名思义,内网就是内部网络,和其他外界都无关,所以,你家的192.168.0.1和小明家的192.168.0.1是不冲突的,当然也不能相互访问。
2.怎么看自己的IP地址?
如果是电脑,Ctrl/Command + R,调出来运行窗口,输入Cmd(大小写无所谓),出来一个黑窗口:
黑窗口
这里有几个名词解释一下,以太网就是局域网的意思,适配器呢,就是网卡,IPV4地址就是我们常说的IP地址,从这里可以看出是一个内网地址,前面是192.168,如果是外网地址,就不会是这种。随着网络的日渐发达,IP地址渐渐不够用了,全球那么多人都要上网,可怎么办呀,所以,又推出了IPV6地址,上面的图片中也有,IPV6明显比IPV4要复杂许多,能表示的地址也会增多,但现在还没有普及,只是时间问题。

名词

我把平时常用的关于网络的名词跟大家解释一下,有很多同学不太明白或者说一知半解。

服务器

服务器这个东西都听过,服务器相关的知识太多了,我这里只简单介绍下,你可以把它想象成一个高性能的电脑,为什么高性能呢?因为服务器往往要有很多运算逻辑,还有很多I/O操作,也就是硬盘读写操作,用户的数据,都存储在服务器上,一是为了方便我们调用,二是为了安全。举个例子,登录微信就是你通过微信客户端向腾讯的服务器发起请求,服务器接受请求后处理然后返回响应的一个过程,这里面涉及到了网络数据的传输,数据库的读取等一系列操作,没想到如此短的时间内会完成这么多操作吧?这都要归功于我国发达的网络啊。

客户端

与服务器对应的,就是客户端了,客户端的形式有很多种,比如手机APP,如:微信、QQ、知乎、今日头条、抖音、王者荣耀、吃鸡等等;电脑上的,各种网络游戏,WOW、LOL、DOTA2,对还有Steam,这些都属于客户端,因为他们都不能单独存在,你打开QQ,没有网络,你根本登录不上去,为什么?因为客户端需要联网然后向服务器发送请求,服务器得到请求处理后返回相应,客户端接收到正确的响应以后才能上去。这里面要说的是一个特殊的客户端——浏览器,上面说的都是需要下载的,而浏览器却不需要下载(你下载chorme这不算,这只是浏览器的一种形式),比如现在你所看到的这篇文章,就是存储在CSDN的服务器上的,我在电脑上写好以后,上传到服务器,发布出去,你才能在任意的地方通过手机也好通过电脑也好,打开浏览器或者CSDN的APP,看到这篇文章,这也是客户端。

端口

上面我们说了IP协议和IP地址,我们电脑上的软件,如果想要和其他电脑上的软件进行通讯,就得知道对方的端口号,一个电脑上有许多个端口,通过确定一个IP和一个端口号,就能找到这个软件并进行通讯。比较出名的有80端口(HTTP端口),21端口(FTP端口)等等,我在此不列举了,度娘上有很多。

Socket

Socket这个词儿,中文译名套接字,在网络范畴和软件范畴是两个东西,网络和软件是交叉并列的关系,请切记。在网络中,Socket指的是一组由IP:端口号组成的字符串,上面我们说确定IP和端口了就能和软件进行通讯了,Socket就是干这个的。在软件中,例如C#中,有一个类是Socket,JAVA也有好像,其他很多语言也都有Socket这个类,我们利用Socket这个类进行网络开发,网络通信。
先讲到这吧,下次为大家讲关于软件开发网络的内容。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值