其他分享
首页 > 其他分享> > 【转载】太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

【转载】太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

作者:互联网

本文篇幅也比较长,先来一张思维导图,带大家过一遍。

 

一、 计算机网络体系结构分层

作者:iOSer
链接:https://zhuanlan.zhihu.com/p/147370653
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。

二、 TCP/IP 基础

1. TCP/IP 的具体含义

从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。他们与 TCP 或 IP 的关系紧密,是互联网必不可少的组成部分。TCP/IP 一词泛指这些协议,因此,有时也称 TCP/IP 为网际协议群。
互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。

 

 

2. 数据包

包、帧、数据包、段、消息
以上五个术语都用来表述数据的单位,大致区分如下:

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。

 

 

网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。包首部就像协议的脸。

3. 数据处理流程

下图以用户 a 向用户 b 发送邮件为例子:

 

 

三、传输层中的 TCP 和 UDP

TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。

1. 端口号

数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。

1.1 根据端口号识别应用

一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。

 

 

1.2 通过 IP 地址、端口号、协议号进行通信识别

 

 

 

 

1.3 端口号的确定

1.4 端口号与协议

2. UDP

3. TCP

3.1 三次握手(重点)

下面来看看三次握手的流程图:

 

 

3.2 四次挥手(重点)

下面来看看四次挥手的流程图:

 

 

上面是一方主动关闭,另一方被动关闭的情况,实际中还会出现同时发起主动关闭的情况,
具体流程如下图:

 

 

3.3 通过序列号与确认应答提高可靠性

 

 

3.4 重发超时的确定

3.5 以段为单位发送数据

3.6 利用窗口控制提高速度

 

3.7 滑动窗口控制

 

 

3.8 窗口控制中的重发控制

在使用窗口控制中, 出现丢包一般分为两种情况:

 

 

 

 

四、网络层中的 IP 协议

1. IP 地址

1.1 IP 地址概述

2828282810101100000101000000000100000001(2进制)10101100.00010100.00000001.00000001(2进制)172.20.1.1(10进制)

1.2 IP 地址由网络和主机两部分标识组成

 

 

 

 

1.3 IP 地址的分类

1.4 广播地址

1.5 IP 多播

 

1.6 子网掩码

IP 地址172.20.100.52子网掩码255.255.255.192网络地址172.20.100.0子网掩码255.255.255.192广播地址172.20.100.63子网掩码255.255.255.192

IP 地址172.20.100.52/ 26网络地址172.20.100.0/ 26广播地址172.20.100.63/ 26

2. 路由

2.1 IP 地址与路由控制

 

 

3. IP 分包与组包

3.1 路径 MTU 发现

4. IPv6

4.1 IPv6 的特点

4.2 IPv6 中 IP 地址的标记方法

4.3 IPv6 地址的结构

未定义0000 ... 0000(128比特)::/ 128环回地址0000 ... 0001(128比特)::1 / 128唯一本地地址1111 110FC00:/ 7链路本地单播地址1111 1110 10FE80::/ 10多播地址1111 1111FF00::/ 8全局单播地址(其他)

4.4 全局单播地址

 

 

4.5 链路本地单播地址

 

 

4.6 唯一本地地址

 

 

4.7 IPv6 分段处理

4.8 IP 首部(暂略)

5. IP 协议相关技术

5.1 DNS

5.2 ARP

5.3 ICMP

5.4 DHCP

5.5 NAT

5.6 IP 隧道

 

 

标签:IP,明明白白,TCP,发送,地址,主机,端口号
来源: https://blog.csdn.net/qq_39900031/article/details/113595368