网络分层有分为七层的、五层的、四层的,今天我要记录的是五层分层方式。
五层分别是物理层、链接层、网络层、传输层、应用层。从下至上的分层方式,在计算机中越下面的层越靠近硬件越上面的层越接近用户
物理层:电脑连接起来的物理方式,有光缆、电缆、双绞线、无线电波等方式,负责传输0,1信号
链接层:确定0和1的分组方式。
链接层的以太网协议规定每组电信号构成一个数据包,称为“帧”,每个帧由标头(18字节)和数据包(64~1518字节)组成。标头主要是数据包的一些说明项,比如发送者、接收者、数据类型等。
每个电脑在连接网络时都必须有一个“网卡”接口,数据只是从一个网卡传到另一个网卡,而网卡的地址都是独一无二的称为“MAC地址”,以太网在传输数据包时把接收方信息存入在标头中,然后发送给同一子网的所有用户,它们自己提取标头的接收方判断是不是传给自己的内容,如果是就接收这个包,如果不是就丢弃,这样的传输包的方式成为广播。
链接层的的数据包只能在同一子网中传输,若果不在同一子网就无法传输,这个时候就引入了网络层。
网络层:区分不同的计算机是否属于同一子网络。
网络层的IP协议又给每一个电脑引入了一个新的地址称为“网络地址”,简称网址,32个二进制数组成,用十位数表述就是范围在(0.0.0.0~255.255.255.255)。
计算机的两个地址“MAC地址”与“网址”并没有什么实质的关系是随机分配组合在一起。
网址的前一部分代表网络,后一部分代表主机。所以两个不同的网址如果前一部分相同就表示在同一子网中,但问题又出现了,如何区分前一部分的长度,这是就引进了“子网掩码”的概念,它的形式和网址相同,网络地址全用1表示,主机部分全用0表示。
举个例子,172.16.254.1设它的网络部分是前24,主机是后8,那么它的子网掩码就是11111111.11111111.11111111.00000000写为十进制就是255.255.255.0
用两个计算机的IP地址和子网掩码分别进行AND运算,如果结果相同那就代表在同一个子网络中。
根据IP协议发送的数据称为IP数据包,IP数据包也是由标头和数据组成,然后把它们放入以太网的数据部分内。
如果两台主机不在同一子网络,就没有办法得到对方的MAC地址,只需把数据包发送给两个子网络连接处的“网关”。如果在同一个子网络就使用ARP协议
但在实际应用中我们的电脑可能是边聊天边浏览网页,这个时候接收的数据包该如何区分来自哪里?在传输层端口的引入替我们解决了这个问题,它把使用网卡的程序进行了编号,每个数据包都发到主机的特定端口,所以不同的程序就能取到自己需要的数据。根据UDP协议,把端口的数据放入IP数据部分,UDP协议虽然可以发送数据但无法验证数据是否发送成功,这就需要TCP协议虽然TCP协议比较复杂但它可以确认数据包是否遗失,如果遗失就重新发送数据包。
最后是应用层,传输层传递的数据又这不同的格式,应用层是直接面对用户为了统一格式就用不同的协议规定不同的格式,如:域名系统(DNS),文本传输协议(FTP),简单邮件协议(SMTP),超文本传输协议(HTTP),简单网络管理协议(SNMP),远程登录协议(TeInet)。