两个模型与网络设备搞清楚了
OSI七层模型
物理层
首先解决两台物理机之间的通信需求,具体就是机器A往机器B发送比特流,机器B能收到比特流。
物理层主要定义了物理设备的标准,如网线的类型,光纤的接口类型,各种传输介质的传输速率。
主要作用是传输比特流(0101二进制数据),将比特流转化为电流强弱传输,到达目的后再转化为比特流,即常说的数模转化和模数转换。
这层数据叫做比特。网卡工作在这层。
物理层是OSI七层模型的物理基础,没有它就谈不上数据传输了
物理层就是由实物所承载的,所以作比喻的话,公路、汽车和飞机等承载货物(数据)的交通工具,就是物理层的象征
数据链路层
在传输比特流的过程中,会产生错传、数据传输不完整的可能。
数据链路层定义了如何格式化数据进行传输,以及如何控制对物理介质的访问。通常提供错误检测和纠正,以确保数据传输的准确性。
本层将比特数据组成帧,交换机工作在这层,对帧解码,并根据帧中包含的信息把数据发送到正确的接收方。
该层负责物理层面上互连的节点之间的通信传输。例如与1个以太网相连的两个节点间的通讯。
常见的协议有 HDLC、PPP、SLIP等
数据链路层会将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)
网络层
随着网络节点的不断增加,点对点通讯需要通过多个节点,如何找到目标节点,如何选择最佳路径成为首要需求。
网络层主要功能是将网络地址转化为对应的物理地址,并决定如何将数据从发送方路由到接收方。
网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。
由于网络层处理并智能指导数据传送,路由器连接网络隔断,所以路由器属于网络层。
此层的数据称之为数据包。本层需要关注的协议TCP/IP协议中的IP协议。
网络层负责将数据传输到目标地址。目标地址可以使多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。主要由 IP、ICMP 两个协议组成
网络层将数据从发送端的主机发送到接收端的主机,两台主机间可能会存在很多数据链路,但网络层就是负责找出一条相对顺畅的通路将数据传递过去。传输的地址使用的是IP地址。IP地址通过不断转发到更近的IP地址,最终可以到达目标地址
传输层
随着网络通信需求的进一步扩大,通信过程中需要发送大量的数据,如海量文件传输,可能需要很长时间,网络在通信的过程中会中断很多次,此时为了保证传输大量文件时的准确性,需要对发送出去的数据进行切分,切割为一个一个的段落(Segement)发送,其中一个段落丢失是否重传,段落是否按顺序到达,是传输层需要考虑的问题。
传输层解决了主机间的数据传输,数据间的传输可以是不同网络,并且传输层解决了传输质量的问题。
传输层需要关注的协议有TCP/IP协议中的TCP协议和UDP协议。
会话层
自动收发包,自动寻址。
会话层作用是负责建立和断开通信连接,何时建立,断开连接以及保持多久的连接。常见的协议有 ADSP、RPC 等
表示层
Linux给WIndows发包,不同系统语法不一致,如exe不能在Linux下执行,shell不能在Windows不能直接运行。于是需要表示层。
解决不同系统之间通信语法问题,在表示层数据将按照网络能理解的方案进行格式化,格式化因所使用网络的不同而不同。
它主要负责数据格式的转换。具体来说,就是讲设备固有的数据格式转换为网络标准格式。常见的协议有ASCII、SSL/TLS 等
应用层
规定发送方和接收方必须使用一个固定长度的消息头,消息头必须使用某种固定的组成,消息头中必须记录消息体的长度等信息,方便接收方正确解析发送方发送的数据。
应用层旨在更方便应用从网络中接收的数据,重点关注TCP/IP协议中的HTTP协议
四层传输层数据被称作段(Segments);
三层网络层数据被称做包(Packages);
二层数据链路层时数据被称为帧(Frames);
一层物理层时数据被称为比特流(Bits)。
TCP和IP模型
OSI模型注重通信协议必要的功能;TCP/IP更强调在计算机上实现协议应该开发哪种程序
TCP/IP划分了四层网络模型
- 第一层:应用层,主要有负责web浏览器的HTTP协议, 文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS等
- 第二层:传输层,主要是有可靠传输的TCP协议,特别高效的UDP协议。主要负责传输应用层的数据包。
- 第三层:网络层,主要是IP协议。主要负责寻址(找到目标设备的位置)
- 第四层:数据链路层,主要是负责转换数字信号和物理二进制信号。
四层网络协议的作用
- 发送端是由上至下,把上层来的数据在头部加上各层协议的数据(部首)再下发给下层。
- 接受端则由下而上,把从下层接受到的数据进行解密和去掉头部的部首后再发送给上层。
- 层层加密和解密后,应用层最终拿到了需要的数据。
举个例子:
我们需要发送一个index.html。
两台电脑在应用层都使用HTTP协议(即都使用浏览器)。
在传输层,TCP协议会将HTTP协议发送的数据看作一个数据包,并在这个数据包前面加上TCP包的一部分信息(部首)
在网络层,IP协议会将TCP协议要发送的数据看作一个数据包,同样的在这个数据包前端加上IP协议的部首
在数据链路层,对应的协议也会在IP数据包前端加上以太网的部首。
源设备和目标设备通过网线连接,就可以通过物理层的二进制传输数据。
数据链路层,会使用对应的协议找到物理层的二进制数据,解码得到以太网的部首信息和对应的IP数据包,再将IP数据包传给上层的网络层。
数据链路层>网络层>传输层>应用层,一层层的解码,最后就可以在浏览器中得到目标设备传送过来的index.html。
TCP/IP协议族
从字面意义上来讲,TCP/IP是指传输层的TCP协议和网络层的IP协议。
实际上,TCP/IP只是利用 IP 进行通信时所必须用到的协议群的统称。
具体来说,在网络层是IP/ICMP协议、在传输层是TCP/UDP协议、在应用层是SMTP、FTP、以及 HTTP 等。他们都属于 TCP/IP 协议。
网络设备
交换机
交换机可以接入多台电脑
每个电脑网卡的 MAC 地址都是不一样的,电脑发送数据时,数据头部携带网卡的 MAC 地址,用 MAC 地址标识来不同的电脑
交换机就可以识别数据头部的 MAC 地址来区分不同的电脑
交换机除了能识别不同的电脑,还需要找到电脑连接的交换机端口,才能顺利的把数据从相应端口发送出去
交换机通过自学机制,把学习到的设备 MAC 地址和交换机端口号添加到 MAC 地址表,并根据 MAC 地址表进行数据转发
路由器
交换机需要记录的 MAC 地址表也越来越多,需要的交换机也越来越多
但是交换机的容量和性能有限,MAC 地址表无法记录全世界电脑的 MAC 地址和对应的端口号,MAC 地址表太大也无法快速查找到对应的 MAC 地址表项
于是就有了三层网络设备路由器,路由器可以把全世界的网络连接起来
局域网内的网络连接可以使用交换机,例如一个公司内的网络或者一个校园内的网络通过交换机连接
不同区域的局域网互联使用路由器
那么如何区分不同的网络区域呢?又是如何跨网络区域进行数据转发的呢?
路由器有多个端口,分别连接不同的网络区域,不同网络区域的 IP 地址网络号不同
它通过识别目的 IP 地址的网络号,再根据路由表进行数据转发
- 点赞
- 收藏
- 关注作者
评论(0)