TCP/IP协议(族)精简 作者:马育民 • 2019-04-25 22:13 • 阅读:10273 # 网络协议 网络协议为计算机网络中进行 **数据交换** 而建立的 **规则**、**标准** 或 **约定** 比如下图中 **不同国家的人** 开会,如果都 **说自己的母语**,**对方都听不懂**,为了解决这一问题,开会前先制定好 **沟通协议**,都说 **英语**,就能够正常交流了 [![](http://www.malaoshi.top/upload/0/0/1EF2xOvGwlfR.jpg)](http://www.malaoshi.top/upload/0/0/1EF2xOvGwlfR.jpg) # 产生背景 在计算机早期,不同的硬件、不同的操作系统之间,要实现网络通信,有很多困难,为了解决这一问题,提出TCP/IP协议,支持TCP/IP协议的设备,就可以联网,与其他设备进行通信。 # TCP/IP协议族 TCP/IP协议 **不是** **TCP** 和 **IP** 这两个协议的合称,而是包含了 **很多协议**,如:TCP、UDP、IP、ARP等,所以称之为 **协议族** # TCP/IP协议分层 由于计算机和网络的 **复杂性**,TCP/IP协议参考了 **OSI七层模型**,根据实际情况划分 **四层** 每一层都依赖下一层的网络功能 [![](http://www.malaoshi.top/upload/0/0/1EF2RZqehjd8.png)](http://www.malaoshi.top/upload/0/0/1EF2RZqehjd8.png) **注意:** 我们平时使用的软件,如QQ、浏览器等,都是应用层的软件,协议一般都是 **自定义协议**,且都依赖下层的协议,如:TCP、UDP、IP等 ## OSI模型与TCP/IP协议 [![](http://www.malaoshi.top/upload/0/0/1EF2ZHSaHV6V.png)](http://www.malaoshi.top/upload/0/0/1EF2ZHSaHV6V.png) ## 第五层:应用层 为应用程序提供网络服务。应用层的协议是应用程序之间的规则,可以自定义 如:web服务器和浏览器之间采用http协议、ftp服务器和客户端之间采用ftp协议等。 我们自己开发程序,也可以自定义协议 ## 第四层:传输层(运输层) [![](https://www.malaoshi.top/upload/0/0/1EF3DUigS8qD.png)](https://www.malaoshi.top/upload/0/0/1EF3DUigS8qD.png) 实现 **不同计算机进程间 通信**。其功能包括: 1. 作为发送端,接收 **应用层** 的数据,将数据封装成 **数据段** (TCP或UDP),并交给 **网络层**。称之为 **多路复用**(multiplexing) 2. 作为接收端,接收 **网络层** 的数据,根据 **端口号** 将数据交给 **应用程序**。称之为 **多路分解**(demultiplexing) 这一层有两个重要协议: **TCP** 和 **UDP** 从 [TCP报头](https://www.malaoshi.top/show_1EF2YTFiWuhs.html "TCP报头")、[UDP报头](https://www.malaoshi.top/show_1EF2zeESQ2Z4.html "UDP报头") 可知,这一层需要 **端口号** ## 第三层:网络层 [![](https://www.malaoshi.top/upload/0/0/1EF3DV4ZUpMQ.png)](https://www.malaoshi.top/upload/0/0/1EF3DV4ZUpMQ.png) ##### 功能: 传输层的 **数据段** ,在网络层中,都要封装成 **IP数据包**,再交给链路层 - 路由 当电脑A中的QQ向电脑B中的QQ发送数据时,需要跨过多个路由器,有的路由器网络可能会不稳定,就需要时刻都对于每一个数据包给定 **最佳的路线** - 寻址 ARP地址解析过程,通过A的IP找到A的网卡MAC地址 ##### 特点: - 不可靠,数据包到达的顺序和发送的顺序 **可能不同** ,需要上层对数据包进行排序 - 无连接;(事先不建立会话); 从 [IP报头](https://www.malaoshi.top/show_1EF2boBn83hd.html "IP报头") 可知,这一层需要 **IP地址** ### IP协议 互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address) IP地址,相当于给电脑分配了门牌号,没有门牌号收不到快递 常见的IP地址分为IPv4与IPv6两大类 **注意:** 当传输层发送的数据长度大于MTU时,网络层将对数据进行分片 **IP数据包格式** http://www.malaoshi.top/show_1EF2boBn83hd.html ### 网络设备 路由器、三层交换机属于这一层 ## 第二层:链路层 功能如下: 1. 作为发送端,接收 **网络层** 的数据包 封装成 **数据帧**,并交给 **物理层** 2. 作为接收端,接收 **物理层** 的 bit流 并封装成 **数据帧**,并交给 **网络层** 从 [数据帧](https://www.malaoshi.top/show_1EF2y69WXq6Y.html "数据帧") 可知,这一层用到 **MAC地址** ### 数据帧格式 http://www.malaoshi.top/show_1EF2y69WXq6Y.html ### 网络设备 二层交换机就属于这一层 #### MAC地址见 mac地址是网卡的物理地址,不可更改 https://baike.baidu.com/item/MAC%E5%9C%B0%E5%9D%80/1254181?fr=aladdin ### MTU 参加http://www.malaoshi.top/show_1EF2VJuYjPgR.html ## 第一层:物理层 位于链路层之下,也是最底层,数据单位是比特 功能:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输 介质包括:各种线缆、光纤、无线信道等 感谢: https://blog.csdn.net/hanzhen7541/article/details/79030748 https://blog.csdn.net/qq_31759205/article/details/80622594 https://blog.csdn.net/hanzhen7541/article/details/79071615 原文出处:http://malaoshi.top/show_1EF3DV1SJUlN.html