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

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

  • 什么是网络?

  • 网络通信的实现: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
下一篇 2017-05-01

相关推荐

  • 马哥教育网络21期+第一周练习博客

    一、描述计算机的组成及其功能。   计算机设备是由运算器、控制器、存储器、输入设备和输出设备组成。它们的功能和对应设备分别如下: 运算器(arithmetic unit):在计算机中执行各种算术和逻辑运算操作的部件。运算器包括寄存器、执行部件和控制电路3个部      &nbsp…

    Linux干货 2016-07-12
  • iptables的使用

    iptables         firewall:隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一条组件; 硬件防火墙:在硬件级别实现部分顾虑功能;另…

    Linux干货 2016-10-29
  • 作业:0805

    1.查出用户UID最大值的用户名、UID及shell类型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的权限,以数字方式显示 > st…

    Linux干货 2016-08-08
  • 正则表达式基础知识及grep、egrep详解

    什么是正则表达式     在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们…

    Linux干货 2016-08-08
  • 谷歌三大核心技术(三)Google BigTable中文版

    摘要 Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上…

    Linux干货 2015-04-13
  • 计算机组成、Linux命令基础

    计算机组成 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息…

    Linux干货 2016-09-19