计算机网络——软件开发架构、网络编程、OSI七层协议
一、 软件开发架构
规定了程序的请求逻辑、功能分块
软件设计的大方向: 统一接口
1、C / S架构
client:客户端
server:服务端
C/S架构,Client-Server,这种结构的软件要求我们必须安装一个客户端才可以使用,举个例子,你的微信使用的就是C/S架构,我们在使用微信的时候,必须在手机或者电脑上安装应用之后才可以使用。
缺点:这种结构存在一个天然的弊端,在进行应用更新的时候,我们必须同时更新服务器端和客户端。比如微信的更新,开发者在微信中添加了视频的功能,此时他会更新微信的服务器端,而我们想使用微信中视频的功能,就必须更新自己手机或者电脑上的微信才可以使用,其实用一个词来说,麻烦,就是C/S架构的弊端所在。
2、B / S架构
Browser:浏览器
Server:服务端
B/S架构,Browser-Server,只需要一个浏览器就可以使用的软件。举个例子,我们平时使用的网页淘宝就是一种B/S架构的应用软件。
优点:这种结构用户可以直接通过浏览器进行访问,更重要的是,这种应用软件的更新,只需要更新服务器端即可。比如淘宝做促销活动添加了很多新的活动内容,淘宝开发者更新服务器端之后,用户只需要刷新浏览器便可以看到新添加的内容,对于用户来说,这种结构很便捷。
二、网络编程
### 1、什么是软件编程
基于网络写代码、能够实现数据的远程交互
### 2、学习网络编程的目的
能够开发c / s架的软件
### 3、软件编程的起源
起源于美国军事领域:
想要实现计算机之间数据的交互
### 4、网络编程的必备条件
数据的远程交互
1、早期的电话:电话线
2、早期的台式电脑: 网线
3、笔记本电脑、移动电话: 网卡
实现数据的远程交互必备的基础条件是:物理连接介质
三、OSI七层协议简介
OSI七层协议:
规定了所有计算机在进行远程数据交互时,必须经过相同的处理流程、在制造过程中必须要拥有相同的功能硬件。
七层:
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
五层(常见):
应用层、传输层、网络层、数据链路层、物理层
四层:
应用层、传输层、网络层、网络接口层
在接收网络消息时:数据由下向上传递
在发送网络消息时:数据由上向下传递
1、物理层
主要用于计算机之间的物理连接介质,接收数据(Bytes、二进制)
建立、维护、断开物理连接。(由底层网络定义协议)
2、数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
1、规定了电信号的分组方式
2、以太网协议
规定了计算机在出厂的时候必须有一块网卡、网卡上的那串数字就是MAC地址
该数字的特征:
12位16进制数据:前六位厂商编号、后六位流水线号
3、网络层
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6)
IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号
mac地址是物理地址可以看成永远无法修改
IP地址是动态分配的 不同的场所IP是不同的
IP地址特征:
IPV4:点分十进制
0.0.0.0
255.255.255.255
IPV6:能够给地球上每一粒沙分一个IP地址
IP地址可以跨局域网传输
ps:IP地址可以用来标识全世界独一无二的一台计算机
4、传输层
定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
PORT协议(端口协议)
用来标识一台计算机上面的某一个应用程序
范围:0-65535
特征:动态分配(洗浴中心号码牌)
建议:
0-1024 系统默认需要使用
1024-8000 常见软件的端口号
8000之后的
URL:统一资源定位符(网址)
网址本质是有IP和PORT组成的!!!
IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序
域名解析:将网址解析成IP+PORT
我们之所以不直接使用IP+PORT的原因是太难记 所以发明了域名(网址)
IP:PORT 实际使用冒号连接
114.55.205.139:80
5、会话层
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
6、表示层
表示层
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、EBCDIC、加密格式等
7、应用层
网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
8、每层运行常见的物理设备
9、每层运行常见的协议
四、网络相关的专业名称
1、专业名称
1、交换机
能够将所有接入交换机的计算机彼此互联在一起
2、广播
可以理解为:首次查找接入同一个交换机的其他计算机 需要朝交换机里面吼一嗓子
主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
3、单播
首次被查找的计算机回应查找它的计算机 并附带自己的mac地址
4、广播风暴
接入同一台交换机的多台计算机同时发广播
5、局域网
可以简单的理解为有单个交换机组成的网络
在局域网内可以直接使用mac地址通信
局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
6、广域网
可以简单的理解为范围更大的局域网
7、互联网
由所有的局域网、广域网连接到一起形成的网络
8、路由器
不同的局域网计算机之间是无法直接实现数据交互的 需要路由器连接
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。