day28网络基础_OSI 7层模型 _TCP三次握手四次挥手

day28

内容回顾

1.网络基础相关

1.1离线

  • mac地址

1.2插网线

  • 路由器

  • 交换机

  • DHCP

  • IP

  • 子网掩码

  • 网关

1.3访问

域名/域名解析

  • 网内:arp协议+广播+单播(广播风暴)

  • 外网:网关

1.4创业

  • 租服务器(公有云/私有云/docker)/租空间

  • 组域名+域名解析

  • 写代码,然后上传到服务器,运行。

2.socket

  • TCP和UDP

  • socket

  • socketserver+多线程

  • 黏包

今日内容

1.网络基础

2.FTP作业

  • 进度条

  • 计算机文件大小

  • 短点续传

  • 搭建框架(示例)

今日详细

  1. 网络基础

    • 端口,是什么?为什么要有?

      • 端口是为了将同一个电脑上的不同程序进行隔离。

      • ip是找电脑

      • 端口是找电脑上的程序

      • 示例:

        • MySQL是一个软件,软件帮助我们在硬盘上进行文件操作。默认端口:3306

        • Redis是一个软件,软件帮助我们在内存里进行数据操作。默认端口:6379

        • 网站默认端口:80,访问时:http://www.baidu.com:80

        • 网站默认端口:443,访问时:https://www.biadu.com:443

      • 范围

        • 1 - 65535

        • 1 - 1024

        • 一般情况下:

          • 用8000

  2. OSI 7 层模型

    • 7层

      • 应用层,使用软件。

      • 表示层,看到数据,如图片和视频。

      • 会话层,保持登录或连接状态。

      • 传输层,TCP/UDP

      • 网络层,ip

      • 数据链路层,MAC

      • 物理层,将数据转换成电信号发送

    • 5层

      • 应用层,应用层/表示层/会话层

      • 传输层

      • 网络层

      • 数据链路层

      • 物理层

    • 4层

      • 应用层,应用层/表示层/会话层

      • 传输层

      • 网络层

      • 物理层,数据链路层/物理层

  3. TCP三次握手/四次挥手

    • socket客户端向服务端发起连接请求:三次握手

      • 请求连接

      • 允许连接

      • 连接成功

    • 服务端和客户端端来连接:四次挥手

      • 请求断开连接

      • 正在整理数据

      • 允许断开连接

      • 程序断开完成

    • 补充:断开连接时,反应到代码上:抛出异常/发送空内容

作业

  • 进度条

    import time

    def func(size,total_size):
       val = int(size/total_size * 100)
       time.sleep(0.2)
       print("\r%s%%|%" %(val,"*"*val,),end="")

    for i in range(100):
       func(i,100)
  • 读取文件大小

    import os

    size = os.stat(r"sadf\asdf\d\").st_size
    print(size)

     

day28

内容回顾

1.网络基础相关

1.1离线

  • mac地址

1.2插网线

  • 路由器

  • 交换机

  • DHCP

  • IP

  • 子网掩码

  • 网关

1.3访问

域名/域名解析

  • 网内:arp协议+广播+单播(广播风暴)

  • 外网:网关

1.4创业

  • 租服务器(公有云/私有云/docker)/租空间

  • 组域名+域名解析

  • 写代码,然后上传到服务器,运行。

2.socket

  • TCP和UDP

  • socket

  • socketserver+多线程

  • 黏包

今日内容

1.网络基础

2.FTP作业

  • 进度条

  • 计算机文件大小

  • 短点续传

  • 搭建框架(示例)

今日详细

  1. 网络基础

    • 端口,是什么?为什么要有?

      • 端口是为了将同一个电脑上的不同程序进行隔离。

      • ip是找电脑

      • 端口是找电脑上的程序

      • 示例:

        • MySQL是一个软件,软件帮助我们在硬盘上进行文件操作。默认端口:3306

        • Redis是一个软件,软件帮助我们在内存里进行数据操作。默认端口:6379

        • 网站默认端口:80,访问时:http://www.baidu.com:80

        • 网站默认端口:443,访问时:https://www.biadu.com:443

      • 范围

        • 1 - 65535

        • 1 - 1024

        • 一般情况下:

          • 用8000

  2. OSI 7 层模型

    • 7层

      • 应用层,使用软件。

      • 表示层,看到数据,如图片和视频。

      • 会话层,保持登录或连接状态。

      • 传输层,TCP/UDP

      • 网络层,ip

      • 数据链路层,MAC

      • 物理层,将数据转换成电信号发送

    • 5层

      • 应用层,应用层/表示层/会话层

      • 传输层

      • 网络层

      • 数据链路层

      • 物理层

    • 4层

      • 应用层,应用层/表示层/会话层

      • 传输层

      • 网络层

      • 物理层,数据链路层/物理层

  3. TCP三次握手/四次挥手

    • socket客户端向服务端发起连接请求:三次握手

      • 请求连接

      • 允许连接

      • 连接成功

    • 服务端和客户端端来连接:四次挥手

      • 请求断开连接

      • 正在整理数据

      • 允许断开连接

      • 程序断开完成

    • 补充:断开连接时,反应到代码上:抛出异常/发送空内容

作业

  • 进度条

    import time

    def func(size,total_size):
       val = int(size/total_size * 100)
       time.sleep(0.2)
       print("\r%s%%|%" %(val,"*"*val,),end="")

    for i in range(100):
       func(i,100)
  • 读取文件大小

    import os

    size = os.stat(r"sadf\asdf\d\").st_size
    print(size)

     

  •  

上一篇:day28---深拷贝和浅拷贝


下一篇:day28:java反射机制