[python复习7]网络通信过程

网络通信过程:

[python复习7]网络通信过程

[python复习7]网络通信过程
TCP/IP协议
应用层–> 使用协议确定到底是http 还是飞秋
|
运输层(传输层)–> tcp端口(源端口,目的端口)
|
网际层(IP层)–> 加上源ip和目标ip
|
网络接口层(链路层)–> mac地址是网卡上的***

接收方则开始解包成mac地址开始去掉最后的到发送过去的消息,整个过程只要有一个对不上就会停止

OSI协议:
应用层
|
表示层
|
会话层
|
传输层
|
网络层
|
数据链路层
|
物理层

[python复习7]网络通信过程

网络通信 网络掩码和ip地址进行二进制的按位与操作(都为1则为1,)得到的值确定了网络号是谁

集线器 很早之前,当有多台电脑需要组成一个网时,那么可以通过集线器(Hub)将其链接在一起,一般情况下集线器的接口较少,

缺点:它以为广播的方式进行发送任何数据,即如果集线器收到来自A电脑的数据本来事想转发给B电脑,如果此时它还链接着另外两台电脑C、D,那么它会把这个数据给每个电脑发送一份,因此会导致网络拥堵

使用交换机组成一个网络:

当一台机器给另外一台发数据时,需要的ip地址和子网掩码,mac地址(网卡***),
要是你的电脑里买你没有缓存对方的mac地址就会通过arp广播mac写上FFFFFF,对方接收第一步通过之后,不是目标ip的第二步解析就会失败,而成功的就会根据你的源ip地址和mac地址给你发送消息
对方收到数据时,解包,显示判断mac地址,arp协议根据ip地址获取到mac地址

[python复习7]网络通信过程

路由器链接多个网络,默认网关:

路由器:链接两个及两个以上不同的网络让他们之间可以通信

默认网关:把具有转发能力的设备称为网关

使用路由器连接多个网络

在传输的过程中ip地址不会变化变的是mac地址
当192.168.1.1想和192.168.2.1进行通信,1号机mac地址需要填写路由器左边的网卡的mac地址,此时卡网通过ip进行判断转发给右边的网卡此时mac地址改写成,2号机mac地址,源mac地址填写的是右边mac地址,当二号给1号机回数据时提起出来的ip地址是1号机的,mac地址是路由器右边的网卡,然后通过路由器的转发,给左边的网卡,任何源mac地址就是左边网卡的mac地址,目的mac就是1号机的mac地址

为什么ip地址固定,mac地址变化

如果ip地址变化可能导致数据回不来,

浏览器访问服务器过程:

[python复习7]网络通信过程

DNS服务器:用来解析域名对应ip地址服务器

第一步:解析域名得到ip地址
先检查是否知道默认网关的mac,要是不知道arp广播获取知道默认网关的mac,接下来组织一个域名解析请求发给网关,网关发送到互联网上互联网经过一层层转发到达DNS服务器,把域名解析出来给他回复,

第二步:向服务器发送3次握手
根据这个ip数据把数据转发给网关,网关把数据转发给互联网,互联网把数据转发给服务器,服务器和客户端三次握手成功,整个之后把请求GET/HTTP/1.1 什么什么发过去,服务器解析请求,把数据回过去HTTP/1.1 200 OK 加上body部分,浏览器显示,显示成功浏览器四次挥手结束