找回密码
 立即注册
搜索
查看: 287|回复: 0

深入解析TCP/IP协议:网络层IP与传输层TCP的基础知识与应用

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
64134
发表于 2025-1-7 10:41:43 | 显示全部楼层 |阅读模式
计算机基础知识点总结

7.TCP/IP协议

TCP/IP协议是最基本的协议,也是国际互联网的基础。它由网络层的IP协议和传输层的TCP协议组成。通俗地说:TCP负责发现传输问题,出现问题时发送信号,并要求重传,直到所有数据安全正确地传输到目的地。 IP 为  上的每个网络设备分配一个地址。

IP层接收下层(网络接口层如以太网设备驱动程序)发送的数据包,并将数据包发送给高层---TCP或UDP层;反之,IP层也将TCP或UDP层收到的数据包发送给下层。 IP 数据包不可靠,因为 IP 不会执行任何操作来确认数据包是否按顺序发送或未损坏。 IP数据包包含发送它的主机的地址(源地址)和接收它的主机。地址(目的地址)。

TCP是一种面向连接的通信协议。连接是通过三次握手建立的。通信完成后,必须删除连接。由于TCP是面向连接的,因此它只能用于端到端的通信。 TCP提供可靠的数据流服务,采用“肯定确认加重传”技术来实现传输的可靠性。 TCP还使用一种称为“滑动窗口”的方法进行流量控制。所谓窗口,实际上代表的是接收能力,限制发送方的发送速度。

TCP连接建立过程:首先,端点发送连接请求消息。接受连接后,端点回复 ACK 消息并为此连接分配资源。端收到ACK消息后,也向该段发送ACK消息并分配资源,从而建立TCP连接。

TCP连接断开流程:假设本端发起连接中断请求,即发送FIN报文。终端收到FIN报文后,表示“我没有数据要发送给你”。不过,如果还有数据要发送,则不必急于关闭,可以继续发送数据。所以你先发送ACK,“告诉客户端我已经收到你的请求,但是我还没有准备好,请继续等待我的消息”。此时终端进入该状态,继续等待终端的FIN报文。当一端确定数据已经发送完毕后,就向一端发送FIN报文,“告诉一端,好吧,我的数据已经发送完毕,我准备关闭连接了”。终端收到FIN报文后,“它知道可以关闭连接,但它仍然不信任网络,害怕终端不知道要关闭它,所以进入发送ACK后的状态。如果终端没有收到ACK,可以重传。”一端收到ACK后,就“知道可以断开连接了”。如果客户端等待2MSL后仍然没有收到回复,则证明客户端已经正常关闭。好吧,我们的客户端也可以关闭连接。好了,TCP连接就这样关闭了!

为什么要挥手三遍?

在只有两次“握手”的情况下,假设要与客户端建立连接,但连接请求的数据报中途丢失,客户端不得不重新发送;此时,客户端只收到一次连接请求,因此可以正常建立连接。但有时端重发请求并不是因为数据报丢失,而是因为网络并发量较大,数据传输过程可能在某个节点被阻塞。这样的话,端会陆续收到两个请求并继续。等待两个请求发送数据给他……问题就在这里。客户端实际上只有1个请求,但是客户端有2个响应。极端情况下,客户端可能会多次重发请求数据,导致客户端最终建立N多个响应等待,造成资源的巨大浪费!所以,“三次握手”是必要的!

为什么要挥手四次?



试想一下,如果你现在是客户端,如果你想断开所有连接该怎么办?第一步是自己停止向客户端发送数据并等待回复。但事情还没有结束。虽然你不再发送数据,但因为之前你们已经建立了平等连接,所以此时他也有主动向你发送数据;因此,该端必须停止主动向你发送数据。并等待您的确认。其实说白了,就是保证双方一份合同的完整执行!

使用TCP的协议:FTP(文件传输协议)、(远程登录协议)、SMTP(简单邮件传输协议)、POP3(与SMTP相反,用于接收邮件)、HTTP协议等。

8.UDP协议

UDP 用户数据报协议是一种无连接通信协议。 UDP数据包括目的端口号和源端口号信息。由于通信不需要连接,因此可以实现广播传输。 UDP 通信不需要接收方确认。这是一种不可靠的传输,可能会发生丢包。在实际应用中,需要程序员进行编程和验证。

UDP 与 TCP 位于同一层,但它不关心数据包的顺序、错误或重传。因此,UDP 不应用于使用虚电路的面向连接的服务。 UDP主要用于面向查询-响应的服务,例如NFS。与 FTP 或 FTP 相比,这些服务需要交换的信息量较少。

每个UDP报文分为两部分:UDP报头和UDP数据区。报文头由4个16位长(2字节)字段组成,分别描述报文的源端口、目的端口、报文长度和校验值。 UDP报头由4个字段组成,每个字段占用2个字节,如下:

(1)源端口号;

(2)目标端口号;

(3) 数据报长度;

(4) 检查值。



使用的UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS和BOOTP。

TCP和UDP的区别: TCP是面向连接的、可靠的字节流服务; UDP 是一种无连接、不可靠的数据报服务。

9.DNS协议

DNS 是域名系统( Name )的缩写,用于命名组织成域层次结构的计算机和网络服务。可以简单理解为将URL转换成IP地址。域名由一串用点分隔的单词或缩写组成。每个域名对应一个唯一的IP地址。域名和IP地址是一一对应的。 DNS是执行域名解析的服务器。 DNS 命名用于 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。

10.NAT协议

NAT 网络地址转换 (NAT) 是一种接入广域网 (WAN) 技术。它是一种将私有(保留)地址转换为合法IP地址的转换技术。广泛应用于各种类型的接入方式和各种类型的网络。中间。原因很简单。 NAT不仅完美解决了IP地址不足的问题,还可以有效避免来自网络外部的攻击,隐藏和保护网络内部的计算机。

11.DHCP协议

DHCP动态主机配置协议(Host)是一种使用UDP协议的LAN网络协议。它有两个主要用途:自动为内部网络或网络服务提供商分配IP地址,以及为用户或内部网络管理员分配IP地址作为所有计算机的代理。作为中央管理的手段。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【远见汇智】 ( 京ICP备20013102号-17 )

GMT+8, 2025-5-6 06:11 , Processed in 0.430886 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表