HTTP TCP UDP Socket 关系的几个经典图

时间:2023-03-09 15:53:19
HTTP TCP UDP Socket 关系的几个经典图

 

HTTP TCP UDP Socket 关系的几个经典图

从上图可以看到,TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。

下图也是描述这个关系的。

HTTP TCP UDP Socket 关系的几个经典图

参考: https://krystalchisholm.wordpress.com/2010/11/24/chapter-17/ 

 

另外我们经常说到的 Socket 的所在位置如下图:

 

HTTP TCP UDP Socket 关系的几个经典图

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。

在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

 

参考: http://blog.****.net/xijiaohuangcao/article/details/6105623

 

 

 

从编码角度看 TCP UDP的区别如下图:

 

TCP通信需要服务器端侦听listen、接收客户端连接请求accept,等待客户端connect建立连接后才能进行数据包的收发(recv/send)工作。

而UDP则服务器和客户端的概念不明显,服务器端即接收端需要绑定端口,等待客户端的数据的到来。后续便可以进行数据的收发(recvfrom/sendto)工作。

 

HTTP TCP UDP Socket 关系的几个经典图

参考: http://blog.****.net/ce123_zhouwei/article/details/8976006

http://blog.****.net/kerry0071/article/details/39348163

 

 

HTTP TCP UDP Socket 关系的几个经典图

 

HTTP TCP UDP Socket 关系的几个经典图

 

HTTP TCP UDP Socket 关系的几个经典图

HTTP TCP UDP Socket 关系的几个经典图

 

HTTP TCP UDP Socket 关系的几个经典图

 

HTTP TCP UDP Socket 关系的几个经典图

HTTP TCP UDP Socket 关系的几个经典图