zoukankan      html  css  js  c++  java
  • python学习——网络基础

    1.交换机
    通过交换矩阵,创建局域网,进行相互之间通信
    2.mac地址
    网卡内部带的
    3.IP地址
    电脑地址
    4.socket模块
    服务端:收发数据->accept/recv
    客户端:收发布局->connect/recv
    5.黏包
    当服务端同时收到多个数据且每个数据长度小于最大接收数时,服务端无法正确拆分多个数据
    解决方法:struct模块
    6.socketserver模块
    服务端创建多个自己与客户端进行交互

    网络基础
    1.我的电脑有网卡,网卡里有mac地址
    2.我到某个地方插上网线,路由器或交换机中的DHCP服务为我分配IP地址
    IPv4
    ip:192.169.11.11
    00000000.00000000.00000000.00000000
    0~255 0~255 0~255 0~255
    IPv6
    00000000.00000000.00000000.00000000.00000000.00000000
    子网掩码:255.255.255.0
    192.168.13.84
    网关IP:192.168.13.1
    三个概念:局域网、城域网、广域网
    3.DNS
    网络连接:
    域名解析
    www.baidu.com:域名 域名背后一定有一个IP
    连接
    sk = socket.socket()
    sk.connent(('xxx.xxx.xxx',80)) 网站默认80
    问题: 域名和IP的对应关系在哪里?
    先在本地找:
    win本地电脑:C:WindowsSystem32driversetchost
    DNS服务器:全球顶级DNS服务器13台
    创业:
    a.一个服务器+公网IP
    b.租域名
    域名+IP解析

    总结:
    1.DHCP,自动为局域网内电脑分配IP
    2.网关,路由器中连接交换机的口。
    3.IP,4个点分的十进制表示 192.11.11.11
    4.子网掩码,将挡住的IP的位数作为网段,未挡住的部分作为可变的值。
    ip:192.168.13.99
    掩码:255.255.255.0
    5.广域网、局域网、城域网
    6.arp协议,通过广播给某人发送数据,他通过单播回复
    7.DNS,先找本地hosts文件
    1.网络端口
    -端口,是什么?为什么要有?
    端口是为了将同一个电脑上的不同程序进行隔离。

    IP是找电脑
    端口是找电脑上的程序

    示例:
    MySQL是一个软件,帮助我们在硬盘上进行文件操作。默认端口3306
    Redis是一个软件,帮助我们在内存里进行文件操作。默认端口6379
    网站默认端口:80,访问时:http://www.baidu.com:80
    网站默认端口:443,访问时:https://www.baidu.com:443
    范围:
    1 - 65535
    1 - 1024
    一般程序员用的端口:8000~
    -OSI 7层模型
    应用层(产生数据,通过自己写的代码实现:自己代码+框架)
    应用层:软件
    表示层:看到的数据,如图片、视频
    会话层:保持登录或链接状态,网站发的令牌:cookie;无痕窗口不允许发令牌

    (以下通过socket模块实现)
    传输层:TCP/UDP [TCP][cookie]
    网络层:IP [IP][TCP][cookie]
    数据链路层:MAC [MAC][IP][TCP][cookie]
    物理层:将数据转换成电信号发送
    ********注意:7层一定要背会
    -TCP三次握手/四次挥手
    socket客户端向服务端发起连接请求:三次握手(客户端发2次,服务端发1次)
    client.connect((。。。))
    客户端 服务端
    我能。。
    可以
    好的,来了
    ------------------------------
    client.send('...')
    收发数据 收发数据
    客户端和服务端断开连接:四次握手(客户端2次,服务端2次)
    client.close()或conn.close()
    我要断开
    等我处理完
    处理完了,断吧
    拜拜
    补充:断开连接时,反映到代码上:抛出异常/发送空内容;
    总结:了解网络相关知识,
    你与科班出身的人区别:
    1、计算机组成原理
    2、网络
    3、数据结构
    4、算法
  • 相关阅读:
    archlinux .bash_history
    Ubuntu环境下挂载新硬盘
    软碟通 UltraISO U启替代品 Win32DiskImager 无设备 无盘符 无u盘 无优盘 解决方案 之diskpart
    delphi Integer overflow
    MSBuild Tools offline
    delphi synedit免费的拼写检查器dll
    git 自定义命令行
    lua编译
    gcc ar
    Windows Subsystem for Linux (WSL)挂载移动硬盘U盘 卸载 c d 盘
  • 原文地址:https://www.cnblogs.com/bilx/p/11433362.html
Copyright © 2011-2022 走看看