胡说八道计算机网络之什么是网络(一)?

胡说八道计算机网络之什么是网络(一)

  • 什么是网络?

  • 网络通信的实现:tcp/ip协议

  • 使用Wireshark抓包分析tcp/ip协议栈


什么是网络? 

    所谓网络,就是通过一定的形式连接起来的物体,物体与物体之间可以实现通信。

    比如这样的,就称为计算机网络。它可以实现计算机之间的通信。

  wKiom1kFv9ei8KuNAAD9_TjljVI632.jpg

    抑或是这样的,就被称为神经网络。它可以通过生物的突触进行信号通信。最近深度学习,人工智能大量运用了神经网络的工作机制。

wKiom1kFwdPzL_HfAAuHW8jmjYw570.png

    抑或是这样的,就被称为物联网络。它可以实现万物互联,想想还有点小激动呢,不知是福是祸。

  wKioL1kFwqyjO_YIAA-BvWT7Byg393.jpg  

    只要是你能想到的,可以通过一定形式连接起来的,都能被称为网络。阿猫阿狗也可以构成网络,我们或许可以通过神奇的仿生技术,将阿猫阿狗互联,让它们实现通信沟通无障碍,这不就是万物语言互联网络嘛。好期待这一天的到来。

  1. 神奇的计算机网络

    1.1 计算机网络的三种通信方式    
        什么是计算机网络,想必你也知道,就是计算机与计算通信。以下是一些计算机常用的三种通信方式,你应该知道。
            1.单播,即两台计算机通过特有的通道进行通信。
            2.广播,即多台计算机在一定的范围内通信(本地子网范围),当某一计算机发送消息,其他所有的计算机都会受到信息。
            3.组播,即发送者和接受者可以实现多种通信方式,这种方式以小组的形式存在,既可以是同一物理网络,也可以是不同的物理网络。这样一来,就能极大地提升通信的速率。

    1.2  计算机通信协议     
        有没有想过计算机是如何实现通信的?计算机通过电,网卡以及网络就能够实现全世界通信,这不是很厉害的一件事吗?人类通信依靠语言,那计算机自然也通过语言来进行通信。那计算的语言是什么呢?其实计算机是通过二进制这种语言进行通信的。那所谓语言,自然遵守一定的规则,这和人类的语言是一样的。中国说汉语,美国说英语,动物说动物语,计算机自然说计算机语。每种语言都有一定的规则以及语言,那计算自然也如此。最早的时候,有个很牛逼的组织,满怀抱负,准备给计算机网络通信制定一个通信规则。这个规则叫做OSI七层模型,这个组织叫做国际标准化组织(ISO)。后来,经过伟大的先贤通过不断地实践与摸索,不断地掉入坑里,再爬出坑里,经过了几番伟大的挣扎,终于制定出了沿用至今的计算机通信TCP/IP模型。对于这些智者,除了惊叹和膜拜之外,我们还能做什么呢?有,那就是好好学习TCP/IP模型,不能辜负了智者们智慧的结晶。
    1.3 OSI和TCP/IP模型      
        如下图所示,对比了TCP/IP五层模型与OSI模型。不难发现下四层存在一一对应关系,而OSI的上三层则被包含在应用层一层了。TCP/IP五层模型(也有人认为是四层,他们将物理层与数据链路层合为一层。)无疑已经成为了国际通用的标准,而OSI模型虽然可靠性更高,但由于层次较多,实施起来困难重重,不符合实际情况,所以到现在就不了了之了。

wKiom1kF1svgcfsdAAFptXXGqSk633.png

    

    各个层次对应的功能如下图。注意下图是OSI七层模型对应的关系,至于TCP/IP五层模型则只需要把下图的上三层包含在内即可。相信你懂的。

wKioL1kF2jvjmUSnAAClGVPxKxI486.png

   

2. TCP/IP五层模型简介

    计算机的通信是由底层物理层开始,顶层应用层结束。越底层越接近硬件,越顶层越接近用户,与用户打交道。那计算机是如何一层一层往上爬,通过什么介质或者是通过什么协议走上了人生巅峰(实现网络互连)?下面我将一一道来。

    1.物理层,

        物理是干嘛的?实现二进制数据传递,这太复杂了。其实就是通过电缆、双绞线,无线电波等方式连接了起来。就像这样。

wKiom1kF34zyOwH3AAG5Lo3v34I732.png

    2.数据链路层 

        将比特流数据成帧,通过MAC地址的方式可以实现本地网段的计算机通信。MAC地址是如何实现本地网段计算机的通信的呢?这里涉及到了一个ARP协议,我将在下节进行讲解。MAC地址是全球唯一的,镶嵌到每个网卡上,代表着每台计算机独一无二的地位。本地网段的计算机通信,就是通过网卡的MAC地址标识的,网卡是这样的。

    wKioL1kF4KeStmlmAACs1cMIwwo710.jpg

    3.网络层 

        网络层最重要的当然是IP了。这么说吧MAC地址只能让你实现本地网段通信,但是有了IP后,你就能实现跨网段的通信了。跨网段通信涉及到了路由设备,交换机等。网络层也涉及了ARP协议,RARP协议,IP协议以及ICMP协议。这都会在下一节进行讲解。

            wKiom1kF6ROALCz7AABRkDgqrV4796.png

    4.传输层

        传输层的功能,就是建立”端口到端口”的通信。有了MAC地址(实现本地通信),有了IP地址(实现跨网段通信),再加上端口,就能够同应用层的应用程序进行通信了。你也可以这么理解,端口就是通往应用层的接口。传输层有TCP,UDP协议,它们决定了通信的可靠性,决定了与应用层通信的方式。两者各有优点,TCP更可靠,UDP更快。

wKiom1kF6hXhyg4pAABsTATyQc0019.png

    5.应用层

       “应用层”的作用,就是规定应用程序的数据格式。 比如FTP有FTP的数据包格式,这也是通过协议的方式限定了服务的格式。FTP有FTP协议,e-mail有SMTP协议,远程连接有SSH协议,域名解析有DNS协议。应用层就是制定了应用程序的协议。

    wKioL1kF6iaR4yI3AAB0lHZuHRo121.png


至此over。本文介绍了什么是网络,以及TCP/IP五层模型。感谢您花费时间观看。

作者 Michael
2017 年 4月 30日

原创文章,作者:PowerMichael,如若转载,请注明出处:http://www.178linux.com/74509

(0)
PowerMichaelPowerMichael
上一篇 2017-04-30 23:18
下一篇 2017-05-01 16:11

相关推荐

  • 基于samba服务的wordpress站点

    实验要求:             (1) samba server导出/data/app/web,在目录中提供wordpress;     (2) samba  client挂载nfs server导出的文件…

    2017-06-08
  • N21天天第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS主机按以下顺序启动 1、POST加电自检 2、BIOS读取CMOS中的BIOS设置的参数来识别基础硬件,寻找到启动设备 3、MBR 1)读取启动设备MBR中前446字节的bootloader 2)读取MBR后的扇区用来识别grub以及内核kernel所在的区域 3)启动g…

    Linux干货 2016-09-26
  • ip,ss,htop,vmstat,until,while,ping命令使用. N28

    第六周(2018-1.1 – 2018-1.7)

    2018-01-08
  • PHP数组实际占用内存大小的分析

    我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存: <?php      &nb…

    系统运维 2015-05-28
  • Linux里的用户与组

    任何事务的进行都离不开管理,脱离了管理的系统将会是一团乱麻。今天就来讲讲Linux里的用户与组的管理 首先,用户与组不会凭空出现,必须得是系统本身或人为创建的 。     所以,系统创建的就叫系统用户.系统组,用户创建的就是普通用户.普通组。 useradd  创建用户 -u 创建用户并指定用户的UID -g…

    2017-07-30
  • 管道和用户管理权限

           一周的时间又过去了,感觉过得太快了,但是过得很充实,这就够啦!把在平时的学习中觉得重要有意义的地方记录下来,希望可以对自己以后的学习有所帮助! 1.把/etc/issue转化为大写,并重定向到issue.out. 管道的作用很强大,|将正确的结果重定向给下一条命令;连接命令;一页一页地…

    2017-07-22