1.什么是网络:

   通过网络设备将各个设备连接在一起,使用协议让设备之间可以通信,共享资源,这些组成了一个网络。

2.osi七层模式:

  国际标准化组织(ISO)创建OSI(开放系统互联)参考模型,希望不同供应商的网络能够相互协同工作。OSI分层的优点如下:

    1.促进标准化工作,允许各个供应商进行开发.

    2.各层间相互独立,把网络操作分成低复杂性单元.

    3.灵活性好,某一层变化不会影响到别层,设计者可专心设计和开发模块功能.

    4.各层间通过一个接口在相邻层上下通信

  OSI共分为以下七层以及各层的作用:

 应用层:用户接口(http,ftp等)
 表示层:数据表示,加密等特殊操作(jpeg,ascii)
 会话层:保证不通应用的数据分区
 传输层:可靠或不可靠传输,数据传输前的纠错(tcp/udp) 
 网络层:提供路由器用来决定路径的逻辑寻址
 数据链路层:将比特组合成字节进而组合成帧;用MAC地址访问介; 错误发现但不能纠正
 物理层:设备间接收或发送比特流

    5.一个主机传输数据到另一个主机时,需要将数据进行封装,当主机接受到数据时,也需要从下而上进行解封装。具体封装过程如下:

  

6.tcp和udp

tcp的特点(可靠传输) udp的特点(不可靠传输)
面向链接的(传输前会进行建联) 不面向链接的
可靠的,有序的(重传机制) 不可靠的,无序的
流量控制(窗口大小) 无流量控制

tcp三次握手:

      

tcp四次挥手:

    

python之路-网络基础的更多相关文章

  1. python之路——网络基础

    你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据,你要怎么做 ...

  2. Python之路 - 网络编程之粘包

    Python之路 - 网络编程之粘包 粘包

  3. Python之路 - 网络编程初识

    Python之路 - 网络编程初识 前言

  4. Python进程间通信和网络基础

    Python进程间通信和网络基础 Python支持多种进程间通讯的方式, 有单机通信的signal和mmap等, 也有可以通过网络的socket方式, 这里先介绍select等的有关知识, socke ...

  5. Python服务器开发 -- 网络基础

    Python服务器开发 -- 网络基础   网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.... 网络由下 ...

  6. python之路——网络编程

    一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据, ...

  7. Python之路 day1 基础1 变量 for while 用户输入

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  8. Python服务器开发 -- 网络基础-乾颐堂

    网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip ...

  9. python之路: 基础篇

    )或>>> name = )    #按照占位符的顺序):]        #下标识从0开始的 wulaoer >>> print name[:]        # ...

随机推荐

  1. CSS sprite使用

    CSS Sprites叫css精灵或者雪碧图,是一种网页图片应用处理方式. CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”, ...

  2. Qt Model/View学习(二)

    Model和View的搭配使用 DEMO pro文件 #------------------------------------------------- # # Project created by ...

  3. eclipse中怎么调出左边项目列表,解决方法:主界面的最上面一栏的Window--ShowView--Project Explorer

    主界面的最上面一栏的Window--ShowView--Project Explorer

  4. 对Maven项目进行强制更新

    选中项目 然后 选中Force Update of Snapshots/Releases,点击OK即可. 此时pom.xml就不会报错了.

  5. input = time 微信端(移动端)

    垂直居中不管用:用margin-top解决 默认值value 不生效:严格按照日期格式设置

  6. 响应式图片 (responsive image)

    更新 : 2019-02-21 除了写 srcset sizes 还有一种 x1, x2, x3, x4 的写法. 我们对比一下 假设 pc 希望是 1000w mobile 希望是 300w siz ...

  7. Google云平台使用方法 | Hail | GWAS | 分布式回归 | LASSO

    参考: Hail Hail - Tutorial  windows也可以安装:Spark在Windows下的环境搭建 spark-2.2.0-bin-hadoop2.7 - Hail依赖的平台,并行处 ...

  8. Juniper基础配置

    root> show configuration | display set      配置按set行显示,查看的配置为未commit的配置(commit check)root# set sys ...

  9. Practical Node.js (2018版) 第4章: 模版引擎

    Template Engines: Pug and Handlebars 一个模版引擎是一个库或框架.它用一些rules/languages来解释data和渲染views. web app中,view ...

  10. 2 爬虫 requests模块

    requests模块 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,reques ...