网络编程介绍,C/S 架构,网络通讯协议,osi七层

    网络编程:

什么是网络编程:

  网络通常指的是计算机中的互联网,是由多台计算机通过网线或其他媒介相互链接组成的

  编写基于网络的应用程序的过程序称之为网络编程

为什么要学习网络编程:

  我们已经知道计算机,由硬件 操作系统,应用程序组成,有了这三个元素,就可以在自己的电脑上运行一些应用程序了,比如玩玩纸牌,扫扫雷什么的

如果要想与其他计算机一起玩,就必须要让你的计算机和其他计算机能够互相传递数据

  学习网络编程就是要学习利用网络来与另一台计算机相互传输数据, 开发出支持网络通讯的应用程序,这样即使足不出户也能尽知天下事

      C/S架构

学习网络编程就是要通过网络来访问另一台计算的数据,这样必然需要至少两台计算机,一台计算机上放着要分享的数据和用于分享数据的程序,另一台计算机上运行访问数据的程序,

我们把提供数据的一方称之为服务器(Server),把访问数据的一方称为客户端(Client)

这就是C/S构架:

网络编程介绍,C/S 架构,网络通讯协议,osi七层

网络通讯的基本要素

1. 物理连接介质:

  网线,光纤,无线电等。

2.通讯协议:

  通讯协议是由发送方与接收方共同商定出的一套标准,约定中包括对数据格式,同步方式,传播速度,传送步骤,检纠错方式以及控制字符定义等问题作出统一规定

通信双方必须共同遵守,它也叫做链路控制规程

      OSI七层模型

什么是OSI?

Open System Interconnection Reference Model,开放式系统互联通信参考模型,缩写为OSI,是由国际标准组织推出的,其实就是一大堆协议,OSI把整个通讯过程划分为七层,简称OSI七层模型

网络编程介绍,C/S 架构,网络通讯协议,osi七层

上图中最右边就是完整的七层模型,是最完整的通讯模型,虽然很详尽,但是整个通讯流程的复杂度较高,后期为了降低学习难度,将其进行了简化,于是又了中间的五层,和左边的四层

其中应用层,表示层和会话层都是属于应用程序层的,是一个整体,故将其合并为应用层,由此得到中间的五层,这是我们学习的重点!

  应用层   传输层   网络层   数据链路层   物理层

为什么需要OSI:

  OSI就是相当于计算机界的通用语言,只要按照OSI规定的标准来通讯,就能够与全世界任何一台所有计算机通讯

OSI五层工作原理解析

1. 物理层

  物理层的由来,在通讯的基本要素一节已经讨论过了,两台原本相互独立的计算机,想要通讯,必须建立物理连接,连接的方式多种多样,包括电缆,光缆,无线电等;

2.数据链路层

  1.以太网协议:

    以太网协议(Ethernet)工作在数据链路层,其规定了电信号分组方式,以及一组电信号应该包含哪些内容

ethernet规定如下:

一组电信号构成一个数据包,叫做‘帧’

每一数据帧分成:报头head和数据data两部分

网络编程介绍,C/S 架构,网络通讯协议,osi七层

head包含:(固定18个字节)

发送者/源地址,6个字节

接收者/目标地址,6个字节

数据类型(标签+以太类型),6个字节

data包含:(最短46字节,最长1500字节)

数据包的具体内容

head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

    2.mac地址:

      head中包含的源和目标地址指的是什么地址呢?

         ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwspgp.html