一、物理层:将数据转化为物理信号
设备:中继器、集线器
二、数据链路层:用MAC地址来寻址
每个主机都有一个,全球唯一的MAC地址
设备:网桥、交换机
三、网络层:路由器
MAC地址的空间分布,是无规律的。
如果你有十万台主机,要通过MAC地址来寻址,不管你设计什么样的算法,数据量都太大了。
所以,我们需要IP地址,于是有了网络层。
四、运输层
一台主机不能只和一台服务器通信啊,毕竟下小电影,也要同时货比三家啊
那如何实现并行通信呢?嘿嘿,我们有端口号啊。
再基于不同的需求:
有人要连的快,不介意数据丢失,如下载小电影;有的人必须要数据可靠,如发送邮件;于是产生了UDP和TCP。
于是有了运输层。
五、应用层:
不同应用,有不同的传输需求,比如,请求网页,发送邮件,P2P...
为了方便开发者,我们就对这些常用需求,进行了封装,于是有了应用层。
规律:越低层的越“傻”,只会传输数据、放大信号、连接不同设备,没有判断能力;越高层越聪明,路由有选择最优路径的能力,网关有转换协议的能力。
总结:https://www.zhihu.com/question/19718686/answer/185348786
http://blog.csdn.net/qq_25606103/article/details/51288459
TCP可靠:发完一个包后,有跟进对方是否收到,收到对方回复后,并发一个收到回复的回复,这样一个包才算发送成功
UDP不可靠:发完一个包后,不去跟进,发出去就当作发送成功了,可能实际上对方并没有收到