TCP、UDP、IP、TCP/IP、HTTP和Socket的区别与联系


转载:说说TCP、UDP、socket和Http之间联系和区别

OSI七层模型的划分

OSI七层和TCP/IP五层对应关系

TCP/IP五层模型每层的主要协议

TCP协议

面向连接的、可靠的、基于字节流的传输层通信协议

  • TCP数据包结构:

UDP协议

无连接的传输层协议,提供面向事务的简单不可靠信息传送服务

  • UDP数据包结构:

IP协议

IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。属于网络层协议

  • 协议版本:IPV4 IPV6

  • IPV4被分为五大类:ABCDE

A类:点分四组中的第一组地址范围为0~127的IP地址。已二进制来看就是“首位为0”

B类:128~191.二进制首位为10

C类:192~223.二进制首位为110

D类:224~239.二进制首位为1110

E类:240~255.二进制首位为1111

  • IP数据包结构:

Socket

socket是TCP/IP协议的API

TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。就像操作系统会提供标准的编程接口,比如Win32编程接口一样,TCP/IP也必须对外提供编程接口,这就是Socket编程接口

明白socket只是对TCP/IP协议栈操作的抽象,而不是简单的映射关系,这很重要!

套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元