先上一张图
Snip20181204_1.png
没错,这就是传输中的TCP/IP分层模型。
TCP/IP分为四层:应用层、传输层、网络层、链路层。
关于四层模型的介绍,网上可谓汗牛充栋,概念何其艰深,比如:
- 应用层:决定了向用户提供应用服务时通信的活动
- 传输层:对上层应用层提供处于网络连接中的两台计算机之间的数据传输
- 网络层:处理在网络上流动的数据包
- 链路层:处理连接网络的硬件部分。
相信你看完还是一头雾水。
要理解TCP/IP,我们依旧要先搞清楚它想干嘛?
一句话概括,就是用最少的资源,准确快速的把信息传送到对端去。
那么这里面就有很多问题要解决了:怎样充分利用资源?用资源怎么发信息?怎样找到对端?怎样做到准确?怎样快速?怎样保证对端完整收到信息?………
对于学计算机的我们,这个时候应该就能想到,这么多问题,不可能一次性解决,需要分解,分模块来解决,TCP/IP分层模型也是这么想的。
首先是怎样充分利用资源,用什么物质传又省钱又好用?这就是物理层要解决的问题了,这里展开来就是无线铜线光纤损耗等等的问题。很好理解。
然后知道介质了,怎样把信息传给设备?这就是数据链路层要解决的问题了。这里需要解决信息的封装问题,信息传送机制问题。所以这一层的所有协议设计都是围绕着怎么传信息展开。
理论上到这里就结束了,但随着入网设备越来越多,就需要被管理了,所以网络层就来解决网络管理的问题。IP层是整个网络分层里承上启下的核心,他主要解决两个问题,一个是编号,一个是找人。网络太大,人太多,认识不过来,所以要用ip地址给人编号。编完号找人,几十亿人一个个问也不可行,也是要讲方法的,所以这里就有了路由技术。网络层的关键是路由技术,路由技术解决怎样快速准确找到对端的问题。
找到对端后,怎样保证对端完整收到信息?这就是传输层要解决的问题了,这里就有传送速度的调节,传送信息的验证,传完信息的确认等等问题,对应的TCP和UDP也是两种不同的实现思路。
来到这里,关于网络的问题基本上就结束了,因为终端已经拿到了别人发过来的信息了,至于怎么处理信息,就是会话层,表示层,应用层的问题了。不同的应用程序有着不同的通信协议(Email——SMTP,Web——Http,文件传输——Ftp等),这些通信协议都工作在应用层。
可见,分层之间相互独立,却又是紧密合作,他们的出现不是无中生有,而是在问题的解决中,不断成熟并定形的。
有了以上的了解,再看看开头的那张图……
Snip20181204_1.png现在是不是好理解得多~
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。
好了,本文就到这,如果你有更好的见解,欢迎留言~
网友评论