TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型。ARPANET是由美国国防部(U.S.Department of Defense,DoD)赞助的研究网络。最初,它只连接了美国境内的四所大学。随后的几年中,它通过租用的电话线连接了数百所大学和政府部门。最终ARPANET发展成为全球规模最大的互连网络-因特网。最初的ARPANET于1990年永久性地关闭。
TCP/IP参考模型分为四个层次:应用层、传输层、网络互连层和主机到网络层。如下图所示。
1.1、网络访问层:提供了与物理网络连接的接口。针对传输介质设置传输的格式,根据硬件的物理地址实现数据的寻址,对数据在物理网络中的传递提供错误控制。
1.2、网际层:提供独立于硬件的逻辑寻址,从而让数据能够在具有不同物理结构的子网之间传递。提供路由功能来降低流量,支持网间的数据传递。实现物理地址与逻辑地址的转换。
1.3、传输层:为网络提供流量控制、错误控制和确认服务。充当网络应用程序的接口。
1.4、应用层:为网络排错、文件控制、远程传输和internet操作提供了应用程,还支持应用编程接口(API),从而使得针对特定操作系统编写的程序能够访问网络。
2、OSI七层模型
2.1)、物理层:把数据转换为传输介质上的电子流或模拟脉冲,并且监视数据的传输。
2.2)、数据链路层:提供与网络适配器相连的接口,维护子网的逻辑连接。
2.3)、网络层:支持逻辑寻址和路由选择。
2.4)、传输层:为网络提供错误控制和数据流控制。
2.5)、会话层:在计算机的通信应用程序之间建立会话。
2.6)、表示层:把数据转换为标准格式,管理数据加密和压缩。
2.7)、应用层:为应用程序提供网络接口,支持文件传输、通信等功能的网络应用。
DNS:DNS(Domain names System) 和HTTP协议一样是处于应用层的服务,提供域名到IP地址之间的解析服务。
UDP(用户数据报协议):传输层中一个不可靠,无连接的协议。(只管发送不管是否成功的) 传输大小有限制 2的16次方 65533 64KB(还要减去各种头部)
TCP(传输控制协议):传输层中一个可靠的,面向连接的协议。(三次握手 滑窗协议) 面向流通信 无大小限制
UDP的开销很小,具体是指什么?
1.1.因为UDP是无连接的。在传输数据之前,不需要进行复杂的三次握手来建立连接。
1.2.在传输数据时,没有协议间通信流量(确认信号),也不需要浪费不必要的处理时间(接收确认信号再发一下)。
1.3;传输结束后,也不用再用改进的三次握手来端口连接。