一、tcpip协议簇作用:很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信。
二、分层
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能
tcp/ip协议簇是一个四层协议模型,与osi七层模型对应
应用层
| 应用层 |
表示层 | |
会话层 | |
运输层 | 传输层 |
网络层 | 网络层 |
链路层(网络接口层) | 数据链路层 |
物理层 |
按照我们对数据传输的关注方式,从底层开始理解这两种模型的各层作用(以tcpip四层模型为例):
1、每一层都创建在低一层提供的服务上,并且为上一层提供服务。
2、链路层:通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
3、网络层:处理分组在网络中的活动,例如分组的选路(负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机)。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
4、运输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
1)、tcp:tcp传输可靠,确保数据包到达。
2)、udp:udp传输不可靠,只负责传输,不负责到达。
tcp就像看视频,卡了会刷新重新播放,udp就像是直播,卡了刷新后就是缺了一部分(个人理解)。
5、应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
三、封装
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram),与TCP不同,UDP传输给IP的也称为UDP数据报。通过以太网传输的比特流称作帧(Frame)。
总结:在TCP/IP中,网络层和运输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而运输层(TCP和UDP)提供端到端的服务。
点对点是基于MAC地址或者IP地址,是指一个设备发数据给另外一个设备,这些设备是指直连设备包括网卡,路由器,交换机。端对端是网络连接,应用程序之间的远程通信。端对端不需要知道底层是如何传输的,是一条逻辑链路。