简单谈谈计算机网络

  当我们决定要谈谈网络的时候,我想在谈之前,有必要了解一下“协议”这个词。协议,定义了在俩个或者多个通信实体之间交换报文的格式和次序,以及报文发送、接收报文或者其他的事件所采取的动作。定义都比较晦涩,那就让我们来个例子吧。

  假设我要向你(互不相识)询问一下当前的时间;

  我首先和你说:你好,以示我想要和你交流 (发出报文,请求通信) 。而你回应我(收到报文,通信建立) :你好,表明能够继续询问你了。我发出询问 (发出报文,包含事件处理) :几点了?你看了看表 (采取动作) ,然后回答我 (收到报文,包含结果) ,2:00了。之后我说,谢谢 (请求结束通信) 。你说,不客气 (通信结束) 。

  以上就是我们日常生活中所使用的协议。相类比计算机,其实也是相差不多的。不同的是,计算机毕竟不是人,所以得指定很多的协议,以保障它们正常的通信。比如以下几个常见的传输协议,当然不了解也没有关系,之后会详细的提及。

  超文本传输协议(HTTP,HyperText Transfer Protocol)

  传输控制协议(TCP,Transmission Control Protocol)

  因特网协议(IP,Internet Protocol)

  地址解析协议(ARP,Address Resolution Protocol)

  一、网络模型

  既然存在多种协议,那么总需要一种结构把它们合理的组织在一起。而现如今的俩种模型,都是采用的层次结构。每一层通过在该层中执行某些动作或者使用直接下层的服务来提供服务。下面就先来看看这俩类分层结构: 五层因特网模型 (应用层,运输层,网络层,链路层,物理层)、 七层ISO模型 (应用层,表示层,会话层,运输层,网络层,链路层,物理层)。 下面我们以五层模型为例,谈谈计算机网络。不过由于物理层涉及比较广,所以我们实际讨论的只有四层:应用层,运输层,网络层,链路层 。

物联网

  网络模型

  应用层:就是网络应用程序及它们的应用层协议存在的地方,我们常把位于应用层要传递的信息称为 报文(message) 。

  运输层:因特网的运输层负责在俩个应用程序端点之间传递应用层报文。在因特网中,有俩种运输协议, TCP 和 UDP ,使用其中的任何一个都能传递应用层报文,值得注意的是,在这一层, TCP / UDP 会把上层报文包装成一个新的结构,我们称为 报文段(segment) 。

  网络层:在这一层,网络层也会把上一层的 报文段 包装成一个被称作 数据报(datagram) 的结构。然后把这个 数据报 从一台主机移动到另外一台主机上。在这一层就包括著名的 IP 协议。

  链路层:同理,在这一层,又在 数据报 的外面加了个壳,我们把加壳之后的这个东西叫做 帧(frame) 。然后通过这一层把 帧 从当前的一个节点移动到下一个节点,网络层必须依靠链路层的服务。如下图,从源主机到链路交换机。

物联网

  信息传递过程

  在网络中,我们经常会忽略具体的设备,而统一称为主机(host),或者端系统(end system)。比如智能手机,平板电脑,电视,游戏机,web相机等等......而主机与主机之间通过通信链路(communication link)和分组交换机(packet switch)连接在一起。分组交换机各式各样,但当今最著名的类型是路由器(Router)和链路层交换机(Link-layer switch),分别也称为,三层交换机,或者俩层交换机。由上图可以看出。

  最后,来说一个小程序, tracert 。通过它,可以确定从你当前的主机到目的主机之间经过了那些交换机。

  ## 运行cmd

  C:\>tracert baidu.com

  通过最多 30 个跃点跟踪

  到 baidu.com [123.125.114.144] 的路由:

  1 4 ms 4 ms 3 ms 10.205.64.1

  2 4 ms 2 ms 3 ms 192.168.24.2

  3 * 11 ms 8 ms 124.93.192.65

  4 341 ms 88 ms 310 ms 124.93.179.249

  5 9 ms 5 ms 8 ms 61.189.75.13

  6 12 ms 15 ms 14 ms 113.230.185.37

  7 23 ms 22 ms 22 ms 219.158.21.69

  8 24 ms 24 ms 32 ms 202.96.12.14

  9 22 ms 23 ms 21 ms 202.106.34.194

  10 22 ms 28 ms 154 ms 202.106.43.30

  11 * * * 请求超时。