计算机网络体系架构的基础上,自上而下
分为了:
· 应用层
· 传输层
· 网络层
· 数据链层
· 物理层
它们各层有各自的功能和服务,它的功能是依靠底下一层提供的服务来实现的,同时自己的功能来为上层提供服务。
形象具体理解:
1 . 应用层:我们常见的http协议跑在应用层,还有telnet协议,web相关的协议等等。
2 . 传输层:tcp协议以及udp协议,跑在该层,应用层的协议都是依靠tcp和udp这两种。tcp是Transmission Control Protocol(传输控制协议),udp是User Datagram Protocol(用户数据报协议)。
3 . 网络层:网络层是提供rpc服务,它是端到端的服务,主机到主机的服务器,两台主机的通信就是从一台主机经过一个个节点的转发,到另一台主机上的。传输层在此基础上细化加强了它的服务,转为了进程到进程。
网络层还有一个特点,best-effort,表示尽力而为,意思是不可靠的。
4 .链路层: 它提供点到点的服务,因为网络层的协议是端到端,必须完成依靠点到点的转发才能完成。它传送相邻两点间以帧为单位的数据。
5 .物理层: 完成数字信号到物理信号的转换,发送方进行 数字信号到物理信号转换,接收方完成 物理信号到数字信号的转换
(6. media层:像什么电缆啊,光纤啊,物理层必须依靠这些来传送数据。)
重点理解:
tcp和udp的区别:
tcp建立的连接是可靠的,发送的数据和接收的数据是完全一致,不会出现乱序,缺失,重复等错误。但是可靠性建立在耗时的基础上,因为建立连接,需要经过,发送连接,确认连接,发送数据,接收数据过程的基础上。
udp连接是不可靠的,但是它具有实时的功能,过程只需要发送数据,接收数据就行了。但也是因为如此,过程中也可能会丢失数据。
tcp应用在可靠的连接场景,但是速度较慢,比如说,聊天消息,传送文件等等。
udp应用在实时的场景,丢失小部分数据也无妨,比如说,直播,实时转发语言消息等等。
网络层分为两个协议:(这个以后会了解,这个暂时也不懂doge)