(学习慕课网bobby老师的课程从零起步 系统入门Python爬虫工程师时做的笔记,有兴趣的同学可以去慕课网观看视频。)
用快递举例
- 双11我在天猫同一家店买了一部手机和一台电脑。商家在上海,发货成都,本来是两件商品一起通过顺丰发出,但由于双11顺丰爆仓,只能发送体积小的手机,只能将电脑通过圆通快递发送。也就是两件商品分别打包发送。
这就类似于传输数据时将数据拆分,再分别传输部分数据。
顺丰快递:上海 ——> 南京 ——> 成都
圆通快递:上海 ——> 武汉 ——> 成都
走了不同路径,但目的地是相同的:成都市高新区明德门小区20栋1单元101室
- IP地址
IP地址是ip协议提供的一种统一的地址格式,是逻辑地址,逻辑层面的,可以变化,代表不了不变地址,比如我换地址了:成都市高新区明高桥小区20栋1单元2室
- TCP协议
面向连接、可靠、基于字节流的协议。负责把需要传输的数据分解成一定长度的“片段”。这里是把一个快递分成两个快递发送,分解包的过程,分包员就类似于TCP协议。
- IP协议
用于将多个数据包交换网络连接起来,它在源地址和目的地址之间传输数据。
也就是将数据”片段“贴上标签,称为数据包,标签包括“源ip地址”和“目的ip地址”,这些标签将决定数据传输的路径。IP协议负责传送的道路,被称为“路由功能”。
相当于我的快递被分成两个包裹(TCP协议),分别贴上两家快递公司的标签(IP协议),标签内容包括:发件地址、收件地址。然后按照科学、快捷的原则,选择当前最佳的道路进行下一步路径的选择。
- 路由器
连接互联网各局域网、广域网的设备,他会根据信道的情况自动选择和设置路由,以最佳路径,按前后顺序发送数据。
每一个节点的路由器都记录着与自己相邻的路由器地址,并形成一个表格-路由表。是一个动态数据库,在网络活动中不断更新。数据包达到一个路由器后,该路由器会选择一个最佳路径发送数据包。
我的快递达到一个站点后,站点会根据目标地址选择下一个应该发送到哪个站点。
TCP协议
面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓“连接”:就是客户端和服务器的内存里保存的一份关于对方的信息,比如ip地址、端口号等。
TCP可以看成是一种字节流,它会处理IP层或一下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在TCP头部。
TCP提供了一种可靠、面型廉价而、字节流、传输层的服务,采用三次握手建立一个连接。采用4次挥手来关闭一个连接。