
如果发送者和接受者是一个局域网,那么数据链路层的报头就是他们的MAC地址, 直接通过MAC地址就可以通信了,直接在局域网内广播,
广播的信息是MAC地址,IP地址,TCP,数据,解析到IP的时候,是谁的IP就接收,不是就丢弃
依次解析:
物理层---------------------转换二进制
数据链路层---MAC地址,IP地址,TCP,数据-------------------以太网协议(报头,数据),MAC,广播
网络层---IP地址,TCP,数据---------------------IP协议.子网掩码,可以判断出是局域网,还是公网,通过IP可以得到MAC地址(ARP协议)
传输层---TCP,数据---------------------TCP/UDP,数据
应用层---数据---------------------数据
如果发送者和接受者不是同一局域网的,那么 发送者的MAC,网关的MAC,(192.168.0.1,115.178.5.22),tcp,data
网关好比是局域网的关口,每一个局域网都有一个默认网关,如果是不同网络间的通信,就需要网关,
数据链路层一看,发现是网关的MAC,然后就解析得到接受者的外网IP,通过接受者的外网IP找到它的网关,然后在得到外面IP对应的内外IP,然后通信
如果发送者发现,要发送的数据包里的目的主机IP不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给接受者的网关,接受者的网关再转发给网络的某个主机
总结以上是内存溢出为你收集整理的9.1.python网络通信基础概念全部内容,希望文章能够帮你解决9.1.python网络通信基础概念所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)