计算机网络之网络体系架构与IP

GitHub:https://github.com/JDawnF

一、网络体系结构

推荐的连接:

七层架构主要包括:

  1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为 1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。

  2. 数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。

  3. 网络层:主要将从下层接收到的数据进行 IP 地址(例 192.168.0.1)的封装与解封装。在这一层工 作的设备是路由器,常把这一层的数据叫做数据包。

  4. 传输层:定义了一些传输数据的协议和端口号(WWW 端口 80 等),

如:TCP(传输控制协议, 传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议, 与 TCP 特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如 QQ 聊天数据就是通过这 种方式传输的)。 主要是将从下层接收的数据进行分段进行传输,到达目的地址后在进行重组。 常常把这一层数据叫做段。

  1. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间 发起会话或或者接受会话请求(设备之间需要互相认识可以是 IP 也可以是 MAC 或者是主机名)

  2. 表示层:主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西(如图片、声音等))

  3. 应用层:主要是一些终端的应用,比如说 FTP(各种文件下载),WEB(IE 浏览),QQ 之类的(你 就把它理解成我们在电脑屏幕上可以看到的东西.就 是终端应用)。

各层使用的数据交换设备:

  • 网关:应用层、传输层。

    网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。

    网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。

  • 【重点】路由器:网络层

    路由选择、存储转发

  • 【重点】交换机:数据链路层、网络层

    识别数据包中的 MAC 地址信息,根据 MAC 地址进行转发,并将这些 MAC 地址与对应的端口记录在自己内部的一个地址表中。

  • 网桥:数据链路层

    将两个 LAN 连起来,根据 MAC 地址来转发帧。

  • 集线器(Hub):物理层

    纯硬件设备,主要用来连接计算机等网络终端。

  • 中继器:物理层

    在比特级别对网络信号进行再生和重定时,从而使得它们能够在网络上传输更长的距离。

二、IP

IP 地址的分类

IP 地址是指互联网协议地址,是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP 地址编址方案将IP地址空间划分为 A、B、C、D、E 五类,其中 A、B、C 是基本类,D、E 类作为多播和保留使用,为特殊地址。

每个 IP 地址包括两个标识码(ID),即网络 ID 和主机 ID 。同一个物理网络上的所有主机都使用同一个网络 ID ,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机 ID 与其对应。A~E 类地址的特点如下:

  • A 类地址:以 0 开头,第一个字节范围:0~127 。

  • B 类地址:以 10 开头,第一个字节范围:128~191 。

  • C 类地址:以 110 开头,第一个字节范围:192~223。

  • D 类地址:以 1110 开头,第一个字节范围:224~239 。

  • E 类地址:以 1111 开头,保留地址。

详细的,可以看看 《IP 地址分类(A类 B类 C类 D类 E类)》 文章。

IP 地址与物理地址的区别

  • 物理地址(MAC 地址),是数据链路层和物理层使用的地址。

  • IP 地址是网络层和以上各层使用的地址,是一种逻辑地址。

  • 其中 ARP 协议用于 IP 地址与物理地址的对应。

详细的,可以看看 《即生瑜,何生亮 —— MAC 地址与 IP 地址》 文章。

网络层的 ARP 协议工作原理

网络层的 ARP 协议完成了 IP 地址与物理地址的映射。

  • 首先,每台主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址的对应关系。

  • 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP 列表中是否存在该 IP 地址对应的 MAC 地址:

    • 如果有,就直接将数据包发送到这个 MAC 地址。

    • 如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的 MAC 地址。此 ARP 请求数据包里包括源主机的 IP 地址、硬件地址、以及目的主机的 IP 地址。网络中所有的主机收到这个 ARP 请求后,会检查数据包中的目的 IP 是否和自己的 I P地址一致。

      • 如果不相同,就忽略此数据包。

      • 如果相同,该主机首先将发送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中(如果 ARP 表中已经存在该 IP 的信息,则将其覆盖),然后给源主机发送一个 ARP 响应数据包,告诉对方自己是它需要查找的 MAC 地址。

        • 源主机收到这个 ARP 响应数据包后,将得到的目的主机的 IP 地址和 MAC 地址添加到自己的 ARP 列表中,并利用此信息开始数据的传输。

        • 如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

注意,在 OSI 模型中 ARP 协议属于链路层;而在 TCP/IP 模型中,ARP 协议属于网络层。

原文地址:https://www.cnblogs.com/baichendongyang/p/13235434.html