概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程 Linux--网络基础( 四 )

  • 数据链路层: 负责设备之间的数据帧的传送和识别 。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作 。有以太网、令牌环网, 无线LAN等标准 。交换机(Switch)工作在数据链路层 。
  • 网络层: 负责地址管理和路由选择 。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由) 。路由器(Router)工作在网路层 。
  • 传输层: 负责两台主机之间的数据传输 。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机 。
  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等 。
  • 图解:
    概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程 Linux--网络基础

    文章插图
    数据通信的本质就是两个协议栈之间进行通信
    总结:
    • 应用层解决的传输数据的目的,根据特定的通信目的,进行数据分析与处理,达到某种业务性的目的
    • 传输层和网络层处理数据传输遇到的问题,保证数据的可靠性
    • 数据链路层和物理层负责数据真正发送的过程,完成以太网和局域网的通信
    • 下三层处理的是通信细节,应用层处理的是业务细节
    一般而言
    • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容
    • 对于一台路由器,它实现了从网络层到物理层(有些可到应用层)
    • 对于一台交换机,它实现了从数据链路层到物理层
    • 对于集线器,它只实现了物理层
    • 但是并不绝对,很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发)
    每一层都有对应的协议:
    • 应用层协议:
      • FTP 文件传输协议
      • HTTP 超文本传输协议
      • NFS 网络文件系统
    • 传输层协议:
      • TCP 传输控制协议
      • UDP 用户数据报协议
    • 网络层协议:
      • IP 因特网互联协议
      • ICMP 因特网控制报文协议 ping
      • IGMP 因特网组管理协议
    • 链路层协议:
      • ARP 地址解析协议,通过ip找mac地址
      • RARP 反向地址解析协议,通过mac找ip
    网络传输的基本流程
    • 不同的协议层对数据包有不同的称谓,在传输层叫做数据段(segment),在网络层叫做数据报 (datagram),在链路层叫做数据帧(frame),应用层叫做请求和响应

    概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程 Linux--网络基础

    文章插图
    • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation) 。首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息

    概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程 Linux--网络基础

    文章插图
    因每一层的传输数据单元不同,所以需要封装报文头部,以此使下一层能够看懂识别 。传输层:传输层有TCP/IP两个协议,TCP(传输控制协议)和UDP(用户数据报协议) 。TCP协议传输更加稳定可靠,UDP协议传输效率更高 。所以,上层数据到达传输层后需要封装TCP头部或者UDP头部 。网络层:同理,上层数据到达这里需要封装IP头部 。TCP/IP定义了网络互联协议(IP)(英文是Iternet Protocol) 。而IP又由四个支撑协议组成:ARP(地址解析协议),RARP(逆地址解析协议),ICMP(网际控制报文协议)和IGMP(网际组管理协议) 。数据链路层:同理,上层数据到此需要封装MAC头部 。物理层:到达物理层就直接由计算机通过信号接收了 。

    经验总结扩展阅读