【注意】此文章是最简单的概念的理解,不涉及具体的数据结构
OSI七层协议大白话解读_陶通宁的博客-CSDN博客_osi七层
网络的分层有三种模式:七层 五层 四层, 这三种模式的关系如下:
1. 七层:应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
2. 五层:应用层 传输层 网络层 数据链路层 物理层
3. 四层:应用层 传输层 网络层 网络接口层
上述的三种分层方法之间的关系:
1. 物理层:
a) 物理层即光缆,电缆,双绞线,无线电波。即网络raw数据。
b) 信号是二进制的1010之类的数据。
c) 物理层的数据是一个bit一个bit的,没有其他的含义
d) 思考:纯二进制不分组的数据是无法进行解析的,因为收发双方都没有协议。
2. 数据链路层:一是用于对物理层的数据进行分组,二是进行基于广播机制的通信。
a) “一组” 二进制数据,称为一个“数据包” 或者 一“帧”,分为报头head和数据data两部分。
i. 报头head:(固定18字节)
1. 发送者(源地址,6个字节)
2. 接受者(目标地址,6个字节)
3. 数据类型(6个字节)
ii. 数据data: 最短46字节,最长1500字节。 具体数据
iii. Head+data:最短64字节,最长1518字节。超过最大限制后需分片。
iv. 注意其中的源地址和目标地址均指MAC地址。
b) MAC地址的由来:(head中的源和目标的地址)
Ethernet规定接入网络的设备必须有网卡,网卡的地址即MAC地址。每块网卡出厂的时候都需烧录一个唯一的Mac地址,长度为48位2进制,通常由12位16进制的数据表示(前六位是厂商编码,后六位是流水线号)
c) 扩展:互联网和局域网的概念:
i. 若干网卡组成局域网,若干局域网组成互联网。
ii. 为了后面方便理解,网卡—》学生; 局域网:一个班上的所有同学组成局域网; 互联网:若干局域网组成的即所有的教室组成学校。
d) 局域网内的通信:通过数据链路层即可进行。由于是在一个局域网络内,所以不需要网络层出面,在数据链路层即可通信,
e) 数据链路层中广播的方式:即一个网卡向所在的局域网中所有网卡发送一个帧(head+data),其中head中包含自身网卡的地址以及目标网卡的地址。Data即发送的数据; 局域网中其他的网卡接收到后,会看目标地址是否为同一网络中的不同网卡之间通信通过各个网卡的数据链路层的广播机制即可实现。实际上,基于这种机制可以实现互联网范围内的通信,但是如果互联网使用这种广播的方式通信的话,每时刻广播的数量过多。 不同局域网中的网卡通信(不同教室中的学生)通过广播实现不了,(可以理解为不同网络之间的通信)此时数据链路层无法满足要求,需要网络层出面,即网络层是跨局域网(网络)的级别。
3. 网络层:用于不用局域网(网络)(教室)之间的通信
a) IP协议:隔着教室广播无法传达,需要通过教室负责人(网关)与另一个教室的负责人(网关)传达信息,我们平时所设置的IPv4默认网关就是用于设置网关。
b) MAC地址用于标注网卡的地址,即某学生在教室中的位置。IP地址用于标注局域网的地址(即所在的教室)。
c) IP以及MAC地址唯一确定了一个网卡在网络中的地址。
4. 扩展:ARP协议:用于获取目标的MAC地址。
所谓的ARP协议就是发送一个如下的数据包,其中目标MAC为FFFFFF,但是MAC地址约定不可能是这个值,为这个值时,代表询问MAC地址。
5. 传输层:主要实现了 端口的概念。
a) 网络层的IP用于区分局域网,数据链路层的MAC区分具体的网卡(主机),但是主机上有可能有多个APP(暴风影音,QQ等)。通过IP和MAC我们可以找到一台特定的主句,但是并不知道网络数据与哪个APP关联,此时就需要端口的概念,端口即APP与网卡之间的关联编号。 传输层功能:建立端口到端口的通信。
b) 端口的范围:0-65535; 0-1023为系统占用的端口
c) TCP协议:可靠传输,TCP包没有长度限制,理论上可以无限长,但为了保证效率,通常TCP数据长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
d) UDP协议:不可靠传输,略;
e) 应用层:规定APP的网络数据的格式。