计算机网络教材 每章分层讲述。
为什么需要分层?
各层独立工作,层之间用接口联系,降低协议工作的复杂性。
灵活性好。
每层实现技术可以不同,降低复杂度。
每层单独调试。易于维护。
标准化。
分层原则是:
信宿机第n层收到的对象和信源机第n层发出的对象相同。
TCP/IP模型(DOD模型)是现在广泛采用的
应用层
传输层
网络层( 提供主机到主机的通信)
Internet Access层
但是计算机网络教材不是根据TCP/IP模型介绍,也不是根据OSI 7层模型介绍。
是
细细划分了
Internet Access层为 数据链路层(DATA LINK内容太多,又细分了两章) 物理层。
OSI模型和DOD模型相同点:
都分层。
都有应用层,虽然服务不同。
有可比较的传输层和网络层。
都使用分组交换技术而不是电路交换技术。(在通信过程中,通信双方以分组 [又叫包]为单位、使用存储-转发机制实现数据交互的通信方式,被称为分组交换(packet switching))
通俗化理解 7层OSI模型
首先 需求1: 需要实现 两台机器的 通信需求。
两个硬件之间怎么通信。具体就是一台发些比特流,然后另一台能收到。
然后我还要保证传输过去的比特流是正确的,要有纠错功能。
想如何让格式化数据进行传输。如何让控制对物理介质的访问(不太理解)。通常还提供错误检测和纠正,以确保数据的可靠传输。
是传输。
现在我能发正确的发比特流数据到另一台计算机了,但是当我发大量数据时候,可能需要好长时间,例如一个视频格式的,网络会中断好多次。
那么需求3是 保证传输大量文件时的准确性。于是,我要对发出去的数据进行封装。就像发快递一样,一个个地发。
于是 发明了传输层(传输层在OSI模型中,是在网络层上面)
发明了网络层。即路由器,交换机那些具有寻址功能的设备所实现的功能。这一层定义的是IP地址,通过IP地址寻址。所以产生了IP协议。
现在我们已经保证给正确的计算机,发送正确的封装过后的信息了。
需求5 但是用户级别的体验好不好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。
于是,发明了会话层。会话层的作用就是建立和管理应用程序之间的通信。
现在我能保证应用程序自动收发包和寻址了
但是我要用Linux给window发包,两个系统语法不一致,就像安装包一样,exe是不能在linux下用的,shell在window下也是不能直接运行的。
于是需要表示层(presentation),需求 6 帮我们解决不同系统之间的通信语法问题。
需求7:现在所有必要条件都准备好了,我们可以写个android程序,web程序去应用层实现需求把。