网络分层的优缺点
优点是各个层次解耦了
这样每层只用管好自己的事情即可
如果出了问题范围就限制在这一层之中
而不是这个网络体系中去找解决
分层之后对于理解网络也变的清晰了一些
缺点是由于整个网络体系的复杂性导致解耦的不彻底
比如有些功能不止一个层需要,各层的处理方式也不一样
比如查错回复的功能
这样就形成了功能上的冗余
再比如某种的某个功能必须依赖其他某层的细节信息
比如时间戳值
这样就造成了一定的耦合和依赖
比如
如果我先要写一个pc端的聊天程序
我不需要把路由计算软件也写了
一般来讲我不用特别关注路由上的事情
应用层
包括网络应用程序和他的协议
web应用的文档请求和传送用的HTTP
邮件应用用的SMTP
端系统文件传输用的FTP
把纯数字的地址转化成有字母的域名用的DNS
传输层
用于应用程序端口之间传输应用层的报文
有两个协议TCP和UDP
TCP面向连接
有传输可靠性的一些确保机制
比如上次握手、四次挥手
还有流量控制机制
比如网络拥塞的时候限制吞吐量
UDP面向无连接
不可靠、无流量控制、无拥塞控制
网络层
负责数据从主机到主机的传输
把传输层的报文段添上目标主机的地址交给网络层传输
通过IP协议和路由选择协议完成传输
物理层
链路层已经提供了链路上的数据传递了
但是链路层解决的是以帧为单位进行考量的
物理层把帧拆成了一个一个的比特进行传输
通过双绞铜线、同轴电缆。光纤等物理层协议完成
不同的物理介质中传输一个比特的办法是不同的
链路层
网络层确定了传输的路径
但是没有提供在链路上传递的办法
这个就是链路层来提供了
链路层用以太网、WIFI、DOCSIS等协议提供链路之间的数据传递
表示层
主要是处理不同应用程序的数据
即数据的表示
比如数据的压缩、加密、还有描述
会话层
提供了数据交换的确认还有同步
数据在各层的称呼和形式
应用层的分组称为报文
传输层的分组称为报文段
网络层的分组称为数据报
链路层的分组称为帧
物理层就是比特了