股票入门

[toc]

计算机网络复习资料

一.计算机网络概述

计算机网络的概念:

1.计算机网络的定义:

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路链接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2.计算机网络的组成:

终端系统/资源子网:提供共享的软件资源和硬件资源
通信子网:提供信息交换的网络结点和通信线路。

3.计算机网络的类型:

按照拓朴分类: 星型结构 树形结构 总线型结构 环形结构 网状结构
按照范围分类:局域网 LAN 城域网 MAN 广域网 WAN 补充:个人区域网 PAN 互联网 Internet
按照传输方式分类:有线网络(IEEE802.3) 无线网络:( IEEE802.11 WLAN 无线局域网(wireless) WPAN 无线个域网)

计算机网络体系结构

1.传输方式:

按照传输的方向分
单工:只能单方向传输的工作模式
双工:在同一时间,线路上只能允许一个方向的数据通过
全双工:双方可以同时进行数据通信
按照传输对象(方式)分
单播: 1 对 1
多播:1 对多
广播:1 对 all

2.数据交换:

电路交换:整个报文从源头到终点连续的传输
报文交换:整个报文先传达到相邻节点,全部存储下来查找转发表,再转发到下一个节点
分组交换:将一个报文分成多个分组,传送到相邻结点,在查找转发表,在转发到下一个结点

3.通信协议和体系结构:

网络协议三要素:语法 语义 时序
OSI 参考模型
应用层:使用应用程序通过网络服务。
表示层:表示层用于处理交互数据的表示方式,例如格式转换,数据的加密和解密,数据压缩和回复等功能
会话层:负责维护通信中两个结点之间的会话建立维护和断开,以及数据的交换
传输层:提供端到端之间的数据传输服务,实现对数据进行控制和操作的功能。
网络层:单位 分组,在数据链路层的基础之上,提供点到点之间的通信,提供路由功能,实现拥塞控制,网络互联等功能。
数据链路层:单位 帧,在物理层的基础之上,提供结点到结点之间的服务,采取差错控制和流量控制的方法实现网路互联
物理层:单位 bit,利用传输介质为通信的网络节点之间的建立
TCP/IP 参考模型
网络接口层:物理层和数据链路层
网际层:网络层
传输层
应用层:会话层,表示层,应用层


二.物理层

1.物理层的基本概念:

1.1 四大特性:

机械特性:接口是怎么样的
电气特性:用多少伏的电
功能特性:线路上电平电压的特性
过程特性:实现不同功能所发射信号的顺序

1.2 两种信号:

模拟信号—特定频段的信号—有更加丰富的表现形式——抗干扰能力弱
数字信号—不是 1 就是 0——–抗干扰能力强

1.3 调制和编码:

调制:模拟信号转换
编码:
数字信号转换
编码的步骤:采样 量化 编码
区别:
数据可以通过编码手段转成数字信号,也可以通过调制手段将数据转成模拟型号。
数字数据可以通过数字发送器转化为数字信号(编码),也可以通过调制器转化为模拟信号。
模拟信号可以通过 PCM 编码器转化为数字信号(编码),也可以通过放大器调制器转化为模拟型号(调制)。

1.4 传输介质:

双绞线:
传输距离 100-500(集线器 最多四个,超过就失真了)
屏蔽双绞线 STP:抗干扰强,贵一些
非屏蔽双绞线:便宜,抗干扰差
制作标准:
568B:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕 :八种
568A:12,26 调换—绿白,绿,绿白,蓝,蓝白,橙,棕白,棕
光纤:
多模光纤:
芯较粗(50 或 62.5)。可以传多种模式的光。但其模间色散较大,这就限制了传输数字信号的频率,而且随距离的增加会更加的严重。例如:600MB/KM 的光纤在 2KM 时只有 300MB 的宽带了。因此多模光纤传输距离就比较的近,一般只有几公里。
距离:2KM
单模光纤:
单模光纤:中间纤芯很细(芯径一般是 8-10),只能传一种模式的光,因此。其模间色散很小,适合语远程通讯,但还存在着材料色散和波导色散,这样单模光纤对光源的谱宽和稳定性有较高的要求,即谱宽要窄。稳定性要好。
距离:100KM
同轴电缆:淘汰了
无线:无线信号频率 IEEE802.11

1.5 三大部分:

源系统:发送数据的一端
传输系统:传输过程中的各种传输介质
目的系统:接收数据的电脑

2.物理层的基本通信技术

2.1 四种信道复用技术

2.1.1 复用技术

复用技术是指一种在传输路径上综合多路道信道,然后恢复原机制或则解除终端各信道复用技术的过程
将多种不同的信号在同一信道上进行传输,复用技术主要是用来解决不同信号传输时应该如何区分。

2.1.2 频分复用 FDM

频分多路复用,是在适于某种传输媒介的传输频带内,若干个频谱互不重叠的信号一并传输的方式,简称 FDM。在每路信号进入传输频带前,先要以此搬移频率(调制),而在接收端,在搬回到原来的频段,恢复每路的原信号,从而使传输频带得到多路信号的复用。
划分不同频率来并行传输信号

2.1.3 时分复用 TDM

时分复用 TDM 是采用同一物理连接的不同时段来传输不同的信号,也能达到多路传输的此目的。时分多路复用以时间作为信号分割的参量,故必须使各路信号在时间轴上互不重叠。时分复用 TDM 就是将提供给整个信道传输信息的时间划分为若干时间片(简称时隙),并将这些时隙分给每一个信号源使用
划分不同的时间段来传输信号

2.1.4 波分复用 WDM(波)

是将两种或多种不 i 同波长的光载波信号(携带各种信息)在发送端经复用器(亦称合波器)汇合在一起,并耦合到光线路的同一根光纤中进行传输技术
根据光波的波长进行传输(合波器耦合)

2.1.5 码分复用

码分复用 CDM 是靠不同的编码来区分各路原始信号的一种复用方式,主要和各种多址技术结合产生了各种接入技术,包括无线和有线接入。
在同一时间同一频率根据传输的数据码进行区分

2.2 数据传输方式

2.2.1 通过同时间传输数量分为

串行传输
使用一条数据线,将数据一位一位的依次输入,每一位数据占据一个固定的时间长度。只需要少数几条先就可以在系统间交换信息,特别适用于计算机语计算机,外设之间的远距离通信。
并行传输
并行传输指的是数据以成组的方式,在多条并行信道上同时进行传输,是在传输中有多个数据位同时在设备之间进行的传输。

2.2.2 通过数据报文的双方的行为分为

同步传输
同步:在计算机网络中,定时的因素称为位同步。同步是要接收按照发送放放送的每个位的起止时刻和速率来接受数据,否则会产生误差。
同步传输的比特分组要大得多。他不会独立的发送每个字符,每个字符都有自己的开始位和停止位,而是把他们组合起来发送。我们将这些组合称为数据帧,或简称帧
异步传输:
异步传输将比特分成小组进行传输,小组可以是 8 位的 1 个字符或更长。发送方可以在任何时刻发送这些比特组,而接受方从不知道它们会在什么时候到达。

3.3 通过传输的信号分

基带传输:传输数字信号叫做基带传输
频带传输:传输模拟信号叫做频带传输(300-3400HZ)

3.4 通过传输方向分

单工 半双工 全双工

3.5 通过传输对象分

单播 组播 广播


三.数据链路层

1.数据链路层的基础概念

1.1 数据链路层的概念

数据链路层是在物理层和网际层之间的协议,提供相邻结点的可靠数据传输

1.2 帧的概念

数据链路层的协议数据单元
组成:
帧头:源 MAC 地址,目的 MAC 地址,类型(MAC 地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址)
数据
帧尾:校验

1.3 以太网数据帧中的 MAC 和 LLC
MAC(一种协议,对接物理层)
MAC 介质控制访问
作用:数据帧的封装/卸载,帧的寻址和识别,帧的接收语发送,链路的管理,帧的差错控制等。MAC 子层的存在屏蔽了不同的物理链路层种类的差异性
LLC(对接网络层)
LLC 逻辑控制访问
作用:LLC 子层的主要功能为传输可靠性保障和控制,数据包的分段与重组。数据包的顺序传播。
注解:
该协议位于 OSI 七层协议中数据链路层,数据链路层分为上层 LLC(逻辑链路控制),和下层的 MAC(媒体访问控制),MAC 主要负责控制与链接物理层的物理介质。在发送数据的时候,MAC 协议可以事先判断是否发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC 协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至 LLC(逻辑链路控制)层。

1.4 数据链路层的两种传输方式
单播 广播
1.5 数据链路层的三个基本问题(***)
封装成帧(PPP)
封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传输
差错检测(奇数校验 偶数校验 CRC:需要计算)
收到正确的帧就要向发送端发送确认,发送算在一定的期限内若没有收到对方的确认,就认为出现了差错,因而就进行重传,直到收到对方的确认为止,
1.6 局域网中的设备
网桥(在物理层和数据链路层之间)
两个端口的交换机
集线器(在物理层 共享带宽)
集线器的英文为:“HUB”是“中心”的意思,集线器的主要功能是对接受的信号进行再生整形放大,以扩大网络的传输距离,同时把所有结点集中在以它为中心的结点上。
交换机(数据链路层 独享带宽)
交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络结点提供独享的电信号通路。最常见的交换机式以太网交换机。
2 数据链路层的通信协议
2.1 冲突域和广播域
冲突域
交换机的每一个端口都是一个冲突域;冲突域只能发生在一个网段
广播域
交换机的所有端口都在一个广播域;广播域在一个或多个网段内发生
区别
广播域可以跨网段
冲突域是基于第一层(物理层),而广播域是基于第二层(数据链路层)
HUB 所有端口都在同一个广播域,冲突域内,Switch 所有端口都在同意广播域内,而每一个端口就是一个冲突域。
同一冲突域共享宽带
2.2 虚拟局域网(实验)VLAN
VLAN(Virtual local Area Network)即虚拟局域网,是将一个物理的 LAN 在逻辑上划分成多个广播域的通信技术。VLAN 间不能直接通信,而 VLAN 间不能直接通信,从而将广播报文限制在一个 VLAN 内。
优点和目的
划分广播域:减少垃圾数据
增强局域网的安全性
提高健壮性
灵活构建工作组
划分 VLAN 的方式
基于端口
给交换机的每个接口配置不同的 PVID,当一个数据帧进入交换机接口时,如果没有带 VLAN 标签,且该接口上配置了 PVID。如果进入的帧已经带有 VLAN 标签,那么交换机不会在增加 VLAN 标签,即使接口已经配置了 PVID
Access:只允许通过一个 VLAN
Trunk:允许通过多个 VLAN
Hybird
基于子网
配置好子网域 VLAN 映射表,如果交换设备收到的是 untagged(不带 VLAN 标签)帧,交换设备根据报文中的源 IP 地址信息,确认添加的 VLAN iD。将指定网段或 IP 地址发出的报文在指定的 VLAN 中传输,减轻了网络管理着的任务量,且有利于管理
基于 MAC 地址
先配置好 MAC 地址和 VLAN 映射关系表,当终端用户的物理位置发生改变,不需要重新配置 VLAN。提高了终端用户的安全性和接入的灵活性
基于协议
将网络中提供的服务类型域 VLAN 相绑定,方便管理和维护。需要对网络中所有的协议类型和 VLAN ID 的映射关系表进行初始配置。需要分析各种协议的地址格式并进行相应的转换,消耗交换机较多的资源,速度上稍具劣势。
基于匹配策略
先在交换机上配置好终端的 MAC 地址和 IP 地址,并与 VLAN 并联。只有符合条件的终端才能加入指定 VLAN。符合策略的终端加入指定 VLAN 后,严禁修改 IP 地址和 MAC 地址,否则会导致终端从指定 VLAN 中退出。
2.3:CSMA/CD(总线型)
CSDN/CD 即载波侦听多路访问/冲突检测,是广播信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点,总线型网络传输数据
四大特点(重要)
先听再发
边听边发
冲突停止
延迟后发
2.4:PPP(单播)
点对点通信是一对一通道,因此不会发生碰撞,因此比较简单,采用 PPP 协议;其中 PPP 协议就是用户计算机和 ISP(互联网服务提供商)进行通信时使用的数据链路层的协议
PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。
2.5:CRC(需要单独的深入学习)
循环冗余校验
是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能。l
例题:要发送的数据为 1101011011,采用 CRC 的生成多项式是 P(x)=x^4+x+1.求余数。

四.网络层

1.网络层的作用
提供端到端的服务 单位:分组
网络层的目的是实现两个端系统之间的数据透明传输,具体功能包括寻址和路由选择,连接的建立,保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。 2.网际层协议 IP
ARP 地址解析协议
根据 IP 地址获取物理地址
RARP 反地址解析协议
ICMP 网际控制报文协议
通过 ICMP 传输控制消息,控制消息是指网络通不通,主机是否可达,路由是否可用等网络本身的消息。
IGMP 网际组管理协议
适用于管理协议多播组成员的一种通信协议。IP 主机和相邻路由器利用 IGMP 来创建多播组的组成员。组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费
3.IP 地址
3.1IP 地址的概念
IP 地址使 IP 协议提供的一种统一的地址格式,他为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
组成:一个 IP 地址由 4 个字节,32 位组成,一般用点分十进制的方式表现,
IP 地址和 MAC 地址的区别
IP 地址是一个逻辑地址,MAC 地址是物理地址
MAC 地址是唯一的但是 IP 地址不受唯一的
MAC 地址主要是工作在第二层,IP 地址在网际层
MAC 地址是 48 位,IP 地址一般是 32 位(v6 是 128 位)
IP 地址的分配取决于网络拓扑,MAC 地址分配取决于制造商
3.2IP 地址的组成
主机地址和网络地址组成的
主机地址/主机号
标识某一台设备的地址
网络地址/网络号
标识某一网段的地址
子网掩码
子网掩码用于区分网络号和主机号
它是一种用来指明一个 IP 地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合 IP 地址一起使用。子网掩码只能有一个作用,就是将某一个 IP 地址划分成为网络地址和主机地址两部分
3.3IP 地址的分类
3.3.1A 类
一个 A 类 IP 地址是指,在 IP 地址的四段号码中,第一段号为网络号码,剩下的三段号码为本地计算机的号码。A 类 IP 地址中网络的标识长度为 8 位,主机标识的长度为 24 位,A 类网络地址数量较少,有 126 个网络,每一个网络可以容纳主机数量高达 1600 多万台. A 类 IP 地址 地址范围 1.0.0.1 到 127.255.255.254
第一个字节为网络号,第一个字节第一位为 0
3.3.2B 类
一个 B 类地址是指,在 IP 地址的四段号码中,前两段号码为网络号码。B 类 IP 地址中网络的标识长度为 16 位,主机标识的长度为 16 位,B 类网络地址适用于中等规模的网络,有 16384 个网络,每个网络所能容纳的计算机数 6 万多台。 B 类 IP 地址 地址范围 128.0.01-191.255.255.254
前两个字节为网络号,第一个字节前两位是 10
3.3.3C 类
一个 C 类 IP 地址是指,在 IP 地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。C 类 IP 地址中网络的标识长度为 24 位,主机标识的长度为 8 位,C 网络地址数量较多,有 209 万余个网络。适用于小规模的局域网络,每个网络最多只能包含 254 台计算机。C 类 IP 地址范围 192.0.0.1-223.255.255.254
前三个字节为网络号,第一个字节前两位是 110
3.3.4D 类
D 类 IP 地址在历史上呗叫做多播地址,及组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从 224.0.0.0 到 239.255.255.255
3.3.5E 类
保留
3.3.6 特殊地址
网络地址:主机号全为 0 的地址不可用
广播地址:主机号全为 1 的地址不可用
回环地址:127.0.0.0 测试使用
4.IPv6
因为 IPv4 地址满足不了需求,出现匮乏的情况,所以就诞生了 IPv6 地址继续使用。v6 地址由 128 位,16 字节组成,一般表现形式为十六进制。 4.网络层的路由
4.1 路由
路由是什么?
路由是指分组从源到目的地时,决定端到端路径的网络范围的进程。路由是指导报文转发的路径信息,通过路由可以确认转发 IP 报文的路径
路由是网络层最主要的工作任务
路由器
网络层的基础设备
数据转发
一个端口代表一个网段,路由器中存放着通往各个网段的表格,叫做路由表
路由表
又称路由择域信息库,是一个存储在路由器或者联网计算机中的电子表格(文件)或者类数据库。路由表存储着指向特定网络地址的路径
网关
又称网间连接器,协议转换器。用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连
路由获取方式
直连路由
静态路由
动态路由
4.2 路由的配置方式
静态路由
静态路由:由管理员手工配置,配置方便,对系统要求低,适用于拓扑结构简单稳定的小型网络
缺省路由:是一种特殊的路由,当报文没有在路由表中找到匹配的具体表项时才能使用的路由
动态路由
动态路由
通过动态路由协议来实现不同网段的路由互通
动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量的三层设备的网络
动态路由协议
RPI
RPI:路由信息协议
基于矢量的动态路由协议
适用于中小规模的网络拓扑,最大跳数为 15
OSPF
OSPF:开放式最短路径优先
基于链路状态的路由
使用 SPF 算法,计算最短路径。树形协议
BGP
BGP 是自治系统间的路由协议。自治系统之间的路由协议
自治系统间的路由协议
IS-IS
IS-IS:中间系统到中间系统
与 OSPF 类似,IS-IS 是基于路由路划分区域,OSPF 利用接口划分
内部网关协议
RIP 和 OSPF 的区别
RIP 是基于矢量的协议,OSPF 是基于链路状态
RIP 适用于中小型网络拓扑,OSPF 适用于较大规模的网络
OSPF 支持可变长度子网掩码(VLSM)。RIP 不支持
ODPF 的收敛速度比 RIP 更加的迅速

五.传输层

1.传输层概念
1.1 传输层
传输层提供端到端服务
从通信和信息处理的角度看,传输层向上层应用层提供通信服务
所谓的端口,就好像是门牌号一样,客户端可以通过 IP 地址找到对应的服务器端,但是服务器端是有很多的端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口号进行区分,将每个端口进行编号,这就是端口号
1.2 端口号
FTP:21(20)_
FTP(文件传输协议)
21 连接;20 传输数据
TELNET:23_:TELNET(远程登录)
SMTP:25*
SMTP(电子邮件传输协议)
POP3(邮局协议版本 3):110
DNS:53:DNS(域名系统)
TFTP:69:TFTP(简单文件传输协议)
HTTP:80
:HTTP(超文本传输协议)
SNMP:161:SNMP(简单网络管理协议)
HTTPS:443*:HTTPS(超文本传输安全协议) 2.传输层的两个重要协议
3.1TCP
传输控制协议:TCP
TCP 是 TCP/IP 体系中较为复杂的协议,是传输层中最重要的协议
TCP 的主要特点是:
TCP 是面向连接的传输层协议
TCP 提供可靠的交付服务
TCP 提供全双工通信
TCP 是面向字节流
窗口
固定窗口:如果窗口过小,当传输比较大的数据的时候需要不停的对数据进行确认,这个时候就会造成很大的延迟
滑动窗口:滑动窗口通俗的讲就是一种流量控制技术。它本质上是描述接收方 TCP 数据报缓冲区大小的数据,发送根据这个数据来计算自己最多能发送所长的数据,如果发送方收到接收方的窗口大小为 0 的 TCP 数据报,那么发送方将停止发送数据,等到接受方发送窗口大小不为 0 的数据报的到来
拥塞处理和流量控制
TCP 的三次握手和流量控制
3.2UDP
用户数据报协议:UDP
UDP 是在 IP 数据报服务之上增加了一些功能,增加了复用和分用的功能以及差错检测的功能
UDP 的主要特点是:
UDP 是无连接的
UDP 尽最大努力交付
UDP 面向报文且没有拥塞控制
UDP 开销较小传输效率较高
UDP 首部的概念
个人认为的复习重点(超级重要的 tcp)

※传输层中的 TCP 和 UDP
TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。

TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。
UDP 是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在 UDP 的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。
TCP 和 UDP 的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。TCP 和 UDP 应该根据应用的目的按需使用。

  1. 端口号
    数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。

1.1 根据端口号识别应用
一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。

1.2 通过 IP 地址、端口号、协议号进行通信识别
仅凭目标端口号识别某一个通信是远远不够的。

① 和 ② 的通信是在两台计算机上进行的。它们的目标端口号相同,都是 80。这里可以根据源端口号加以区分。
③ 和 ① 的目标端口号和源端口号完全相同,但它们各自的源 IP 地址不同。
此外,当 IP 地址和端口号全都一样时,我们还可以通过协议号来区分(TCP 和 UDP)。
1.3 端口号的确定
标准既定的端口号:这种方法也叫静态方法。它是指每个应用程序都有其指定的端口号。但并不是说可以随意使用任何一个端口号。例如 HTTP、FTP、TELNET 等广为使用的应用协议中所使用的端口号就是固定的。这些端口号被称为知名端口号,分布在 01023 之间;除知名端口号之外,还有一些端口号被正式注册,它们分布在 102449151 之间,不过这些端口号可用于任何通信用途。
时序分配法:服务器有必要确定监听端口号,但是接受服务的客户端没必要确定端口号。在这种方法下,客户端应用程序完全可以不用自己设置端口号,而全权交给操作系统进行分配。动态分配的端口号范围在 49152~65535 之间。
1.4 端口号与协议
端口号由其使用的传输层协议决定。因此,不同的传输层协议可以使用相同的端口号。
此外,那些知名端口号与传输层协议并无关系。只要端口一致都将分配同一种应用程序进行处理。 2. UDP
UDP 不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务。
并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。即使是出现网络拥堵的情况,UDP 也无法进行流量控制等避免网络拥塞行为。
此外,传输途中出现丢包,UDP 也不负责重发。
甚至当包的到达顺序出现乱序时也没有纠正的功能。
如果需要以上的细节控制,不得不交由采用 UDP 的应用程序去处理。
UDP 常用于一下几个方面:1.包总量较少的通信(DNS、SNMP 等);2.视频、音频等多媒体通信(即时通信);3.限定于 LAN 等特定网络中的应用通信;4.广播通信(广播、多播)。 3. TCP
TCP 与 UDP 的区别相当大。它充分地实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。而这些在 UDP 中都没有。
此外,TCP 作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。
根据 TCP 的这些机制,在 IP 这种无连接的网络上也能够实现高可靠性的通信( 主要通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现)。
3.1 三次握手(重点)
TCP 提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。
所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在 socket 编程中,这一过程由客户端执行 connect 来触发。
下面来看看三次握手的流程图:

第一次握手:客户端将标志位 SYN 置为 1,随机产生一个值 seq=J,并将该数据包发送给服务器端,客户端进入 SYN_SENT 状态,等待服务器端确认。
第二次握手:服务器端收到数据包后由标志位 SYN=1 知道客户端请求建立连接,服务器端将标志位 SYN 和 ACK 都置为 1,ack=J+1,随机产生一个值 seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入 SYN_RCVD 状态。
第三次握手:客户端收到确认后,检查 ack 是否为 J+1,ACK 是否为 1,如果正确则将标志位 ACK 置为 1,ack=K+1,并将该数据包发送给服务器端,服务器端检查 ack 是否为 K+1,ACK 是否为 1,如果正确则连接建立成功,客户端和服务器端进入 ESTABLISHED 状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。
3.2 四次挥手(重点)
四次挥手即终止 TCP 连接,就是指断开一个 TCP 连接时,需要客户端和服务端总共发送 4 个包以确认连接的断开。在 socket 编程中,这一过程由客户端或服务端任一方执行 close 来触发。
由于 TCP 连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个 FIN 来终止这一方向的连接,收到一个 FIN 只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个 TCP 连接上仍然能够发送数据,直到这一方向也发送了 FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。
下面来看看四次挥手的流程图:

中断连接端可以是客户端,也可以是服务器端。
第一次挥手:客户端发送一个 FIN=M,用来关闭客户端到服务器端的数据传送,客户端进入 FIN_WAIT_1 状态。意思是说”我客户端没有数据要发给你了”,但是如果你服务器端还有数据没有发送完成,则不必急着关闭连接,可以继续发送数据。
第二次挥手:服务器端收到 FIN 后,先发送 ack=M+1,告诉客户端,你的请求我收到了,但是我还没准备好,请继续你等我的消息。这个时候客户端就进入 FIN_WAIT_2 状态,继续等待服务器端的 FIN 报文。
第三次挥手:当服务器端确定数据已发送完成,则向客户端发送 FIN=N 报文,告诉客户端,好了,我这边数据发完了,准备好关闭连接了。服务器端进入 LAST_ACK 状态。
第四次挥手:客户端收到 FIN=N 报文后,就知道可以关闭连接了,但是他还是不相信网络,怕服务器端不知道要关闭,所以发送 ack=N+1 后进入 TIME_WAIT 状态,如果 Server 端没有收到 ACK 则可以重传。服务器端收到 ACK 后,就知道可以断开连接了。客户端等待了 2MSL 后依然没有收到回复,则证明服务器端已正常关闭,那好,我客户端也可以关闭连接了。最终完成了四次握手。
上面是一方主动关闭,另一方被动关闭的情况,实际中还会出现同时发起主动关闭的情况,
具体流程如下图:

3.3 通过序列号与确认应答提高可靠性
在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做确认应答(ACK)。当发送端将数据发出之后会等待对端的确认应答。如果有确认应答,说明数据已经成功到达对端。反之,则数据丢失的可能性很大。
在一定时间内没有等待到确认应答,发送端就可以认为数据已经丢失,并进行重发。由此,即使产生了丢包,仍然能够保证数据能够到达对端,实现可靠传输。
未收到确认应答并不意味着数据一定丢失。也有可能是数据对方已经收到,只是返回的确认应答在途中丢失。这种情况也会导致发送端误以为数据没有到达目的地而重发数据。
此外,也有可能因为一些其他原因导致确认应答延迟到达,在源主机重发数据以后才到达的情况也屡见不鲜。此时,源主机只要按照机制重发数据即可。
对于目标主机来说,反复收到相同的数据是不可取的。为了对上层应用提供可靠的传输,目标主机必须放弃重复的数据包。为此我们引入了序列号。
序列号是按照顺序给发送数据的每一个字节(8 位字节)都标上号码的编号。接收端查询接收数据 TCP 首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为确认应答返送回去。通过序列号和确认应答号,TCP 能够识别是否已经接收数据,又能够判断是否需要接收,从而实现可靠传输。

3.4 重发超时的确定
重发超时是指在重发数据之前,等待确认应答到来的那个特定时间间隔。如果超过这个时间仍未收到确认应答,发送端将进行数据重发。最理想的是,找到一个最小时间,它能保证“确认应答一定能在这个时间内返回”。
TCP 要求不论处在何种网络环境下都要提供高性能通信,并且无论网络拥堵情况发生何种变化,都必须保持这一特性。为此,它在每次发包时都会计算往返时间及其偏差。将这个往返时间和偏差时间相加,重发超时的时间就是比这个总和要稍大一点的值。
在 BSD 的 Unix 以及 Windows 系统中,超时都以 0.5 秒为单位进行控制,因此重发超时都是 0.5 秒的整数倍。不过,最初其重发超时的默认值一般设置为 6 秒左右。
数据被重发之后若还是收不到确认应答,则进行再次发送。此时,等待确认应答的时间将会以 2 倍、4 倍的指数函数延长。
此外,数据也不会被无限、反复地重发。达到一定重发次数之后,如果仍没有任何确认应答返回,就会判断为网络或对端主机发生了异常,强制关闭连接。并且通知应用通信异常强行终止。
3.5 以段为单位发送数据
在建立 TCP 连接的同时,也可以确定发送数据包的单位,我们也可以称其为“最大消息长度”(MSS)。最理想的情况是,最大消息长度正好是 IP 中不会被分片处理的最大数据长度。
TCP 在传送大量数据时,是以 MSS 的大小将数据进行分割发送。进行重发时也是以 MSS 为单位。
MSS 在三次握手的时候,在两端主机之间被计算得出。两端的主机在发出建立连接的请求时,会在 TCP 首部中写入 MSS 选项,告诉对方自己的接口能够适应的 MSS 的大小。然后会在两者之间选择一个较小的值投入使用。
3.6 利用窗口控制提高速度
TCP 以 1 个段为单位,每发送一个段进行一次确认应答的处理。这样的传输方式有一个缺点,就是包的往返时间越长通信性能就越低。
为解决这个问题,TCP 引入了窗口这个概念。确认应答不再是以每个分段,而是以更大的单位进行确认,转发时间将会被大幅地缩短。也就是说,发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送。如下图所示:

窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。上图中窗口大小为 4 个段。这个机制实现了使用大量的缓冲区,通过对多个段同时进行确认应答的功能。
3.7 滑动窗口控制

上图中的窗口内的数据即便没有收到确认应答也可以被发送出去。不过,在整个窗口的确认应答没有到达之前,如果其中部分数据出现丢包,那么发送端仍然要负责重传。为此,发送端主机需要设置缓存保留这些待被重传的数据,直到收到他们的确认应答。
在滑动窗口以外的部分包括未发送的数据以及已经确认对端已收到的数据。当数据发出后若如期收到确认应答就可以不用再进行重发,此时数据就可以从缓存区清除。
收到确认应答的情况下,将窗口滑动到确认应答中的序列号的位置。这样可以顺序地将多个段同时发送提高通信性能。这种机制也别称为滑动窗口控制。
3.8 窗口控制中的重发控制
在使用窗口控制中, 出现丢包一般分为两种情况:

① 确认应答未能返回的情况。在这种情况下,数据已经到达对端,是不需要再进行重发的,如下图:

② 某个报文段丢失的情况。接收主机如果收到一个自己应该接收的序列号以外的数据时,会针对当前为止收到数据返回确认应答。如下图所示,当某一报文段丢失后,发送端会一直收到序号为 1001 的确认应答,因此,在窗口比较大,又出现报文段丢失的情况下,同一个序列号的确认应答将会被重复不断地返回。而发送端主机如果连续 3 次收到同一个确认应答,就会将其对应的数据进行重发。这种机制比之前提到的超时管理更加高效,因此也被称为高速重发控制。

※网络层中的 IP 协议
IP(IPv4、IPv6)相当于 OSI 参考模型中的第 3 层——网络层。网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点通信”。
网络的下一层——数据链路层的主要作用是在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。
IP 大致分为三大作用模块,它们是 IP 寻址、路由(最终节点为止的转发)以及 IP 分包与组包。

  1. IP 地址
    1.1 IP 地址概述
    在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。在数据链路中的 MAC 地址正是用来标识同一个链路中不同计算机的一种识别码。
    作为网络层的 IP ,也有这种地址信息,一般叫做 IP 地址。IP 地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。因此,在 TCP/IP 通信中所有主机或路由器必须设定自己的 IP 地址。
    不论一台主机与哪种数据链路连接,其 IP 地址的形式都保持不变。
    IP 地址(IPv4 地址)由 32 位正整数来表示。IP 地址在计算机内部以二进制方式被处理。然而,由于我们并不习惯于采用二进制方式,我们将 32 位的 IP 地址以每 8 位为一组,分成 4 组,每组以 “.” 隔开,再将每组数转换成十进制数。如下:
    2828282810101100000101000000000100000001(2 进制)10101100.00010100.00000001.00000001(2 进制)172.20.1.1(10 进制)

1.2 IP 地址由网络和主机两部分标识组成
如下图,网络标识在数据链路的每个段配置不同的值。网络标识必须保证相互连接的每个段的地址不相重复。而相同段内相连的主机必须有相同的网络地址。IP 地址的“主机标识”则不允许在同一个网段内重复出现。由此,可以通过设置网络地址和主机地址,在相互连接的整个网络中保证每台主机的 IP 地址都不会相互重叠。即 IP 地址具有了唯一性。

如下图,IP 包被转发到途中某个路由器时,正是利用目标 IP 地址的网络标识进行路由。因为即使不看主机标识,只要一见到网络标识就能判断出是否为该网段内的主机。

1.3 IP 地址的分类
IP 地址分为四个级别,分别为 A 类、B 类、C 类、D 类。它根据 IP 地址中从第 1 位到第 4 位的比特列对其网络标识和主机标识进行区分。
A 类 IP 地址是首位以 “0” 开头的地址。从第 1 位到第 8 位是它的网络标识。用十进制表示的话,0.0.0.0127.0.0.0 是 A 类的网络地址。A 类地址的后 24 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为 16,777,214 个。
B 类 IP 地址是前两位 “10” 的地址。从第 1 位到第 16 位是它的网络标识。用十进制表示的话,128.0.0.0
191.255.0.0 是 B 类的网络地址。B 类地址的后 16 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为 65,534 个。
C 类 IP 地址是前三位为 “110” 的地址。从第 1 位到第 24 位是它的网络标识。用十进制表示的话,192.0.0.0223.255.255.0 是 C 类的网络地址。C 类地址的后 8 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为 254 个。
D 类 IP 地址是前四位为 “1110” 的地址。从第 1 位到第 32 位是它的网络标识。用十进制表示的话,224.0.0.0
239.255.255.255 是 D 类的网络地址。D 类地址没有主机标识,常用于多播。
在分配 IP 地址时关于主机标识有一点需要注意。即要用比特位表示主机地址时,不可以全部为 0 或全部为 1。因为全部为 0 只有在表示对应的网络地址或 IP 地址不可以获知的情况下才使用。而全部为 1 的主机通常作为广播地址。因此,在分配过程中,应该去掉这两种情况。这也是为什么 C 类地址每个网段最多只能有 254( 28 - 2 = 254)个主机地址的原因。
1.4 广播地址
广播地址用于在同一个链路中相互连接的主机之间发送数据包。将 IP 地址中的主机地址部分全部设置为 1,就成了广播地址。
广播分为本地广播和直接广播两种。在本网络内的广播叫做本地广播;在不同网络之间的广播叫做直接广播。
1.5 IP 多播
多播用于将包发送给特定组内的所有主机。由于其直接使用 IP 地址,因此也不存在可靠传输。
相比于广播,多播既可以穿透路由器,又可以实现只给那些必要的组发送数据包。请看下图:

多播使用 D 类地址。因此,如果从首位开始到第 4 位是 “1110”,就可以认为是多播地址。而剩下的 28 位可以成为多播的组编号。
此外, 对于多播,所有的主机(路由器以外的主机和终端主机)必须属于 224.0.0.1 的组,所有的路由器必须属于 224.0.0.2 的组。
1.6 子网掩码
现在一个 IP 地址的网络标识和主机标识已不再受限于该地址的类别,而是由一个叫做“子网掩码”的识别码通过子网网络地址细分出比 A 类、B 类、C 类更小粒度的网络。这种方式实际上就是将原来 A 类、B 类、C 类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。
子网掩码用二进制方式表示的话,也是一个 32 位的数字。它对应 IP 地址网络标识部分的位全部为 “1”,对应 IP 地址主机标识的部分则全部为 “0”。由此,一个 IP 地址可以不再受限于自己的类别,而是可以用这样的子网掩码自由地定位自己的网络标识长度。当然,子网掩码必须是 IP 地址的首位开始连续的 “1”。
对于子网掩码,目前有两种表示方式。第一种是,将 IP 地址与子网掩码的地址分别用两行来表示。以 172.20.100.52 的前 26 位是网络地址的情况为例,如下:
IP 地址 172.20.100.52 子网掩码 255.255.255.192 网络地址 172.20.100.0 子网掩码 255.255.255.192 广播地址 172.20.100.63 子网掩码 255.255.255.192

第二种表示方式是,在每个 IP 地址后面追加网络地址的位数用 “/ ” 隔开,如下:
IP 地址 172.20.100.52/ 26 网络地址 172.20.100.0/ 26 广播地址 172.20.100.63/ 26

另外,在第二种方式下记述网络地址时可以省略后面的 “0” 。例如:172.20.0.0/26 跟 172.20/26 其实是一个意思。 2. 路由
发送数据包时所使用的地址是网络层的地址,即 IP 地址。然而仅仅有 IP 地址还不足以实现将数据包发送到对端目标地址,在数据发送过程中还需要类似于“指明路由器或主机”的信息,以便真正发往目标地址。保存这种信息的就是路由控制表。
该路由控制表的形成方式有两种:一种是管理员手动设置,另一种是路由器与其他路由器相互交换信息时自动刷新。前者也叫做静态路由控制,而后者叫做动态路由控制。
IP 协议始终认为路由表是正确的。然后,IP 本身并没有定义制作路由控制表的协议。即 IP 没有制作路由控制表的机制。该表示由一个叫做“路由协议”的协议制作而成。
2.1 IP 地址与路由控制
IP 地址的网络地址部分用于进行路由控制。
路由控制表中记录着网络地址与下一步应该发送至路由器的地址。
在发送 IP 包时,首先要确定 IP 包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将 IP 包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择一个最为吻合的网络地址。

  1. IP 分包与组包
    每种数据链路的最大传输单元(MTU)都不尽相同,因为每个不同类型的数据链路的使用目的不同。使用目的不同,可承载的 MTU 也就不同。
    任何一台主机都有必要对 IP 分片进行相应的处理。分片往往在网络上遇到比较大的报文无法一下子发送出去时才会进行处理。
    经过分片之后的 IP 数据报在被重组的时候,只能由目标主机进行。路由器虽然做分片但不会进行重组。
    3.1 路径 MTU 发现
    分片机制也有它的不足。如路由器的处理负荷加重之类。因此,只要允许,是不希望由路由器进行 IP 数据包的分片处理的。
    为了应对分片机制的不足,“路径 MTU 发现” 技术应运而生。路径 MTU 指的是,从发送端主机到接收端主机之间不需要分片是最大 MTU 的大小。即路径中存在的所有数据链路中最小的 MTU 。
    进行路径 MTU 发现,就可以避免在中途的路由器上进行分片处理,也可以在 TCP 中发送更大的包。
  2. IPv6
    IPv6(IP version 6)是为了根本解决 IPv4 地址耗尽的问题而被标准化的网际协议。IPv4 的地址长度为 4 个 8 位字节,即 32 比特。而 IPv6 的地址长度则是原来的 4 倍,即 128 比特,一般写成 8 个 16 位字节。
    4.1 IPv6 的特点
    IP 得知的扩大与路由控制表的聚合。
    性能提升。包首部长度采用固定的值(40 字节),不再采用首部检验码。简化首部结构,减轻路由器负担。路由器不再做分片处理。
    支持即插即用功能。即使没有 DHCP 服务器也可以实现自动分配 IP 地址。
    采用认证与加密功能。应对伪造 IP 地址的网络安全功能以及防止线路窃听的功能。
    多播、Mobile IP 成为扩展功能。
    4.2 IPv6 中 IP 地址的标记方法
    一般人们将 128 比特 IP 地址以每 16 比特为一组,每组用冒号(“:”)隔开进行标记。
    而且如果出现连续的 0 时还可以将这些 0 省略,并用两个冒号(“::”)隔开。但是,一个 IP 地址中只允许出现一次两个连续的冒号。
    4.3 IPv6 地址的结构
    IPv6 类似 IPv4,也是通过 IP 地址的前几位标识 IP 地址的种类。
    在互联网通信中,使用一种全局的单播地址。它是互联网中唯一的一个地址,不需要正式分配 IP 地址。
    未定义 0000 … 0000(128 比特)::/ 128 环回地址 0000 … 0001(128 比特)::1 / 128 唯一本地地址 1111 110FC00:/ 7 链路本地单播地址 1111 1110 10FE80::/ 10 多播地址 1111 1111FF00::/ 8 全局单播地址(其他)

4.4 全局单播地址
全局单播地址是指世界上唯一的一个地址。它是互联网通信以及各个域内部通信中最为常用的一个 IPv6 地址。
格式如下图所示,现在 IPv6 的网络中所使用的格式为,n = 48,m = 16 以及 128 - n - m = 64。即前 64 比特为网络标识,后 64 比特为主机标识。

4.5 链路本地单播地址
链路本地单播地址是指在同一个数据链路内唯一的地址。它用于不经过路由器,在同一个链路中的通信。通常接口 ID 保存 64 比特版的 MAC 地址。

4.6 唯一本地地址
唯一本地地址是不进行互联网通信时所用的地址。
唯一本地地址虽然不会与互联网连接,但是也会尽可能地随机生成一个唯一的全局 ID。
L 通常被置为 1
全局 ID 的值随机决定
子网 ID 是指该域子网地址
接口 ID 即为接口的 ID

4.7 IPv6 分段处理
IPv6 的分片处理只在作为起点的发送端主机上进行,路由器不参与分片。
IPv6 中最小 MTU 为 1280 字节,因此,在嵌入式系统中对于那些有一定系统资源限制的设备来说,不需要进行“路径 MTU 发现”,而是在发送 IP 包时直接以 1280 字节为单位分片送出。
4.8 IP 首部(暂略)
※IP 协议相关技术
IP 旨在让最终目标主机收到数据包,但是在这一过程中仅仅有 IP 是无法实现通信的。必须还有能够解析主机名称和 MAC 地址的功能,以及数据包在发送过程中异常情况处理的功能。
5.1 DNS
我们平常在访问某个网站时不适用 IP 地址,而是用一串由罗马字和点号组成的字符串。而一般用户在使用 TCP/IP 进行通信时也不使用 IP 地址。能够这样做是因为有了 DNS (Domain Name System)功能的支持。DNS 可以将那串字符串自动转换为具体的 IP 地址。
这种 DNS 不仅适用于 IPv4,还适用于 IPv6。
5.2 ARP
只要确定了 IP 地址,就可以向这个目标地址发送 IP 数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个 IP 地址所对应的 MAC 地址。
ARP 是一种解决地址问题的协议。以目标 IP 地址为线索,用来定位下一个应该接收数据分包的网络设备对应的 MAC 地址。不过 ARP 只适用于 IPv4,不能用于 IPv6。IPv6 中可以用 ICMPv6 替代 ARP 发送邻居探索消息。
RARP 是将 ARP 反过来,从 MAC 地址定位 IP 地址的一种协议。
5.3 ICMP
ICMP 的主要功能包括,确认 IP 包是否成功送达目标地址,通知在发送过程当中 IP 包被废弃的具体原因,改善网络设置等。
IPv4 中 ICMP 仅作为一个辅助作用支持 IPv4。也就是说,在 IPv4 时期,即使没有 ICMP,仍然可以实现 IP 通信。然而,在 IPv6 中,ICMP 的作用被扩大,如果没有 ICMPv6,IPv6 就无法进行正常通信。
5.4 DHCP
如果逐一为每一台主机设置 IP 地址会是非常繁琐的事情。特别是在移动使用笔记本电脑、只能终端以及平板电脑等设备时,每移动到一个新的地方,都要重新设置 IP 地址。
于是,为了实现自动设置 IP 地址、统一管理 IP 地址分配,就产生了 DHCP(Dynamic Host Configuration Protocol)协议。有了 DHCP,计算机只要连接到网络,就可以进行 TCP/IP 通信。也就是说,DHCP 让即插即用变得可能。
DHCP 不仅在 IPv4 中,在 IPv6 中也可以使用。
5.5 NAT
NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。
除转换 IP 地址外,还出现了可以转换 TCP、UDP 端口号的 NAPT(Network Address Ports Translator)技术,由此可以实现用一个全局 IP 地址与多个主机的通信。
NAT(NAPT)实际上是为正在面临地址枯竭的 IPv4 而开发的技术。不过,在 IPv6 中为了提高网络安全也在使用 NAT,在 IPv4 和 IPv6 之间的相互通信当中常常使用 NAT-PT。
5.6 IP 隧道

如上图的网络环境中,网络 A 与网络 B 之间无法直接进行通信,为了让它们之间正常通信,这时必须得采用 IP 隧道的功能。
IP 隧道可以将那些从网络 A 发过来的 IPv6 的包统合为一个数据,再为之追加一个 IPv4 的首部以后转发给网络 C。
一般情况下,紧接着 IP 首部的是 TCP 或 UDP 的首部。然而,现在的应用当中“ IP 首部的后面还是 IP 首部”或者“ IP 首部的后面是 IPv6 的首部”等情况与日俱增。这种在网络层的首部后面追加网络层首部的通信方法就叫做“ IP 隧道”。

六.应用层

1.应用层的作用
通过位于不同主机中的多个应用进程之间的通信和协同工作来完成,应用层的内容就是具体定义通信规则 2.应用层中常见的协议
域名系统 DNS
域名结构:每一个域名用标号隔开。 mail.cctv.com (三级域名.二级域名.顶级域名)
域名服务器:迭代 递归
文件传输协议 FTP
使用 TCP 连接,传输数据
端口号是 21(20) 20 发送数据
远程终端协议 TELNET
使用 TCP 连接,远程登录到远地的另外一台主机上
端口号是 23
万维网和 HTTP 协议
超文本传输协议,是一个简单的请求-响应协议
端口号是 80
电子邮件协议
SMTP 电子邮件传输协议:端口号 25
POP3 邮局协议版本 3:端口号 110
DHCP 动态主机配置协议
指的是由服务器控制一段 IP 地址范围,客户机登录服务器时就可以自动获得服务器分配的 IP 地址和子网掩码。
端口号 68

七.网络安全

1.网络安全概论
1.1 网络安全
网络安全(Cyber Security)是指网络系统的硬件,软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏,更改,泄露。系统连续可靠正常的运行,网络服务不中断。
1.2 计算机网络面临的威胁主要分为两类
1.2.1 主动攻击
主动的去做一些在网络基础上的恶意行为。恶意串改信息数据,发布恶意程序脚本等
篡改
恶意程序
拒绝服务
1.2.2 被动攻击
被动攻击主要是收集信息而不是进行访问,不改变数据本身的结构,也不对软硬件数据造成影响
截取
窃听
流量分析
1.2 网络系统特性
保密性:信息不泄露给非授权用户,实体或过程,或供其利用的特性
完整性:数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改,不被破坏和丢失的特性
可用性:可被授权实体访问并按需求使用的特性。即当需要时能否存取所需信息。例如网络环境下拒绝服务,破坏网络和有关系统的正常运行等后属于对可用性的攻击
可靠性:对信息的传播及内容具有控制能力
不可抵赖性:出现安全问题时提供依据与手段 2.加密和交互
2.1 加密和解密
2.1.1 加密
是以某种特殊的算法改变原有的信息数据,使得未授权的用户即即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容
加密手段
MD5 加密(信息-摘要算法):128 位
AES 加密(称秘钥加密):128,192,256 位
SHAI 加密(安全哈希算法):160 位
RSA 加密:公钥加密,私钥解密:1204 位
2.1.2 解密
加密的逆过程就是解密
2.2 公钥和私钥
2.2.1 对称加密
采用单钥密码系统的加密方式,同一个秘钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单秘钥加密。
2.2.2 非对称加密
使用非对称的加密方式时,会产生两把钥匙。发送方利用自己的公钥加密,接收方利用自己的私钥解密
数字签名的四大特点
防止重放攻击:攻击者利用网络监听或则其他方式盗取认证凭据,之后再把它重新发给认证服务器。在数字签名中,如果采用了对签名报文加盖时间戳等或添加流水号等技术,就可以有效防止重放攻击
防止数据伪造:其他人不能伪造对消息的签名,因为私有秘钥只能签名者自己知道,所有其他人不可以构造出正确的签名结果数据
防止数据篡改:数字签名与原始文件或摘要一起发送给接受者,一旦信息被篡改,接受者可以通过计算摘要和验证签名来判断该文件无效,从而保证了文件的完整性
防止数据抵赖:数字签名既可以作为身份认证的依据,也可以作为签名者签名操作的证据。要防止接受者抵赖,可以在数字签名系统中要求接收者返回一个自己的签名的表示收到报文,给发送者或者信任第三方。如果接受者不返回任何信息,此次通信可终止或重新的开始,签名方也没有任何的损失,由此双方均不可抵赖。
2.3 防火墙
防火墙是一种访问控制技术,可以严格控制进出网络边界的分组,禁止任何不必要的通信,来减少潜在入侵的发生

防火墙的区域们
Local 本地区域
顶级安全区域,安全优先级为 100
local 就是防火墙本身的区域比如 ping 指令等网际控制协议的回复,需要 local 域的权限凡是由防火墙主动发出的报文均可认为是从 local 区域中发出是需要防火墙响应并处理(而不是转发)的报文均可认为是 Local 区域接收
Trust 受信区
高级安全区域,安全优先级为 85
通常用来定义内部用户所在的网络,也可以理解为应该是防护最严密的地区
DMZ 非军事化区
中级安全区域,安全优先级 50
通常用来定义内部服务器坐在网络
作用是把 WEB。E-mail 等允许外部访问的服务器单独接在该区域端口,使整个需要访问,实现内外网分离,达到用户需求。DMZ 可以理解为一个不同于外网或内网的特殊网络区域,DMZ 内通常放置一些不含机密信息的公用服务器,比如 Web,Mail,FTP 中的服务。这样来自外网的访问者可以访问 DMZ 中服务,但不可能接触到存放在内网中的公司机密或私人信息等,及时 DMZ 中服务器受到破坏,也不会对内网中的机密信造成影响
Untrust 非受信区
低级安全区域,安全优先级为 5
通常用来定义 Internet 等不安全的网络,用于网络入口线的接入。