今天给大家分享一些网络方面的知识,,这块的知识很重要哦,都是涉及网络最底层的链路和协议,是我们学习大型服务的基础,和前提.希望大家努力理解这方面的内容,今天的内容大概有这几方面:
1.计算机网络概念
2.计算机网络体系结构
3.物理层
4.数据链路层
5.网络层
6.IP地址及子网
7.传输层
8.应用层
计算机网络概念
计算机网络是个发展中的概念和技术,具体定义至今没有统一.
广义的观点: 实质上定义了计算机网络中的通讯网络,主要应用于在主机-终端系统中. 用户透明的观点: 实质定义了分布式计算机系统,分布式系统和计算机网络系统是两个不同的概念,但二者有亲密的联系. 资源共享的观点: 实质上是从计算机网络的基本功能来定义计算机网络,比较符合当前人们对计算机网络本质的认知.
什么是计算机网络:
是指使用一定的通信线路(有限或无线),把离地位置上相对分散的,具有独立自治能力的计算机或网络设备等连接起来,在一定通信协议的约束与控制下,实现数据交换的通信系统.
计算机网络发展历程:
萌芽:主机-终端模式(1950) 单机联机系统为主 雏形:计算机-计算机网络模式(1960-1970) 广域网技术为主,形成分组交换技术,以ARPANET网络为代表 发展:标准化体系结构计算机网络模式(1970-1980) 发展各种广域网和局域网技术,形成多种网络体系结构.推出TCP/IP协议,以太网技术. 成熟:高速综合网络和网络互连模式(1990-今) 以Internet的发展与推广应用为主,大力发展高速网络技术,网络安全技术更为重要
计算机网络系统组成:
硬件: 计算机和终端 网络设备 传输介质(有形,无形) 软件: 计算机软件(网络操作系统) 网络设备软件(通信软件) 计算机和网络设备中的网络通信协议 核心:有大量网络和连接他们的路由器组成 边缘:有所有连接在因特网上的主机组成
计算机网络的主要功能:
基础功能: 数据通信 资源共享 数据处理 其他功能: 提高计算机的高可用性,解决单点故障 负载均衡,协同处理(web) 分布式计算(云计算,大数据)
计算机网络的主要应用
现代化通信 自动化办公 企业信息化 信息检索 电子商务和电子政务 远程教育 娱乐消遣 军事指挥
计算机网络的分类
按不同的作用范围划分 局域网:LAN (Local Area Network) 企业,小区域 城域网:MAN (Metropolian Area Network) 城市 广域网:WAN (wide Area Network) 国家 个人区域网:PAN (personal Area Network) 个人范围 局域,城域,广域之间的关系:树层结构,广域最高 从网络的使用者进行分类 公有网:(public Network) 公共使用 专有网:(private Network) 专线 VPN:虚拟专有网(Virtual private network) 安全协议:pp2p,12tp,ipsec.pppoe
网络拓扑结构:
1.总线拓扑 网络中所有节点都连接在一条开放的通信线路上.两端有信号控制器.线路提供端口,方便节点扩展 特点: 广播传输 介质争用 网络结构简单 扩展容易 传输速率低 故障诊断困难
2.星形拓扑结构 网络中所有节点通过各自的通行线路连接到同一个中心节点(集线器)设备上. 特点: 广播传输 节点扩展,移动方便 网络传输数据快 维护容易 中心节点工作负重 广播传输影响网络性能
3.环形拓扑结构 网络上所有节点都链接在一条收尾相接的封闭的通信线路上. 令牌环网: 每一次发起数据请求时,都要从令牌机制中获取当前链路的使用权,同一时间只能有一个人使用,完成数据传输后,令牌回收.等待下个主机的使用.解决链路争用的情况 特点: 数据传输方向自主定义 网络路径选择和网络组建简单(同轴电缆) 投资成本低 传输速度慢 效率低 扩展性差 维护困难
4.树形拓扑结构 类似总线拓扑的局域网拓扑.属性网络可以包含分支,每个分支又可以包含多个节点.在树形拓扑中,从一个站点发出的传输信息传 播到物质介质的全长,并被所有其他站点接收.
5.网状拓扑结构 网状拓扑结构主要指各节点通过传输线相互连接起来,并且每一个节点至少与其他两个节点相连
6.混合型拓扑结构 根据企业为环境的需求,组合多种拓扑结构,完成不同功能,实现网络划分分配
7.无线局域拓扑结构 不需要线缆,无线连接
常见的网络物理组件:
路由 交换 网卡(有线,无线)
网络用户应用程序:
Web 浏览器( Chrome、 IE、 Firefox 等) 即时消息( QQ、微信、钉钉等) 电子邮件( Outlook、 foxmail 等) 协作(视频会议、 VNC、 Netmeeting、 WebEx 等) web网络服务( apache,nginx) 文件网络服务( ftp,nfs,samba) 数据库服务(MySQL,MariaDB, MongoDB) 中间件服务( Tomcat, JBoss) 安全服务(Netfilter)
用户应用程序对网络的影响:
批处理应用程序 FTP、 TFTP、库存更新 无需直接人工交互 带宽很重要,但并非关键性因素 交互式应用程序 库存查询、数据库更新。 人机交互。 因为用户需等待响应,所以响应时间很重要,但并非关键性因素,除非要等待很长时间。 实时应用程序 VoIP、视频 人与人的交互 端到端的延时至关重要
网络的特征
速度 成本 安全性 可用性 可扩展性 可靠性 拓扑
计算机网络体系结构
网络分层
OSI模型
开放系统互联基本参考模型 OSIRM 简称OSI 开放:非独家垄断 模型:抽象概念 ISO标准:所谓的七层协议的体系结构
TCP/IP协议
传输控制协议/因特网互联协议 TCP/IP协议体系结构是专门针对使用TCP/IP协议簇的广域计算网络而开发的,是OSI/RM的改进版本 非国际标准,但是事实上国际标准 TCP/IP是一个Protocol Stack,包括TCP、 IP、 UDP、 ICMP、 RIP、 TELNET、FTP、 SMTP、 ARP等许多协议 最早发源于美国国防部(缩写为DoD)的因特网的前身ARPA网项目, 1983年1月1日, TCP/IP取代了旧的网络控制协议NCP,成为今天的互联网和局域网的基石和标准。由互联网工程任务组负责维护。 共定义了四层 和ISO参考模型的分层有对应关系 应用层,传输层,Internet层,网络访问层
TCP/IP 5层模型是广泛建议的参考模型 应用层:(application layer) 直接为用户的应用进程提供服务 运输层:(transport layer) 负责向两个主机中进程之间的通信提供服务 网络层:(Network layer) 负载为分组交换网多行的不同主机提供通信服务(不同网段,不同网络,不同局域网) 数据链路层(data link layer) 将院子网络层来的数据可靠的传输至相邻节点的目标机网络层 物理层(physical layer) 为数据端设备提供传送数据通路,传输数据
OSI/RM 与TCP/IP协议体系结构的对比
相同之处 层次结构划分思想相同 总体层次结构相似 核心组成一样 不同之处 使用范围不同:参考 实际使用 层次结构不同;7层 4层 支持的网络通信模式不同: 所包括的通信协议不同
网络体系结构的数据通信原理
发送端是把通信连接建立指令和用户应用数据从上层向下层传输的,直到最低的物理层;而接受端是从通信连接建立指令和用户应用数据从下层(最底层的物理层开始)向上层传输, 直到与发送端发起通信的对等层.
网络体系结构的对等会话原理
在网络体系结构中网络通信的建立必须是在通信双方的对等层进行,不能交错.发送端数据要自上而下逐层(物理层除外)封装对应层的协议层的协议头(或尾), 接收端数据有将自下而上逐层解封装上层的协议头(或尾)
协议头和协议尾的封装过程
在整个数据传输过程中,数据在发送端时经过各层时都要附加上相应层的协议头和协议尾(仅数据链路从需要封装协议尾)部分,也就是要对数据进行协议封装, 以标识对应层所用的通信协议.封装完毕,形成一个完整的数据报文,最后转化为比特流,通过传输到接收端,接收端接受数据后,逐步摘除相应层的协议头部和尾部(仅数据链路从需要封装协议尾)部分,最后剩余应用程序数据,提交给进程进行处理
各层上传输的数据格式:
对等层之间传送的数据单位称之为PDU(协议数据单元) 物理层:以最原始的比特流(其实就是01代码)格式传输,其PDU为比特 数据链路层:传输的单位是帧,一个帧包括多个比特,但一个帧的大小必须是一个整数字节.不同协议的帧大小也不一样. 网络层:传输单位是分组(包),一个分组可以包含多个帧,分组的大小也要根据不同协议而定. 传输层:在TCP/IP协议体系当中,TCP是以数据段为单位进行传输,UDP是以数据包为单位进行传输. 会话层,表示层,应用层,以具体的数据报文为单位进行传输
网络体系中的通信协议
网络通信协议是网络通信的基础,是实现网络通信功能,是约束通信双方在利用某协议进行通信时必须遵从的通信规则和约定的"软件系统". 网络通信协议即可以是有一些国际标准组织(ISO,TEEE,TEC之类的)分布的通用标准类协议,也可以是一些企业自己开发并在自己的产品使用的私有协议.如: TCP/IP 其他艾斯克,惠普等私有协议 三要素: 语义:可以理解为语意,是用来解决"做什么"的问题,也就是描述该通信协议具体用来完成什么功能 语法:是用来规定通信时的信息格式,包括数据及控制信息的格式,编码及信号电平等,是用来解决"如何做的问题" 同步:是用来解决 "做的次序"问题,也就是通信双方要完成某项网络服务,必须依据什么样的流程,匹配什么样的速率,使用什么样的信号来进行.
物理层:
作用: 构建数据通路 透明传输(对用户而言,不需要知道传输的介质是什么) 传输数据 数据编码(比特流怎么转换对光链路和无线的支持) 数据传输管理(不同介质不同速率,怎么管理) 特性: 物理层的主要任务为确定与传输媒体的接口的一些特性,如: 机械特性: 指明接口所用接线器的形状和尺寸,引线数目和排列(线序,568A,568B),固定和锁定装置 电气特性 指明在接口电缆的各条线上出现的电压的范围 功能特性: 指明某线上出现的某一电平的电压表示何种意义 过程特性: 指明对于不同功能的各种可能事件的出现顺序
通信子网和资源子网
从计算机网络歌组成部件的功能来看,各部件主要完成两种功能,及网络通信和资源共享. 把计算机网络中实现网络通信功能的设备及其软件的集合称为网络的通信子网 把计算机网络中实现资源共享功能的设备及其软件的集合称为网络的资源子网 通信子网的组成: 是网络中实现网络通信功能的设备及其软件的集合,通信设备,网络通信协议,通信控制软件,是网络的内层,负责信息的传输.主要为用户提供数据的传输,转接,加工,变换等 中继器 集线器 交换机 路由器 通讯线缆 各种网关硬件设备 资源子网的组成 资源子网主要由网络的服务器,工作站,共享的打印机和其他设备及相关软件组成.资源子网是主题为网络资源设备,包括: 用户计算机 网络存储系统 网络打印机 独立运行的网路数据设备 网络终端 服务器 网络上运行的各种软件资源 数据资源等等
数据通信的基本概念:
信息: 计算机网络中进行交换的一切原始内容的统称 数据: 数据时信息的具体表现形式,是许多信息通过某种方式组成的结合体 信号: 数据在传输过程中电信号或光信号的表现形式 信道: 通信双方物理链路上通过物理层协议建立的数据传输通道
数据传输类型:
基带:指直接通过信号源,没有经过任何处理的信号 频带:通过调制器调制,频率被改变的信号 基带信号 频带信号 宽带;信号的最高值到最低值之间的范围的宽度,家里面的带宽是理想值 基带传输: 在信号中直接传输者中不会经过调制的基带信号的方式成为基带传输 频点传输 在信号中直接传输者中经过调制后的频带信号的方式称为"频带传输"
数据传输方式:
串行传输: 数据流以串行方式一位一位的在一条信道上传输 例: 计算机的串行接口,USB接口,磁盘接口
并行传输
数据已一组或者整个字符的方式在多条并行信道上同时传输
数据传输模式
同步传输: 同步传输是一种以数据块为传输单位(通常是以"帧"为单位),以系那个痛的时钟参考所进行的数据传输模式,因此又被称为"区块传输".在同步传输中的数据块的开始和结尾部分都一个用于数据帧同步的特殊字符.特定的字节或热定的帧. 异步传输: 异步传输是以字符尾单位进行数据库传输的,在发送每一个传输代码的前面均加上一个"起始位"信号,以标记一个字符的开始;在一个字符代码的最后也加上一个"停止位"信号,已标记一个字符的结束.
数据的通信方式
单工: 只能有一个方向的通信而没有反方向的交互 半双工: 通信双方都可以发送信息,但不能双方同时发送(也不能同时接受) 全双工:通信双方可以同时发送和接受信息
数据传输速率与信道带宽
比特率 又称信息传输速率,指单位时间内传输的二进制代码的有效位(bit)数,(注意,这里是小写的b) 常用单位有:bit/s(每秒的比特数) kit/s Mbit/s 传输带宽 带宽是指信道中每秒传输的最大信息量,也就是信道的最大数据传输速率,单位也是"位/秒(b/s或dps)" 带宽是一种利息那个状态(不受任何干扰,没有任何衰减)下的信道传输速率. 实际中其数据传输速率永远小于带宽值.
信道多路复用技术
频分费用: 按照信道频带宽度进行的信道复用的方式,就是把一条高带宽的信道按照一定的频带宽度划分成若干个第带宽的子频带(子信道) 时分复用: 是把整个数据通信过程划分成一个个小的时间段(时间片),在这些时间片中又划分成多个更小的时间间隙(时隙),每个时隙可以用于一用户信号的传输,这样就可以使得每一个时间片中一般总会有一个或多个时隙中有信号在里面传输,可以提高信道的利用率 波分复用: 是光信号中的"频分复用"技术,故又称"光波分复用",是在单条光纤上同时发送多束不同波长激光的技术.等同于频分复用技术,因为不同波长的光束,其工作频率不同
数据链路层
数据链路层位于TCP/IP5层模型的第二层,根据数据对等层通话原理,链路层跟对方网络的链路层进行交流.
划分数据链路层的必要性
物理层传输介质的多样性,通信规程也各不相同,性能也不稳定,而数据链路层中构建的逻辑链路不考虑不同物理链路上传输介质及其通信规程上的区别. 物理层中数据是一位位的单独传输,传输效率低下,较容易出现差错.
数据链路层结构
在OSI/RM和TCP/IP体系结构中,"数据链路层"就是一层,而在局域网体系结构中是可细划分为两个子层的,那就是逻辑链路控制子层(Logical Link Control,LLC)和介质访问控制子层(Medium Access Control ,MAC)
MAC子层:(介质访问控制) 最基本的功能就是如何控制不同用户数据传输中对物理层传输介质的访问,其中包括:介质访问时的寻址和介质访问冲突的解决. 具体而言,数据链路层中与各种传输介质访问有关的问题都放在"MAC子层"来解决.主要功能包括:数据帧的封装与卸载,帧的寻址和识别,帧的接受与发送,帧的差错控制,介质访问冲突控制等等. 职责: 如何在局域网内寻址 如何解决多路通信中介质争用的现象 主要功能: MAC帧的封装与拆卸,实现和维护各种MAC子层协议,比特流差错检测,MAC寻址等 LLC子层(逻辑链路控制) 最基本的功能就是负责数据链路层中"逻辑链路"的控制,其中包括:逻辑链路的建立和释放,空盒子信号交换,数据流量控制,解释上层通信协议传来的命令并且产生响应,以及克服数据在传送的过程中多可能发生的种种问题
数据链路层主要功能及实现原理
功能: 总体而言,数据链路层(其实,这里主要是针对"LLC子层")的 主要功能就四个方面 数据链路管理 封装成帧 透明传输 差错控制 管理: 数据连接层提供的服务类型 数据链路服务分位以下三类:有确认的面向连接服务,有确认的无连接服务,无确认的无连接服务.前者称之为"面向连接服务(Connection-oriented Servce)",后面两者称之为"无连接服务(Connetionless Service)". 数据链接管理 LLC子层的链路管理功能主要包括三个主要阶段:链路建立,链路保持,链路释放.
数据帧封装和透明传输
数据包的帧封装原理 网络层传输的包,在"数据链路层"中传输的是"帧".数据包到达"数据链路层"后面加上数据链路层的协议有和协议尾就构成了一个数据帧.在每个帧的前部加上一个"帧头部",在帧的结尾处加上一个"帧尾部",把"网络层"的数据包作为帧的数据部分,就构成一个完整帧.帧头和帧尾及时作为帧的起始和结束标志,也就是帧边界. 差错控制 数据在传输中可能出现两方面问题: 有帧出现了错误 有帧丢失 差错控制功能: 差错检测 奇偶校验 循环冗余校验 差错纠正 反馈检测 计时器超时 自动重发请求
数据链路成主要网络设备
常见的数据链路层的设备有网卡,网桥,和二层交换机 网卡: 安装在计算机,用于连接计算机网络,是计算机网络中最基础的网络设备 分类:有线以太网卡,WLAN无线网卡 网桥: 是早期的两端口二层网络设备,用来连接不同网段的计算机网络设备,同事他有可隔离冲突域,因为他的两个端口不是共享同一条背板总线. 交换式以太网的优势 • 扩展了网络带宽 • 分割了网络冲突域,使网络冲突被限制在最小的范围内 • 交换机作为更加智能的交换设备,能够提供更多用户所要求的 功能:优先级、虚拟网、远程检测 工作机制: 以太网桥监听数据帧中源MAC地址,学习MAC,建立MAC表 对于未知MAC地址,网桥将转发到除接收该帧的端口之外的所有端口 当网桥接到一个数据帧时,如果该帧的目的位于接收端口所在网段上,它就过滤掉该数据帧;如果目的MAC地址在位于另外一个端口,网桥就将该帧转发到该端口 当网桥接到广播帧时候,它立即转发到除接收端口之外的所有其他端口 交换机 特性: 具有多个交换端口 数据转发效率更高 更强的MAC地址自动学习功能 交换机与集线器的区别 在OSI中的工作层次不同(交换机在数据链路层,集线器在物理层) 数据传输方式不同 背板信道占用方式不同 数据通信方式不同 原理: 在二层交换机中也有用于数据帧转发的MAC地址与端口的映射表(也就是前面所说的CAM表),列出了哪个MAC地址链接的是哪个端口.仅在映射表中没有数据帧中对应的目的MAC地址才进行"泛洪". CAM表的建立 静态配置 动态学习
分类: 根据网络类型划分: 标准一台网交换机(10MB/s) 快速以太网交换机(100Mb/s) 千兆以太网交换机(1000Mb/s) 10千兆以太网交换机(10000MB/s) 根据交换机结构划分 固定端口 模块化 根据是否支持网管功能划分 网管型 非网管型
介质争用:
理解"冲突域" 冲突域就是可能发生介质访问冲突的节点范围.在Hub中连接的所有用户都是共享一个背板信道进行访问的,多个用户访问时就可能发生冲突,所有我们说一个集线器就是一个冲突域.交换机(Switch)的背板与端口的连接方式与Hub的不一样,在背板中有一个交互矩阵,通过这个交换矩阵就可以实现任何两个端口件的通信都有一条转悠的通道,不同节点间的通信不存在介质争用现象. 介质争用的解决方法 不同网络,所采取的共享介质争用的方法也不一样. 在IBM令牌环网络和令牌总线网络中采取了"令牌"控制原理来解决介质争用的问题.还可以通过信道复用方式来解决介质争用的问题. 在我们常用的以太局域网个WLAN无线局域网的介质争用解决方法主要有:CSMA,CSMA/CD和CSMA/CA协议
以太网MAC帧
MAC帧也被通常认为是数据链路帧,实在MAC子层实体间交换的协议数据单元(PDU).可以把所有以太网MAC帧的格式统一表示为下图所示
生成树协议:
IEEE 802.1d也就是我们通常所说的STP(Spanning Tree Protocol,生成树协议).其设计目的就是要是交换网络中没有二层环路. 理解"网络环路" 这里说的环路是指"网络环路".他又分为"二层环路"和"三层环路"两种.二层环路是指在二层交换网络中,网络广播信息在网络中形成一个封闭的环路.如图所示,SW1和SW2这两个交换机之间有两条链路连接. ![](http://i.imgur.com/mCYBxHn.png) STP是一个确保整个交换网络无环路拓扑结构的OSI二层协议 它允许在网络设计中包括冗余链路,已提供在主链路失效时自动接替其工作的备份链路,同时又不会生成二层环路,必须避免二层环路,否则可能导致数据包在网络中循环传输. STP是将两点之间存在的多条路径划分为"通信链路"和"备份链路".并规定,数据的转发只在"通信链路上"进行,而"备份链路"只用于链路的帧听,只有在发现"通讯链路径"失效时,才自动地将通信切换到"备份链路"上 STP的不足和增强技术 二层数据网的收敛时间过长 网络拓扑容易引起全局波动 缺乏对现有多VLAN环境的支持
VLAN
VLAN(Virtual Local Area Network,虚拟局域网) 划分VLAN的目的 VLAN的主要用途就是把一个大的交换网络划分成多个小的交换网络. 缩小(分隔)广播域,减小二层网络中广播流量对整个交换网络的影响. 理解VLAn的形成和工作原理 同一物理交换机中的VLAN 同一个交换机中的各个VLAN可以理解为一个个的虚拟交换机,如下图所示的
不同物理交换机中的VLAN 一个VLAN可跨越多台物理交换机,即VLAN的中继功能
VLAN间的互访 VLAN是二层协议,VLAN的虚拟,决定VLAN之间没有物理二层(只有逻辑连接),各自彼此独立,相当于一个个独立的二层交换网络一样. 每个VLAN成员与其他VLAN中的成员进行通信都必须通过双方作为各自VLAN成员网关的三层SVI接口进行互访.
网络层
功能: 网络层关注的是如何将分组从源端沿着网络路径传送到目标端 为了实现这个目标,网络层必须知道通信子网的拓扑结构,并且在拓扑结构中选择合适的路径.同事网络层还必须谨慎地选择路由路径,以避免发生某些通信线路和路由器负载过重,而其他线路和路由器空闲的情形. 划分网络的必要性 网络层是从功能上定义的一个逻辑层次,最典型的设备是路由器(Router,三层交换器) 网络层是端到端(网络与网络之间)网络通信的最底层,在数据从数据链路层传输层进行数据传输的通信中,起到构建一个中间通信子网(桥梁)的作用.它负责与它上面的资源子网联系,是OSI/RM七层参考模型中面向网络通信的低三层中最复杂,最关键的一层. 流程: 在网络层中传输的是数据包(分组),如下图所示,一个数据包就是一个个数据帧经过网络层协议解封装后得到的,每个包的包头都有源节点的IP地址,网络间的寻址就是通过IP地址进行的.
作用: 屏蔽网络差异,透明传输 为网络间通信提供路由选择 数据包封装和解封装 拥塞控制 网络层数据交换及相关技术 线路交换(电路交换) 是最原始的数据交换方式,实在网络中利用科切换的物理通信线路直接连接通信双方所进行的一种数据交换方式 是面向连接的服务,两台计算机通过通信子网进行数据交换之前,首先要在通信子网中建立一个世纪的物理线路进行连接.其主要特点是在进行数据交换前线需在一对用户之间建立起一条专有的线路. 存储-转发 是网络结点运用程序先将途径的数据流按传输单元接受并存储下来,一个数据单元接收完后根据相关的路由算法选择一条合适的路由路径将数据转发出去,在逻辑上为数据流提供了传输通路. 报文交换: 是指信息以"报文"为单位 分组交换: 数据报服务 虚电路服务 ARP 是将IP地址解析为以太网MAC地址(物理地址)协议 基于广播机制 ip地址转换成MAC地址 安全隐患: 没有确认机制,学习到网关就记录 记录到缓存,命令ARP或ip neigh查询arp表,有时间期限,一定时间清除,再次使用再次广播 同网络arp寻找:目标mac为0,发广播,寻找 跨网段arp寻找 源ip,目标ip不变,源mac和目标mac随物理链路变化而变化 ARP是一个独立的三层协议 ARP报文在向数据链路层传输时是不需要经过IP协议的封装,而是直接生成自己的报文. ARP映射表 IP地址与MAC地址的对应关系
ICMP(Internet Copntral Message Protocol) INternet控制报文协议 IP协议簇中的一个子协议 用于在ip主机,路由器之间的传递控制消息 控制消息是指网路通不通,主机是否达,路由是否可用等网络本身的消息 用于视频会议 常用的ICMP报文 相应请求 ping操作 相应请求(类型字段为8),应答(类型字段为0) 目标不可到达,源抑制和超时报文 时间戳请求 centos禁ping命令 [root@wen-7 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0 此文件可以修改是否 禁ping 0为否 1为是 [root@wen-7 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 此文件可以修改是否接受广播,1为否,0为是 ping -b 加网关 发广播包 路由 把信息从源节点通过网络传递到目的节点的行为 三层设备从一个接口上大吼道数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程 路由分类: 静态路由(主机路由) 动态路由 网络路由 默认路由 三层交换机 三层交换机就是既可以实现二层交换机那样的款速数据转发功能,又能实现路由器的IP路由功能的设备 三层交换机不等于二层交换机+路由器(数据转发和路由原理不同) 分纯软件路由模块和纯硬件路由模块
三层交换机和路由器的主要区别 三层功能实现机制不同 适用环境不同(三层在局域网,路由在广域网) 多协议支持能力不同 路由能力不同 网络层协议及报文格式 在tcp/IP体系结构的忘记互联层,最重要的协议就是IP协议簇 目前主流的IPV4协议簇中包括了三个协议: IP(Ibternet Protocol,因特网协议) ARP(Address Resolution Protocol,地址解析协议) ICMP(Internet Control Message Protocol,因特网空盒子消息协议) IPV6协议粗中包括了四个协议: IPv6, ICMPv6 ND协议(Neighbor Discovery,邻居发现) MLD(Multicast Listener Discover,组播侦听器发现)协议
IP协议基本功能 ip协议的主要功能就是把数据包在互联的网络上传送,通过将数据报在一个个IP模块间传送直到目的模块来达到目的.具体来说,IP协议主要有一下几个方面: 寻址 数据报的封装 分段与重组 IPV4的不足 IPV4地址空间面临枯竭 骨干路由器维护的路由表表项数量过大 地址结构不合理 配置复杂 服务质量差 不支持端到端安全 IPV4数据包头格式 一个IP数据报也包括"报头"和数据这两个组成部分.其中数据部分就是来自传输层的完整数据段,而"报头"部分是为了正确传输数据报而增加的网络层IPV4协议信息,主要是源和目的网络的IP地址.
IPv4数据报头部格式
IPV4整个报文
版本:占4位,至IP协议版本,目前的IP协议版本号为4(V4),6(V6) 首部长度:占4位,可表示的最大数值是15个单位,注意,这个字段所表示的数的单位是32位字(一个32位字长是4字节),因此IP的首部长度是最大值是60字节 区分服务:占8位,用来获得刚好的服务,一直未使用 总长度:占16位,至首部和数据之和的长度,单位是字节,因此数据报的最大字节是65535字节.总长度必须不超过最大传送单元MTU. 标识:占16字节,是一个计数器,用来产生数据报的标识 标志:占3位,目前只有前两位有意义.标志字段的最低位是MF,MF=1表示后面还有分片.MF=0表示最后一个分片.标志字段中间的一位是DF,只有当DF=0时才允许分片. 片偏移:占13位,较长的分组在分片后,谋篇在语言分组中的相对位置.骗偏移以8个字节为偏移单位. IP数据报分片
生存时间:占8位,记为TTL,数据报在网络中可通过的路由器数的最大值. 协议:占8位,指出此数据抱携带的数据使用何种协议,以便目的主机的IP层将数据部分深交给哪个处理过程 首部检验和:占16位,字段只检验数据包的首部,不检验数据部分 源地址:各占4字节 目的地址:各占4字节 可变部分:增加ip数据报的首部的功能.必须是4字节的整数倍 填充:保障可变长部分的字节数到40字节 IP协议 系统识别的IP地址是2进制,可直接ping ip转化后的2进制数 IP地址 可唯一标识IP(32bit)网络中的每台设备 每台主机(计算机,网络设备,外围设备)必须具有唯一的地址 为什么不只用mac,而多加Ip地址标识? mac地址只能分辨设备厂商,和设备标识 IP地址有两部分组成,网卡根据ip地址可分辨设备的所在网络,方便管理 bc(计算器)进制转换 ibase=2 输入进制数 obase=8 输出进制数 obase2 let i=2#110 #号前写进制数 echo $i IP地址与子网划分 IP地址的基本格式 ipv4使用32位(4字节)地址,因此整个地址空间中有4294967296(2^32)个地址,也就是近43亿个地址 IPV4地址在计算机内部是以二进制形式表示,每个地址都有32位由数字0和1组成. w.x.y.z 子网掩码: 子网掩码的作用就是获取主机IPV4地址中的网络地址信息 用于区别主机通信不同情况,选择不同路由 子网掩码与IP地址一样,也是有32位二进制组成的.他被分成"网络ID"和"主机ID"两部分,网络ID部分全是"1",主机部分全是0表示. 子网掩码:用来标识IP地址的网络位 A:255.0.0.0 B:255.255.0.0 C:255.255.255.0
IPV4地址的基本分类 五个类别:ABCDE ABC类用于单播通信中设备IP地址分配,D类属于组播地址,E类是保留地址. 他们均有不同的网络类别(网络ID)长度,用来表示不同的网络类别,剩余的部分被用来识别网络内的主机(主机ID) "网络ID"用来确定没类网络中有的网络数 "主机ID"则用来确定每个网络中有的IP地址数 X代表主机位,Y代表主机位 A类:(1-127) 0XXXXXXX.Y.Y.Y 主机位:2^24-2(全0,全1不要)
B类:(128-191) 10XXXXXX.x.Y.Y 网段数:2^14 主机位:2^16-2(65534)
c类:(192-223) 110XXXXX.x.x.Y 网段:2^21 主机:2^8-2(254)
D类:(224-239)组播地址,不是给计算机使用 1110XXXX.x.x.X
E类:(240-255) 240.0.0.0~247.255.255.255.255 11110XXX.y.y.y
有类/无类IPV4网络 有类 ABCDE类IPV4地址 每类IPV4地址都有固定长度的网络ID,有固定的子网掩码 大大降低了IPV4地址的利用率和可用的网络数 (CIDR无类域间路由解决此问题) 无类 每个ipv4地址的网络ID长度都可以不固定 通常把以前的有关网络称之为"标准网络",而把网络ID长度大于对应标准网络的网络称之为"子网" 网络地址:用来标识一个有类或无类网络的地址,是对应网络或子网的第一个IPV4地址,即"主机ID"部分全为o的iPV4地址 主机地址:除了网络地址和广播地址这两头一头一尾的地址外,中间的其他所有地址都是主机地址,可以直接分配给主机使用 广播地址 :是一个有类或无类网络中最后一个IPV4地址 ,即"主机ID"部分全为1的iPV4地址 公有IP地址 A: 110.0.0.0到9.255.255.255 11.0.0.0到126.255.255.255 B 128.0.0.0 172.255.255.255 172.32.0.0 192.255.255.255 C 192.0.0.0.0 私有ip地址(专用于局域网使用的IP地址) A 10.0.0.0 到 10.255.255.255 B 172.16.0.0 到 172.31.255.255 C 192.168.0.0 到 192.168.255.255 169开头的IPV4地址 自动专用IP地址,其地址范围为:169.254.0.0/16,子网掩码为255.255.0.0 环回地址(Loopback Address) 是主机IP堆栈内部的IPv4地址,主要用于网络软件测试以及本地机进程间通信;在IP网络中就是测试主机TCP/IP协议是否正常工作 0.0.0.0地址 代表多所有IPV4地址,常用于默认路由设置,或代表整个不确定的IP地址范围 子网划分 把原来标准网络IPv4地址中的"网络ID"部分向"主机ID"部分借位,把一部分原来属于"主机ID"部分的位变成"网络ID"的一部分(通常称之为"子网iD") 原来的"网络ID"加上借来的"子网ID"=新"网络ID" "子网ID"长度决定了可以划分的子网的数量
全0子网 "全0"子网代表的是对应子网的"子网ID"部分都是0,是第一个子网 全1子网 "全1"子网代表的是对应子网的"子网ID"部分都是1,是最后一个子网 可用的子网去掉这两个 子网掩码的重要性 子网掩码是一个网络或一个子网的重要属性. 路由器在和相邻路由器交换路由信息时,必须把自己所在的网络或子网的子网掩码高速相邻路由器 路由器的路由表中的每一个项目,除了要给出目的网络的地址外,还必须同时给出该网络的子网掩码. 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码
传输层:
传输层与"数据链路层"的作用都是建立数据传输通道,两者在功能上存在许多相识之处. 但是传输层的功能主要体现在广域网网络应用中,可以把"数据链路层"当做局域网通信的数据传输通道,而"传输层"则是广域网中的数据传输通道.
划分传输层的必要性
从通信和信息处理两方面来看的话,"传输层"既是面向通信部分的最高层,他与下面的三层一起共同构建进行网络通信所需的线路和数据通道的建立 又是面向对象的最低层,因为无论何种网络应用,最终的都是需要把各种数据传送到对方. 来自应用层的用户数据必须依靠传输层的协议在不同网络中的主机间进行传输的,因为紧靠网络层把数据传送到目的主机上还是不够的,还必须把它交给目的主机的应用进程. 传输层无论是在哪种划分方式中,传输层的位置都非常重要,起乘上启下的桥梁作用.
两个主机进行通信实际上就是两个主机中的进程通信. 应用进程之间的通信又称为端到端的通信. 运输层的一个很重要的功能就是复用和分用.应用层不同进程的报文通过不同的端口向下交到运输层,再往下就是共用网络层提供的服务. "传输层提供应用进程间的逻辑通信"."逻辑通信"的意思是:运输层之间的通信好像是沿着水平线方向传送数据,但实际上两个运输层之间并没一条水平方向的物理连接.
主要功能:
运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信) 运输层还要对收到的报文进行差错检测 运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP. 两种不同的运输协议: 运输层向高层用户屏蔽了下面网络核心的细节,它使应用进程看见的好像在两个运输层实体之间有一条端到端的逻辑通信信道. 当运输层曹勇面向连接的TCP协议时,尽管下面的网络不可靠(只提供最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道. 当传输层采用无连接的UDP协议时,这种逻辑通信信道是一条不可靠信道. TCP的主要特点 tcp是面向连接的运输层协议 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点(一对一) TCP提供可靠交付的服务 TCP提供全双工通信 面向字节流
TCP的连接
TCP把连接作为最基本的抽象 每一条TCP连接有两个端点 TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口.TCP连接的端口叫做套接字(socket)或插口 端口号拼接到IP地址,即构成了套接字 套接字: 套接字=(ip地址:端口号) 每一条TCP连接唯一的被通信两端的两个端口(即两个套接字)所确定.即: TCP 连接 ::={socket1,socket2} ={(ip1:port1),(ip2:socket2)} tcp可靠通信的具体实现 TCP连接的每一段都必须设有两个端口--一个发送窗口和一个接受窗口 TCP的可靠传输机制用字节的序号进行控制.TCP所有的确认都是基于序号而不是基于报文段 TCP两端的四个窗口经常处于动态变化之中. TCP连接的往返时间TRR也不是固定不变的.需要使用特定的算法估算较为合理的重传时间. tcp报文段的首部格式
源端口和目的端口字段:各占2字节.端口是运输层与应用层的服务接口.运输层的复用和分用功能都要铜鼓端口才能实现. 序号:占4字节.TCP连接中传送的数据流中的每一个字节都编上一个序号.序号字段的值指的是本报文段所发送的数据的第一个字节的序号. 确认号:占4字节.是期望收到对方的下一个报文段的数据的第一个字节的序号. 数据偏移:占4位.他指出TCP报文段的数据起始处距离TCP报文段的起始处有多远."数据偏移"的单位是32位字(以4字节为计算单位) 保留:占6位,保留为今后使用 窗口字段:占2字节.用来让对方设置发送窗口的依据,单位为字节 校验和:占2字节.检验和字段检验的范围包括首部和数据这两部分.在计算校验和时,要在TCP报文段的前面加上12字节的伪首部 紧急指针:占16位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面) URG:控制紧急指针是否可用,为1时表示可用紧急数据段,为0时表示本数据包为普通数据 ACK:确认号控制位,当ACk为1时,表示确认号有效,为0时,表示紧急号无用 PSH:推送控制位,当pSH为1时,表示尽快把TCP报文交付进程队列中,不需要等待处理 RST:复位重置位.当外部环境改变时,重新发送请求 SYN:同步控制位.SYN为1时,表示这是一个连接请求或连接接受报文. FIN:终止控制位.用来释放一个连接.FIN=1表明此报文段的发送端的数据已经发送完毕,并要求释放运输链路. 选项:长度可变.TCP最初只规定了一种选项,即最大报文段长度MSS.MSS 填充:这是为了是首部长度是4字节的整数倍 TCP的传输管理的三个阶段 TCP连接的建立都是采用客户服务器方式 主动发起连接建立的应用进程叫做客户(client) 被动等待连接建立的应用进程叫做服务器(server) 运输连接就有是三个阶段,即连接建立,数据传送和连接释放.运输连接的管理就是使运输连接的建立和释放都能正常的进行. 连接建立过程中要解决一下三个问题: 要使每一方能够确知对方的存在 要允许双方协商一些参数(如最大报文长度,最大窗口大小,服务质量等) 能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配. TCP连接的状态转移 在TCP传输连接的建立和释放中的通信双方主机的这些状态称之为"有限状态机"(Finite State Machine,FSM)
TCP连接的三次握手
注意:服务器一直处于SYN-RCVD状态中,则可能处于SYN攻击中,会耗尽服务器系统资源.优化方法:减少服务器等待时间
TCP的四次断开
TCP连接必须经过时间2MSL后才真正释放掉
TCP的超时重传机制 超时重传是TCP协议保证数据可靠性的一个重要机制 其原理是在发送某一个数据段以后就开启一个超时重传计时器,如果在这个计时器时间内没有收到来自对方的某个数据段的确认, 发送端则启动重传机制,重新发送对应的数据端,直到发送成功为止. TCP的拥塞控制 拥塞控制就是要控制"网络拥塞"的出现.当网络中各个部分输入的流量大于输出的流量时就会出现网络拥塞. 如果把整个网络有效处理负荷的能力称之为"吞吐量(throughout)",而把网络中发送端输入的负荷称之为"输入负荷(input load)"则理想情况下他们之间有如下图所示的线性关系(吞吐量是呈45度斜线上升的):UDP攻击造成死锁
拥塞控制方案: 慢启动: 慢启动是为了避免出现网络拥塞而采取的一种TCP拥塞初期预防方案.基本思想就是在TCP连接正式数据传输时,每次可发送的数据大小是逐渐增大的,也就是先发送一些小字节数的试探性数据,在收到这些数据段的确认后,在慢慢增大发送的数据量,知道到达了某个原先设定的极限值,u也就是"慢启动阀值" 拥塞避免 当拥塞窗口大小再次达到大于或等于阀值时就启动"拥塞避免"拥塞解决方案.基本思想是在拥塞窗口第二次到达了阀值时,让"拥塞窗口"大小每经过一个RTT时间仅增加1(即新的拥塞窗口只增加了一个MSS大小,而不是原来的翻倍),使其以线性方式慢慢地增大,而不是继续像"慢启动"方案中那样以指数方式快速增大.
快速重传/快速恢复 快速重传:当接受端收到一个不是按序到达的数据段.TCP实体迅速发送一个重复ACK数据段,而不用等到有数据需要发送时顺带发出群人;在重复收到三个重复ACK数据段后即认为对应"确认号"字段的数据段已经丢失,TCP不等重传定时器超时就重传看来已经丢失的数据段.
UDP
UDP只是IP的数据报服务上增加了很少的功能,及端口的功能和差错检测的功能. 虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有特殊的优点 UDP的特点 UDP是无连接的,即发送数据之前不需要建立连接(速度较快) UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制. UDP是面向报文的.UDP没有拥塞控制,很适合多媒体通信的要求 UDP支持一对一,一对多,多对一和多对多的交互通信. UDP的首部开销小,只有8个字节
原创文章,作者:wencx,如若转载,请注明出处:http://www.178linux.com/43333