第一章 计算机网络基础

目录

[1.1 网络体系结构](#1.1 网络体系结构)

[1.1.1 OSI/RM七层参考模型](#1.1.1 OSI/RM七层参考模型)

[1.1.2 OSI/RM和TCP/IP模型的比较](#1.1.2 OSI/RM和TCP/IP模型的比较)

[1.1.3 五层协议的体系结构](#1.1.3 五层协议的体系结构)

[1.1.4 计算机1向计算机2发送数据过程](#1.1.4 计算机1向计算机2发送数据过程)

[1.1.5 TCP/IP体系结构的具体实现](#1.1.5 TCP/IP体系结构的具体实现)

[1.2 网络设备概述](#1.2 网络设备概述)

[1.2.1 互联设备与OSI的对应关系](#1.2.1 互联设备与OSI的对应关系)

[1.2.2 集线器(HUB)](#1.2.2 集线器(HUB))

[1.2.3 网桥(Bridge)](#1.2.3 网桥(Bridge))

[1.2.4 交换机(Switch)](#1.2.4 交换机(Switch))

[1.2.5 路由器(Router)](#1.2.5 路由器(Router))

[1.2.6 网关(Gateway)](#1.2.6 网关(Gateway))

[1.3 IP地址及IP编址](#1.3 IP地址及IP编址)

[1.3.1 点分十进制记法](#1.3.1 点分十进制记法)

[1.3.2 IP地址的编址方法](#1.3.2 IP地址的编址方法)

[1.3.3 常用的三种类别的IP地址](#1.3.3 常用的三种类别的IP地址)

[1.3.4 路由器转发分组的步骤](#1.3.4 路由器转发分组的步骤)

[1.3.5 总结](#1.3.5 总结)

[1.4 IP编址子网的划分](#1.4 IP编址子网的划分)

[1.4.1 三级的IP地址](#1.4.1 三级的IP地址)

[1.4.2 子网掩码](#1.4.2 子网掩码)

[1.4.3 网络地址](#1.4.3 网络地址)

[1.4.4 三类IP地址的默认子网掩码](#1.4.4 三类IP地址的默认子网掩码)

[1.4.5 子网掩码与子网号等的关系](#1.4.5 子网掩码与子网号等的关系)

[1.4.6 使用子网掩码的分组转发过程](#1.4.6 使用子网掩码的分组转发过程)

[1.5 无分类编址CIDR](#1.5 无分类编址CIDR)

[1.5.1 CIDR概念](#1.5.1 CIDR概念)

[1.5.2 CIDR地址块](#1.5.2 CIDR地址块)

[1.5.3 路由聚合(route aggregation)](#1.5.3 路由聚合(route aggregation))

[1.5.4 构成超网](#1.5.4 构成超网)

[1.6 网络服务------万维网](#1.6 网络服务——万维网)

[1.6.1 万维网的概述](#1.6.1 万维网的概述)

[1.6.2 万维网的工作方式](#1.6.2 万维网的工作方式)

[1.6.3 万维网必须解决三个问题](#1.6.3 万维网必须解决三个问题)

[1.6.4 统一资源定位符](#1.6.4 统一资源定位符)

[1.6.4.1 URL的格式](#1.6.4.1 URL的格式)

[1.6.4.2 URL的一般形式](#1.6.4.2 URL的一般形式)

[1.6.4.3 使用HTTP的URL](#1.6.4.3 使用HTTP的URL)

[1.6.4.4 HTTP的操作过程](#1.6.4.4 HTTP的操作过程)

[1.6.4.5 万维网的工作过程](#1.6.4.5 万维网的工作过程)

[1.7 网络服务------DNS](#1.7 网络服务——DNS)

[1.7.1 域名系统DNS](#1.7.1 域名系统DNS)

[1.7.1.1 域名系统概述](#1.7.1.1 域名系统概述)

[1.7.1.2 顶级域名 TLD](#1.7.1.2 顶级域名 TLD)

[1.7.2 因特网的域名空间](#1.7.2 因特网的域名空间)

[1.7.3 DNS域名解析过程](#1.7.3 DNS域名解析过程)

[1.7.3.1 递归查询](#1.7.3.1 递归查询)

[1.7.3.2 递归与迭代相结合的查询](#1.7.3.2 递归与迭代相结合的查询)

[1.7.3.3 名字的高速缓存](#1.7.3.3 名字的高速缓存)

[1.8 网络服务------DHCP](#1.8 网络服务——DHCP)

[1.8.1 DHCP 概念](#1.8.1 DHCP 概念)

[1.8.2 DHCP使用客户服务器方式](#1.8.2 DHCP使用客户服务器方式)

[1.8.3 DHCP共工作原理](#1.8.3 DHCP共工作原理)

[1.9 网络服务------MAIL](#1.9 网络服务——MAIL)

[1.9.1 电子邮件概述](#1.9.1 电子邮件概述)

[1.9.2 电子邮件组成](#1.9.2 电子邮件组成)

[1.9.3 电子邮件工作原理](#1.9.3 电子邮件工作原理)

[1.9.4 电子邮件地址的格式](#1.9.4 电子邮件地址的格式)

[1.9.5 简单邮件传送协议SMTP](#1.9.5 简单邮件传送协议SMTP)

[1.9.6 邮件读取协议POP3和IMAP](#1.9.6 邮件读取协议POP3和IMAP)


1.1 网络体系结构

相互通信的两个计算机系统必须高度协调工作 才行,而这种"协调"是相当复杂的。"分层"将庞大而复杂的问题,转化为若干较小的局部问题,这些较小的局部问题比较易于研究和处理。

1.1.1 OSI/RM七层参考模型

1.1.2 OSI/RM和TCP/IP模型的比较

1.1.3 五层协议的体系结构

1.1.4 计算机1向计算机2发送数据过程

1.1.5 TCP/IP体系结构的具体实现

1.2 网络设备概述

1.2.1 互联设备与OSI的对应关系

1.2.2 集线器(HUB)

  • 集线器(HUB)是对网络进行集中管理的设备,工作于物理层 ,其实质是一个多接口的中继器 ,实现数据转发信号放大
  • 连接在Hub上的主机以广播方式传输数据。

1.2.3 网桥(Bridge)

  • 网桥也称桥接器 ,是连接两个局域网的存储转发设备,是一个局域网与另一个局域网之间建立连接的桥梁。
  • 网桥工作在数据链路层 ,根据**MAC地址(物理地址)**来转发帧。
  • 网桥通常用于连接数量不多的、同一类型的网段

1.2.4 交换机(Switch)

  • 交换机 (Switch )是一个具有简化、低价、高性能和高端口密集特点的交换产品。主要用于连接局域网中的网络设备;
  • 交换机工作在数据链路层 上,又称为多端口的高速网桥;
  • 交换机的基本工作原理与网桥是一致的;
  • 交换机只能分隔冲突域 ,但不能分隔广播域

1.2.5 路由器(Router)

  • 路由器(Router)是一种多类型端口设备,它可以连接不同传输速率并运行于各种环境的局域网和广域网,也可以采用不同的协议。

  • 路由器工作在网络层 上,实现不同网段的通信 ,在网络之间能够提供按最佳路由转发网络分组。

  • 路由器分隔冲突域和广播域
    路由器的主要功能:

  • 网络互连。一路由器支持各种局域网和广域网接口,实现从一个网络向另一个网络的数据传输。用路由器连接起来的若干个网络,它们仍是各自独立的。

  • 数据处理。提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能。

  • 网络管理。路由器提供包括配置管理、性能管理、容错管理和流量控制等功能。

  • 协议转换。地址的自动分配等。

1.2.6 网关(Gateway)

  • 网关(Gateway)又称网间连接器协议转换器 ,是将两个使用不同协议的网络段 连接在一起的设备。实现不同协议的网络段中的数据进行互相翻译转换
  • 网关在**传输层以上(包括传输层)**实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
  • 目前主要有三种类型的网关:它们是协议网关应用网关安全网关

1.3 IP地址及IP编址

我们把整个因特网看成为一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机(或路由器的接口)分配一个在全世界范围是惟一的 32bit 的标识符

1.3.1 点分十进制记法

1.3.2 IP地址的编址方法

分类的IP地址。这是最基本的编址方法,在1981年就通过了相应的标准协议。

1.3.3 常用的三种类别的IP地址

1.3.4 路由器转发分组的步骤

  • 先按所要找的IP地址中的网络号net-id把目的网络找到
  • 先按目的IP地址中的网络号查路由表找到目的网络表项进行转发。
  • 当分组到达目的网络后,再利用主机号host-id将数据报直接交付给目的主机

1.3.5 总结

  • 实际上IP地址是标志"一个主机(或路由器)和一条链路的接口"。
  • 同一个局域网 上的主机或路由器的IP地址中的网络号必须是一样的
  • 用**网桥或交换机(只在链路层工作)**互连的网段仍是一个局域网,只能有一个网络号。
  • 路由器总是具有两个或两个以上的IP地址,且每一个接口都有一个不同网络号的IP地址

1.4 IP编址子网的划分

子网的划分,这是对最基本的编址方法的改进,其标准[RFC 950]在1985年通过。

1.4.1 三级的IP地址

从1985年起在IP地址从两级结构变成为三级结构 ,将主机号借用若干个比特作为子网号subnet-id。

1.4.2 子网掩码

  • 子网掩码是一个网络或一个子网的重要属性,必须与IP地址一起使用
  • 子网掩码(subnet mask)是一个32位地址 ,其中连续的 1 对应IP地址的网络号和子网号部分连续的 0 对应IP地址的主机号部分
  • 子网掩码的作用:使用子网掩码可以很方便地找出IP地址中的子网部分 ,即划分了子网后的网络地址

1.4.3 网络地址

(IP地址) AND (子网掩码) = 网络地址

1.4.4 三类IP地址的默认子网掩码

1.4.5 子网掩码与子网号等的关系

1.4.6 使用子网掩码的分组转发过程

在划分子网的情况下路由器转发分组的算法:

  • (1)从收到的分组的首部提取目的IP地址 D。
  • (2)先用各网络的子网掩码和 D 逐比特相"与",看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行 (3)。
  • (3)若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 (4)。
  • (4)对路由表中的每一行的子网掩码和 D 逐比特相"与",若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
  • (5)若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)。
  • (6)报告转发分组出错。

1.5 无分类编址CIDR

1.5.1 CIDR概念

  • CIDR (Classless InterDomain Routing),无类别域间路由,消除传统的A类、B类和C类地址以及划分子网的概念,更加有效地分配lPv4的地址空间。
  • CIDR使用各种长度的"网络前缀 "来代替子网划分编址中的网络号和子网号,IP地址从三级编址(使用子网掩码)又回到了两级编址
  • CIDR使用"斜线记法",即在IP地址后加上一个斜线"/",然后写上网络前缀所占的比特数。如128.14.32.0/20中,斜线后面的20表示网络前缀的比特数,也表示子网掩码中比特1的个数。

1.5.2 CIDR地址块

128.14.32.0/20 表示的地址块共有2^12个地址(因为斜线后面的20是网络前缀的比特数,所以主机号的比特数是12)。

  • 这个地址块的起始地址是128.14.32.0。
  • 128.14.32.0/20地址块的最小地址:128.14.32.0.
  • 128.14.32.0/20地址块的最大地址:128.1.4.47.2551

1.5.3 路由聚合(route aggregation)

一个CIDR地址块可以表示很多地址 ,这种地址的聚合常称为路由聚合 ,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。路由聚合也称为构成超网(supernetting)。

1.5.4 构成超网

  • 构成超网。这是比较新的无分类编址方法。1993年提出后很快就得到推广应用。
  • 前缀长度不超过23 bit 的CIDR地址块都包含了多个C类地址。这些C类地址合起来就构成了超网。

1.6 网络服务------万维网

1.6.1 万维网的概述

  • 万维网 www (World Wide Web) 也称为Web3W等。
  • 它是存储在因特网中、大规模的、联机式的信息储藏所,这些信息是由彼此关联的文档组成 的,文档之间的链接也被称为超链接(Hyperlink)。
  • 用"链接"的方法能非常方便地从万维网上的一个文档访问另一个文档,从而方便地获取感兴趣的信息。

1.6.2 万维网的工作方式

  • 万维网以客户服务器方式工作
  • 浏览器 就是在用户计算机上的万维网客户程序 。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
  • 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的文档。
  • 一个客户程序主窗口上显示出的万维网文档 称为页面(page)。

1.6.3 万维网必须解决三个问题

  • (1) 怎样区分并定位分布在整个因特网上不同的万维网文档?

使用统一资源定位符URL (Uniform Resource Locator)来区分并定位万维网上的各种文档

  • (2) 用什么协议访问文档?

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP (HyperText Transfer Protocol)。

  • (3) 怎样表示文档?

设计者使用超文本标记语言HTML (HyperText Markup Language) 进行文档设计浏览器负责进行HTML解析和可视化显示

1.6.4 统一资源定位符

1.6.4.1 URL的格式

  • URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。
  • URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。
  • URL相当于一个文件名在网络范围的扩展 。因此URL是与因特网相连的机器上的任何可访问对象的一个指针

1.6.4.2 URL的一般形式

以冒号隔开 的两大部分组成,并且在URL中的字符对大写或小写没有要求

1.6.4.3 使用HTTP的URL

使用HTTP的URL的一般形式:

1.6.4.4 HTTP的操作过程

  • 为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息
  • 从层次的角度看,HTTP是面向事务的(transaction-oriented)应用层协议 。它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础
  • 超文本标记语言HTML中的 Markup 的意思就是"设置标记"。HTML定义了许多用于排版的命令(即标签)。
  • HTML把各种标签嵌入到万维网的页面中。这样就构成了所谓的HTML文档。当浏览器从服务器读取HTML文档后,就按照 HTML文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。

1.6.4.5 万维网的工作过程


用户点击超链接后发生的事件:

1.7 网络服务------DNS

1.7.1 域名系统DNS

1.7.1.1 域名系统概述

  • 因特网的域名系统DNS (Domain Name System)是一个联机分布式数据库系统 ,采用客户服务器方式
  • DNS完成名字到IP地址的解析工作
  • 因特网采用了层次树状结构的命名方法。
  • 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名
  • 域名的结构由若干个分量组成,各分量之间用点隔开
  • 各分量分别代表不同级别的域名

1.7.1.2 顶级域名 TLD

  • 国家顶级域名 nTLD:.cn表示中国.us表示美国等。
  • 国际顶级域名 iTLD:采用**.int** ,国际性的组织可在 .int 下注册。
  • 通用顶级域名 gTLD:

|----------|------------------|
| .com | 表示公司企业 |
| .net | 表示网络服务机构 |
| .org | 表示非赢利性组织 |
| .edu | 表示教育机构(美国专用) |
| .gov | 表示政府部门(美国专用) |
| .mil | 表示军事部门(美国专用) |

  • 新增加了 7 个顶级域名:

|---------|------------------|
| .aero | 用于航空运输企业 |
| .biz | 用于公司和企业 |
| .coop | 用于合作团体 |
| .info | 适用于各种情况 |
| .museum | 用于博物馆 |
| .name | 用于个人 |
| .pro | 用于会计、律师和医师等自由职业者 |

1.7.2 因特网的域名空间

1.7.3 DNS域名解析过程

  • 当某个应用进程需将主机名解析为IP地址时,该应用进程就成为域名系统DNS的一个客户,并将待解析的域名放在DNS请求报文中,以UDP数据报方式发给本地域名服务器。
  • 本地的域名服务器在查抄域名后,将对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。
  • 若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。直到找到能够回答该请求的域名服务器为止。

1.7.3.1 递归查询

1.7.3.2 递归与迭代相结合的查询

1.7.3.3 名字的高速缓存

  • 使用名字的高速缓存可优化查询的开销。
  • 每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。
  • 客户请求域名服务器转换名字时,服务器先按标准过程检查它是否被授权管理该名字。
  • 若未被授权,则查看自己的高速缓存,检查该名字是否最近被转换过。
  • 域名服务器向客户报告缓存中有关名字与地址的绑定(binding)信息,并标志为非授权绑定,以及给出获得此绑定的服务器S的域名。
  • 本地服务器同时也将服务器S与IP地址的绑定告知客户。

1.8 网络服务------DHCP

1.8.1 DHCP 概念

  • 动态主机配置协议 DHCP (Dynamic Host ConfigurationProtocol)提供了一种称为即插即用连网(plug-and-play networking)的机制。
  • 用于对局域网中各个主机动态分配IP地址、子网掩码、网关地址、DNS服务器等相关网络信息,为了更好的对局域网设备进行集中管理,同时方便用户上网。

1.8.2 DHCP使用客户服务器方式

  1. 需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为DHCP客户。
  2. 本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文
  3. DHCP服务器先在其数据库中查找该计算机的配置信息 。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池(addresspool)中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)。

1.8.3 DHCP共工作原理

1.9 网络服务------MAIL

1.9.1 电子邮件概述

  • 电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。
  • 用于发送邮件的简单邮件传送协议SMTP用于接收邮件的邮件读取协议POP3、IMAP等,已成为因特网事实上的标准。

1.9.2 电子邮件组成

一个电子邮件系统应具有下图所示的3个主要组成部件,这就是用户代理邮件服务器 ,以及电子邮件使用的协议,如SMTP和POP3等。

  • 用户代理UA (User Agent) 是用户与电子邮件系统的接口 ,即用户PC机中运行的程序
  • 用户代理至少应当具有以下4个功能︰撰写显示处理和本地邮件服务器通信。
  • 邮件服务器是电子邮件系统的核心构件,需要使用两个不同的协议。一个协议用于发送邮件 ,即SMTP协议,而另一个协议用于接收邮件,即邮局协议 POP (Post Office Protocol)。

1.9.3 电子邮件工作原理

  1. 发信人调用用户代理来编辑邮件用户代理用SMTP 把邮件传送给发送端邮件服务器。发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。
  2. 发送端邮件服务器的SMTP客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的SMTP服务器进程发起TCP连接的建立。SMTP客户进程开始向远程的SMTP服务器进程发送邮件。当所有的待发送邮件发完了,SMTP关闭TCP连接。
  3. 运行在接收端邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时读取。收信人在收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回。

1.9.4 电子邮件地址的格式

  • TCP/IP体系的电子邮件系统规定电子邮件地址的格式如下:收信人邮箱名@邮箱所在主机的域名
  • 符号"@ "读作"at",表示""的意思。
  • 发送电子邮件时,邮件服务器只使用电子邮件地址中的后一部分,即目的主机的域名。

1.9.5 简单邮件传送协议SMTP

使用SMTP时,收信人可以是和发信人连接在同一个本地网络上的用户,也可以是因特网上其他网络的用户,或者是与因特网相连但不是TCP/IP网络上的用户。步骤如下:

  1. 和本地邮件服务器通信连接建立︰连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。
  2. 邮件传送
  3. 连接释放︰邮件发送完毕后,SMTP应释放TCP连接。

1.9.6 邮件读取协议POP3和IMAP

  • 现在常用的邮件读取协议有两个,即邮局协议第三个版本POP3因特网报文存取协议IMAP (Internet Message Access Protocol)。
  • 邮局协议POP是一个非常简单、但功能也有限的邮件读取协议。POP服务器只有在用户输入鉴别信息 (用户名和口令) 后才允许对邮箱进行读取。
  • 在使用IMAP时,所有收到的邮件同样是先送到ISP的邮件服务器的IMAP服务器。而在用户的PC机上运行IMAP客户程序,然后与ISP的邮件服务器上的IMAP服务器程序建立TCP连接。用户在自己的PC机上就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样,因此IMAP是一个联机协议。
  • 注意不要将邮件读取协议POP和IMAP与邮件传送协议SMTP弄混。
相关推荐
.Ayang6 小时前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型
云计算DevOps-韩老师9 小时前
【网络云计算】2024第48周-每日【2024/11/20】小测-理论题-计算机网络概述
计算机网络·网络设备
Hello Dam9 小时前
【计算机网络】物理层
计算机网络·物理层
_Power_Y11 小时前
计算机网络:应用层知识点概述及习题
计算机网络
co0t11 小时前
计算机网络(14)ip地址超详解
服务器·tcp/ip·计算机网络
C++忠实粉丝11 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
吃土少女古拉拉13 小时前
什么是计算机网络
计算机网络·学习笔记
C++忠实粉丝13 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
->yjy1 天前
计算机网络(第一章)
网络·计算机网络·php
摘星星ʕ•̫͡•ʔ1 天前
计算机网络 第三章:数据链路层(关于争用期的超详细内容)
网络·计算机网络