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

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

  • 什么是网络?

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

相关推荐

  • 从Linux小白到大牛——与狼共舞的日子10

    马哥教育网络班21期+第10周课程练习 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) POST –> Boot Sequence(BIOS) –> Boot Loader(MBR)   –> Kernel+ramdi…

    Linux干货 2016-12-05
  • N26-第一周博客作业

    1.描述计算机的组成及其功能 完整的计算机系统由硬件和软件两部分组成。 现在大部分的计算机为冯诺依曼体系,主要有五个组成部分:运算器、控制器、存储器、输入设备、输出设备,以下为详细描述。(计算机的CPU由运算器、控制器和一二三层缓存等构成) 运算器:对数据进行算术运算和逻辑运算(对数据进行加工处理) 控制器:分析指令,控制协调输入、输出操作对内存的访问。 存…

    Linux干货 2017-01-02
  • 关于nginx状态监控字段的个人见解(求真相)

    今天看到了马哥视频其中一节对nginx状态监控信息的介绍,对视频ppt上的监控字段解析产生了一些疑问,ppt内容如下: active connections – 活跃的连接数量server accepts handled requests — 总共处理了xxx个连接 , 成功创建xxx次握手, 总共处理了xxx个请求reading — 读取客户端的连接数.w…

    Linux干货 2016-07-12
  • Linux学习小结3

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。[root@node1 ~]# who -q | sed -n ‘1p’centos root fedora redhat mint2.取出最后登录到当前系统的用户的相关信息。[root@node1 ~]# who -a | tail -1min…

    Linux干货 2017-10-24
  • corosync+pacemaker+pcs 使用ansible配置高可用LAMP构架

    前言: 这篇博客的实验主要是配置两个节点基于corosync + pacemaker的高考用lamp, 是我搞得最痛苦的一次,并且结果还不稳定。主要问题是corosync 1.x + pacemaker 时,如果把pacemaker当成插件使用,尝试很多次都不成功,后来把pacemaker当成半独立的服务进行配置。 但是如此一来crm就没办法进行资源配置,只…

    Linux干货 2016-01-27
  • Linux中的文件管理命令及shell特性

    Linux中的文件管理命令 一、linux中的目录管理命令:mkdir和rmdir mkdir命令:创建目录 – SYNOPSIS         mkdir [OPTION]… DIRECTORY…     -…

    Linux干货 2016-09-27