编程语言
首页 > 编程语言> > 学习python,从入门到放弃(31)

学习python,从入门到放弃(31)

作者:互联网

学习python,从入门到放弃(30)

软件开发架构

程序员在编写软件的时候应该遵循的架构设计,类似于我们写ATM和选课系统所采用的三层架构。

软件开发架构分为 C/S 架构和 B/S 架构。

C/S 架构的优势在于针对客户端可以高度定制,而劣势在于需要用户去下载才能使用。

B/S 架构的优势在于无需下载,急速体验,劣势是无法做到高度定制,体验效果较差。

目前的趋势其实更加偏向于 B/S 架构。

网络编程简介

网络编程的研究前提就是基于互联网,网络编程就是基于互联网编写代码。

学习网络编程是为了后续开发 C/S 架构的软件打下基础。

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

互联网协议

不同计算机之间要想实现无障碍交互,除了需要有物理链接介质之外还需要一套公有的标准。这个标准就是互联网协议(OSI七层协议)

OSI七层协议简介

所有的计算机在生产过程中必须有相同的部分和相同的功能。分为应、表、会、传、网、数、物,分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理链接层。

上述的七层也有很多人总结为五层,应用层(三层)、传输层、网络层、数据链路层、物理链接层。

OSI七层协议的本质

OSI七层的本质其实就是规定了数据要想基于网络发送出去必须在计算机上经历一些固定的流程。

互联网

其实我们的计算机也可以称之为是服务器/服务端(专门对外提供服务)

专业设施名词

  1. 交换机
    让接入交互机的多台计算机之间彼此互联
  2. 局域网
    由交换机组成的网络称之为局域网(一个区域)
  3. 广播与单播
    广播:在交换机中群发
    单播:定向回复消息(记录mac地址)
  4. 路由器
    将局域网彼此链接起来并支持数据交互
    互联网其实可以看成是由多个局域网链接在一起

在局域网中可以直接基于mac地址实现数据交互,但是可能会产生广播风暴,即交换机中同一时间出现太多广播操作造成服务器损坏。mac地址只能用于局域网交互数据,不能跨局域网传输。

OSI七层协议网络层

OSI七层协议传输层

OSI七层协议应用层

完全取决于编写代码的程序员使用什么协议。

TCP与UDP协议

TCP与UDP协议都属于传输层。

TCP协议为什么比UDP协议可靠

TCP 协议之所以比 UDP 协议可靠 原因在于 TCP 协议发送消息有反馈机制,基于 TCP 发送的消息会在本地先保存该消息 如果地方确认收到才会删除,否则在一定的时间内会频繁的多次发送知道确认或者超时为止,UDP 协议发送数据之后会立刻删除内存数据,不会保留。

标签:协议,计算机,python,IP,31,TCP,七层,交互,入门
来源: https://www.cnblogs.com/lajiaomao/p/16146489.html