计算机网络-基础知识

协议

在因特网中,凡是涉及两个或多个远程通信实体的所有活动都受协议的制约。
例如,在两台物理上连接的计算机中,硬件实现的协议控制了在两块网络接口卡间的“线上”的比特流;在端系统中,拥塞控制协议控制了在发送方和接收方之间传输的分组发送的速率。协议在因特网中到处运行。
什么是协议?
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他事件所采取的动作。
举一个列子来说:人与人之间进行交流,语言就可以当做协议,比如一个人说中文,一个人说英文,那么他们的协议不同,没办法正常的交流。

时延与丢包

时延的类型

  1. 处理时延:网络是分层的,由上往下会进行数据的封装,检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。
  2. 排队时延:交换机连接多个路由,由路由发出的数据最终会在交换处进行排队等待发出。
  3. 传输时延:假定分组以先到先服务方式传输,这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。等待所有分组到达的时间就是传输时延。
  4. 传播时延:一旦一个比特被推向链路,该比特需要向路由器B传播,从该链路的起点到路由器B传播所需要的时间是传播时延。

丢包

一条链路前的队列只有有限的容量,当到达的分组将发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃(drop)该分组,即该分组将会丢失(lost)。

OSI七层协议

在这里插入图片描述

基本原理

发送方从第7层、第6层到第1层由上至下按照顺序传输数据,而接收端则从第1层、第2层到第7层由下至上向每个上一级分层传输数据。每个分层上,在处理由上一层传过来的数据时可以附上当前分层的协议所必须的“首部”信息。然后接收端对收到的数据进行数据“首部”与“内容”的分离,再转发给上一分层,并最终将发送端的数据恢复为原状。

OSI分层的作用

在这里插入图片描述

  1. 应用层:为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。
  2. 表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使它们保持一致是这一层的主要作用。
  3. 会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。
  4. 传输层:起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。
  5. 网络层:将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。
  6. 数据链路层:负责物理层面上互连的、节点之间的通信传输。例如与1个以太网相连的2个节点之间的通信。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。
  7. 物理层:负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换。

举例

通过发送邮件的例子来进一步说明每一层的作用,假设主机A向主机B发送了一封邮件,内容为“你好”,在主机A点击发送的瞬间,OSI七层协议开始作用:

  1. 应用层:应用层协议会在所要传送数据的前端附加一个首部(标签)信息,该首部标明了邮件内容为“你好”和收件人为“B”。
  2. 表示层:由于用户使用的电子邮件程序可能是不同的,那么它们在应用层产生的数据格式就是某个应用程序特定的数据格式,表示层的作用就是将数据从“某个计算机特定的数据格式”转换为“网络通用的标准数据格式”后再发送出去。
  3. 会话层:在拿到“网络通用的标准数据格式”之后,对应数据应该何时发送,以什么顺序发送就是由会话层进行规定的。
  4. 传输层:主机A确保与主机B之间的通信并准备发送数据,这一过程叫做“建立连接”。有了这个通信连接就可以使主机A发送的电子邮件到达主机B中,并由主机B的邮件处理程序获取最终数据。此外,当通信传输结束后,有必要将连接断开。如上,进行建立连接或断开连接的处理’,在两个主机之间创建逻辑上的通信连接即是传输层的主要作用。此外,传输层为确保所传输的数据到达目标地址,会在通信两端的计算机之间进行确认,如果数据没有到达,它会负责进行重发。
  5. 网络层:在网络与网络相互连接的环境中,将数据从发送端主机发送到接收端主机。也就是通过网络层确认主机B的位置。
  6. 数据链路层和物理层:通信传输实际上是通过物理的传输介质实现的。数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理。物理层中,将数据的0、1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备之间使用地址实现传输,这种地址被称为MAC地址,也可称为物理地址或硬件地址。采用MAC地址,目的是为了识别连接到同一个传输介质上的设备。因此,在这一分层中将包含MAC地址信息的首部附加到从网路层转发过来的数据上,将其发送到网络。

TCP/IP四层协议

在这里插入图片描述
OSI七层模型我们经常称之为“参考模型”,TCP/IP协议才是真正广泛普及的协议。
为什么OSI七层模型没有普及?

  1. OSI协议研发太慢,严重落后于工程实践。
  2. 分层过于详细,实现起来复杂,不适合商用
  3. 各层之间冗余太多

TCP/IP协议的作用

  1. 网络接口层:主要用于实现与传输媒介相关的物理特性,由下而上来看,对于接收到的物理帧数据,得到IP数据包,交给网络层;由上而下来看,从网络层接收到IP数据包封装成帧数据,发送到网络中。
  2. 网络层: 处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。处理网络接口层输入数据报,首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。处理路径、流控、拥塞等问题。
    • IP:作为主机的标识。
    • ICMP:IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知。
    • ARP:从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议。
  3. 传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据包协议)。
  4. 应用层:应用层决定了向用户提供服务时通信的活动。TCP/IP协议族中预存了各类通用的应用服务。比如FTP(文件传输协议)、和DNS(域名系统)、HTTP协议。

完整的TCP/IP包结构

在这里插入图片描述
在这里插入图片描述

发送邮件

还是以发送邮件为例子,假设主机A向主机B发送了一封邮件,内容为“你好”,在主机A点击发送的瞬间,TCP/IP协议开始作用:

  1. 应用层处理:对数据进行编码,格式的封装,如HTTP。
  2. 传输层处理:TCP根据应用的指示,负责建立连接、发送数据以及断开连接。TCP提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现TCP的这一功能,需要在应用层数据的前端附加一个TCP首部,TCP首部中包括源端口号和目标端口号。
  3. 网络层处理:IP将TCP传过来的TCP首部和TCP数据合起来当做自己的数据,并在TCP首部的前端在加上自己的IP首部。如果尚不知道接收端的 MAC地址,可以利用ARP查找,只要知道了对端的 MAC地址,就可以将MAC地址和IP地址交给以太网的驱动程序,实现数据传输。
  4. 网络接口层处理:给IP传过来的IP包加上以太网首部并进行发送处理。以太网首部中包含接收端MAC地址、发送端MAC地址以及标志以太网类型的以太网数据的协议。
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值