计算机网络原理 笔记精细整理

计算机网络知识点整理

一、计算机网络体系结构

OSI七层协议体系结构的概念清除,理论也比较完整,但它既复杂又不实用。

TCP/IP是一个四层体系结构,TCP/IP体系结构虽然简单,但它现在却得到了非常广泛的使用。

在学习中我们采用折中的办法,学习具有五层协议的原理体系结构

在这里插入图片描述

二、五层协议原理体系结构

物理层

物理层是原理体系结构的最底层,负责完成计算机网络中最基础的任务,即在传输媒体上传送比特流

物理层作用:

  • 实现计算机结点之间比特流的透明传输。(将数字信号转换为电信号)
  • 规定传输媒体接口标准,屏蔽掉具体传输介质和物理设备的差异,使数据链路层不必关心网络的具体传输介质。
  • 为数据链路层提供服务。

数据链路层

数据链路层位于物理层之上,网络层之下,将网络层传下的IP数据报封装成 帧,通过差错控制、流量控制等方法,将分组从链路的一端传送到另一端,丢弃有差错的帧保证物理层收到的分组是无差错的信息。

数据链路层的几个基本方法:

  • 封装成帧:将网络层的IP数据报加头加尾,封装成帧,帧中包括源MAC地址和目的MAC地址。
  • 透明传输:零比特填充,转义字符。
  • 差错检测:接收者检测错误时,如果发现差错,丢弃该帧。差错控制方法有CRC循环冗余校验
  • 流量控制: 控制发送的传输速度,使得接收放来得及接收。传输层TCP也有流量控制功能,但是TCP是端到端的流量控制,链路层是点到点(比如一个路由器到下一个路由器)

网络层(IP层)

网络层负责为分组交换网上的不同 主机间 提供通信服务。

实现网络地址与物理地址的转换,并通过路由选择算法为分组通过通信子网选择最适当的路径。网络层传输的数据单元为 IP数据报(数据报)

运输层(传输层)

运输层负责向两台主机中进程之间的通信提供通用的数据传输服务。

运输层主要的两个运输层协议:

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

应用层

为用户的应用进程提供网络通信服务,完成和实现用户请求的各种服务。

三、五层协议模型

在这里插入图片描述

该模型展示了主机1主机2 发送数据时数据入协议栈和出协议栈的过程

入栈过程:数据发送方每层不断的封装首部和尾部,添加一些传输的信息,确保能传输到目的地。

出栈过程:数据接收方每层不断的拆除首部和尾部,得到最终传输的数据。

四、数据链路层

4.1 封装成帧

在这里插入图片描述

数据链路层以帧为单位传输和数据处理,网络层的IP数据报必须向下传递到数据链路层,成为帧的数据部分,同时它的前面和后面同时添加了帧首部和帧尾部,封装成一个完整的帧。帧的长度等于帧的数据部分长度加上帧首部和帧尾部的长度。

4.2 透明传输

在这里插入图片描述

每个帧首和帧尾都为特定的字符,当我们要传输的数据中出现了与帧首帧尾相同的字符时,原始数据就会被误判帧首帧尾,这时候就需要将数据部分中与帧首帧尾相同的字符用一个转义字符来填充进行转义,如果原始数据中也出现了转义字符,这时候转义字符也用转义字符转义,从而实现原始数据的透明传输

4.3 差错检测

现实中的通信链路都不会是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1.这就叫做比特差错,为了防止这种差错,在数据链路层通常使用 **循环冗余校验(CRC)**技术进行差错检测

循环冗余校验计算方法:加法不进位,减法不借位,等价于按位异或(XOR),乘以2和除以2都等价于左/右移位。

在这里插入图片描述

上图为循环冗余校验原理的例子

  • 若得出的余数R=0,则判定这个帧没有差错,就接收。
  • 若余数R≠0,则判断这个帧有差错(但无法确定究竟是哪一位或哪几位出现了差错),就丢弃。

五、网络层(IP层)

5.1 IP地址及编址方式

IP地址

整个因特网就是一个单一的逻辑网络。IP地址就是给英特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32的标识符。IP地址的结构使我们可以在因特网上很方便的进行寻址。

为了提高可读性,我们常常把32位的IP地址中的每8位用其等效的十进制数字表示,并且在这些数字之间加上一个点。这种表示称为点分十进制记法

如下图:

在这里插入图片描述

编址方式

  • 分类编址:这是最基本的方法 ;IP地址::={<网络号>,<主机号>} 缺点:地址分配不灵活,要么太大浪费空间,要么太小不够用。
  • 划分子网:在分类编址上的一个改进; IP地址::={<网络号>,<子网号>,<主机号>} 缺点:数量巨大的C类地址因为地址空间太小并没有得到充分利用。
  • 无分类编址:目前因特网使用的编址方法。IP地址::={<网络前缀>,<主机号>}

下面重点介绍一下无分类编址:

无分类编址的网络前缀是不定长的,用来代替分类编址的’‘网络号’'并指明网络,后面的部分则用来指明主机。

网络前缀计算方式:只需要将子网掩码和IP地址进行逐位的“与”运算,就可以得出其网络地址(主机号全为0的地址)。

相同IP地址和不同的子网掩码得到的网络地址:

在这里插入图片描述

在这里插入图片描述

这两个例子说明,相同的IP地址和不同的子网掩码可以得出相同的网络地址,但是不同的子网掩码效果是不同的。虽然这两个例子中网络地址空间起始地址是一样的,但是最大地址是不一样的,各自容纳的最大主机数都是不一样的。

5.2 地址解析协议(ARP)

我们知道,网络层使用的是IP地址,但在具体物理网络的链路上传送数据帧时,最终还是必须使用该物理网络的物理地址。但IP地址和物理网络地址又不是单一的映射关系,这时候就需要用到 地址解析协议(ARP)

ARP地址解析协议工作原理

ARP是根据IP地址获取MAC地址的一种协议,核心原理就是广播发送ARP请求,单播发送ARP响应。

  1. 每个主机都有自己的ARP高速缓存,在缓存中都存放有一个从IP地址到物理地址的映射表,并且这个映射表不断动态更新。(新增或超时删除)
  2. 当源主机要发送数据时,先检查ARP列表中是否有该IP地址对应的MAC地址,如果有,则直接发送数据;如果没有,就向本网段的所有主机发送ARP数据包,用于查询目的主机的MAC地址,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP。
  3. 当本网络的所有主机收到该ARP数据包时,首先检查该包中的IP是否与自身IP相同。若不同,则丢弃数据包,如果是,则先取出该数据包的源主机IP地址和MAC地址写入到自身的ARP高速缓存映射列表中。如果已经存在,就覆盖。然后将自己的MAC地址写入到ARP响应包中,告诉源主机自己的IP地址和MAC地址。
  4. 源主机收到ARP响应包后,将目的主机的IP地址和MAC地址写入ARP高速缓存映射列表中,并利用该信息发送数据,如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

5.3 ICMP协议

因特网控制报文协议,用于在IP主机、路由器之间传递控制信息(控制信息是指网络通不通,主机是否可达,路由器是否可用等网络本身的信息),确认IP包是否成功到达目的地址。因为IP协议并不是一个可靠的协议,它不保证数据被送达,当传送IP数据包发生错误,比如主机不可达、路由不可达等等,ICMP协议将会把错误信息封包,然后传回给主机,给主机一个处理错误的机会。

5.3.1 ICMP报文的种类

ICMP报文的种类有两种,即ICMP差错报告报文ICMP询问报文

ICMP差错报告报文

  1. 终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。具体可再根据ICMP的代码字段细分为目的网络不可达、目的主机不可达、目的协议不可达、目的端口不可达、目的网络未知、目的主机未知等。
  2. 源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应该应该把数据报的发送速率放慢。
  3. 时间超过:当路由器收到一个IP数据报,若目的地址不是自己,会将其TTL减1再转发出去,但当TTL减为零时,除丢弃该数据报外,还要向源点发送超时差错报告报文。另外,当终点在预先规定的时间内不能收到一个数据报的全部数据报的全部数据报片时,就把已收到的数据报片丢弃,也会向源点发送超时差错报告报文。
  4. 参数问题
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值