物理层
是以比特流为单位传输数据,主要指一些物理网络传输介质,如光纤、双绞线等。物理层的设备有机械特性、过程特性、电气特性;
数据链路层
是以帧为单位传输数据,实现数据的可靠传输。封装网络层的数据包,设备有交换机。其功能有封装成帧、分片(标号(偏移量,序号))、传输验证(哈希算法,差错检验)等。
- 封装成帧:一段数据添加头部和尾部,构成完整的帧,加强物理层传输原始比特流的功能;
- 分片:当有大量数据需要传输而传输容量不足时,将数据分包成几部分进行传输;当来自多个源数据分包后传输要给他们标号,即设置偏移量主要为确保下一层收到的数据能恢复成完整状态;
- 传输验证:为保证数据的安全性,数据链路层要实现对数据的加密 (加密算法有hash),使其不被篡改,通过差错检验方法来保证数据的安完整性;
网络层
是以数据报为单位,负责数据包的路由选择和转发,它使用IP协议来实现网络的互联,实现了网络传输时的路由分配。
路由分配
是指根据一定的算法和规则,为数据包选择一条从源主机到目标主机的最佳传输路径的过程。确保数据包在网络中正确高效的传输到目的地址,当路由器接收到一个数据包时,使用目的IP地址在路由表中进行最长前缀匹配查询,以找到最佳下一跳IP地址,路由器将数据包转发到相应的下一跳IP地址和出接口。
传输层
负责提供端到端的通信服务。物理层、网络层、数据链路层已经可以实现数据的传输,但为了加快数据传输效率和数据可靠度提出了传输层。有两种典型的协议TCP、UDP。
TCP协议/UDP
应用层
识别数据、映射、完成特定网络应用,是与用户交互的一层,其功能有文件传输(FTP)、电子邮件收取(SMTP、POP3)、虚拟终端(HTTP)、查询、远程登录。
IP地址
存在于网际层,唯一标识主机或路由接口。其由网络号和主机号组成,网络号说明其来自哪个网段,主机号说明其所在主机,一台计算机有多个IP地址,但一个IP地址唯一标识一个主机。
MAC地址
存在于数据链路层,唯一标识网卡的网络接口。一台计算机有一个MAC地址,一个MAC地址唯一标识一台主机。
ARP协议
ARP协议是域名转换协议,通过IP地址找到主机对应的MAC地址,ARP请求采用广播的形式(广播:请求发送给多个列表内的所有主机),ARP响应采用单播形式(单播:确认数据由其唯一符合条件的主机发出),依此方法找到对应的MAC地址。
ARP通过IP地址找到主机对应的MAC地址过程
源主机首先在自己的ARP缓存表(本网段)中查找目的主机IP地址对应的MAC地址,若找到了,可以封装MAC帧发送给目的主机(实现MAC地址唯一标识一台目的主机);若没有找到,则以广播的形式向其他网段发送ARP请求,目的主机收到ARP请求后,将源主机的IP地址和MAC地址记录到自己的ARP缓存表,然后以单播的形式给源主机发送ARP响应(包含目的主机的IP和MAC),源主机收到ARP响应后,将目的主机的IP和MAC地址记录到自己的高速缓存表中,然后源主机就(能在自己的ARP缓存表中查找目的主机IP对应的MAC地址)可以封装MAC帧进发送给目的主机;各个主机发送IP地址是否相等的请求,如缓存表中有主机的IP地址与源主机相等,则以单播的形式给源主机响应,并将其IP地址和MAC都写入缓存表中,之后源主机寻找IP时直接检查ARP缓存表,若在ARP缓存表中未找到对应的MAC地址,则向其他网段广播。