首页 > 编程语言 >网络编程,osi七层协议

网络编程,osi七层协议

时间:2022-11-15 18:56:16浏览次数:41  
标签:计算机 七层 编程 端口 网络 osi 地址 ip

软件开发架构

规定了程序的请求逻辑,功能分开
分为两种:
1.C/S架构
	 客户端 (Client)
      类似于 我们下载的app,给客户提供软件体验,可以理解成要去消费的客户
    服务端 (Server)
    	相当于 给客户提供服务的服务的场所
    服务端必备条件:' 1.必须24小时服务。  2.固定的地址    3.支持多用户 '

    服务端必须由客户端来访问,一般情况下基于网络才能访问.  特殊情况下 客户端与服务端会在同一台计算机上。
====================================================================================
2.B/S架构
	 Browser 浏览器
    Sevrver 服务端
 """
 本质和c/s架构一样,只是我们在浏览器上当做客户端,没有专属的APP,通过浏览器页面去享受服务
 """
  • C/S架构:

​ 优势: 针对客户端可以高度定制

​ 劣势: 需要用户去下载才能使用

  • B/S架构:

    优势: 不需要下载,就可以体验

    劣势: 无法做到高度定制, 所以体验感就没那么好

网络编程

1.什么是网络编程

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

2.学习网络编程的目的

​ 能够开发c/s架构的软件

3. 网络编程的起源

   始于美国军方>>>: 很多先进的技术都是有军事发明后转为民用
   实际应用:
     军方想要实现不同计算机之间的数据交互,在当时没有网络编程技术的时候,只能拿硬盘拷贝并携带 

4.网络编程的必备条件

1.座机电话 —— 连接时需要电话线 
 2.大屁股电脑 —— 数据交互需要插网线
 3.智能手机 —— 数据交互无限网卡
"""
 电话线、网线、无限网卡 —— 远程通信的前提就是必须具备一个物理链接介质
"""

OSI七层协议简介

"""
  所有的计算机在生产过程过程中必须有相同的部分和相同的功能  ——  应、表、会、传、网、数、物
"""
1.应用层
2.表示层
3.会话层
4.传输层
5.网络层
6.数据链路层
7.物理链接层
====================================================================================
# 很多人把它们总结成五层
1.应用层(包含了表示层和会话层)
2.传输层
3.网络层
4.数据链路层
5.物理链接层

osi七层协议之物理连接层

计算机之间的物理连接介质。 接受数据,接收电信号(bytes类型,二进制)

OSI七层协议之数据链路层

基于物理链接层收到一串二进制数, 那么如何正常解析
1.规定了电信号的分组方式
2.以太网协议
	每台计算机都必须有一块网卡,该网卡上有一串数字。 每块网卡在出厂的时候都会被赋予一个人全世界唯一 的编号,用来记录,这个编号由12位16进制数组成
    前6位产商编号 后6位流水线号
     也称为"MAC地址"
可以基于MAC地址实现计算机之间的数据通信

OSI七层协议之网络层

ip地址: 规定了计算机接入互联网必须拥有ip地址,每个ip地址只能绑定一台计算机
     "MAC地址是物理地址无法修改,ip地址是动态地址也可调成静态"
ip地址有两个版本 
IPV4: 点分十进制
    最小: 0.0.0.0
    最大: 255.255.255.255
 	我们现在使用的都是IPV4地址,但是IP地址已经快不够用了,所以IPV6出来了
IPV6:
	""" IPV6 可以表示出地球上每一粒沙子 """
    他的ip地址数量能够给地球上每一粒沙子分一个ip地址。
    IP地址可以跨局域网传输前提是 必须申请公网ip地址。
    """
  IP地址分为公网IP和私网IP
   公网可以直接被浏览器访问到,但是私网不可以
   公网需要花钱购买并且需要实名认证并且备案
"""

OSI七层协议之传输层

PORT协议(端口协议)
	我们使用的每个应用程序他们每个都有一个独立的端口 ,目的就是为了从内存中获取数据时不会错乱。
 范围:
    0-65535
    特征:动态分配
0 - 1024 系统默认需要使用的端口
1024-8000 常见软件使用的端口号
所以我们在写项目的时候,推荐使用8000之后的端口
# 注意事项
 1、同一时间同一台计算机上面的端口号不能重合
 2、端口号是动态分配的, 就比如这次打开QQ的端口号是8118,使用完关了,再重新打开的时候可能是8118,也有可能是8888,或者其他数字
 3. 也有特殊情况 使用固定端口,当我们使用软件时有的软件自带设置端口。我们可以指定一个端口固定使用。注意:后续不要占用端口
 
  
    
 IP地址:用来标识全世界独一无二的一台接入互联网的计算机
 PORT号:用来标识一台计算机上面的某一个应用程序
  
 那么IP + PORT :就是定位全世界独一无二的计算机上面的某一个应用程序
  所以我们在日常中使用的网址其本质就是""" IP地址+端口号,通过域名解析将网址解析IP+PORT 两者之间使用冒号:连接 """


网络相关专业名词

计算机之间想要实现数据交互 必须 要 '连接'在一起
1.交换机
	能够将所有接在交换机设备上的计算机彼此互联
2.广播
	首次查找在同一台交换机上的其他计算机,需要向交换机发出广播 ,首次"群发"  
3.单播
   广播目标计算机回复消息时称为 "单播"并传输 mac地址
4.广播风暴
	同一台交换机上的计算机同时 发出广播
5.局域网
	单个交换机组成的网络。一个小区域内的网络。
6.广域网
	区域更大的局域网
7.互联网
	所有局域网,广域网连接到一起
8.路由器
	不同局域网之间的计算机无法实现数据交互,需要路由器连接 。

标签:计算机,七层,编程,端口,网络,osi,地址,ip
From: https://www.cnblogs.com/LiaJi/p/16893511.html

相关文章

  • 网络编程
    网络编程软件开发架构1.C/S架构C:Client客户端S:Server服务端客户端指代的是手机端的APP和电脑上的各种软件,我们可以通过这些软件来进行各种各样的操......
  • 网络编程:软件开发架构、架构总结、网络编程前戏、OSI七层协议简介、OSI七层协议之物
    目录软件开发架构架构总结网络编程前戏OSI七层协议简介OSI七层协议之物理连接层OSI七层协议之数据链路层网络相关专业名词OSI七层协议之网络层OSI七层协议之传输层软件开......
  • 软件工程实验二—电梯编程
    #include<stdio.h>#include<windows.h>typedefstructelevator{ intstaus;//三种状态:静止,上行,下行 inttype;//三种类型:双,单,全 intfloor;//此时停在的楼层数 intbeixuy......
  • AI 编程实践
    自治的可移动游戏智能体SteeringBehaviors(操纵行为)这些方法都返回执行该行为需要的力(实际是返回单位质量物体1s内修正速度需要的加速度,根据F=m(v1-v0)/t,这个返回值也......
  • 网络编程
    软件开发架构1.c/s架构 client:客户端server:服务端"""就是我们使用计算机下载下来的一个个app本质互联网公司的客户端软件通过这些客户端软件我们就......
  • 网络编程
    目录一.软件开发架构1.C/S架构2.B/S架构二.架构总结三.网络编程前戏1.什么是网络编程2.学习网络编程的目的3.网络编程的起源4.网络编程必备条件四.OSI七层协议1.引入:2.七......
  • 焦点科技编程挑战赛2022题解
    比赛说明:比赛在四个学校开展,南理南航南农和矿大。题目查找文本差异要求origin和dest中分别包含1000w+条数据dest对数据进行了打乱操作,即origin和dest中相同数据行的......
  • Python基础之网络编程:1、C/S架构和B/S架构
    目录软件开发架构一、C/S架构二、B/S架构三、本质和区别软件开发架构规定了程序的请求逻辑、功能分块一、C/S架构c/s架构的组成:Client(客户端),Server(服务端)Client(客......
  • Python基础之网络编程:2、OSI协议之七层协议
    目录Python基础之网络编程一、网络编程前戏二、OSI七层协议简介:1、物理连接层2、数据链路层网络相关专业名词3、网络层4、传输层Python基础之网络编程一、网络编程前戏1......
  • 计算机网路编程理论
    计算机网路编程理论针对软件开发,目前所有市面上的主流软件,都基本上会使用网络进行通信,传输各种数据,作为软件开发人员,掌握网络编程理论和了解网络编程开发架构是必须的。......