我们来说说IP, TCPUDP, HTTP , socket的区别与联系

mac2022-06-30  102

距离2018年还有一个月了,

希望新的一年大家都可以更上一层楼!!!

我们快速的进入正题:

首先ISO(国际标准化组织)制定了OSI(开放式互联),(真的蛮逗de这英文缩写)那么什么是OSI呢?理论知识是有7层,但是机智的我们把它简化成了四层(因为有些层用的协议是一样的)

还是直接上图解释比较清晰明了

所谓HTTP,就是我们平常访问网站时使用的协议,也是我们用户所能直观看见的层面,所以它是属于应用层的协议,当然应用层协议不止是HTTP了。

而我们没有直观接触的传输层就是使用TCP/UDP协议:TCP协议是面向连接的协议,客户端访问服务器的时候需要经过3次握手才可以连接,所以是可靠连接;UDP无连接的,它直接向服务器发送数据,并不会事先告诉服务器的,是不可靠的连接;于是大家可能会说,那就都使用TCP好了,虽然TCP可靠,但是并不安全,连接请求的次数过多反而暴露了自己,给黑客带来更多的机会,而且这种每每传输数据就要请求一次的方法也实在是浪费时间,所以要因地制宜。

我们访问一个网站可能并不会看到IP ,但是它一定是有IP 的,我们能进行通信,都是因为有IP才能找到你,举一个栗子:有人要寄东西给你,你收到东西。这是我们生活中常见的流程,那么IP就像你家的地址,那么知道地址还是不能直接把东西交到你手上,所以还要知道房门号,在网络通信中,房门号就是端口,所以意思就是通过IP找到你的电脑,在通过端口找到你的应用程序。我们生活中输入的每一个网址都会通过地址解析成IP和端口的。所以这是我们网络层的IP。

最后我们电脑传输其实都是以二进制在传输的,所以数据链路层就是我们传输的数据。

通过上面的解释,大家就能清楚的知道了大概的区别,因为有不同的功能的。

那么什么是Socket,socket可以是TCP,也可以是UDP,其实他就是对传输层协议的一种封装接口,可以直接使用socket编程实现TCP或UDP协议了。

 

有很多地方都不全,欢迎大家看完补充呀!!!!!

转载于:https://www.cnblogs.com/cJJJ/p/7987852.html

最新回复(0)