接下来就要进行计算机网络的学习,这也是我学习计算机网络的一个学习笔记,让我们开始学习
上面那一张图是我们在学习计算机网络的时候的重点知识,今天的我学习了网络体系结构其中包括TCP/IP网络模型这是一个重点,然后还有OSI网络模型这也是一个重点,首先我会先介绍一下他们各自是什么;然后有几个比较重要的问题,为什么要设计分层网络模型,这两个模型各自有多少层,每一层的作用与顺序关系,这两个模型的差异点和共同点,ok重难点知道了之后让我记录一下今天的成果
一,OSI网络模型
1.1OSI网络模型的概念
OSI模型是国际标准化组织创立的概念模型,用于各种通信系统通过标准的协议来进行通信的概念模型,简单点来说就是OSI模型为不同计算机系统通信提供了标准
1.2OSI网络模型有几层
OSI网络模型自上而下一共有七层;
应用程序层
表示层
会话层
传输层
网络层
数据链路层
物理层
1.3每一层的关系与作用
1.3.1物理层
物理层的作用很简单就是解决用何种信号来传输比特的问题
就比如说两台电脑,怎么通信,你可以用根数据线连在两个电脑的接口上然后,在用信号来传输比特,这就是物理层的作用,比较简单
1.3.2数据链路层
数据链路层的作用就是解决分组在一个网络或在一段链路上传输的问题
举个例子:
在这样一个总线型网络上,如果主机A要给主机C发送数据,那么问题来了,由于是总线型网络,发送的数据要通过总线上的每一个主机,那么主机C如何知道A发送的数据该不该接收,主机BDE如何知道A发送到问题该不该接收。
也就是需要对每个主机进行命名,编址也就是怎么标识这些主机(主机编址问题)
然后就是在传送的数据分出数据与地址;
还会有一种问题如果A与E分别传输数据就会发生碰撞,也就各主机争用总线问题
1.3.3网络层
网络层负责的是促进两个不同网络之间的数据传输,如果两台设备用的同一网络就不用使用网络层,网络层会把传输的数据分层更小的数据包,再由接收数据重组这些数据包。
1.3.4传输层
运输层负责两个设备的端口之间的运输,他负责将会话层的数据进行提取然后将他拆解成细小的单元(数据包),然后传输给网络层,还能把网络层传输的细小单元组成数据如何发送给会话层。
传输层还负责进行流量控制和错误控制。流量控制用于确定最佳传输速度,避免采用快速连接的发件人淹没采用慢速连接的收件人。传输层通过确保接收数据的完整性(如果不完整,则请求重新传输)来对接收端进行错误控制。
1.3.5会话层
这一部分负责打开和关闭两个设备之间的通信,通信打开和关闭之间的时间叫做会话,还负责同步数据的检查和传输
1.3.6表示层
这一层主要的作用是准备数据,主要是将数据转化成应用程序层可以使用的样子,包括数据的转换,加密,压缩等。
1.3.7应用程序层
1.3.8他们的使用顺序
这个就是两台主机发送数据,数据会在发送端自上而下传输,然后到接收端自下而上的传输
举个例子解释一下,我给女朋友发送邮件,我首先会在我的电脑上编写邮件,然后发送,
到了应用数据层,应用数据层选定协议,然后发送到表示层,然后再表示层中将数据进行处理,然后传输到会话层,在会话层中初始化通信会话,然后到传输层,在传输层中将数据拆解成一个个单元(数据包),然后到数据链路层,在数据链路层中将数据包转化为帧,到物理层在物理层将帧通过比特流的方式传输到另一个主机,然后到转化为帧传输到数据链路层转化为数据包,然后到传输层组成数据,传输到会话层打开通信,然后到表示层对数据进行处理然后,到应用数据层。
二,TCP/IP网络模型
1.1TCP/IP网络模型的概念
和上面OSI模型一样它是一套标准化的协议,不过他更加使用在市面上;
1.2TCP/IP网络模型有几层
与上面类似不过TCP/IP网络模型只有四层
自上而下是
应用层
网络层
传输层
网络接口层
1.3各层之间的顺序
1.3.1应用层
应用层是我们最直接接触的层,在我们打开软件的时候就是应用层,当需要传递数据时就会传送到运输层
1.3.2传输层
应用层的数据包会传输给传输层,传输层是为应用层提供网络支持的
在传输中有两个协议,一个是TCP另一个UDP
TCP 的全称叫传输控制协议,大部分应用使用的正是 TCP 传输层协议,比如 HTTP 应用层协议。TCP 相比 UDP 多了很多特性,比如流量控制、超时重传、拥塞控制等,这些都是为了保证数据包能可靠地传输给对方。
UDP 相对来说就很简单,简单到只负责发送数据包,不保证数据包是否能抵达对方,但它实时性相对更好,传输效率也高。当然,UDP 也可以实现可靠传输,把 TCP 的特性在应用层上实现就可以,不过要实现一个商用的可靠 UDP 传输协议,也不是一件简单的事情。
也就是说TCP比较高级有许多特性,而UDP就比较简单只负责发送。
然后再TPC中我们会把数据包分成一个个数据段,也就做TPC段
当设备为接收方时就要把数据包传送应用层,但是在一个电脑上可能会有很多接受的信号,所以我们就要在上面编一个号,然后就知道在哪了,也就是端口。
1.3.3网络层
在实际的传送中,传输层并不负责将一个信息传送到另一个设备,因为现实中网络错综复杂,这种高效,简洁,重要的工作就落在了网络层中
网络层最常使用的是 IP 协议,IP 协议会将传输层的报文作为数据部分,再加上 IP 包头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。
1.3.4网络接口层
生成ip头部后就要交给网络接口层加上mac头部,封装成数据帧,然后发在网络上