TCP/IP 模型的每一层都必须完成哪些步骤才能连接一个网站?
TCP/IP 模型的每一层都必须完成哪些步骤才能连接一个网站?
网络工程
ip
tcp
网络
联网
奥西
2022-02-22 14:15:12
1个回答
网络层使用抽象和封装。较低层封装较高层。
- 应用层可以有自己的协议,例如 HTTP。HTTP 与目标设备上的 HTTP 通信,它是一种传输应用程序数据 (HTML) 的协议。
- 传输层(第 4 层)封装应用程序数据报,并与目标设备上的相同传输层协议进行通信。一些传输协议有保证并为可靠性创建连接,例如 TCP(段),但有些是无连接的,没有保证,例如 UDP(数据报)。该层的目的是将应用程序数据从一个应用程序获取到另一个应用程序。一些传输协议使用寻址(端口)来实现这一点,而另一些则使用其他协议,或者根本不使用。
- 网络层将传输协议数据报封装成数据包,并与目标设备网络协议进行通信。该层的目的是将数据包从一个网络上的设备获取到另一个网络上的设备。路由器使用数据包标头中的寻址信息来完成此操作(IPv4、IPX、IPv6、AppleTalk 等地址)。
- 数据链路层将网络数据包封装成帧,与同一网络上的设备的数据链路进行通信。这一层的目的是将帧传送到同一网络上的另一个设备(PC 打印机、路由器等)。一些数据链路协议使用寻址(IEEE 协议使用 MAC 寻址,48 位或 64 位 MAC 地址),一些使用其他寻址(帧中继使用 DLCI,ATM 使用 VPI/VCI 等),还有一些不使用寻址(PPP 只有两个设备,所以不需要寻址)。当封装的数据包在到达目标设备的途中从一个网络发送到另一个网络时,协议可能会发生变化。路由器在将数据包从一个网络转发到另一个网络时剥离帧并丢弃它,创建一个新帧来封装新网络的数据包。
- 物理层(第 1 层)将数据链路层(第 2 层)的帧转换为“线上的位”。
目标设备执行与上述相反的操作,将应用程序数据传送到目标应用程序。
由于每一层都有抽象和封装,你可以在不同的层混合和匹配不同的协议。例如,以太网可以承载任意数量的网络协议(IPv4、IPX、IPv6、AppleTalk 等),而无需知道或关心以太网帧的有效负载中的内容。相反,IP 不知道也不关心承载它的数据链路协议(以太网、Wi-Fi、令牌环、PPP、帧中继等)。
您的 Web 浏览器使用 HTTP 在它和 Web 服务器之间传递数据 (HTML)。HTTP 使用 TCP 将其传输到 Web 服务器。Web 浏览器将请求 TCP 为其分配一个 TCP 地址(端口)。Web 服务器可能使用众所周知的 TCP 端口 80 进行 HTTP,并且 TCP 会将来自应用程序的数据流分段为 TCP 分段(不要将这与 IPv4 分段混淆)。TCP 将在 Web 服务器的操作系统上创建与 TCP 的连接,并且 TCP 保证段将到达,并且呈现给目标应用程序的数据将完整且有序。
TCP 理论上可以使用任何网络层协议,但实际上它只使用 IPv4 或 IPv6。IP 将 TCP 段封装成 IP 数据包。
IP 将使用发送数据包的接口的数据链路协议。在 PC 上,这很可能是以太网或 Wi-Fi,但也可以是 PPP 之类的其他东西。数据链路协议将数据包封装成数据链路协议的帧。每个数据链路协议都有不同的帧格式。如果目标设备在同一网络上,则帧将被寻址并直接传送到目标。如果目标位于不同的网络上,则帧将被寻址并传送到源操作系统中配置的网关(路由器)。
接口将对帧中的比特进行编码,并在接口的介质上发送信号。
其它你可能感兴趣的问题