一、网络基础知识
计算机网络
1. 分类
广域网WAN
域域网MAN
局域网LAN
2. 七个阶段
批处理
分时系统TSS
计算机之间的通信
计算机网络的产生
互联网的普及
以互联网技术为中心的时代
从“单纯建立连接”到“安全建立连接”
3. 协议
协议是一种约定,使不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间,遵守相同的协议就能通信。
分组交换协议
分组交换:讲大数据分割为也一个个较小单位(包)进行传输。
报文首部:发送端地址、接收端地址以及分组序号
4. 协议由谁规定
TCP/IP是由IETF所建议的标准化
5. 协议分层与OSI参考模型
- 协议的分层
OSI参考模型:7层,每个分层接收由它下一层所提供的特定服务,并负责为上一层提供特定服务。上下层之间进行交互时遵守的约定为“接口”,同一层之间的交互遵循的约定为“协议”。
-OSI参考模型
OSI模型对各层的作用做了一系列粗略的界定,并未对协议和接口进行详细的定义。
OSI模型不等于OSI协议
-OSI模型中各个分层的作用
6. OSI参考模型通信处理举例
主机A从上到下,主机B从下到上。每一层都再其收到的数据前端附上首部或标签信息后再转发给下一层。每个分层上的协议规定了该分层中数据首部的格式以及首部与处理数据的顺序。
会话层以上的处理
应用层:输入内容发送给目标地址
表示层:将数据从主机特有的格式转换未网络标准传输格式,如文字编码格式
会话层:采用何种方法顺序传输数据
应用层写入数据会经由表示层格式化编码、再由会话层标记发送顺序后被发送出去。不具有实际传输数据功能。
传输层以下的处理
传输层:建立或断开连接、重发的处理,在两个主机之间创建逻辑上的通信连接
网络层:在网络与网络相互连接的环境中,将数据从发送端主机发送到接收端主机。将整个数据发送给最终目标地址。
数据链路层、物理层
数据链路层在图里传输介质互连的设备之间进行数据处理,只负责发送一个分段内的数据。
物理层将数据的0、1转换为电压发脉冲光传输给物理的传输介质,相互直连的设备之间使用MAC地址(物理地址或硬件地址,为了识别连接到同一个传输介质上的设备)实现传输。
7. 传输方式的分类
1. 面向有连接型与面向无连接型
面向有连接型:ATM、帧中继、TCP……
面向无连接型:以太网、IP、UDP协议……
2. 电路交换与分组交换
目前网络通信方式主要两种。
电路交换
老技术
交换机负责数据中转处理。计算机首先于被连接到交换机上,而交换机与交换机之间则由众多通信线路再继续连接。计算机之间发送数据时,需要通过交换机与目标主机建立通信电路,即建立连接。一台计算机在收发信息时会独占整个电路。
分组交换
新技术
连接到A通信电路的计算机将所要发送的数据分成多个数据包,按照一定的顺序排列之后分别发送。每个分组的首部写入了发送端和接收端的地址。
处理过程:发送端计算机将数据分组发送给分组交换机(路由器),路由器收到缓存到自己的缓冲区,以后再转发给目标计算机。
3. 根据接收端数量分类
单播(1对1):固定电话
广播(1对多,有广播域):电视播放
多播(限定某一组主机作接收端):电视会议
任播(在特定的多台主机中选出一台作为接收端,被选中的那台特定主机将返回一个单播信号与发送端主机通信):DNS根域名解析服务器
8. 地址
每一层协议所使用的地址不尽相同。
地址的唯一性:MAC地址(网卡NIC指定,负责最终通信的地址)、IP地址
地址的层次性:IP地址(网络号+主机号)
网络传输中,每个结点根据分组数据的地址信息来判断报文应该由哪个网卡发送出去。因此各个地址会参考一个发出接口列表。MAC寻址中参考的表为地址转发表,记录的是实际的MAC地址本身;IP寻址所参考的叫路由控制表,记录的IP地址是集中了之后的网络号。
9. 网络的构成要素
1. 通信媒介与数据链路
传输速率是看单位时间内传输的数据量有多少,也称宽带,宽带越大网络传输能力越强,单位bps(每秒比特数)
主机之间实际的传输速率成为吞吐量
2. 网卡(网络接口卡NIC,网络适配器、LAN卡)
任何一台计算机连接网络时,必须使用网卡。
3. 中继器
物理层面上延长网络的设备。由电缆传来的电信号或光信号经由中继器的波形调整和放大再传给另一个电缆。
一般中继器的两端连接的是相同的通信媒介,但有的可以不同,但不能在传输速度不同的媒介之间转发。通过中继器而进行的网络延长,其距离并非可以无限扩大。
中继集线器(集线器)可以提供多个端口服务,每个端口都可以成为一个中继器。
4. 网桥/2层交换机
数据链路层面上连接两个网络的设备。能识别数据链路层的数据帧(分组数据),并将这些数据帧暂时存储于内存(能够连接传输速率不同的数据链路且不限制连接网段的个数),再重新生成信号作为一个全新的帧转发给相连的另一个网段。
数据链路的数据帧中有一个数据位称为FCS(用CRC循环冗余检验码校验数据帧中的位),用来校验数据是否正确送达目的地。网桥检查这个域中的值,将损坏数据丢弃。
网桥通过地址自学机制和过滤功能控制网络流量(网络上传输的数据报文数量)。
自学式网桥,记住曾经通过自己转发的所有数据帧的MAC地址并保存到自己的内存表中。
交换集线器
5. 路由器/3层交换机
网络层面上连接两个网络、并对分组报文进行转发的设备。
注:网桥是根据MAC地址进行处理,而路由器/3层交换机则是根据IP地址处理。因此,TCP/IP中网络层的地址就成为了IP地址。
6. 4~7层交换机
OSI模型中负责从传输层到应用层的数据。分析收发数据,对其进行特定处理。
负载均衡器
宽带控制(优先处理及时性要求较高的通信请求)
广域网加速器、特殊应用访问、防火墙
7. 网关
在OSI参考模型中负责将传输层到应用层的数据进行转换和转发的设备。
代理服务器是网关的一种,称为应用网关。有了代理服务器,客户端和服务器之间无需在网络层上直接通信,而是从传输层到应用层对数据进行各种控制和处理。
防火墙就是一款通过网关通信针对不同应用提高安全性的产品。
10. 现代网络实态
网络的构成
互联网通信
移动通信
CSFB技术
从信息发布的角度看网络
数据中心由大型服务器、存储以及计算机网络构成。
虚拟化和云
虚拟化:当一个网站/其他系统需要调整运营所使用的资源时,并不增减服务器、存储设备、网络等实际的物理设备,而是利用软件将这些物理设备虚拟化,在有必要增减资源的时候,通过软件按量增减的一种机制。
云:利用虚拟化技术,根据使用者的情况动态调整必要资源的机制。
二、TCP/IP基础知识
1. 发展
2. TCP/IP的标准化
TCP/IP泛指这些协议,称TCP/IP为网际协议族
开放性
注重实用性
3. 互联网基础知识
互联网的协议 == TCP/IP
IX:网络交换中心
NOC:网络操作中心
互联网时众多异构的网络通过IX互连的一个巨型网络。
4. TCP/IP协议分层模型
TCP/IP与OSI参考模型
OSI注重“通信协议必要的功能是什么”
TCP/IP注重“在计算机上实现协议应该开发哪种程序”
1. 硬件(物理层)
负责数据传输的硬件(以太网或电话线路等物理层设备)
2. 网络接口层(数据链路层)
让NIC起作用的驱动程序(操作系统与硬件之间起桥梁作用的软件)
3. 互联网层(网络层)
使用IP协议,IP协议基于IP地址转发分包数据。
TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供,尤其是路由器,必须实现通过互联网层转发分组数据包的功能。连接互联网的所有主机跟路由器必须都是实现IP功能。
IP:跨越网络传送数据包,使整个网络都能收到数据的协议。IP地址作为主机的标识。
ICMP:若IP数据包发送途中异常无法到达对端目标地址,将给发送端发送一个发生异常的通知。
ARP:从分组数据包的IP地址中解析出物理地址(MAC)的一种协议。
4. 传输层
功能:让应用程序之间实现通信。
TCP:面向有连接的传输层协议。为了建立与断开连接,有时他需要至少7次的发包收包。为了提高网络利用率,协议定义了很多复杂的规范,不利于视频会议(音频、视频的数据量既定)等场合使用。
UDP:面向无连接的传输层协议。常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。
5. 应用层(会话层以上的分层)
由一个或多个程序实现。
TCP/IP应用的架构绝大多数属于客户端/服务端模型。
浏览器与服务端之间通信所用的协议是HTTP,所传输数据的主要格式为HTML
——WWW
WWW中HTTP属于OSI应用层的协议,HTML属于表示层的协议。
发送电子邮件的协议为SMTP,现在格式由MIME协议(OSI的表示层)扩展。
——FTP文本传输
互连的计算机之间可相互发送、接收文件。
传输过程中可选择二进制方式还是文本方式。
进行文件传输时会建立两个TCP连接:发出传输请求时的控制连接、实际传输数据时的数据连接
——远程登录(TELNET与SSH)
登录到远程的计算机,使那台计算机上的程序得以运行
——网络管理(SNMP)
SMNP是管理器Manager与代理Agent用到的协议。
SNMP(应用层协议)的代理端保存着网络接口的信息、通信数据量、异常数据量、设备温度等,可通过MIB(表示层协议)访问。
5. TCP/IP分层模型与通信示例
1. 数据包首部
表述数据的单位:
包:全能性术语
帧:数据链路层中包的单位
数据包:IP和UDP等网络层以上的分层中包的单位
段:TCP数据流中的信息
消息:应用协议中数据的单位
包首部明确表明了协议应该如何读取数据。
2. 发送数据包
应用程序处理:编码转换(表示层)、合适建立通信连接何时发送数据的管理功能(会话层)。应用在发送邮件那一刻建立TCP连接,将数据发送给下一层的TCP,再做实际的转发处理。
TCP模块处理:TCP首部+数据
TCP首部包括源端口号和目标端口号、序号(包中哪部分是数据)、校验和(判断数据是否被损坏)。加上TCP首部的包发送给IP
IP处理模块:IP首部+TCP首部+数据
IP首部包含接收端IP地址及发送端IP地址。IP首部后还有用来判断后面数据是TCP还是UDP的信息。
IP包生成后,参考路由控制表决定接受此IP包的路由或主机。IP将被发送给连接这些路由器或主机网络接口的驱动程序,以实现真正发送数据。
网络接口(以太网驱动)的处理:以太网首部+IP包
以太网首部包括接收端和发送端MAC地址以及标志以太网类型的以太网数据的协议。
以太网数据包通过物理层传输给接收端,发送处理的FCS(判断数据包是否由于噪声而被破坏)由硬件计算,添加到包的最后。
3. 经过数据链路的包
以太网用MAC地址,IP用IP地址,TCP/UDP用端口号识别两端主机地址。
每个包首部至少含两个信息:发送端和接收端地址;上一层的协议类型。
4. 数据包接收处理
网络接口(以太网驱动)的处理
收到以太包后在包首部找到MAC地址判断是否为发送给自己的包,若不是则丢弃数据。若是,则查找首部中的类型域从而确定以太网协议所传送的数据类型(IP或ARP……),若类型为u发识别则丢弃数据。
IP模块的处理
同上,判断是TCP还是UDP。
在有路由器的情况下,接收端的地址不是自己的地址,需要借助路由控制表,调查应该送达的主机或路由器以后再转发数据。
TCP模块的处理
计算校验和,判断数据是否被破坏。
检查是否在按照序号接收数据。
检查端口号,确定具体的应用程序。
数据接收完毕后,接收端发送”确认回执“给发送端。若未能达到,则发送端认为接收端没有收到数据一直反复发送。
数据被完整接收后,会传给端口号识别的应用程序。
应用程序的处理
接收端应用程序直接接收发送端发送的数据。
SNS