基于Python网络编程(一)

一、网络基础

1、网络模型

ISO(国际标准化组织):专门做标准的组织 非盈利的
然后这个组织给网络也做了一个标准就是OSI模型 网络体系结构标准 采用分层的思想,将原始的数据经过一层一层的封装,传递出去

OSI:网络信息传输比较复杂需要很多功能协同—>将功能分开,降低耦合性,让每个模块完成一定的功能—>将这些模块按照一定的顺序进行组合,完成功能,条理清晰
按照规定功能,顺序排列的体系结构:OSI模型

OSI七层模型
  应用层:提供用户服务,例如处理应用程序,文件传输,数据管理
  表示层:做数据的转换和压缩,解压,加密等
  会话层:决定了进程间的连接建立,选择使用什么样的传输协议
  传输层:建立网络连接,提供合适的连接传输服务,提供流量控制
  网络层:控制分组传输,进行路哟选择,网络互联
  数据链路层:提供链路交换,具体的数据收发
  物理层:物理硬件,具体的传输条件和传输接口

后来七层模型 转换为 四层 或者 五层
四层模型:
  应层(包含应用层 表示层 会话层)
  传输层
  网路层
  物理链路层(数据链路层 和物理层)

五层 TCP/IP模型
  应用层(包含应用层 表示层 会话层)
  传输层
  网路层
  数据链路层
  物理层

协议:网络协议,即在网络传输过程中为保证通信正常而制定的都遵守的约定
应用层协议:TFTP DNS FTP SMTP HTTP
传输层协议:TCP UDP
网络层:IP ARP ICMP
物理链路层:IEEE

2、基本的网络知识

  1. 为了访问主机 主机必须有一个标识 如下将介绍
    主机在不同的地方的不同表示方法:
    1、主机名称表示方式 。 这种方式是不能用于网络中来标识一台主机的
    计算机名
    域名
    2、本地主机表示方式:IP 这种方式是网络中标识主机的方式
    localhost or 127.0.0.1 表示本机通信地址 只用用于主机自已访问自己
    0.0.0.0 表示在局域网内可用主机IP
    172.60.50.218 表示本机在网络上的标识,,用于网络发布自己机器的标识
    3、python中获取主机名称

    import socket
    socket.gethostname()
    socket.gethostbyname('localhost')
    socket.gethostbyaddr('127.0.0.1') # 返回的是一个元组:第一个元素代表主机名;第二个参数代表主机的别名;第三个参数代表主机的IP地址
    演示输出结果

  2. IP地址
    就是一台主机的标识
    IPV4
    IPV6

  3. 某个网段:其实就是一个局域网的标识 网段相同的主机就是在同一局域网中

  4. 网关地址:就是进入到某一局域网中的大门

  5. 广播地址:发一个信息局域网中的所有的主机都能收到


  • 一个IP地址不一定对应一台机器,所谓一个ip标识唯一一台主机,指的是主机在公网中的IP(就是网络运营商分配给你的ip)是唯一的。但是像我们通过ipconfig和ifconfig查看到的机器ip只是局域网中的ip,这个ip是路由器分配给你的也就是说在其他的局域网中,可能存在和你主机IP地址相同的主机。
    ip地址转换为二进制
    # inet_atom 将地址十进制转换为二进制
    socket.inet_aton('192.168.1.2')
    输出结果:b'\xc0\xa8\x01\x02'

    inet_nton将地址二进制转换为十进制
    socket.inet_ntoa(b'\xc0\xa8\x01\x02')
    输出结果 '192.168.1.2'

    #inet_pton(address_family,ip_string) 和inet_ntop(address_family,packed_ip) 这两个函数比较新,根据传入的参数不同 既可以转化ipv6的地址,也可以转化ipv4 的地址。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值