![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TCP/IP 详解
文章平均质量分 85
逆风微积分
目前从事Android系统框架层开发工作
展开
-
《网络协议》路由协议
在互联网中,网络结构是相当复杂的(存在复杂的局域网或广域网),若想要将数据包从一个主机成功发送到目的主机,则需要合理的路由将数据转发最终发送到目的主机。而要使路由能够正确的工作,需要路由控制模块和相关的路由协议来支持路由的工作。原创 2014-11-26 17:03:01 · 2301 阅读 · 0 评论 -
《网络协议》TCP 的成块数据流
在前面的文章中《TCP 的交互数据流》我们可以知道,TCP 的成块数据流是在要求传输效率较高的情况下使用,例如 FTP。对于这些要求传输 TCP 最长报文段的应用,TCP 协议采用了滑动窗口协议,使发送端在等待确认前可以连续发送多个分组。 一般来说,发送端发送一个 TCP 数据报,则接收端就应该发送一个 ACK 数据报。但在实际应用中却并非如此,而是发送端将连续发送数据报保存在接受端的缓冲区中,并且尽量使其填满,接受端对这些连续发送的数据报只发送一个 ACK 报文应答,这就是 ACK 的累积原创 2014-12-09 11:11:21 · 2202 阅读 · 0 评论 -
《网络协议》UDP 协议
UDP 是无连接、不可靠的数据报传输层协议,为应用程序发送和接收数据报,只是将数据报的分组从一台主机发送到另一台主机,但并不保证数据报能够到达另一端,任何必须的可靠性都由应用程序提供。在 UDP 情况下,虽然可以确保发送消息的大小,却不能保证消息一定会达到目的端。没有超时和重传功能,当 UDP 数据封装到 IP 数据报传输时,如果丢失,会发送一个 ICMP 差错报文给源主机。 即使出现网络阻塞情况,UDP 也无法进行流量控制。此外,传输途中即使出现丢包,UDP 也不负责重发,甚至当出现包的到原创 2014-11-27 21:43:55 · 2084 阅读 · 0 评论 -
《网络协议》TCP 四种定时器
TCP 是提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据。但是数据和确认都可能会丢失。TCP 通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据。关键在于超时和重传策略,即怎样决定超时的时间间隔和如何确定重传的频率。 对于每个连接,TCP 管理着四个不同的定时器:重传定时器、坚持定时器、保活定时器 以及 2MSL 定时器。原创 2014-12-09 15:52:19 · 1938 阅读 · 0 评论 -
《网络协议》TCP 的交互数据流
TCP 报文段所携带的应用程序数据按照长度分为两种:交互数据和成块数据。交互数据仅包含很少的字节。使用交互数据的应用程序(或协议)对实时性要求高,比如 Telnet、ssh 等。成块数据的长度则通常为 TCP 报文段允许的最大数据长度。使用成块数据的应用程序(或协议)对传输效率要求高,比如 FTP。原创 2014-11-30 20:54:13 · 2232 阅读 · 2 评论 -
《网络协议》HTTP 协议
超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息。原创 2015-01-26 11:08:47 · 3072 阅读 · 2 评论 -
《网络协议》TCP 拥塞控制
TCP 拥塞控制主要有几种:慢启动、拥塞避免、快重传 以及 快恢复。原创 2014-12-09 16:29:19 · 2485 阅读 · 0 评论 -
《网络协议》ARP 协议和 RARP 协议
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的 MAC 地址(硬件地址)。而在 TCP/IP 协议中,网络层和传输层只关心目标主机的 IP 地址。这就导致在以太网中使用 IP 协议时,数据链路层的以太网协议接到上层 IP 协议提供的数据中,只包含目的主机的 IP 地址。 ARP 是一种地址解析协议,是一个位于 TCP/IP 协议栈中低层的协议,主要是负责将 IP 地址解析为对应的 MAC 地址。ARP 协议只适用于局域网。另外,当发送主机和目的主机不在同一个局域网原创 2014-11-25 10:02:10 · 2420 阅读 · 0 评论 -
《网络协议》数据链路层
本文针对数据链路层的基本概念进行学习,总结了数据链路层的基本结构,使我们对其进行了解并使用它。原创 2014-11-24 16:30:42 · 2146 阅读 · 0 评论 -
《网络协议》IP 分片与 TCP 分段
采用 TCP 协议进行数据传输是不会造成 IP 分片的,因为一旦 TCP 数据超过了 MSS,则在传输层会对 TCP 数据包进行分段,自然到了 IP 层的数据报肯定不会超过 MTU,所以就不用分片了。而对于 UDP 数据报,如果 UDP 组成的 IP 数据报长度超过了 MTU,那么 IP 数据报显然就要进行分片,因为 UDP 不能像 TCP 一样自己进行分段。传输层中的 TCP 会分段,网络层中的 IP 会分片。IP 层的分片更多的是为运输层的 UDP 服务的,由于 TCP 自己会避免 IP 的分片,所以使原创 2014-11-27 19:15:13 · 2551 阅读 · 0 评论 -
《网络协议》TCP 协议
TCP 和 UDP 都使用相同的网络层 IP,但是与 UDP 不同的是,TCP 是面向连接的、可靠的字节流协议。因此,在传输数据之前通信双方必须建立一个 TCP 连接。TCP 通过检验和、序列号、确认应答、重发机制、连接管理以及窗口控制等机制实现可靠性传输。原创 2014-11-29 10:42:26 · 3137 阅读 · 0 评论 -
《网络协议》TCP/IP 基本概述
本文是对TCP/IP 协议的初步认识,描述了 TCP/IP 的基本结构和基本概念。原创 2014-11-24 08:23:49 · 3960 阅读 · 0 评论 -
《网络协议》端到端与点到点通信
本文介绍了端到端与点到点之间的概念和区别。数据传输的可靠性是通过数据链路层和网络层的点对点和传输层的端对端保证的。端到端与点到点是针对网络中传输的两端设备间的关系而言的。原创 2014-11-24 09:37:04 · 4433 阅读 · 0 评论 -
《网络协议》TCP 与 UDP 协议基本概述
传输层主要功能为两台主机上的应用程序提供端到端的通信,通过端口号识别两台主机上相对应程序之间进行通信。传输层中最主要的两个协议就是 TCP 和 UDP,可以根据 IP 首部的协议字段来识别传输数据的协议类型。原创 2014-11-27 09:54:17 · 3073 阅读 · 0 评论 -
《网络协议》IP 网际协议
IP 是 TCP/IP 协议族中最为核心的协议。所有的 TCP、UDP、ICMP 和 IGMP 数据都是以 IP 数据报格式传输。IP 协议处于网络层,网络层主要是实现点对点的通信。IP 协议是一种不可靠、无连接的协议。不可靠即不能保证 IP 数据报能够成功到达目的端,在传输过程中发生某种错误时,IP 协议会丢弃数据报,然后发送 ICMP 消息给信源端,其他任何要求的可靠性必须由上层来提供。无连接即 IP 协议并不维护任何关于后续数据报的状态信息,每个数据报都是相互独立的。因此,IP 数据报可以不按顺序接收原创 2014-11-24 21:18:02 · 2305 阅读 · 0 评论 -
《网络协议》ICMP 协议
CMP 经常被认为是 IP 层的一个组成部分,它传递差错报文以及其他需要注意的信息。ICMP 报文通常被 IP 层或更高层协议(TCP 或 UDP)使用。ICMP 报文是在 IP 数据报内部传输的。IP 协议是不可靠协议,不能保证 IP 数据报能够成功的到达目的主机,无法进行差错控制,而 ICMP 协议能够协助 IP 协议完成这些功能。原创 2014-11-26 10:34:35 · 2716 阅读 · 0 评论 -
《网络协议》图解 TCP 连接建立与释放
TCP 是面向连接的、可靠的字节流协议。因此,在传输数据之前通信双方必须建立一个 TCP 连接,建立 TCP 连接需要在服务器和客户端之间进行三次握手。通信双方数据传输完毕之后进行连接释放,释放连接需要在通信双方之间进行四次挥手。原创 2014-11-30 16:36:23 · 4102 阅读 · 5 评论