首页 > 编程语言 >Python基础之网络编程:2、OSI协议之七层协议

Python基础之网络编程:2、OSI协议之七层协议

时间:2022-11-15 17:12:56浏览次数:50  
标签:协议 计算机 Python 交互 编程 网络 OSI IP地址 数据

目录

Python基础之网络编程

一、网络编程前戏

1.什么是网络编程:

​ 网络编程是指基于网络编写代码,能够实现数据的远程交互

2.学习网络编程的目的:

​ 能够开发基于网络,实现与多用户交互的C/S架构的软件

3.网络编程的起源:

​ 最早起源于美国军事领域,早期人们想要实现不同计算机内的数据交互只能使用硬盘拷贝,为了能够更快、更为便捷的实现数据交互,于是就诞生了网络编程

4.网络编程的必备条件:

​ 数据的远程交互

​ 1.早期的电话:需要通过电话线

​ 2.大屁股电脑:需要通过网线

​ 3.笔记本电脑、移动电话:需要通过网卡

实现数据的远程交互必备的基础条条件是:物理连接介质

二、OSI七层协议

简介:

  • OSI七层协议:
    • 规定了所有的计算机在远程数据交互的时候必须经过相同的处理流程、在制造过程中必须拥有相同的功能硬件
  • 包含:
    • 应用层:
      • 与其他计算机进行沟通的应用,它是对应应用程序的通信服务的
    • 表示层:
      • 这一层的主要功能是定义数据格式及加密
    • 会话层:
      • 它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的
    • 传输层:
      • 对传输的数据进行处理、排序
    • 网络层:
      • 对端到端的包传输进行定义
    • 数据链路层:
      • 定义了在单个链路上如何传输数据
    • 物理连接层:
      • 计算机之间需要用到光缆、电缆以及无线电波

最常见的是整合之后的五层或者四层:

​ 五层:应用层、传输层、网络层、数据链路层、物理连接层

​ 四层:应用层、传输层、网络层、网络接口层

接收消息:数据由下往上传递

发送消息:数据由上往下传递

1、物理连接层

主要用于确保计算机之间的物理连接介质
接收数据(bytes类型、二进制)

2、数据链路层

1、规定了电信号的分组方式
2、以太网协议
	规定了计算机在出厂的时候都必须有一块网卡、网卡上有一串数字
	该数字相当于是计算机的身份证号码,是独一无二的
	数字特征: 12位16进制数据
    	前6位:厂商编号   后6位:流水线号
	该数字称为:以太网地址/MAC地址

网络相关专业名词

​ 计算机之间想要实现数据交互必须要‘连接’到一起

1、交换机

​ 能够将所有的计算机彼此互联起来

2、广播

​ 首次查找接入同一个交换机的其他计算机 需要向交换机内‘吼一嗓子’

3、单播

​ 首次被查找的计算机回应查找它的计算机,并附带自己的MAC地址

4、广播风暴

​ 接入同一台交换机的多台计算机同时发广播

5、局域网

​ 可以简单理解为由单个交换机组成的网络

​ 在局域网内可以直接使用MAC地址通讯

6、广域网

​ 可以理解为范围更大的局域网

7、互联网

​ 由所有的局域网、广域网连接到一起组成的网络

8、路由器

​ 不同的局域网计算机之间是无法直接实现数据交互的,需要由路由器进行连接

3、网络层

IP协议:规定了所有接入互联网的计算机都必须拥有一个IP地址,类似于身份证
	MAC地址可以看成是物理地址,永远也无法修改
	IP地址:是动态分配的,连接到不同场所的网络时IP地址就会改变
 
IP地址特征:
	IPV4:
     点分十进制,由四个点分开的十进制数,单个最大数能够达到255,组合在一起就是255的4次方
    	0.0.0.0
    	255.255.255.255
	IPV6:能够给地球上的每一粒沙子都分配一个IP地址
	IP地址能够跨局域网进行传输

当前的IP地址可以用来标识地球上一台独一无二的计算机

4、传输层

PORT协议(端口协议)
	用来标识一台计算机上面的某一个程序
	范围:0-65535
	特征:动态分配(类似于每一次去洗浴中心,拿到的手牌号码)
	建议: 在我们以后编写程序需要使用到端口号时,建议使用8000之后的
    	0-1024      系统默认需要使用
		1024-8000    常见的软件端口号
        
URL:统一资源定位符(网址)
	网址的本质是由IP和PORT组成的

IP+PORT:能够定位到全世界独一无二的一台计算机上的某一个程序

域名解析:将网址解析成IP+PORT

IP:PORT  实际使用冒号连接

标签:协议,计算机,Python,交互,编程,网络,OSI,IP地址,数据
From: https://www.cnblogs.com/kangssssh/p/16893058.html

相关文章

  • ctf.bobbydylan python解密
    str="1234567890abcdef"iArr=[0]*16iArr[0]=0iArr[12]=14iArr[10]=7iArr[14]=15iArr[15]=42try:iArr[1]=3iArr[5]=5except:iA......
  • [oeasy]python0015_十六进制_hexadecimal_字节形态_hex函数
    ​ 十六进制(hexadecimal)回忆上次内容上次数制可以转化bin(n)可以把数字转化为​​2进制​binary接收一个整数(int)得到一个二进制数形式的字符串​编......
  • 网络编程与OSI模型
    目录一、网络编程简介1.什么是网络编程2.学习网络编程的目的3.网络编程的发展史4.网络编程必备条件二、OSI七层协议模型简介0.操作系统基础1.osi七层协议模型2.osi七层协议......
  • [Python]学习笔记之-正则表达式
           在使用Python做文件处理时,经常需要使用到匹配、搜索功能,这就离不开一个核心的知识:正则表达式。正则表达式(RegularExpression)描述一种字符串匹配的模式(pat......
  • Python第10章 实例 实战
    一、实验目的和要求文件操作二、实验过程 通过pycharm进行代码编辑三、实验过程敲代码四、代码及其结果实例print("\n","="*10,"蚂蚁庄园动态","="*......
  • python的介绍
    Python是一种跨平台的计算机程序设计语言,是ABC语言的替代品,属于面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越来越多被用于......
  • 进入python的世界_day31_网络编程—— 两种软件开发架构、网络编程之OSI七层协议
    一、软件开发架构1.第一种——C/S架构Client客户端<——————>Server服务端我们平时下载的软件包,基本都是客户端软件使用这个软件包就有一张令牌去进入店铺享受......
  • 计算机网络——软件开发架构、网络编程、OSI七层协议
    计算机网络——软件开发架构、网络编程、OSI七层协议一、软件开发架构​ 规定了程序的请求逻辑、功能分块​ 软件设计的大方向:统一接口1、C/S架构client:客户端s......
  • 点云数据(激光雷达)显示python代码
    点云数据显示是查看点云数据及感性认识必不可少的一个环节。因为在实际场景中,可能会涉及到很多的算法步骤,处理结果是不是我们自己想要的,就需要查看点云数据。为此,我将......
  • python知识
    Python由荷兰数学和计算机科学研究学会的GuidovanRossum于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程......