0


python爬虫基本功(三)--爬虫所需网络协议知识超详细总结(下)

开头

前言

大家好,这里是Kaiser👏。本文内容是衔接
👉python爬虫基本功(二)—爬虫所需网络协议知识超详细总结(上)👈
一文,为达更好的阅读效果,以及防止知识点出现“断层”,使阅读本文时一头雾水。请读者先读完(上),再阅读本文,学习效果更佳。


本文目录

✒️什么是TCP/IP参考模型

(上)文中我们已经讲过

OSI参考模型

,但随着互联网不断发展,一种更加符合工业事实标准的参考模型孕育而生:

TCP/IP参考模型

。TCP/IP一共分为五层(从上到下):应用层、传输层、网络层、数据链路层、物理层。与OSI相比,少了表示层和会话层。
TCP/IP五层


✒️OSI参考模型和TCP/IP参考模型对应关系

TCP/IP协议栈具有简单分层设计,与OSI参考模型是有清晰对应关系。为更好的表示,Kaiser为大家做了一个可视图,让大家更加直观的理解二者之间的对应关系。Kaiser对知识的分享毫不吝啬,所以大家也不要吝啬自己的三连额👍🤞。
二者对应关系
OSI七层中的应用层、表示层、会话层对应TCP/IP中的应用层,其它几层呈一一对应的关系,并且其对应层的功能也是一样的。


✒️TCP/IP 各层实现的协议

✍️应用层各协议

HTTP:超文本传输协议,基于TCP(一种传输层协议,下文会提到),使用80端口,是用于从Web服务器传输超文本到本地浏览器的传输协议。这个协议大家应该是很熟悉的,因为我们平时上网,浏览网页,都会见到此协议。同时该协议是我们爬虫学习中最常打交道的一个协议。

SMTP:简单邮件传输协议,基于TCP,使用25号端口,是一组用于由源地址到目的地址传送邮件的规则,用来控制信件的发送、中转。比如我们用的QQ邮箱、新浪邮箱,都是通过此协议进行传输的。

FTP:文件传输协议,基于TCP,一般上传下载用FTP服务,数据端口是20号,控制端口是21号。(上)文中Kaiser举的那个例子就是FTP协议,此协议常用于上传数据、下载数据。

TELNET:远程登录协议,基于TCP,使用23号端口,是Internet远程登陆服务器的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力,即远程调试路由器或交换机。在终端使用者的电脑上使用TELNET程序连接到服务器。缺点是明码传送、保密性差,因此此协议已逐渐被更安全的SSH应用层协议所取代。

SSH:安全外壳协议,基于TCP,使用22号端口,为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其它网络服务提供安全性的协议。

DNS:域名解析,基于UDP(一种传输层协议,下文会提到),使用53号端口,提供域名到IP地址之间的转换。

(PS:以上协议都有“基于XXX”,这里的“XXX”都是传输层协议,因为应用层下面就是传输层,传输层里的各协议是为应用层服务的。)


✍️传输层各协议

TCP:传输控制协议。一种面向连接的、可靠的、基于字节流的传输层通信协议。

UDP:用户数据报协议。一种面向无连接的通讯协议,不可靠的、基于报文的传输层通信协议。

SCTP:流量传输控制协议。一种面向连接的流传输协议。可看作TCP协议的一种改进。

MPTCP:多路径传输控制协议(仅供了解)。TCP的多路径版本。SCTP虽然在首发两端有多条路径,但实际只是使用一条路径传输,当该条路径出现故障时,不需要断开连接,而是转移到其它路径。MPTCP真正意义上实现了多路径并行传输,在连接建立阶段,建立多条路径,然后使用多条路径同时传输数据。


✍️网络层各协议

IP:Internet协议。通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。

ICMP:Internet控制报文协议。是网络层的补充。用于在主机、路由器之间传递控制消息,检测网络通不通、主机是否可达、路由器是否可用等网络本身的消息。
(扩展:打开电脑cmd后,输入“ping+网址”,它所发出的数据包就是ICMP数据包,用来检测两机之间网络联通是否正常,路由是否可达。同时也会显示网站的IP地址。以C站为例,如下图)
ping
ARP:地址解析协议。通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。局域网中,常用此协议进行路由的通信。比如有数据包到局域网里了,比方说家里,这时WiFi路由器或小区里的交换机就会有ARP协议产生,再去寻找接收设备。

RARP:反向地址解析协议。即通过MAC地址,去查询IP地址。

📃总结

(上)(下)两文,我们学习了

协议的介绍,OSI参考模型,TCP/IP参考模型,两大参考模型间的关系,TCP/IP中应用层、传输层、网络层三层里的协议介绍。

也许读者仍有许多疑问,比如什么是交换机?一个网站打开的通信过程是什么样的?这些Kaiser在后续文章中都会为大家详细讲解。所以大家记得关注Kaiser,折腾学习不迷路!
结尾图


本文转载自: https://blog.csdn.net/Kaiser_Ma5201314/article/details/131996008
版权归原作者 爱折腾的Kaiser 所有, 如有侵权,请联系我们删除。

“python爬虫基本功(三)--爬虫所需网络协议知识超详细总结(下)”的评论:

还没有评论