五层网络协议小总结
理论五层模型
分为:
应用层,传输层,网络层,数据链路层,物理层
每一层都负责了一部分内容并给上一层打下基础
协议:每一层通过支持对应的协议来实现本层的功能,两个机器在同一层如果不支持相同的协议,就不能正常通信。
物理层
作用:实现传输比特信号,需要实现01模拟信号和其它信号之间的转换
物理实现:中继器,集线器
对应协议:网线,光纤等的接口类型,传输介质的速率标准等
流程:从模拟信号转为其它信号后,通过物理路径(引导/非引导)到线路终点再被转为模拟信号
其它注意点:复用技术(码分多址),X工通信
数据链路层
作用:实现帧的传输,对于上层数据的透明传输(对上层不可见),一定的差错检查。
物理实现:网卡(MAC地址),交换机
对应协议:PPP协议和以太网协议(实现封装成帧,透明传输和差错检查)
流程:对于一段链路,先将网络层下交的数据封装成MAC帧,通过对应的协议去传输帧,交换机维护了一张转发表
,在这里找到目的MAC地址后转发给对应的端口,然后交给物理层。如果是主机发送,则直接发给连接的交换机。
网络层
作用:实现IP数据报的传输,选择合适的路线传送数据。是非主机的设备的最高层
物理实现:路由器
对应协议:IP协议,以及它需要的ARP地址解析协议和在它之上的ICMP报文控制协议和IGMP组管理协议。
流程:对于传输层的数据,先转为对应的IP数据报,从上层得到的套接字中有目的IP地址,通过路由器中的路由选择协议(RIP,OSPF,BGP)更新自己的路由表
,通过路由表找到对应的IP地址,然后转发给对应的端口,转发前,通过ARP协议取IP对应的MAC地址,先将MAC帧中的源MAC地址改为这个端口的地址,将目的MAC地址转为下一跳设备的MAC地址。然后发给数据链路层
传输层
作用:向应用层提供服务,实现进程间的通信。复用和分用。可信传输,差错检查,流量控制,拥塞控制等
物理实现:主机
对应协议:TCP/UDP,一个是面向连接的,数据传输的单位是报文段,能够提供可靠的交付。 一个是无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。
流程:发送的情况:根据不同的协议要求,然后转为TCP/UDP头部信息。直接给下一层。如果是TCP会有三次交换数据请求连接等这种本层处理的事项。接收的情况:收到后拼接,然后向上发给应用层。
应用层
作用:实现需要的功能
物理实现:无
对应协议:很多,比如:DNS,http等
流程:对应不同实现有不同流程