IP地址

  • 背景

    • IPv4:表示的是IP的第四代版本,目前已经到了第六代版本(IPv6)

    • IPv4格式:xxx.xxx.xxx.xxx (256*256*256*256个)

    • IPv4格式:

      image-20200630095548890

      每个IP的组成部分都分为一个网络地址+主机地址,根据所用的位数不同,分为6大类

    • IPv4分类:

      1. A类地址

        由一个字节的网络地址和3个字节的主机地址组成,网络地址的**最高位(二进制)**必须为0

        地址范围:1.0.0.1 - 126.255.255.254 (可转换为2进制)

        可用的A类网络有126个,每个网络能容纳(256*256*256-2)个主机(.0和.255不能够使用)

      2. B类地址

        由2个字节的网络地址和2个字节的主机地址组成,网络地址的必须为10

        地址范围:128.1.0.1 - 191.255.255.254 (可转换为2进制)

        可用的B类网络有16384个,每个网络能容纳65534个主机(.0和.255不能够使用)

      3. C类地址

        由3个字节的网络地址和1个字节的主机地址组成,网络地址的必须为110

        地址范围:192.0.1.1 - 223.255.255.254 (可转换为2进制)

        可用的B类网络有2097152个,每个网络能容纳254个主机(.0和.255不能够使用)

      4. D类地址

        D类IP的第一个字节以1110开始,它是一个专门保留的地址,主要用于多点广播

        地址范围:224.0.0.1 - 239.255.255.254 (可转换为2进制)

      5. E类地址

        以1111开始,为将来保留,仅仅用作实验和开发使用

      6. 私有IP

        私有IP用于局域网,不使用在公网

        10.0.0.0 - 10.255.255.255

        172.16.0.0 - 172.31.255.255

        192.168.0.0 - 192.168.255.255

        127.0.0.1 - 127.255.255.255 (用于回路测试)

  • 作用:

    用来标记网络中的一台电脑

  • 信息查看:

    1
    2
    3
    4
    5
    6
    7
    8
    # Ubuntu
    ifconfig
    # Window
    ipconfig
    # ubuntu下关闭指定的网卡,网卡名在ifconfig左侧
    sudo ifconfig [网卡名称] down
    # ubuntu下开启指定的网卡
    sudo ifconfig [网卡名称] up
  • 小知识

    1. Ubuntu相关

      1
      2
      3
      4
      # Ubuntu下快速切换到命令行行首
      Ctrl + A
      # Ubuntu下快速切换到命令行行尾
      Ctrl + E

端口

  • 作用

    当一个系统程序/应用程序需要网络通信时,它会向主机申请一个端口,主机从可用的端口中分配一个给它使用,当程序关闭时,该端口也会被释放。

  • 高级端口:

    0 - 1023端口号的都是高级端口,一般用用于机器中固定的服务

  • 动态端口:

    1024 - 65535端口号的端口,它不用于固定的服务。

创建Socket

  • 目的

    Socket是一个套接字,用于网络通信

  • 用法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import socket
    # AddressFamily: 可选择AF_INET(用于Internet进程间通信)或者AF_UNIX(用于同一台机器进程之间通信),实际工作中使用AF_INET
    # Type: 套接字类型,可以是SOCK_STREAM(流式套接字,用于TCP协议),也可以是SOCK_DGRAM(数据报套接字,用于UDP协议)
    # 返回值:返回套接字对象
    s = socket.socket(AddressFamily, Type)

    # 中间是要传递信息的功能

    # 不再使用套接字,就关闭
    s.close()

作业

  1. (简答)IP共有多少个
  2. (简答)IPv4表示什么含义
  3. (问答)请描述IP的组成,以及分类
  4. (问答)在ubuntu中如何关闭网卡(ems10)
  5. (问答)在ubuntu中如何启动网卡(ems10)
  6. (问答)请简述端口存在的作用
  7. (问答)高级端口是什么,它的作用是什么
  8. (问答)动态端口是什么
  9. (问答)简述创建socket的流程