• python摸爬滚打之day026----网络通信流程


    1、了解概念

      CS架构: 客户端(client)和服务端(server)之间的通信.

      BS架构: 浏览器(browser)和服务端之间的通信.

        为什么只用一个浏览器就可以访问很多网站?  这是因为浏览器提供了一个统一的接口, 直接用该接口来访问多个网站.

    2、网络通信的几个基本概念(按自己粗浅的理解写的,大神勿喷......)

      网线: 用来传输高低压电信号的, 可不是直接传数据的

      集线器: 将所有连接到集线器的网络设备连接起来

      交换机: 升级版的集线器  

      网卡: 用来接收电信号的

      MAC地址: 即物理地址, 网卡出厂时会拥有一块全球唯一标志的6位16进制的代号, 类似于 "8C-EC-4B-88-B9-C9" 的代号, 前三位代表厂商编号, 后三位代表生产流水号.

      IP地址: 4个点分十进制的数, 类似于255.255.255.255的数, 作用是划分网段.

      DHCP: 自动分配IP地址

      ARP表: 交换机中保存着IP地址和MAC地址的对应关系.

      ARP协议: 通过IP地址获取MAC地址.

      子网掩码: 子网掩码和源IP、目标IP通过and计算, 相同的话表示IP地址属于同一个网段.

      DNS服务器: 保存着域名和IP地址的对应关系.

      网关: 连接两种不同的网络, 将IP地址转换成公网的IP地址(NET技术). 

      路由协议: 用来计算路由转发的最优路径.

      端口号: 标志电脑上的应用程序的唯一标志( 0-65535, 0-1024一般为内部程序在用 ).

      IP地址 + 端口号: 就可以确定服务器上的一个应用程序. 

    3、实现网络通信

       第一种方式: 基于MAC地址通信. 以广播的方式在全网进行广播.  缺点: 不仅造成网络阻塞, 而且信息不安全.

      第二种方式: 基于IP和MAC地址通信.  计算机以单播的方式向交换机传输数据, 交换机以广播的形式向该网段内的计算机传输数据, 此网段内的计算机识别IP来判断是否是传输给自己的, 是就接收, 不是的话就由交换机通过子网掩码计算是否是同一网段, 不是同一网段就直接扔给路由系统, 路由系统判断是否是自己内部的, 是的话以广播的形式扔给自己管辖内的所有交换机, 交换机接收到数据后判断IP是否是属于自己网段的, 是自己的话继续向自己管辖的计算机以广播方式传输数据; 不是路由器管辖的范围的话,就通过DNS服务器找到域名对应的IP地址, 路由器内的网关, 通过NET转换技术将源IP地址转换成公网的IP地址, 就拿到了某网站的IP地址, 再由路由协议计算路由转发的最优路径, 然后将请求扔给该网站的企业路由器, 路由器通过端口地址映射, 公网IP和端口能确定某服务器上的唯一应用程序, 然后应用接收请求, 最终客户端和服务端之间进行通信(利用上图进行理解). 

     

  • 相关阅读:
    如何删除完全重复的列
    串联多个字符串,引发string和stringBuilder的比较
    借鉴ANJOU的方法改写了上次的TreeView
    如何改变ListBox中内容的顺序
    执行Insert语句时使用string的Format用法
    moss 2007 中FCKEditor编辑器的使用
    qt 获得cmd 命令运行的结果 GIS
    迭代器 GIS
    win32 创建带图片的button GIS
    c++标准库的构成 GIS
  • 原文地址:https://www.cnblogs.com/bk9527/p/9998028.html
Copyright © 2020-2023  润新知