TCP/IP四层模型是一种网络协议体系结构,用于描述和组织计算机网络中的通信协议。它由四个层级组成,每个层级都提供了特定的功能和服务,以实现可靠的数据传输和网络通信。以下是对TCP/IP四层模型的简要介绍:
-
网络接口层(Network Interface Layer):
网络接口层是TCP/IP模型的最底层,负责处理物理网络和数据链路层的细节。它定义了如何在物理媒介上进行数据传输,包括电缆类型、物理连接和数据编码等。该层的功能是将上层数据封装成数据帧并发送到物理网络中,或者接收并解析从物理网络中传入的数据帧。 -
网络层(Internet Layer):
网络层是TCP/IP模型的第二层,它主要负责网络间的数据传输和路由选择。该层使用IP(Internet Protocol)协议来标识和寻址网络中的主机和路由器。它将数据分割成数据包,并通过路由选择算法将数据包传输到目标主机。网络层还处理数据包的分片、重组和路由转发等功能。 -
传输层(Transport Layer):
传输层是TCP/IP模型的第三层,它提供端到端的数据传输和可靠性保证。在传输层,两个主机之间的通信被划分为两个主要协议:TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP提供可靠的、面向连接的数据传输,它通过序列号、确认和重传机制来保证数据的完整性和可靠性。UDP则提供无连接、不可靠的数据传输,适用于对实时性要求较高的应用。 -
应用层(Application Layer):
应用层是TCP/IP模型的最顶层,它为用户提供了各种网络应用和服务。这些应用可以是Web浏览器、电子邮件、文件传输、远程登录等。应用层使用各种协议来实现特定的应用功能,例如HTTP(Hypertext Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)和FTP(File Transfer Protocol)等。
数据加工过程
当数据在TCP/IP四层模型中传输时,每一层都对数据进行特定的加工和处理。以下是每个层级中数据的详细加工过程的描述:
-
网络接口层:
在网络接口层,数据被封装成数据帧。这包括以下步骤:- 将数据分割成适当大小的数据块,称为帧。
- 添加数据帧的首部,其中包括目标物理地址(MAC地址)和源物理地址。
- 添加额外的控制信息,如帧校验序列(FCS)用于错误检测。
-
网络层:
在网络层,数据帧被解析并提取出数据包。这包括以下步骤:- 检查数据帧的首部,提取出目标IP地址和源IP地址。
- 根据目标IP地址查找路由表,确定数据包的下一跳路由器或目标主机。
- 添加网络层首部,包括源IP地址、目标IP地址和其他必要的字段,如生存时间(TTL)等。
-
传输层:
在传输层,数据被划分为数据段(Segment)或用户数据报(Datagram),具体取决于使用的传输协议。对于TCP和UDP协议,加工过程如下:- TCP协议:
- 将数据划分为适当大小的数据段。
- 添加TCP首部,其中包括源端口号和目标端口号,用于标识应用程序的端口。
- 为数据段分配序列号和确认号,用于数据段的排序和可靠性保证。
- 设置控制标志,如SYN、ACK、FIN等,用于建立连接、确认和关闭连接。
- 提供流量控制和拥塞控制,确保数据传输的效率和可靠性。
- UDP协议:
- 将数据划分为适当大小的用户数据报。
- 添加UDP首部,其中包括源端口号和目标端口号。
- 不提供可靠性保证,直接传递数据给网络层进行发送。
- TCP协议:
-
应用层:
在应用层,数据被组织成特定的应用协议格式。这包括以下步骤:- 根据应用协议的要求,将数据组织成特定的数据结构或格式。
- 添加应用层协议的首部,其中包括应用程序特定的控制信息和元数据。
- 数据可能会被加密、压缩或编码,以提供安全性、节省带宽或满足特定的传输要求。
发送方是从高层到低层封装数据
接收方是从低层到高层解封装
详细的TCP头部详见上一篇
IP报文头
IP(Internet Protocol)报文是在网络层中使用的协议数据单元,用于在TCP/IP网络中传输数据。IP报文头部是IP报文的固定部分,包含了必要的字段和信息,用于标识和路由IP数据包。下面是IP报文头部的详细介绍:
-
版本(Version):
该字段占4位,表示IP协议的版本号。目前广泛使用的版本是IPv4(版本号为4)和IPv6(版本号为6)。 -
首部长度(Header Length):
该字段占4位,表示IP报文头部的长度,以32位字(4字节)为单位。由于IP报文头部长度可变,这个字段用于确定从开始到数据部分的字节数。 -
服务类型(Type of Service):
该字段占8位,用于指定IP数据包的服务质量要求。其中的位可以用于指定数据包的优先级、延迟、吞吐量和可靠性要求。 -
总长度(Total Length):
该字段占16位,表示整个IP数据包的总长度,包括IP报文头部和数据部分。以字节为单位,最大长度为65535字节。 -
标识(Identification):
该字段占16位,用于在IP分片时对数据包进行标识和重组。当数据包被分片时,不同片段的标识字段将相同。 -
标志(Flags):
该字段占3位,用于控制IP分片的行为。其中的位包括:- 第1位:保留位,必须设置为0。
- 第2位:不分片标志(DF,Don't Fragment),如果设置为1,则数据包不能被分片。
- 第3位:更多片段标志(MF,More Fragments),如果设置为1,则表示还有更多的数据包片段。这样接收端就知道还需要等待其他片段的到达,然后重组这些片段以恢复原始数据包。
-
片偏移(Fragment Offset):
该字段占13位,用于指定数据包片段在原始数据包中的位置偏移量,以8字节为单位。它表示该片段相对于整个原始数据包的起始位置。 -
生存时间(Time to Live):
该字段占8位,表示数据包在网络中的最大生存时间(跳数)。每经过一个路由器,该字段的值减1,当其值为0时,数据包将被丢弃。 -
协议(Protocol):
该字段占8位,表示数据部分使用的上层协议,例如TCP(6)、UDP(17)、ICMP(1)等。这个字段决定了接收端如何解析数据部分。 -
头部校验和(Header Checksum):
该字段占16位,用于检验IP报文头部的完整性,以保证在传输过程中没有发生错误。接收端使用校验和算法验证头部的完整性。 -
源IP地址(Source IP Address)和目标IP地址(Destination IP Address):
每个地址字段占32位,分别表示发送方和接收方的IP地址。这些字段用于标识源和目标主机。 -
可选项(Options):
可选项字段是可变长度的,用于在IP报文头部中提供额外的功能和控制选项。例如,路由选项、时间戳选项等。
---------------------------------------------------------------------------------------------------------------
明天预计发每一层详细协议例如ARP等
进度有点慢了 虽然马上要考试了 但还是要加油呀!