上一篇文章:计算器网络(一)- 发展史以及OSI参考模型
1、概述
TCP协议是由 罗伯特.卡恩 和 文顿.顿瑟夫 提出的。相比于OSI七层模型的概念, 他们直接给出了一份可执行方案。
早期的TCP协议就是包含IP协议的, 后期为了解耦将两层协议分开了, 这就有后现在的TCP/IP协议
-
TCP (Transmission Control Protocol)
传输控制协议- 是一种面向连接的、可靠的、基于字节流的
传输层
通信协议。
- 是一种面向连接的、可靠的、基于字节流的
-
IP(Internet Protocol)
网络互连协议- 是
TCP/IP
体系中的网络层
协议 - 设计IP协议的的目的是提高网络的可扩展性
- 1、解决互联网问题, 实现大规模、异构网络的互联互通。
- 2、分割顶层网络应用和底层网络技术的耦合关系。
- 3、根据端到端的设计原则,IP只是为主机提供一种 无连接、不可靠的、尽力而为的数据包传输服务。
- 是
-
TCP/IP
协议群,是基于TCP
协议 和IP
协议组成的一组协议的代名词。包括许多别的协议,一起组成了TCP/IP协议群。
-
以上的协议群的各个协议他们有各自的相同点和不同点, 但是不管什么协议, 究其根本, 他们的产生都会有五件事情组成:
- 报文拆分
- 在数据传输过程中,往往会有一些数据量非常大的数据, 此时网络底层设备不支持, 因此需要将大数据量的数据拆分成一个一个小的数据传输。
- 路径复用,在数据传输的过程中,大数据拆分成一个个小数据后, 会根据路由算法复用一些传输效率高的路径。
-
增加协议头
- 数据分块后,在接收端需要重组, 所以要使用协议头来添加一些描述性字段
-
数据在相邻设备之间传输
-
路由寻址
- 路由寻址, 是通过路由算法来实现寻找到下一届要到达的节点的
-
数据重组
- 数据封包的一个个数据包在送达目的地后,要根据协议头进行重组。
- 报文拆分
2、TCP/IP协议的模型
- 应用层:他是数据从一个应用发往另外一个应用的过程
- 比如说:HTTP协议, 我们思考的就是如何把一条数据从浏览器发往web服务器。
- 再贴近现实一点,比如说 QQ、微信, 着力于思考的是将一个用户发送的信息发送到指定的用户
- 这层协议不关系某台机器、也不关心网络细节,所以其实应用层发出的报文,是利用下面的一层传输层去传输的。
- 传输层:他是实现 主机到主机之间的传输过程的
- 在这层会去做一个报文的拆分和数据的重组
- 比如 客户端向服务端发送数据, 那么在传输层就要涉及到发送端要做报文的拆分, 数据的接收方即服务器呢就要做报文的重组
- 如果是TCP协议的话, 你还要在每个报文上打上一个TCP的头。具体会在后面介绍
- 网络层: 它主要是提供路由和寻址的
- 从传输层到网络层的过程中TCP/IP协议的报文中会再增加一次头, 叫IP头,用来标识IP协议的报文。
- 比如说TCP/IP传输过程中, 传输层支持4K一个的数据包、此时网络层支持1K的数据包。那么他需要拆分成 5片去传输, 之所以是5片, 而不是4片, 是因为在网络传输层还需要增加传输层的协议头,所以会多占用一些数据 ,所以加起来的话, 如果分成四片的话, 每片封包的大小就会大于1K, 所以就不行了,需要拆分成5片去传输。
- 数据链路层:解决两个节点之间的物理连接
- 例如 ARP协议
- 物理层:负责0-1信号的传输
3、TCP/IP 的五层模型 和 OSI的七层模型的比较
- 删除了会话层,会话是虚拟的概念,不是必须的。会话层其实可以交个下面的传输层管理,也可以交给上面的应用层管理
- 删除了表示层,数据压缩、数据格式转换不是应用必须的。
- ping的例子告诉我,其实 ping 的一个数据包发出去, 我们只是想知道网络延迟,这种情况下呢, 我们就不需要压缩数据,另外我们也不需要两边之间建立连接进行通信, 所以我们也不需要会话层。
4、TCP/IP协议群有哪些协议
- 应用层: HTTP协议、FTP协议、SMTP协议等
- 传输层:TCP协议、UDP协议、TLS/SSL、SCTP等
- 网络层:IP协议(ipv4 和 ipv6)、ICMP(
Internet Control Message Protecol
)互联网控消息制协议、IPSec协议(IP安全协议) - 其他层协议...
下一篇文章:计算机网络(三)- TCP协议详解