TCP/IP协议族

一、TCP/IP协议族体系结构

TCP/IP协议是一个四层协议系统,自底向下分别是数据链路层、网络层、传输层和应用层
每一层完成不同的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。

  1. 数据链路层(封装物理网络的电气细节)

    数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。
    不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供了一个统一的接口。
    两个常用协议:ARP/RARP协议:实现IP地址与物理地址的相互转换。

  2. 网络层(封装网络连接的细节)

    网络层实现数据包的选路与转发。
    网络层的任务:选择不同的中间结点(路由器),已确定两台主机之间的通信路径。
    网络层对上层协议隐藏了网络拓扑连接的细节,使得在传输层看来,通信的双方是直接相连的。
    两个常用协议:IP协议与ICMP协议
    IP协议:封装网络拓扑连接的细节。根据数据包的目的IP地址来决定如何投递它。(一跳一跳)--->数据包到达目的主机,或者发送失败而丢弃。
    ICMP协议:主要用于检测网络连接。(并非严格的网络层协议:使用同一层的IP协议提供服务)
    8位类型字段用于区分报文类型。两大类:一类差错报文:用来回应网络错误(目标不可达:类型值3 重定向:类型值5) 另一类查询报文:用于查询网络信息。ping程序:使用ICMP报文查看目标是否可到达。

  3. 传输层(封装端到端的逻辑通信)

    提供端到端的通信。(负责数据的收发,链路的超时重连)
    三个常用协议:TCP/UDP/SCTP
    TCP协议:为应用层提供可靠的,面向连接的和基于流的服务。
    使用超时重传,数据确认等方式来确保数据包被正确地发送至目的端。
    TCP协议通信的双方必须先建立TCP连接,并在内核中为该连接维持必要的数据结构,如连接的状态,读写缓冲区,以及诸多定时器等。
    UDP协议:为应用层提供不可靠的,无连接的基于数据报的服务。

  4. 应用层(负责处理应用程序的逻辑)

    前三层负责处理网络通信的细节,为保持稳定高效,在内核空间实现。而应用层为提高可移植性,在用户空间实现。(负责众多逻辑,如文件传输,名称查询和网络管理)
    ping应用程序:调试网络环境。
    应用层协议:telnet/OSPF/DNS
    telnet协议:远程登录协议
    DNS协议:机器域名到IP地址的转换

  5. 封装

    上层协议是如何使用下层协议提供的服务,即封装。

    1. 经过TCP封装后的数据为TCP报文段。TCP协议为通信双方维持一个连接(并且在内核中存储相关数据)。
      细节:发送方向TCP连接写入数据时,内核中的TCP模块首先将这些数据复制到与该连接对应的TCP内核缓冲区中。
    2. 经过IP封装后的数据为IP报文段。IP协议保证数据到目标地址。
    3. 数据链路层封装的数据为帧。MTU=1500B(字节)
全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务