HomeAboutLinkArchivehi灯泡

TCP2

TCP

在最基本的形式中,两台计算机通过 LAN 电缆连接,在网络接口卡(每台计算机上都有的硬件)的帮助下共享数据,形成一个网络,通过有线或无线从一个地方向另一个地方发送消息的过程是 称为沟通。

该消息可以是文件,语音对话,流媒体视频或任何可以以数字形式传达的内容。这些消息不是作为一个整体发送的。

它们被分成小的数据单元。这些数据单元通过网络传输,在接收者处恢复为原始消息。

在 TCP/IP 协议族中,TCP 将消息分解为称为段的小数据单元,并将它们交给 IP,IP 负责通过网络将段到最终目的地。 接收器中的 TCP 模块将各个段组合起来形成原始消息。

请注意,TCP代表传输控制协议,IP代表互联网协议。


TCP的替代方案是 UDP。它代表用户数据报协议。主要区别在与 TCP高度可靠,但速度较慢,而 UDP 可靠性较差,但通常速度较快。


TCP和UDP都是协议套件的一部分。然而,由于严重依赖 TCP,并且由于历史原因,整套协议被称为 TCP/IP。


TCP/IP 是一种网络模型,皆在支持网络通信,即使计算机来自不同的制作商也是如此。还有一种网络模型称为 OSI 模型,开放系统互连参考模型。它主要用于研究。 TCP/IP 是为了满足最初互联网设计的需要而开发的实用模型。


TCP/IP由捆绑在不同层的众多协议组成。 1.最顶层是生成消息的应用程序层。 HTTP FTP DNS POP3(邮局协议版本3) 2.在传输层,在 TCP 协议中称为 TCP 段, 在 UDP 协议中被称为 UDP 数据报。 3.在网络层,称为 IP 数据包; 4.数据链路层的数据单元称为以太网帧;

底层--物理层

物理层是实际通信发生的地方。我们知道 0 和 1 的序列以数字方式表示消息。物理层将此二进制序列转换为信号并通过本地媒体传输。 如果本地芥质是 铜揽或 LAN 电缆,则信号可以是电信号; 如果是光纤,则可以是光信号;如果是空气/真空,则可以是无线电信号。

因此,物理层生成的信号,取决于用于连接两个设备的媒体类型。


物理层最常用的协议是以太网。该协议还指定了可用于数据传输的电缆类型。 如果使用的协议是以太网,则可以使用 双绞线,同轴电缆或光钎电缆进行数据传输。

数据链路层

数据链路层中的数据单元称为以太网帧。数据链路层分为两个子层:

  • 媒体访问控制或MAC子层,以及-逻辑链路控制或 LLC 子层。 MAC 子层负责 数据封装,以及访问媒体。在数据封装中 MAC 子层向网络层接收到的 IP 数据包添加标头和尾部。 标头包含发送者和接收者的 MAC 地址。尾部包含 4 个字节的错误检查数据,用于检查接收到的以太网帧中的错误。

MAC子层

MAC地址是由制造商嵌入设备 NIC 中的唯一 6字节地址,为了访问媒体 以太网 使用的访问方法称为载波侦听多路访问/冲突检测或 CSMA/CD,在这种方法中,每台计算机在通过网络发送数据之前都会侦听电缆,如果网络畅通,计算机将进行传输。如果第一台计算机已在电缆上进行传输,则第二台计算机将等待,并在线路畅通时重试。 有时,两台计算机会尝试同时传输。发生这种情况时,就会发生碰撞。然后,每台计算机都会停在传输并等待一段时间,然后再尝试重新传输。使用这种方式发生碰撞是正常都。不过冲突和重传造成的延迟 小,通常不会影响网络传输速度。

LLC子层

它提供流量控制和错误控制。 流量控制是一种限制发送方可以发送的数据量而不会压垮接收方的技术。接收设备处理速度和存储传入数据的内存都有限。如果超出这些限制,传入的数据将会丢失。为了避免这种情况,接收方应通知发送方在满足这些限制之前降低传输速率。 在数据链路层,流量控制限制发送方可以发送的帧数,而不会让接收方不堪重负,数据链路层的差错控制主要指差错检测和重传。 错误检测是通过使用帧尾部添加的错误检查字节来完成的,帧尾部添加的错误检测字节来完成的。 帧重传是使用自动重复请求或 ARQ 完成的。接收到帧后,接收方会向发送方发送 ACK,当未收到 ACK 时,发送方会再次发送该帧。应此,如果帧丢失或损坏,则不会发送 ACK。结果,发送者再次发送该帧。此过程称为自动重复请求(ARQ)。 LLC 层还可以重新调整从网络层接收到的 IP 数据包的大小,以使其适合数据链路层帧。

传输层提供 LLC子层的大部分服务,包括流量控制,错误控制和数据包大小;因此 LLC 层的服务通常会被绕过。TCP/IP 协议栈的其余三层(网络层,传输层,应用层)在计算机操作系统中作为软件程序实现。 网络层开始 传输层将 TCP 段或 UDP 数据报传递到网络层。 网络层将逻辑地址或IP地址添加到 TCP 段或 UDP 数据报中,形成 IP 数据包,然后使用路由器将 IP数据包发送到其他网络。网络层还确定数据传输的最佳路径。

网络层的功能是:

  1. 逻辑寻址
  2. 路由
  3. 路径确定

IP 是该层的单一标准协议。TCP/IP 网络层也称为网际互联层或 IP 层。 逻辑寻址:网络中的每台计算机都有一个唯一的 IP 地址。网络层将发送者和接收者的 IP 地址分配给每个段或数据报以形成 IP 数据包。分配 IP 地址是为了确保每个 IP 数据包都能到达不同网络中的正确目的地。 路由是:一种将 IP 数据包从不同网络中的源移动到目的地的方法。 如果源计算机和目标计算机位与同一网络中,则不需要路由。 对于网络内的通信,任务通常很简单。 ARP 模块从 IP 数据包中获取目标 IP 地址,并返回目标计算机的 MAC 地址。然后它被用来创建一个以太网帧,该帧被直接传送到目的地,因为它不存在与同一网络中。不需要路由。 但是,当消息发送到网络外部的节点(例如互联网)时,网络层会通过路由器将消息从发送方移动到接收方。 值得注意的是通过路由器连接的两个网络。计算机 A 需要向计算机 B 发送数据。两台计算机位于不同的网络中。因此,在这种情况下,就需要路由。要创建以太网帧,我们需要目标计算机的 MAC 地址。 但是,在这种情况下,目标位于不同的网络中。因此,ARP 模块无法向我们提供目标的 MAC地址,因为只有计算机位于同一网络中时它才能提供 MAC 地址。

由于网络的中间设备是路由器,应此目标 MAC地址将保留为路由器的 MAC 地址,并且帧将发到路由器。路由器发现帧中的 MAC 地址与其地址相匹配,因此,它从帧中提前 IP 数据包并将其转发到网络层。

网络层发现目标 IP 地址不匹配。应此,它将 IP数据包发送到数据链路层,并用另外一台计算机的 MAC 地址更新目标 MAC地址。 但是路由器如果知道另外一台计算机的 MAC地址呢?使用 APR 模块。这是一个网络,APR模块在这里工作。最后以太网帧被传送到另外一台计算机。对于网络通信,目标 IP地址永远不会改变。但物理地址或MAC 地址会随着每一跳而改变。 应此,IP地址是在多个网络中间传输数据所必需的。 现在路径确定:计算机可以通过多种方式连接到互联网服务器或计算机。选择从源到目的地的数据传输的最佳路径称为 路径确定。 第3层设备使用 OSPF(开放最短路径优先),BGP(边界网关协议),IS-IS(中间系统到中间系统)等协议来确定数据传输的最佳路径。

由于路由发生在网络层或第3层,因此路由器和网关有时被称为第3层交换机。 IP 不可靠。它不保证交付,也不检测错误。这些任务是传输层的职责。 让我们开始讨论传输层在发送节点,传输层接收来自应用层的消息。 当消息到达传输层时,选择传输层协议之一,即 TCP 或 UDP。

TCP

TCP 支持分段。应此,如果消息很大,TCP 会将其分成更小的部分。并添加标头以形成 TCP段。 另一方面,UDP 不支持分段,因此使用 UDP 应用程序应发送足够短的消息以适合一个 UDP 数据报。 请注意,TCP 中的数据单元称为 TCP段,UDP 中的数据单元称为 UDP 数据报。

UDP 数据报被认为是不可靠的,因为无法保证发送的所有数据报都将在目的地以正确的顺序接收。应此,如果需要可靠性,则不应使用 UDP。UDP 缺乏错误检查和纠正。它使 UDP 对于 DNS,DHCP,SNMP 和 RIP 协议来说变得快速高效。

DNS:

DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。

DHCP:

DHCP 是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:

给内联网或网络服务供应商自动分配IP地址给用户 给内联网管理员作为对所有电脑作中央管理的手段

SNMP:

SNMP是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及Hubs等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP接收随机消息(及事件报告)网络管理系统获知网络出现问题。

RIP:

路由信息协议RIP(Routing Information Protocol)是基于距离矢量算法的路由协议,利用跳数来作为计量标准。在带宽、配置和管理方面要求较低,主要适合于规模较小的网络中。

UDP 也适用于流视频。当应用层调用 UDP,UDP 数据报发送到传输层。然后,UDP 从数据报中提取应用程序消息,并将其传递到应用程序层。另一方面, TCP 是可靠的,可以保证数据从发送方按顺序传送到接收方。 通过 TCP 的数据传输分为三个阶段:

  • 连接建立
  • 数据传输
  • 连接终止

在连接建立阶段,发送方 TCP 或客户端向接收方 TCP 或 服务器发送请求连接的数据包。然后,服务器向客户端发送确认。客户端进一步确认服务器。它完成了连接建立的过程。由于连接是在数据传输之前建立的,应此 TCP 是面向连接的协议。连接建立过程,称为 三向 TCP 连接握手。

建立连接后。下一阶段是数据传输。在数据传输过程中,TCP 提供了 UDP 不提供的一些关键功能,包括

  • 无差错数据传输

通过使用字段校验来提供无差错数据传输。 发件人计算并在此字段中输入一个值。在接收段,接收器执行相同的过程。并计算校验和值。如果它与校验和字段中的值不匹配。则该 TCP 段将被丢弃,并且不会向发送方发送 ACK。由于发送方没有收到对丢弃数据包的确认,应此会重新传输该数据包。

  • 有序数据传输 D TCP 在 TCP段中添加序列号,在接收端,TCP 模块使用序列号以正确的顺序重建应用程序消息。

  • 重传丢失的数据

为了实现可靠的数据传输,接收方 TCP 会针对其收到的每个 TCP 数据段向发送方 TCP 发送确认。如果未收到确认,则重新传输 TCP 段。

  • 丢弃重复数据包

应此,如果 TCP 分段丢失,接收方将不会向发送方发送 ACK 消息,结果,发送方 TCP 再次发送丢失的分段。丢弃重复段,TCP 客户端会重新传输,它确定丢失的数据包。但是,接收方 TCP 可能会收到在发送方重新传输数据段后被认为丢失的数据段。 因此,接收段将拥有同一段的两个或多个副本。在这种情况下每个段的 TCP 标头中的唯一序列号有助于确定重复的段,然后将其丢弃。

  • 拥塞限制

tcp 的目标是尽可能快地将数据段发送到接收端而不丢失它们。当 TCP 第一次发送数据段时,它会设置一个计时器。如果在定时器到期之前这些段被确认,TCP 会提高传输速度,直到这些段开始变得未被确认。由于某些段的 ACK,未在规定时间内收到,因此发送 TCP 模块会重新传输这些段。 当必须重新传输大量数据包时,TCP 会降低数据传输速率。通过这种方式,TCP 可以处理拥塞限制或流量控制。

数据传输的最后一个阶段是连接终止。 当端点希望停止其连接时,它会向另一个端点发送一条完成消息。另一端确认该消息。两端都进行两阶段握手过程,连接终止尊循四次握手过程。

TCP/IP 协议最顶层是应用程序层,应用程序层是由用户应用程序使用,这些应用程序将消息从一台计算机传递到另一台计算机。 例如,网络浏览器使用 HTTP,或 HTTPS。邮局协议(POP)简单邮件传输协议(SMTP)来传输电子邮件。

应用程序层提供了访问网络信息的机会

the end.