开发工程师必备————【Day1】网络编程

今日内容概要

  • 软件开发架构
  • 网络编程简介
  • OSI七层协议
  • 网络相关设施

软件开发架构

1.什么是软件开发架构
编写项目之前需要遵循的代码层面上的规范(代码运行的流程,环节,步骤)

2.软件开发架构的分类
在进行软件开发时,通常会在两种基本架构中进行选择,即C/S架构和>B/S架构。

  • 什么是C/S架构?
    C/S架构是客户端服务器端交互模式,是Client server的简称。它是早期常用的一种软件架构,这种架构的软件需要在用户的电脑上安装客户端程序,如下图所示。
    请添加图片描述
  • 什么是B/S架构?
    B/S架构是浏览器/服务器交互模式,是Browser/Server的简称。它是目前最常用的一种软件架构,这种架构的软件不需要在用户的电脑上安装任何客户端程序,只需要在用户的电脑上安装浏览器即可。用户可以使用浏览器通过web服务器和数据库做交互,交互的结果将会以网页的形式显示在浏览器端。如下图所示:
    请添加图片描述

3.三种架构的优缺点

  • cs架构:
    优势:下载对应的客户端 可以在客户端软件内高度定制相关服务
    劣势:使用必须先下载客户端 比较繁琐
  • bs架构:
    优势:不需要下载客户端 能够快速体验服务
    劣势:定制花里胡哨的功能较为繁琐

4.架构发展趋势
上述架构与我们之前所学的三层架构其实一样。
发展趋势:统一接口原则
微信
里面有很多小程序,可以直接体验其他服务。
支付宝
里面有很多小程序,可以直接体验其他服务。
后续就是cs和bs交错使用,避免各自的劣势!

网络编程简介

1.如何理解网络编程
基于互联网编写代码,程序可以实现远程数据交互。

2.网络编程的目的
网络编程的本质是为了解决计算机之间远程数据交互。

3.网络编程的意义
学习网络编程之后,可以编写一个c/s架构的软件。

4.网络编程的起源
该技术源于美国军方后续转为民用
实际应用:
军方想要实现不同计算机之间数据交互
没有网络编程技术的时候只能拿U盘拷贝并携带
为了跨区域交互数据所以发明了网络编程

5.网络编程的要求

  • 早期的电话
    必须要有电话线
  • 大屁股电脑
    必须要有网线
  • 笔记本电脑
    必须要有网卡

计算机之间要想实现远程数据交互,首要条件就是要有物理连接介质

OSI七层协议

1.什么是OSI七层协议?
OSI是一个开放性的通信系统互连参考模型,它是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。OSI的7层从上到下分别是7应用层6表示层5会话层4传输层3网络层2数据链路层1物理连接层;其中高层(即7,6,5,4层)定义了应用程序的功能,下面3层(即3,2,1层)主要面向通过网络的端到端,点对点的数据流。

2各层功能

  • 应用层
    与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。
  • 表示层
    这一层的主要功能是定义数据格式及加密。
  • 会话层
    它定义了如何开始,控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而表示层看到的数据是连续的,在某种情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
  • 传输层
    这层的功能包括是选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX,PORT。
PORT协议(端口协议)
用于标识一台计算机上面正在运行的应用程序(端口号类似于手牌号)
端口号的范围是:0~65535
0~1024:系统经常使用的端口号
1024~8000:常用软件的端口号

我们以后在写项目的时候推荐使用8000之后的端口。

1.同一时间同一台计算机上面端口号不能冲突;
2.端口号是动态分配的;
eg:打开qq随机分配一个没有被使用的端口号8888
关闭qq重新打开那么会随机分配可能还是8888也可能是其他。
IP地址:用于标识全世界独一无二的一台接入互联网的计算机。
PORT号:用于标识一台计算机上面的某一个应用程序。
IP+PORT:能够标识全世界独一无二的一台计算机上面的某一个应用程序。

我们日常生活使用浏览器访问的各个网址其实就是IP+PORT
eg:www.baidu.com 好记
14.215.177.2980 难记

ip:port
很多常见的服务端都不需要指定端口,只要访问了ip地址内部去会自动映射。

域名解析:
将好记的地址解析成真正的地址
www.baidu.com解析202.108.22.580
  • 网络层
    这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法、示例:IP,IPX等。
IP协议:
规定了每台接入互联网的计算机都必须有一个IP地址(取决于网线)
IP地址目前有两个版本:
1.IPV4:点分十进制
最小:0.0.0.0
最大:255.255.255.255
# 随着社会的进步,计算机的使用越来越普遍IPV4地址不够用。
2.IPV6:十六进制
'''IPV6可以表示出地球上每一粒沙子'''
# IP地址可以唯一标识地球上独一无二的一台接入互联网的计算机。
  • 数据链路层
    它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。
1.规定了二进制数据的分组方式;
2.规定了“以太网协议”
但凡能够接入互联网的计算机都必须有一块网卡;
每块网卡在出厂的时候都会被烧制一个全世界独一无二的编号;
该编号室友1216进制数组成;
前六位是产商编号;
后六位是流水线号;
这个独一无二的编号也有一个称呼>>>:'mac地址(类似于身份证号)'
基于mac地址就可以实现计算机之间的数据通信了!!!
  • 物理连接层
    为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成。一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路。

互联网相关专业名词

1.交换机
能够让接入交换机的多台计算机实现彼此互联。
交换是按照通信两端传输信息的需要,用人工或设备自动完成的方法,把要传输的信息送到符合要求的相应 路由 上的技术的统称。
交换机根据工作位置的不同,可以分为广域网交换机和 局域网交换机 。广域的交换机就是一种在通信系统中完成信息交换功能的设备,它应用在 数据链路层 。
交换机有多个端口,每个端口都具有 桥接 功能,可以连接一个 局域网 或一台高性能服务器或工作站。
实际上,交换机有时被称为多 端口网桥。网络交换机,是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机。请添加图片描述

2.以太网通信(mac通信)
原理
有了交换机之后 根据电脑的mac地址就可以实现数据交互。
广播:先在交换机中吼 所有接入交换机的设备都能收到;
单播:只有被查找设备 才会回复相应信息。
缺陷
1.mac地址通信仅限于局域网
2.接入交换机的设备过多 可能会造成广播风暴
广播风暴:类似于所有人同时吼!!!

3.局域网
有某个固定区域组成的网络;
局域网,LAN(Local Area Network)是指在某一区域内(如一个学校、工厂和机关内)由多台计算机互联成的计算机组。一般是方圆几千米以内。将各种计算机,外部设备和数据库等互相联接起来组成的计算机通信网。
请添加图片描述

4.广域网
广域网可以看成是更大区域的局域网;
广域网,WAN(Wide Area Network)也称远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
请添加图片描述

5.路由器
将多个局域网连接到一起的设备。
路由器又可以称之为网关设备。路由器就是在OSI/RM中完成的网络层中继以及第三层中继任务,对不同的网络之间的数据包进行存储、分组转发处理,其主要就是在不同的逻辑分开网络。而数据在一个子网中传输到另一个子网中,可以通过路由器的路由功能进行处理。在网络通信中,路由器具有判断网络地址以及选择IP路径的作用,可以在多个网络环境中,构建灵活的链接系统,通过不同的数据分组以及介质访问方式对各个子网进行链接。路由器在操作中仅接受源站或者其他相关路由器传递的信息,是一种基于网络层的互联设备。请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值