v.ki 发表于 2021-1-10 22:10:16

python高级| 网络基础:进程之间的通信

本帖最后由 v.ki 于 2021-1-10 22:14 编辑

       
我不想花时间再排版一遍了,好累啊直接复制过来,可能会比较丑。建议大家之间看原文
原文链接随便回复个东西就可以看到了{:5_102:}

之后,我会慢慢的继续写相关的方面的,想起啥写啥
https://ftp.bmp.ovh/imgs/2021/01/47420cffaa8ddfcf.png


之前啊



文章的主题大概是



分享一些做的软件成品



比较浮夸的样子



接下来的一段时间,我想换个姿势...图片



图片

咳咳



当然是换个姿势一起学习python



写一些比较干货一点的知识



顺序还没想好



想起什么写什么



最后再出一个超级索引文章来作为目录吧



话不多说,进入正文

图片

图片
网络
图片
MEO

WARDROBE
观众大喊:都2021年了人人都在使用网络,还用你在这里胡扯吗?

      网络能让我们能和远在他乡的小伙伴一起打游戏,一起聊天甚是快乐

但是要了解其中的原理,才是一名优秀的少先队员.

    看题目!网络是进程之间的通信,那么什么是进程呢?

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体

百度百科
   

   这一坨就是进程,不错是不是看不懂啊。巧了,俺也看不懂他写的。



    通俗的来讲进程就是这个:Ctrl+Shift+Esc打开任务管理器

看到了腾讯qq,edge等。



图片

   

         这啊就是进程,一堆运行着的程序而已



在单个程序里面,我们通过接收用户输入与输出来进行与用户的交流.



图片

   

    有一天,小明和小王正在自己的电脑上下五子棋,他们就想老是和电脑下多没意思,怎么才能一起下呢?



    聪明的他们找来了一根网线,把两台电脑连接在了一起,这样他们就能通信了。(具体怎么做到的下一篇会说)



图片

   

    这个时候啊旁边的小美急了,这么好玩的东西我也想玩,然后聪明的小明和小王就运用起了初中他们物理考满分的能力。



PS:假装不知道是为了讨妹子开心图片

   

图片
      把一根网线中间剪开,把里面的几根导线接在一起,又接入了一根网线,这种操作是不合理的后来啊,他们三个就再也没有成功通信。



    我是谁?我在哪?怎么会这样?

   

    网线其实不只是导线,它里面传输的可不是电流,而是信号。小明的计算机把代码变成二进制以后,电流又根据二进制发送。

图片

   

    小王的计算机再根据电流转换成相应的信息,而小美的加入,可能在小明发送的数据二进制为0的时候,也就是没有电流的时候,把1发给小王,而这时候网线中正确的数据0变成了1,自然他们就无法正常通信了。



图片

    这也是网吧里一台电脑一根网线的原因,而不是把一根网线拆成很多根。

图片
怎么解决两个以上的电脑之间互相通信的问题呢?

      

    聪明的人们发明了集线器(hub)它可以把多个电脑连在一起,可是

现在已经被淘汰了,为什么呢?



图片

    因为当A给B发数据的时候,会先发给集线器,而集线器可什么都不知道,它把信息同时发给B和C,术语叫做广播,这时候来了一个D也想给C发数据,由于由集线器到C的通道是被占用着的,就会造成堵塞,效率低下.



图片

   


图片

    这时候人们又发明了一个叫做交换机(Switch)的东西,它可以很好的解决这个问题.要明白怎么解决的?

    我们引入这几个概念(在这里只是提一下这些概念,为了方便了解怎么解决的,详细的会在下一篇文章里写道):



ip地址:    看到地址了没,就相当于买快递时写的收货地址,只不过变成一串数字了如:192.168.137.1(windows 在cmd里输入ipconfig查看自己的ip)所以不同情况它是会变的



子网掩码:    默认是255.255.255.0它的二进制与ip进行按位与操作,用来确定i网段,一般与ip成对出现才有意义,只有处于同一网段的ip才能用交换机互相通信



mac地址(唯一的网卡序列号):标识硬件的数字就相当于人的身份证id是唯一的。

图片

   

    要想送货给对方,就要写明白收获地址以及对方的身份证信息,也就是ip和mac地址(tcp/ip协议下一篇会讲到)有一个协议叫做ARP协议,它是把ip与mac地址对应起来类似这样。



图片

   

    怎么对应起来的呢?

    由A通过交换机广播,告诉所有人(B和C)我来获取你的,mac地址了。问题来了,不是要知道,mac地址才能与对方通信么,你不知道mac地址又是如何通过广播,获取对方的mac地址的呢?

图片

    其实网卡在设定的时候已经设定了,所有的网卡都可以接受 FF:FF:FF:FF:FF:FF



    这个mac地址的通信,你只要在发货的时候把mac地址写成这个,那么接收方就不会无视,就相当于写个收获地址是地球,那么就代表了所有的地球上的收货方,获取到ip与mac的映射以后,再次发送时只需要写上B的唯一mac地址那么就能只发送给b,此时arp缓存里就又多了一堆映射,下次发送的时候优先到表里面找,这时候交换机就实现了想要广播的时候广播,想要单播的时候单播了。

图片

    慢慢的

    有的聪明的计算机高手就想到了一个漏洞,这被称作中间人攻击:

   

A本来想给B发送信息,不怀好意的C在A发送之前就伪造了ARP包,同时把自己的mac地址告诉A和B,让A和B都以为对方的mac地址是C的,这时候C就相当于中转站,A把数据发给了C,C再把数据发给B,A向B询问数据是否收到,B回答当然是收到了,可怕的是,这时候数据已经被C监听或者篡改了



图片

   

    好了,仔细阅读完这些,我们大概了解了网络之间是如何通信的当然我们现在只能是一个村之间通信(内网),并不能与强大的互联网通信。、



    下一篇啊,我会说到tcp/ip协议,路由器等。有了这些我们就可以与互联网通信了图片

图片
END
图片
图片
感恩的心感谢有你
长按识别关注我们。
**** Hidden Message *****

hornwong 发表于 2021-1-11 13:44:55

感谢分享!

bhcqzf 发表于 2021-1-13 11:34:26

感谢分享{:10_257:}

心驰神往 发表于 2021-1-13 13:22:14

kankan

Daniel_Zhang 发表于 2021-1-13 15:42:13

{:10_256:}

红桃J 发表于 2021-1-13 22:53:55

辛苦了楼主

呆萌的月饼不呆 发表于 2021-1-14 08:09:39

加油

sinaop 发表于 2021-1-14 08:27:11

{:5_109:}

qq1151985918 发表于 2021-1-14 09:08:55

{:9_227:}{:9_227:}。。。

gghu 发表于 2021-1-14 16:23:16

{:10_256:}

SomeThing9 发表于 2021-1-14 16:51:38

膜拜一下

三柒得拾 发表于 2021-1-14 18:22:10

来学习经验啦

King丨小义 发表于 2021-1-14 21:48:01

{:10_251:}

Wei_Jian_Xian 发表于 2021-1-15 15:26:01

{:10_277:}

zgwzgw 发表于 2021-1-15 19:22:51

{:5_95:}

bhcqzf 发表于 2021-1-17 11:04:24

{:10_257:}

sinaop 发表于 2021-1-17 12:35:29

看看学习。。。。。。。。。。。。

呆萌的月饼不呆 发表于 2021-1-17 19:12:46

辛苦啦

sinaop 发表于 2021-1-18 08:39:16

{:5_109:}

yywwf2003 发表于 2021-1-18 10:57:12

楼主威武!!!
页: [1] 2
查看完整版本: python高级| 网络基础:进程之间的通信