TCP/IP四层模型

TCP/IP四层模型是一种网络协议体系结构,用于描述和组织计算机网络中的通信协议。它由四个层级组成,每个层级都提供了特定的功能和服务,以实现可靠的数据传输和网络通信。以下是对TCP/IP四层模型的简要介绍:

  1. 网络接口层(Network Interface Layer):
    网络接口层是TCP/IP模型的最底层,负责处理物理网络和数据链路层的细节。它定义了如何在物理媒介上进行数据传输,包括电缆类型、物理连接和数据编码等。该层的功能是将上层数据封装成数据帧并发送到物理网络中,或者接收并解析从物理网络中传入的数据帧。

  2. 网络层(Internet Layer):
    网络层是TCP/IP模型的第二层,它主要负责网络间的数据传输和路由选择。该层使用IP(Internet Protocol)协议来标识和寻址网络中的主机和路由器。它将数据分割成数据包,并通过路由选择算法将数据包传输到目标主机。网络层还处理数据包的分片、重组和路由转发等功能。

  3. 传输层(Transport Layer):
    传输层是TCP/IP模型的第三层,它提供端到端的数据传输和可靠性保证。在传输层,两个主机之间的通信被划分为两个主要协议:TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP提供可靠的、面向连接的数据传输,它通过序列号、确认和重传机制来保证数据的完整性和可靠性。UDP则提供无连接、不可靠的数据传输,适用于对实时性要求较高的应用。

  4. 应用层(Application Layer):
    应用层是TCP/IP模型的最顶层,它为用户提供了各种网络应用和服务。这些应用可以是Web浏览器、电子邮件、文件传输、远程登录等。应用层使用各种协议来实现特定的应用功能,例如HTTP(Hypertext Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)和FTP(File Transfer Protocol)等。

数据加工过程

当数据在TCP/IP四层模型中传输时,每一层都对数据进行特定的加工和处理。以下是每个层级中数据的详细加工过程的描述:

  1. 网络接口层:
    在网络接口层,数据被封装成数据帧。这包括以下步骤:

    • 将数据分割成适当大小的数据块,称为帧。
    • 添加数据帧的首部,其中包括目标物理地址(MAC地址)和源物理地址。
    • 添加额外的控制信息,如帧校验序列(FCS)用于错误检测。
  2. 网络层:
    在网络层,数据帧被解析并提取出数据包。这包括以下步骤:

    • 检查数据帧的首部,提取出目标IP地址和源IP地址。
    • 根据目标IP地址查找路由表,确定数据包的下一跳路由器或目标主机。
    • 添加网络层首部,包括源IP地址、目标IP地址和其他必要的字段,如生存时间(TTL)等。
  3. 传输层:
    在传输层,数据被划分为数据段(Segment)或用户数据报(Datagram),具体取决于使用的传输协议。对于TCP和UDP协议,加工过程如下:

    • TCP协议:
      • 将数据划分为适当大小的数据段。
      • 添加TCP首部,其中包括源端口号和目标端口号,用于标识应用程序的端口。
      • 为数据段分配序列号和确认号,用于数据段的排序和可靠性保证。
      • 设置控制标志,如SYN、ACK、FIN等,用于建立连接、确认和关闭连接。
      • 提供流量控制和拥塞控制,确保数据传输的效率和可靠性。
    • UDP协议:
      • 将数据划分为适当大小的用户数据报。
      • 添加UDP首部,其中包括源端口号和目标端口号。
      • 不提供可靠性保证,直接传递数据给网络层进行发送。
  4. 应用层:
    在应用层,数据被组织成特定的应用协议格式。这包括以下步骤:

    • 根据应用协议的要求,将数据组织成特定的数据结构或格式。
    • 添加应用层协议的首部,其中包括应用程序特定的控制信息和元数据。
    • 数据可能会被加密、压缩或编码,以提供安全性、节省带宽或满足特定的传输要求。

发送方是从高层到低层封装数据

接收方是从低层到高层解封装

详细的TCP头部详见上一篇

IP报文头

IP(Internet Protocol)报文是在网络层中使用的协议数据单元,用于在TCP/IP网络中传输数据。IP报文头部是IP报文的固定部分,包含了必要的字段和信息,用于标识和路由IP数据包。下面是IP报文头部的详细介绍:

  1. 版本(Version):
    该字段占4位,表示IP协议的版本号。目前广泛使用的版本是IPv4(版本号为4)和IPv6(版本号为6)。

  2. 首部长度(Header Length):
    该字段占4位,表示IP报文头部的长度,以32位字(4字节)为单位。由于IP报文头部长度可变,这个字段用于确定从开始到数据部分的字节数。

  3. 服务类型(Type of Service):
    该字段占8位,用于指定IP数据包的服务质量要求。其中的位可以用于指定数据包的优先级、延迟、吞吐量和可靠性要求。

  4. 总长度(Total Length):
    该字段占16位,表示整个IP数据包的总长度,包括IP报文头部和数据部分。以字节为单位,最大长度为65535字节。

  5. 标识(Identification):
    该字段占16位,用于在IP分片时对数据包进行标识和重组。当数据包被分片时,不同片段的标识字段将相同。

  6. 标志(Flags):
    该字段占3位,用于控制IP分片的行为。其中的位包括:

    • 第1位:保留位,必须设置为0。
    • 第2位:不分片标志(DF,Don't Fragment),如果设置为1,则数据包不能被分片。
    • 第3位:更多片段标志(MF,More Fragments),如果设置为1,则表示还有更多的数据包片段。这样接收端就知道还需要等待其他片段的到达,然后重组这些片段以恢复原始数据包。
  7. 片偏移(Fragment Offset):
    该字段占13位,用于指定数据包片段在原始数据包中的位置偏移量,以8字节为单位。它表示该片段相对于整个原始数据包的起始位置。

  8. 生存时间(Time to Live):
    该字段占8位,表示数据包在网络中的最大生存时间(跳数)。每经过一个路由器,该字段的值减1,当其值为0时,数据包将被丢弃。

  9. 协议(Protocol):
    该字段占8位,表示数据部分使用的上层协议,例如TCP(6)、UDP(17)、ICMP(1)等。这个字段决定了接收端如何解析数据部分。

  10. 头部校验和(Header Checksum):
    该字段占16位,用于检验IP报文头部的完整性,以保证在传输过程中没有发生错误。接收端使用校验和算法验证头部的完整性。

  11. 源IP地址(Source IP Address)和目标IP地址(Destination IP Address):
    每个地址字段占32位,分别表示发送方和接收方的IP地址。这些字段用于标识源和目标主机。

  12. 可选项(Options):
    可选项字段是可变长度的,用于在IP报文头部中提供额外的功能和控制选项。例如,路由选项、时间戳选项等。

---------------------------------------------------------------------------------------------------------------

明天预计发每一层详细协议例如ARP等

进度有点慢了 虽然马上要考试了 但还是要加油呀!

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值