ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-07-10 12:37:40  阅读:172  来源: 互联网

标签:day28 端口 TCP 连接 OSI 物理层 应用层 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

内容回顾

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,端口,TCP,连接,OSI,物理层,应用层,size
来源: https://www.cnblogs.com/fxy1024/p/14993551.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有