首页 > 代码库 > 关于TCP/IP基础知识的梳理

关于TCP/IP基础知识的梳理

TCP/IP的架构是四层结构:自上而下分别为应用层、传输层、网际层、网络访问层。


/*数据的传输过程:数据从应用层向下传,每经过一层,使用一个协议,就在数据前增加一个报头,提供相应的功能。经过层层叠加报头后传输给接收方。接收方自下而上阅读报头解除封装,最终将数据传输给应用层的应用。就像生产流水线一样。*/


从网络访问层(Network Access Layer)说起:它提供接收方的地址。

首先,要传输数据前需要知道目标是谁,即对方的IP地址和mac地址(网卡物理地址)。在本层中,通过ARP(address resolution procotol,地址解析协议),我们可以知道IP对应的mac地址是什么,就等于找到了传输数据的目标。可以说,如果IP是一个人,那么mac地址就是他的***。


接着是网际层(Internet Layer):它提供定位地址的方式。

本层有IP(Internet Protocol,网际协议)和ICMP(Internet Control Message Protocol,网际消息控制协议)。IP在网络访问层和传输层之间传输数据、定位对方主机的IP地址。IP。它包含路由、网关、IP地址、数据报等概念。以送信为例:路由选择送信路径,网关充当邮局(中转站),IP地址是目的地(收信人)、数据报则代表信本身。IP包括数据包格式、网关。ICMP辅助IP,顾名思义,对于IP传输可能出现的问题进行控制。


然后是传输层(Transmission Layer):它提供传输的方式。

本层的主力是TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。 TCP和UDP都是在应用层和网际层之间传送数据,UDP适合传输比较小量的数据,效率较高;而TCP虽然相对麻烦,但是它采用的三段式握手更加安全可靠。 Ps:UDP像发短信,发出后不管对方知不知道;TCP像打电话,对方不接就无法沟通。IP通过协议号来选择传输层所要使用的协议。


最后是应用层(Application Layer):它提供传输的接收方。

本层区别于上三层,它所包含的Telnet、FTP、SMTP、HTTP、DNS等服务都是相对具体的。


以上是用传输过程来整理各层的功能的之间的关系。




有个问题:书上写,ICMP利用IP的传输能力来发送消息。

所以IP具有传输能力吗?

好吧突然想到这个问题好像挺傻的,它会将数据传输给传输层。。。

关于TCP/IP基础知识的梳理