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

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

  • 什么是网络?

  • 网络通信的实现: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

相关推荐

  • 马哥网络班21期-第六周作业

    请详细总结vim编辑器的使用并完成以下练习题    vim(visual interface):文本编辑器      模式        编辑模式        输入模式        末行…

    Linux干货 2016-09-07
  • LInux用户和组管理详解

    一、用户和组的概念 Linux系统是多任务、多用户的分时操作系统。用户要使用系统资源,需要向管理员验证身份,由管理员进行认证和授权,并对用户的行为进行追踪和审计,以保障系统资源的合理分配以及系统的安全。 要达到账号管理的目的,需要对用户和用户组进行管理。下面分别来介绍用户管理和用户组管理。 每个用户都有唯一的一个编号来标识,这个标识号叫Uid,每个用户至少属…

    Linux干货 2016-08-02
  • Linux系统性能工具

    linux中几款常用的系统性能分析工具: 1.vmstat命令 解释: 虚拟内存信息 用法: vmstat [options] [delay [count]] vmstat 2 5 //每2秒刷新一次,一共刷新5次 输出属性: procs: r:可运行(正运行或等待运行)进程的个数,和核心数有关 b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度) mem…

    Linux干货 2017-12-19
  • Linux终端类型

        终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。在早期计算机系统中,由于计算机主机昂贵,因此一个主机(IBM大型计算机)一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。在个人计算机时代,个人计算机可以运行称为…

    Linux干货 2016-10-13
  • LAMP

    练习:编译安装amp,提供两个基于主机名的虚拟主机      (1) https, 部署pma      (2) 部署wordpress 编译安装: mariadb: # wget 10.1.0.1:/pub/Sources/7.x86_64/mariadb/…

    Linux干货 2016-10-12
  • N26_第一周作业

    一、描述计算机的组成及其功能。 计算机系统:是由硬件(Hardware)系统和软件(Software)系统两大部分构成。 1、硬件系统: 1)控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。2)运算器(Datapath):运算器的功能是…

    2017-02-20