• 计算机基础三:计算机网络基础


    计算机网络基础

    前言:

        经过前两篇我们对计算机硬件基础,计算机操作系统有了详细的了解,这一篇呢我们了解一下计算机网络基础,我们在开启电脑之后打开浏览器浏览一下网页,看看新闻什么的,但是你知道当你打开网页到观看页面这个过程中电脑都经历了什么么?

    下面让我们一起探索一下

    粗聊:

        1.网络协议:

               什么是网络协议?网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。

               打个比方:世界上有一百多种不同的语言,当我们两个语种不同的国家进行沟通还好我们之间可以互相适应一下,但是当我们和7、8个甚至上10个国家一起沟通呢?我们就需要着一种大家都能听懂的语言,这个语言就是英语,世界沟通的通用语,那么电脑与电脑之间也是如此,我们把多个电脑之间能够相互听得懂的语言叫做网络协议。

         2.协议作用:

               我们从物理层可以看到,多个电脑之间的沟通是靠高电平、低电平进行2进制的信息交互,所以我们用网络协议将很长的2进制数规范起来,让每一电脑通过这种协议能够看懂网络上每一个信息的关系。

        3网络协议模型(osi):

                (图片来自百度)

      osi模型总共分为7层。

    重心

      tcp/ip协议:

         1.为什么要有tcp/ip协议

             为了减少网络设计的复杂性,大多数网络都采用分层结构。对于不同的网络,层的数量、名字、内容和功能都不尽相同。在相同的网络中,一台机器上的第N层与另一台机器上的第N层可利用第N层协议进行通信,协议基本上是双方关于如何进行通信所达成的一致。

         2.tcp/ip协议与iso协议的区别

              

    图中我们可以看到tcp/ip协议分为5层或者分为4层我们进行一一讲解。

             2.1物理层:

        他是实现网络连接的第一层,人如其名,就是简单的将水晶头插到网卡上完成一个物理上的连接这么简单。

             2.2数据链路层:

        实现网络链路的第二层,也是真正的第一个协议的出现。以太网(Ethernet)协议,以太网技术作为数据链路层的一种简单、高效的技术,以其为核心,与其它物理层技术相结合,形成以太网技术接入体系。

        以太网技术特点:

              (1)局域网内广播式查询

                              一个电脑想要寻找另一台电脑会对局域网内进行喊话,局域网内任何一台电脑都能收到。

              (2)建立了以太协议

                              将要发送的数据进行打包,在前面加上一个以太协议的包头

     

    ethernet规定

    • 一组电信号构成一个数据包,叫做‘帧’
    • 每一数据帧分成:报头head和数据data两部分
           head                        data                             

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

    • 发送者/源地址,6个字节
    • 接收者/目标地址,6个字节
    • 数据类型,6个字节

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

    • 数据包的具体内容

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

                    (3)引入mac地址体系。

    head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址

                     我们可以通过win+r下------>cmd--------->ipconfig/all进行查看

     

        2.3网络层:

        看完上面那些我们可以在一个局域网内进行相互的沟通了,但是我们不可能局限在几十台电脑组成的局域网内。我们需要连接到世界各地,这时以太协议就不能满足我们的正常使用了。而且在一个世界的电脑网络里进行广播的话分明是一场灾难啊。为了满足不同局域网内的人进行沟通,机智的人们又发明了ip协议。

           (1)ip协议:

             IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。

            (2)ip协议的格式

             规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示

             范围0.0.0.0-255.255.255.255

             一个ip地址通常写成四段十进制数,例:172.16.10.1

             (3)ip协议下数据包的组成

              ip数据包也分为head和data部分,无须为ip包定义单独的栏位,直接放入以太网包的data部分

              head:长度为20到60字节

              data:最长为65,515字节。

              而以太网数据包的”数据”部分,最长只有1500字节。因此,如果IP数据包超过了1500字节,它就需要分割成几个以太网数据包,分开发送了。

    以太网头                ip 头                                     ip数据                                

         

              (4)关于arp协议:

                一种应用在路由上的广播技术,可一控制发送次数,减少广播时的消耗。

            到了这一层我们就可以从一台计算机找到另一台计算机了

    2.4传输层

         我们已经找到了我们需要沟通的计算机,那么我们需要通过软件之间进行沟通了,但是我们也不能瞎沟通啊,我们之间得有都能弄懂的沟通方式吧。

         TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。

         简单点说就是我们在要进行点对点传输前,创造一个是和传输的环境,这个创造的过程就是靠tcp协议进行,当然也可以靠udp。

         (1)tcp协议拓扑图

           

    建立数据传输前进行三次握手第2和3次可以同时发送,断开时进行4次挥手考虑到客户端传输完数据可以进行断链申请,服务器进行同意,但是考虑到在此时服务器是否向客户端传输数据完成,所以同样是服务器向客户端传送信息,客户端需要传送完毕在进行断链申请,由此出现了传送同样的4句话,建立连接是3次完成,而断开连接需要4次。

    开拓:

          学完上面的网络基础,用一张图为大家展示一下我们的软件是怎么联系到客户端上的

       

    隐藏贴:

             1.dns:每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

              简单说,就是将一个网址的域名转换成ip地址的服务器,因为我们所用的网络是基于ip地址的网络。我们访问网络也是访问ip的过程。但是人们相比于记住数字更愿意去记住有关联性的东西,比方说百度对应的域名是www.baidu.com ,他的ip是123.125.114.144可能你说记住一个很好记,那我问你让你记住10个ip地址呢,你本身就会乱掉的。所以dns就应运而生了。

              2.dhcp:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

                dhcp协议能够更好的管理连接进入局域网内的主机的ip地址,打个比方你是一名网关,每天都有不同的人来你这里上网,你需要在你的列表里查找剩余的ip地址给这位,如果有一天分配了相同ip地址的人同时进来上网了,这是他们的地址会冲突,造成一人或者两人都上不了的问题,而且让网管一个一个的分配地址很累的。为了简化网管的操作劳累都,人们将可以使用的地址放在一个池子内,让每一个来的人得到一个几小时内能够租用的ip地址进行使用,每个几个小时在进行更替。这样就保证了每一个来的人都有新的ip地址,同时网管不用一次次的分配了

  • 相关阅读:
    简单缓存 datatable
    发现一句实话
    今天一个比较感兴趣的心里测试
    innodb与myisam的对比总结
    插入数据的优化
    PHP 实现事务处理
    mysql 优化的整体思路
    301跳转
    jquery显示div的方法
    <c:forEach 的常用整理
  • 原文地址:https://www.cnblogs.com/935415150wang/p/6890052.html
Copyright © 2020-2023  润新知