Python学习————网络编程,,1、CS架构与BS架


1、CS架构与BS架构

Client<===========>Server客户端软件send             服务端软件recv操作系统                   操作系统计算机硬件<====物理介质=====>计算机硬件Browser<===========>Server

2、网络通信

网络存在的意义就是跨地域数据传输=》称之为通信网络=物理链接介质+互联网通信协议

3、OSI七层协议

五层协议    应用层    传输层    网络层    数据链路层    物理层协议:规定数据的组织格式    格式:头部+数据部分?    封包裹的过程:数据外加头?    拆包裹的过程:拆掉头获取数据

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

技术图片

每层运行常见的物理设备

技术图片

4、五层协议

计算机1:                            计算机2:应用层                               应用层传输层                               传输层网络层                               网络层数据链路层                            数据链路层物理层  <===========交互机===========> 物理层                                     0101010101010(源mac地址,目标mac地址)(源ip地址,目标ip地址)数据

4.1 物理层负责发送电信号

一组物理层数据称之为:位单纯的电信号毫无意义,必须对其进行分组

4.2 数据链路层:ethernet以太网协议

规定1:一组数据称之为一个数据帧规定2:数据帧分成两部分=》头+数据    头包含:源地址与目标地址,该地址是mac地址    数据包含:包含的是网络层发过来的整体的内容规定3:规定但凡接入互联网的主机必须有一块网卡,每块网卡在出厂时都烧制好一个全世界独一无二的地址,该地址称之为mac地址注意:计算机通信基本靠吼,即以太网协议的工作方式是广播(egon,血嫌弃)(帮我买包子)

?

技术图片

?OSI七层协议数据传输的封包与解包过程

应用层

应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式

应用层功能:规定应用程序的数据格式。

例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

技术图片

4.3 网络层:IP协议

网络层

技术图片

要达到的目的:划分广播域每一个广播域但凡要接通外部,一定要有一个网关帮内部的计算机转发包到公网网关与外界通信走的是路由协议规定1:一组数据称之为一个数据包规定2:数据帧分成两部分=》头+数据    头包含:源地址与目标地址,该地址是IP地址    数据包含的:传输层发过来的整体的内容IP协议:规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示范围0.0.0.0-255.255.255.255一个ip地址通常写成四段十进制数,例:172.16.10.1ip地址分成两部分网络部分:标识子网主机部分:标识主机注意:单纯的ip地址段只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网例:172.16.10.1与172.16.10.2并不能确定二者处于同一子网ipv4地址:8bit.8bit.8bit.8bit0.0.0.0255.255.255.255子网掩码:8bit.8bit.8bit.8bit255.255.255.0对应的二进制表达11111111.11111111.11111111.00000000一个合法的ipv4地址组成部分=ip地址/子网掩码地址172.16.10.1/255.255.255.0172.16.10.1/24计算机1:172.16.10.1:     10101100.00010000.00001010.000000001255255.255.255.0: 11111111.11111111.11111111.000000000172.16.10.0:      10101100.00010000.00001010.000000000计算机2:172.16.10.2:      10101100.00010000.00001010.000000010255.255.255.255.0: 11111111.11111111.11111111.000000000172.16.10.0:       10101100.00010000.00001010.000000000计算机1:                            计算机2:应用层                               应用层传输层                               传输层网络层                               网络层数据链路层                           数据链路层物理层  <=========二层交互机========> 物理层                                     0101010101010(源mac地址,xxxx)(源ip地址,目标ip地址)数据(源mac地址,网关的mac地址)(172.16.10.10/24,101.100.200.11/10)数据事先知道的是对方的ip地址但是计算机的底层通信是基于ethernet以太网协议的mac地址通信ARP:所以必须能够将ip地址解析成mac地址两台计算机在同一个局域网内计算机1:172.16.10.10/24             直接              计算机2:172.16.10.11/24ARP:自己的ip,对方的ip1、计算二者网络地址,如果一样,拿到计算机2的mac地址就可以了2、发送广播包发送端macFF:FF:FF:FF:FF:FF172.16.10.10/24172.16.10.11/24数据两台计算机不在同一个局域网内计算机1:172.16.10.10/24              网关           计算机2:101.100.200.11/10ARP:自己的ip,对方的ip1、计算机二者网络地址,如果不一样,应该拿到网关的mac地址2、发送广播包发送端macFF:FF:FF:FF:FF:FF172.16.10.10/24172.16.10.1/24数据4.3.1 总结******ip地址+mac地址=》标识全世界范围内独一无二的一台计算机或者:ip地址=》标识全世界范围内独一无二的一台计算机xxxxxxxxxx?‘‘‘规定1:一组数据称之为一个数据帧规定2:数据帧分成两部分=》头+数据 ?  头包含:源地址与目标地址,该地址是mac地址 ?  数据包含:包含的是网络层发过来的整体的内容规定3:规定但凡接入互联网的主机必须有一块网卡,每块网卡在出厂时都烧制好一个全世界独一无二的地址,该地址称之为mac地址注意:计算机通信基本靠吼,即以太网协议的工作方式是广播‘‘‘python

Python学习————网络编程

评论关闭