计算机网络模型!
计算机网络模型!
月伴飞鱼OSI七层模型
物理层:
解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。
它的主要作用是传输比特流。
就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换。
这一层的数据叫做比特。
数据链路层:
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。
该层的主要功能就是:
- 通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层。
同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层,这一层的数据叫做帧。
网络层:
网络层负责将数据从一个设备传输到另一个设备。
计算机网络中如果有多台计算机,怎么找到要发的那台?
- 如果中间有多个节点,怎么选择路径?
该层的主要任务就是:
通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。
通过
IP
地址寻址。
传输层:
当发送大量数据时,很可能会出现丢包的情况,另一台电脑要告诉是否完整接收到全部的包。
- 如果缺了,就告诉丢了哪些包,然后再发一次,直至全部接收为止。
简单来说,传输层的主要功能就是:
- 监控数据传输服务的质量,保证报文的正确传输。
应用层的数据包会传给传输层,传输层是为应用层提供网络支持的。
传输层有两个传输协议:分别是
TCP
和UDP
。
会话层:
虽然已经可以实现给正确的计算机,发送正确的封装过后的信息了。
但总不可能每次都要调用传输层协议去打包,然后再调用IP协议去找路由。
- 所以我们要建立一个自动收发包,自动寻址的功能。
会话层它的作用就是建立和管理应用程序之间的通信。
表示层:
表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。
应用层:
应用层是计算机用户,以及各种应用程序和网络之间的接口:
- 其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。
当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是传输层。
- 应用层是不用去关心数据是如何传输的。
应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。
TCP/IP4层模型
TCP/IP
模型是事实上的标准模型:
- 在 七 层模型的基础上将最上面三层的应用层、表示层、会话层统一为应用层。
- 将数据链路层和物理层统一为链路层或者叫网络接口层。
网络接口层的传输单位是帧。
IP 层的传输单位是包。
TCP 层的传输单位是段。
HTTP 的传输单位则是消息或报文。
数据发送和接收过程
数据从应用层进入,到达传输层,添加上 TCP首部,将数据加工成 TCP 段,称为 Segment:这是为了保证数据的可靠性。
接着数据到达网络层,在网络层使用 IP 协议,被添加上 IP 首部,将数据加工成 IP数据报 。
经过网络层 IP 协议的加工,指定目标地址和 MAC 地址,保证数据准确的发送到目标机器。
接着数据到达链路层,添加上以太网头部,将数据加工成以太网帧,包含了网卡等硬件相关的数据。
网络接口层
网络接口层在 IP 头部的前面加上
MAC
头部,并封装成数据帧发送到网络上。MAC 头部是以太网使用的头部:
- 它包含了接收方和发送方的 MAC 地址等信息,可以通过
ARP
协议获取对方的 MAC 地址。网络接口层主要为网络层提供 链路级别 传输的服务:
- 负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用
MAC
地址来标识网络上的设备。