文章目录
- 物理层
- 数据链路层
- 网络层
- 传输层
- Socket
- 应用层
物理层
- 通过物理手段(网线,光纤,(无线)连接设备,传输1/1/电信号 ( 又称位流 ),计算机之间的物理连接,主要用于传输0/1信号,因为0/1信号没有真正的意义,所以用另一层来确定不同的0/1组合的意义
数据链路层
- 下层物理层不能确定不同0/1组合的信号的意义。因此数据链层定义了一系列协议,专门针对0/1信号组,指定不同的代表团体意味着什么?这使得两个计算机互相识别,这个协议就是我们称之为Ethernet协议
以太网协议
- 以太网协议提供了一系列望远镜组成数据包,我们称之为帧,每个帧由两个部分组成,头部和数据
- 框架大小通常在64到1518字节之间。较大的数据需要分成多个行
- 标头 Head :18个字节组成,标头中包含这个 桢 是由谁发送、发送给谁这些信息,所以标头主要是一些说明数据 例如发送者/接受者等信息
- 数据数据由46-1500个字符组成,主要包含发送者想要给接收者的东西
- 把一台计算机的数据通过物理层和数据链路层发送给另外一台计算机,怎么标识对方以及怎么知道对方的地址呢? 唯一标示MAC地址出现了
MAC地址
- 每一个进入网络的计算机,都会有网卡接口,每个卡片都有独特的地址,那是所谓的MAC地址,它是网络中每个计算机设备的唯一标识符,它是由48个字符组成的16位数字的一系列。每台计算机在制造商制造时都有标签.所以我们用MAC地址互相识别,对方的Mac地址是通过ARP协议知道的
广播
- 在同一子网中,我们经常称作局域网,计算机通过广播通信,即同一子网的所有计算机都发送数据包,而其他计算机则根据数据包中的接收机的MAC地址决定是否接收数据包
- A将同时发送数据包到B/C/D,该包包含接收机的MAC地址信息,当B/C/D接收数据包时,包中的MAC地址与包本身的MAC地址相比较。如果同样接收到这个包,否则,该包将被丢弃 ( 丢弃 ),这就是我们所说的广播
网络层
我们所处的网络,它由无数的子网络组成 ( 子网络 ),广播的时候,只有同一子网的计算机才能接收,因此,为了区分Mac地址是否属于同一个子网,假如是同一个子网,我们通过广播的方式互相传递数据,如果不是同一个子网,我们将把数据送到门口,让网关进行转发
怎么判断两台计算机是否在同一个子网中呢,这就是网络层干的事情,为了解决这个问题,就有了 IP协议 的概念
IP协议
IP协议所定义的地址,就是我们常说的 IP地址 ,IP协议 有两个版本,ipv4 / ipv6,地址范围在 0.0.0.0 ~ 255.255.255.255 。
- IP地址 分为两部分,前面一部分代表网络,后面一部分代表主机,但是网络部分和主机部分所占用的二级制位数是不固定的
- 如果两个计算机的网络部分是相同的,我们说这两个计算机属于同一个子网(本地网络),例如 192.168.17.1 和 192.168.17.2 ,如果两个IP地址的网络部分为24位,主机是8位,那么他们的网络部分都为 192.168.17 ,所以我们说这两个计算机是同一个子网
- 为了确定网络的占用量、主机的占用量,我们需要另外一个关键字,亚网加密
子网掩码
- 子网掩盖也是32位二进制数字, 和IP地址一样.但是它的网络部分提供了总共1,主机部分规定总数为0,也就是说,如果上述两个IP地址的网络部分是24位,如果主机是8位,那它们的子网掩码为11111111.11111111.11111111.00000000 ,也就是 255.255.255.0
- 把 IP地址 与它的子网掩码做一个 ( and ) 运算,然后把各自的结果进行比较就行了,如果比较的结果相同,则代表的是同一子网,否则不是同一子网
- 假设它们是同一个子网,当计算机A发送数据到计算机B时,我们通过ARP协议得到计算机的MAC地址
ARP协议
- ARP还采取广播形式,向同一子网中的每个计算机发送一个包,这个包将包含接收器的IP地址,另一方收到数据后,IP地址将与其本身相比较,同样会对对方的MAC地址作出回应,否则,把包裹扔掉,所以计算机A知道计算机B的MAC地址
- 在请求MAC地址的数据包中,填上对方的MAC地址这里有一个特殊的MAC地址,当另一台计算机看到这个特殊的MAC地址时,它知道广播请求而不是发送数据包
传输层
- 通过 物理层 / 数据链路层 以及 网络层 的互相协调,我们成功的把数据从计算机A传到了计算机B,可是计算机B里面有各式各样的应用程序,计算机是如何知道这个数据是发给哪个应用程序的呢?
- 端口就上场了,当计算机A发送到计算机B时,还得指定一个端口,接收和处理特定申请,端口范围:0~65535,以前的1,023个港口被系统使用,这意味着,传输层的功能是建立从端口到端口的通信,相反,网络层的功能是建立从主机到主机的通信
- 传输层中的两个最常见的协议是TCP和UDP
Socket
- Socket,它是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作封装成几个简单的接口供应用层调用,从而实现进程在网络中的通信
应用层
- 应用程序层是最接触的用户,在顶部的几个层上,我们收到了由传输层接收的数据,TCP/UDP协议可以传输各种程序的数据包,例如邮箱/网页/FTP等,因此需要不同的协议来确定数据的格式,一旦收到,你可以进行解释,应用程序层由这些协议组成,其数据包放在UDP/TCP数据包中
- HTTP协议、FTP协议用于文件传输、SMTP协议用于电子邮件、DNS协议用于域名分析、Telenet协议用于远程登录等都属于应用程序层
本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30970.html。