什么是网络,了解什么是IP、TCP协议、UDP协议、http协议?
网络其实是一个很广泛的概念,我们接触到最多的网络当然是我们的家庭宽带上网,和我们手机终端上移动通信网络,这部分的网络叫做互联网。其实世界上还有很多形形色色的网络存在,例如模拟电话网、有线电视网、电力输变电网等非常多的网络。
如果要理解网络,我们可以这样认为,所有用专用线路互联的设备,都组成了一个网络,这个设备可以是PC机,可以是手机、汽车、电视、电表、电话机、物联网设备。网络最主要的作用就是设备间通信
基础概念普及
网络的种类非常多,每种网络所需的协议不同,TCP/IP就是互联网所需的基础协议。我们要理解网络,就要理解网络协议的概念。网络协议就是一种网络上所有设备遵守的约定,这个约定制定了网络设备的行为准则。
例如移动通信网络,我们手机打电话有拨号、电话振铃、挂电话这些过程,那么相关的网络协议就规定了拨号的信号怎么样,挂机的信号怎么样,如果张三打电话给李四,那么由于张三和李四遵守相同的协议约定,张三拨号时,张三的拨号的状态通过网络协议传递给李四,李四手机就知道张三呼叫他了,李四的手机就振铃了
我们还要清楚网络设备的概念。我们用的手机,属于用户终端(UE)设备,和互联网服务器(如新浪的邮箱服务器)一样,是通信过程发起的起始两端。我们的流量在运营商网络中传输时,运营商通过网络设备来承载和处理这个通信的流量。网络设备一般用于解决通信流量怎么走的问题,也会按运营商制定的规则对通信流量进行一定的处理
例如上海的张三通过机顶盒在北京的优酷上看电影,张三的机顶盒和优酷的电影服务器是通信的起始端,中国电信提供网络承载服务。在中国电信内部,有很多网络设备(路由器)通过类似击鼓传花的方式把北京优酷的流量逐步转发到上海:北京优酷电影流量首先转发到中关村城域路由器、中关村城域路由器丢给亦庄的电信163路由器,亦庄的电信163路由器丢给上海外高桥的163路由器,外高桥的电信163路由器丢给闵行的路由器,闵行的路由器最后丢给张三机顶盒......(这里只是举个一个例子,不代表真实过程),这就实现了优酷的电影流量转发给张三的机顶盒
所以网络设备最主要的功能就是把通信流量送到正确的地方去。网络设备的附加功能就是对流量按照运营商规格进行处理。例如上海的张三只向电信购买了20M带宽,当张三想看40M优酷电影是时,闵行的路由器就把40M的电影流量限速到20M(超过带宽的流量直接丢了),然后张三就会发现,电影看不了卡顿了
那么我们再看看什么叫IP、TCP/UCP、HTTP,这些都是网络协议,而且是属于我们互联网的标准通信协议。家庭宽带和移动上网这些互联网都需要用到,其他专用网络是有可能不用这些协议的。这些协议全部归属于TCP/IP协议族
如下图,IP在TCP/IP协议族中属于网络层,TCP和UDP属于传输层,HTTP属于应用层,他们一起构成了我们互联网的基本通信协议
从过程详解什么是IP、TCP、UDP、HTTP
为了方便理解,我拿我们经常使用的快递做个类比。快递的过程相信大家耳熟能详,我们都寄过快递,也都取过快递。我们寄快递时,会填写如下信息:收件人地址、姓名、手机号,必要时还会填写寄件人的地址、姓名和手机号
那你可以理解IP在网络中,就像快递收件人和寄件人的地址,UDP和TCP就像我们的手机号,HTTP协议包含的内容,就像我们的快递物品本身。同时为了和我们前面的描述对应,我们可以把网络设备认为是快递站,手机和电脑终端就是处理HTTP的设备,也就是寄件人和收件人
那么,当上海的张三电脑访问北京的新浪,上海的张三需要寄件快递给北京的李四时,这个过程是什么样的?
张三需要把快递打包,写上自己和收件人的姓名、联系方式,然后快递小哥上门取件。而张三访问新浪时,张三的电脑需要把访问新浪的内容打包(HTTP),HTTP外层再打个包写上协议和端口(TCP、UDP),然后再包一层写上目的地和IP地址和源IP地址,一个“网络快递”包了三层,这个过程是比较繁琐,但是网络设备处理起来比较简单,层层拆包就可以获得所需的信息。
然后我们的快递包裹会小哥取货丢到最近的上海闵行快递站,小哥一看是寄到北京的,然后就丢到上海中转站A。上海中转站A会重复这个看地址的过程,然后丢到虹桥中转站B,所有的快递站会持续这个过程,最终快递会送到北京。
我们的网络快递也一样,网络快递会通过我们的网线转发到最近的网络设备,网络设备看到网络地址发现是送到北京的,就丢到上海城域路由器A、骨干路由器B,层层查看网络地址,最终送到北京。IP协议就是携带我们源和目的地址的网络协议,IP地址的一串数字就是我们的网络地址,网络设备类似快递站,网络设备中保存有如何将“包裹”送到北京这些寻路信息,网络设备检查用户数据的目的IP,发现是去北京新浪的,然后就送出去
这里我们会看到,中途的快递站只看邮寄的目的地址,是不会看包裹具体内容以及寄给谁的,我们的网络设备一般也只会根据IP层的地址转发,不会看包裹的内容。除非有一种情况,例如你快递的疑似非法内容,此时快递站要拆包检查。对于网络设备也一样,如果发现你疑似是非法内容,也会层层拆包检查处理
那么快递到了北京后,快递小哥会从快递站取快递,按照地址到了中关村你家楼下,打你电话让李四取快递。而张三访问新浪的请求,最终会按照地址送到中关村新浪大楼,然后根据协议类型(TCP/UDP)和协议的端口(例如TCP的80端口),送到不同的新浪服务器。TCP/UDP就类似于快递的收件人姓名部门和电话,只有都匹配,才能送到正确的网络服务器,对于快递而言就是送给正确的人。
TCP和UDP是对等的传输协议,所不同的是TCP增加了确认机制,更加可靠。我们可以理解为,快递寄给李四,李四需要打电话给张三说快递收到了,这是TCP;如果张三默认为李四收到了,李四无需给张三确认,这是UDP
那么HTTP是什么呢?我们收到快递都要拆包看看是什么内容,是不是我要的,如果是给个好评。那么HTTP就是新浪的服务器收到包裹以后,把外面两层(IP、TCP/UDP)拆了,看看包裹的内容是不是新浪HTTP服务器能处理的,这就HTTP。HTTP和DNS、FTP一样是应用协议的一种,新浪不同的服务器能处理不同的应用协议。HTTP主要是用于网页的浏览的应用服务,就是我们浏览网页几乎都用HTTP协议
和快递不同的是,我们包裹寄到北京后,北京一般不用返回一个包裹。而上海的张三访问北京的新浪时,新浪的HTTP服务器必须要把张三想看的内容再次打包原路返回送到张三电脑。所以网络协议是双向的过程,而快递基本是单向的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 490382048@qq.com 举报,一经查实,本站将立刻删除。