网络编程


网络基础知识相关

  1. 架构

    a. C/S 架构 : client 客户端 和 server 服务端

      优势 :能充分发挥pc机的性能

    b. B/S 架构 : browser 浏览器 和 server 服务器 隶属于 C/S架构

        B/S架构 统一了引用的接口

  2. 通信的事:

    a . 同一台电脑上两个py程序通信 : 打开一个文件

    b . 两台电脑如何通信 : 连一个网线

    c . 多个电脑通信

      ex : 电脑一要找到电脑2

        电脑1首先发送一个请求帧,其中包含(我的ip是192.168.1.1,我的mac地址是  

          xxxxxxxx,我要找ip地址为192.168.1.2的主机),将此请求发送给交换机.

      交换机要广播这条消息给其他所有的主机

        目标主机接收到消息后,对比发现自己就是被找的主机,回复给交换机信息(我的ip

        地址是192.168.1.2,我的mac地址是yyyyyyyyy,请回复给ip地址为     

        192.168.1.1,mac地址为xxxxxxx的主机)交换机单播形式返回给源主机

1  mac地址 : 是一个物理地址, 全球唯一, 类似于身份证

2  ip地址 : 是一个四位点分十进制,他标识了计算机在网络中的位置, 类似于学号

3  交换机的通信方式:

    广播: 类似于以前村里开会村长喊广播

    单播: 一对一

    组播: 一对多

4  arp协议: 通过目标ip地址获取目标mac地址的一个协议

5  端口 : 操作系统为本机上每一个与你运行的程序都随时分配一个端口,其他电脑上的程序可通

      过端口找到获取到这个程序

    ip地址 + 端口 能唯一找到 某台电脑上的某一个服务程序

6  路由器 : 链接不同的网段 路由

7   网关 : 类似于一个局域网的出口和入口

8   网段: 一个局域网内的ip地址范围

9   子网掩码: 一个局域内的ip地址范围

10  osi五层魔性

  应用层 : http , https, ftp

  传输层: tcp /udp  四层交换机 四层路由器

  网络层: ip协议  路由器 三层交换机

  数据链路层: arp协议  以太网交换机 网卡 网桥

  物理层  传输电信号 集线器 网线 光纤

socket 模块

  import socket

  socket 又叫做套接字

  sk = socket.socket(family = AF_INET,type = SOCK_STREAM)

  family:

    一种: AF_UNIX基于文件类型的套接字(早期socket是源自于unix系统而研发的一个功能,主要是为了同一台电脑上,多个程序直接通信) unix系统的中心思想是 : 一切皆文件

  一种: AF_INET基于网络类型的套接字

   type:

   一种是基于TCP协议 SOCK_STREAM

  一种是基于UDP协议 SOCK_DGRAM

  tcp 协议: 可靠的,面向连接的,面向字节流形式的传输方式

  udp协议: 不可靠的,不面向连接的,面向数据报的传输方式,但是它快

说说交换机和路由器的区别?

  交换机的主要功能是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点,点对多的形式,发送给固定端

  路由器的主要功能 : 进行跨网段进行数据传输 ,路由选择最佳路径

  如果你需要将多态电脑连接到一根网线,用交换机即可

  如果你只有一个外网ip , 但是你有好多台电脑需要上网 , 用路由器即可

  

socket 模块

  TCP协议  面向连接  可靠的  面向字节流形式的

  UDP协议  无连接的  不可靠的  面向数据报形式的

TCP协议编码流程

  服务器端:  客户端

  实例化对象:  实例化对象

  绑定IP地址和端口号

  监听

  接收客户端的链接:  链接服务器

  收发:    收发

  关闭:    关闭

  tcp三次握手:  一定是clinet先发起请求

    a  客户端发起请求连接服务器

    b  服务器返回: 接收到请求,并且要求连接客户端

    c   客户端回复 : 可以连接

  

    四次挥手:  谁先发起断开连接的请求都可以

      a  客户端发起断开连接的请求:

          意思是: 我想和你断开连接,我没有数据要继续发送了 ,

            但是如果你有数据需要发送,我可以继续接收

      b  服务器回复: 我接收到你的请求了

      c  服务器发送: 我已经准备好断开连接了

      d  客户端回复: 收到你的信息,断开连接

回环地址: 127.0.0.1  每个计算机都有的这么一个本机地址, 只能被本机识别 ,不会被其他机器识别

优质内容筛选与推荐>>
1、为什么分布式一定要有Redis?
2、C++中构造函数和析构函数(virtual)的执行顺序
3、秋式广告杀手技术分享:网络请求基础知识
4、1078. Hashing (25)【Hash + 探測】——PAT (Advanced Level) Practise
5、Mysql中设置默认时间为系统当前时间


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号