首页 > 计算机网络基础 1.0 -- 概述

计算机网络基础 1.0 -- 概述

概念理解

  • 报文:在网络中发送的数据块成为报文
  • 在发送报文之前,通常会把数组分组,每个组都有个包头和数据组成,包头中包含了诸如目标地址和源地址等重要信息,这样才保证了数据能够有目的的在网络中的传输
  • 主机是用户用来处理信息的,而路由器则是用来转发分组的,就是将报文传送到下一个路由器,知道找到目标地址
  • 链路:经常把网络中的单个通信线路称为链路
  • 我们的一台主机的报文通过一条链路发送给和他直接相连的路由器,路由器根据报文的包头信息将报文传递给下一个路由器,这样一点点的往下找下去
  • ISP:因特网服务提供者。中国电信,中国移动和中国联通就是我国著名的ISP(Internet Service Provider)。ISP可以从因特网管理机构申请很多的IP地址,所谓的上网就是指个人通过某个ISP获得独一无二的IP地址。
  • 计算机之间的通信是主机A的某一个进程和主机B中的某一个进程进行数据的通信

计算机网络中数据交换的三种形式

电路交换

电路交换需要建立一个专用的物理通道,这个 过程必须经过“建立连接(占用通信资源) – 通话(一直占用资源) – 释放连接(归还通信资源”,上面的这种方式就是电路交换

电路交换信息的一个典型 的应用是打电话,当我们通话的时候,需要建立一组专用的连接,然后我们在通话的过程中需要一直占用资源,这样的话,别的通信就无法使用这个通道,这就大大占据了资源,但是 保证了通信的唯一性

报文交换

我们把整个数据块叫做一个报文,报文交换就是一次将整个报文转发到了相邻的节点,全部存储下来,然后再去查找转发表,转发到下一个节点

分组交换

分组交换采用的存储转发的技术。传播数据的时候,会把报文分成一个一个的组,就构成了一个分组,分组又叫做包。然后在每个分组前面会加上一些信息,称为首部,用来存储一些分组的一些必要信息(比如传递的地址,比如属于哪一个报文),通过这种方式将一个报文分开传递,然后到达最终的节点之后再进行组装,就可以得到完整的报文了。

分组也是通过路由器进行数据的交换的,路由器接收到一个分组之后,先暂时存储一下,检查其首部,查找转发表,按照其首部中的目的地址,找到合适的借口转发出去,把分组交付给下一个路由器,就这样一步一步的,最终到达最终的主机。

三种方式的简单比较

电路交换:建立一个唯一的连接,然后整个数据发送和接收

报文交换:整个数据经过中间 的路由器然后再发送给下一个路由器,最终 发送给目的主机

分组交换:将数据分成若干个小段进行数据 传输,也是通过中间的路由器到达最终目的主机

五层协议的体系结构

请看下图

image

应用层

网络上面的各个主机上面的进程

应用层的协议有很多,HTTP支持万维网应用,SMTP支持文件传输,FTP支持文件发送

运输层

负责主机和进程之间进行的数据传输

  • TCP:传输控制协议,提供 面向连接的、可靠的数据传输服务,其数据传输的单位是报文段
  • UDP:用户数据报协议,提供连接的、尽最大努力的数据传输服务(不保证数据的可靠性),其数据传输的单位是用户数据报

网络层

主要使用IP协议,让数据在网络中的各个 主机间进行通信

数据链路层

把上层得到的IP数据报进行组装成帧,然后进行数据的传输

物理层

通过各种传输介质进行数据的传输

更多相关:

  • 本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:【公众号dotNet工控上位机:thinger_swj】基于Socket访问西门子PLC系列教程(一)在完成上述步骤后,接下来就是编写上位机软件与PLC之间进行通信。上位机UI界面设计如下图所示:从上图可以看出...

  • 我有一个大型数据集,列出了在全国不同地区销售的竞争对手产品。我希望通过使用这些新数据帧名称中的列值的迭代过程,根据区域将该数据帧分成几个其他区域,以便我可以分别处理每个数据帧-例如根据价格对每个地区的信息进行排序,以了解每个地区的市场情况。我给出了以下数据的简化版本:Competitor Region ProductA Product...

  • 作为一名IT从业者,我来回答一下这个问题。首先,对于具有Java编程基础的人来说,学习Python的初期并不会遇到太大的障碍,但是要结合自己的发展规划来制定学习规划,尤其要重视学习方向的选择。Java与Python都是比较典型的全场景编程语言,相比于Java语言来说,当前Python语言在大数据、人工智能领域的应用更为广泛一些,而且大...

  • 这段时间通过学习相关的知识,最大的变化就是看待事物更加喜欢去了解事物后面的本质,碰到问题后解决问题思路也发生了改变。举个具体的例子,我在学习数据分析,将来会考虑从事这方面的工作,需要掌握的相关专业知识这个问题暂且按下不表,那哪些具体的问题是我需要了解的呢,以下简单罗列:1、了解数据分析师这个岗位在各个地区的需求情况?2、数据分析师的薪...

  • 这一节将开始学习python的一个核心数据分析支持库---pandas,它是python数据分析实践与实战的必备高级工具。对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。今天,我们就来认识认识数据分析界鼎鼎大名的 pandas。目录一. pandas主要数据结构 SeriesDataFrame二...

  • 一.概述:1.   ICMP同意主机或路由报告差错情况和提供有关异常情况。ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议。通常ICMP报文被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。2.   ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。3....