前言
1、眼过千遍,不如手过一遍
2、内容太多,梳理理解记忆
3、菜鸟初学,写笔记的方式容易坚持下来,并且不易分心。
于是有了这篇计算机网络学习笔记,如有问题,欢迎指正。
一、概述
1、因特网
因特网是一个世界范围的计算机网络,即它是一个互联了全世界的计算设备的网络。
因特网术语中,计算机网络又称为主机(host)或端系统(end system)。
因特网服务供应商—internet Service Provider (ISP);
2、协议
- 协议,网络协议的简称,是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
- 它的三要素是:语法、语义、时序。
- 为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),
- 它最终体现为在网络上传输的数据包的格式。
因特网中广泛的使用了协议,不同的协议之间用于完成不同的通信任务。
3、网络边缘
-
主机=端系统
- 客户端 client
- 服务器 server
-
接入网
-
指将端系统连接到其边缘路由器的物理链路
-
家庭接入网类型
- 数字用户线(Digital Subscriber Line,DSL)
-
电缆因特网(cable Internet)
混合光纤同轴(Hybrid Fiber Coax, HFC)
- 光纤到户(Fiber To The Home,FTTH)
- 光纤网络端接收器(Optical Network Terminator,ONT)
- 光纤线路端接收器(Optical Line Terminator,OLT)
-
企业和家庭接入网(主流):以太网和WiFi
-
-
边缘路由器
- 端系统到其他任何远程端系统路径上的第一台路由器
-
物理媒体
- 双绞线缆
- 同轴电缆
- 光纤
- 陆地无线电信道
- 卫星无线电信道
4、网络核心
-
分组交换
- 端系统彼此交换报文(message)
- 源端向目的端发送报文,将长报文划分为较小的数据块,称之为分组。
- 每个分组通过 通信链路 和**分组交换机(packet switch)**传送
-
电路交换
-
网络的网络
因特网交换点(Internet Exchange Point,IXP)
5、协议分层-协议栈
-
各层的所有协议被称为 协议栈(Protocol stack)。
-
因特网的协议栈由五个层次组成:
- 物理层、链路层、网络层、运输层、应用层
(1)应用层
应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议。
例如:
HTTP:提供了Web文档的请求和发送
SMTP:提供了电子邮件报文的传输
FTP:两个端系统之间的文件传输
端系统之间的应用程序书使用协议交换信息的分组,称为 报文。
(2)运输层
- 因特网的运输层在应用程序端点之间传送应用层报文。
- 两个运输层协议,TCP和UDP ,这两个都能运输应用层报文。
- TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地确保发送方、接收方速率匹配。
- TCP也将长报文划分为短报文,并提供拥塞控制机制。因此当网络堵塞时,源抑制其传输速率
- UDP 协议向它的应用程序提供无连接服务。这是一种不提供不必要的服务,没有可靠性,没有流量控制,也没有拥塞控制。
- 我们把运输层分组称为 报文段
- 运输层向网络层递交运输层报文段和目的地址。
(3)网络层
- 网络层分组被称为 数据报
- 网络层将数据报从一台主机移动到另一台主机。
- 网络层通过源和目的地之间的一系列路由器路由数据报。
- 网络层协议
- IP 协议
- 该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。
- 所有网络层的因特网组件必须运行IP协议
- 路由选择协议
- 数据报根据该路由从源传输到目的地。
- IP 协议
- 网络层也被简称为IP层。
(4)链路层
- 网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个结点(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。特别是在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个结点。在下个节点,链路层将数据报上传给网络层。
- 链路层协议:
- 以太网协议
- WIFi协议
- 电缆连接入网的DOCSIS协议
- PPP协议
- 链路层分组称为 帧。
(5)物理层
- 虽然链路层的任务是将整个帧从一个网络元素移动到临近的网络元素,而物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。
- 在物理层的协议仍然是与链路相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体有关。
- 物理层协议:
- 以太网具有许多物理层协议:
- 一个关于双绞铜线的、一个关于同轴电缆的、一个关于光纤的。
- 以太网具有许多物理层协议:
- 在每种场合中,跨越这些链路移动一个比特是以不同的方式进行的。
6、协议分层-OSI模型
- 开放系统互连模型,简称 OSI.
- 国际化标准组织 — ISO。
- OSI参考模型是:
- 应用层、表示层、会话层、传输层、网络层、链路层、物理层
- 表示层作用:
- 使通信的应用程序能够理解交换数据的含义。这些服务包括数据压缩和数据加密(它们是自解释的)以及数据描述。
- 会话层作用:
- 提供了数据交换定界和同步功能,包括建立检查点和恢复方案的方法
7、封装
在发送主机端,一个应用层报文(application-layer Message,M)被传送给运输层。在最简单的情况下,运输层收取到报文并附上附加信息(所谓运输层首部信息,H)。该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段(transport-layer segment)。运输层报文段因此封装了应用层报文。
附加的信息也许包含下列信息:
-
允许接收端运输层向上向适当的应用程序交付报文信息
-
差错检测位信息:该信息让接收方能够判断报文中的比特是否在途中已被改变。
运输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息,产生了网络层数据报。该数据报接下来被传递给链路层,链路层(自增)增加他自己的链路层首部信息并创建链路层帧。
8、网络攻击
-
病毒(virus): 一种需要某种形式的用户交互式来感染用户设备的恶意软件。典型例子就是发送的附件。
-
蠕虫(worm): 一种无需任何明显用户交互就能进入设备的恶意软件。
-
拒绝服务攻击(Denial-of-Service attack,DOS): DOS 攻击使得网络、主机或其他基础设施部分不能由合法用户使用。
-
Web服务器、电子邮件服务器、DNS服务器和机构网络都能成为DOS攻击的目标。
大多数因特网DoS攻击属于下列三种类型之一:
**弱点攻击:**向目标主机上运行的易受攻击的应用程序或者操作系统发送制作精细的报文。如果适当顺序的多个分组发送给这个程序或操作系统,该服务器会造成停止运行或崩溃。
**带宽洪泛:**攻击者向目标发送大量的分组,分组之多使目标的接入链路变得拥塞,使合法的分组无法到达服务器。
**连接洪泛:**攻击者在目标主机中创建大量的半开或全开TCP连接。主机会因这些连接而陷入困境。并停止接收合法的连接。
-
-
嗅探分组:
在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的副本。这些分组包含了各种敏感信息。记录这些敏感信息的被动接收机被称为分组嗅探器(packet sniffer)。
-
IP哄骗
将具有虚假源地址的分组注入到因特网的能力叫IP哄骗(IP spoofing)。
二、应用层
1、网络应用程序体系结构
应用程序网络体系结构(application architecture) 由应用程序研发者设计,规定了如何在各终端系统上组织该应用程序。
两种主流体系结构:C/S 体系结构 和 P2P(对等)体系结构。
客户-服务器体系结构(client-server architecture)中,有一个总是打开的主机被称为服务器。
特征:
1、通过服务器通信,客户之家不直接通信。
2、服务器具有周知、固定的IP地址
例如:
Web、FTP、Telent和Email
P2P体系结构(P2P architecture)中:对位于数据中心的专用服务器有最小(或者没有)的依赖。相反,应用程序在间断连接的主机对之间使用直接通信。这些主机被称为对等方。
适用于流行、密集型应用
例如:
文件共享、对等方协助下载加速器(迅雷)、IPTV等
特性:
自扩展性
2、进程通信
-
程序之间进行通信的实际上是 进程(process)
- 一个进程可以被认为是运行在端系统的一个程序,当进程运行在相同的端系统上,它们使用进程间通讯机制相互通信。进程间通信的规则由端系统上的操作系统确定。而在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信。
-
在给定的一对进程之间的通信会话场景中,发起通信(即在会话开始时发起与其他进程的联系)的进程被标示为 客户,在会话开始时等待联系的进程是 服务器。
-
进程通过 套接字(socket,一个软件接口)来向网络发送/接收报文。套接字是同一台主机内应用层和传输层之间的接口,也被称为应用程序和网络程序之间的应用程序编程接口(Application Programming Interface,API)
-
应用程序开发者可以控制套接字在应用层端的一切,但对套接字的运输层端几乎