转载:说说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协议的网络通信的基本操作单元。