tcp/ip 5层架构:
资源子网:
应用层:
为用户的应用程序提供网络通信服务
表示层: 处理被传送数据的表示问题 会话层: 建立.管理,中止不同机器上应用程序间的会话 连接资源子网与通信子网: 传输层: 为源端主机到目的端主机提供可靠的,满足服务质量要求的数据传输服务 屏蔽不同通信子网的差异,使上层不受通信子网技术变化的影响;弥补资源子网和通信子网间差异;提供进程级通信能力 TCP: 面向连接的 可靠通信方式 在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销 通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点 三次握手,四次挥手 数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组 超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片 滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出 失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层 到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认 数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发 拥塞控制: 发送方维护一个叫拥塞窗口的状态变量,其值取决于网络的拥塞程度并动态变化.只要网络没有出现拥塞,拥塞窗口就继续增大,但只要网络出现拥塞,拥塞窗口就减少. 判断网络拥塞的依据:没有按时收到应当到达的确认报文,即发生重传 拥塞控制算法: 慢开始: 一开始像网络注入的报文段少,但每轮传输拥塞窗口以指数增长. 拥塞控制:发生超时重传,将慢开始门限状态变量更新为发生拥塞时拥塞窗口的一半,然后将拥塞窗口的值减少为1,重新开始执行慢开始算法 快重传: 要求接收方不要等待自己发送数据时才进行捎带确认,而是立即发送确认 即使收到失序的报文段也要立即发出对已收到的报文段的重复确认 发送方一旦受到3个连续的重复确认,就立即重传相应的报文段,而不是等待超时重传 快恢复: 发送方一旦收到3个重复确认,就知道只是丢失了个别报文段.因此不启动慢开始算法,而执行拥塞避免算法. 发送方将慢开始门限值和拥塞窗口调整为当前窗口的一般,执行拥塞避免算法 基于字节流的传输层协议,TCP的目标是为用户提供可靠的端到端连接,保证信息有序无误的传输。它除了提供基本的数据传输功能外,还为保证可靠性采用了数据编号、校验和计算、数据确认等一系列措施。它对传送的每个数据字节都进行编号,并请求接收方回传确认信息(ACK)。发送方如果在规定的时间内没有收到数据确认,就重传该数据 UDP: Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据报的方法 UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息 UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包而言UDP的额外开销很小 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制 UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小 粘包出现原因: 在流传输中出现,UDP不会出现粘包,因为它有消息边界 发送端需要等缓冲区满才发送出去,造成粘包 接收方不及时接收缓冲区的包,造成多个包接收 TCP 是面向连接的传输控制协议,而UDP 提供了无连接的数据报服务;TCP 具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP 在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;UDP 具有较好的实时性,工作效率较 TCP 协议高;UDP 段结构比 TCP 的段结构简单,因此网络开销也小。TCP 协议可以保证接收端毫无差错地接收到发送端发出的字节流,为应用程序提供可靠的通信服务。对可靠性要求高的通信系统往往使用 TCP 传输数据。比如 HTTP 运用 TCP 进行数据的传输 通信子网: 网络层: 保证两个直接相连的物理节点的通信能顺畅正确进行 在源节点和目的节点间提供端到端的,无连接的,尽力而为的数据报传输服务 网际协议IP: ipv4: 32位 IP协议:提供无连接的数据包传送机制 IP地址:点分十进制 网络号+主机号 地址分类: 公网地址 : A: 1.0.0.1-126.255.255.255 B: 128.0.0.1-191.255.255.255 C: 192.0.0.1-223.255.255.255 D: 224.0.0.1—239.255.255.254 多播 一个点发往多个目的节点 E:留作以后使用 主机号全1:指定网络的广播地址 主机号全0:网络本身 网络号全0:本网络 32位IP地址全1:用于本网广播 有限广播地址 127.0.0.0:用于网络软件测试和本机进程间通信 回送地址 私网地址 : Class A:10.0.0.0 - 10.255.255.255 Class B:172.16.0.0 - 172.31.255.255 Class C:192.168.0.0 - 192.168.255.255 ipv6: 128位 支持几乎无限大的地址空间 减少路由表的大小,使得路由表可更快处理包 提供更好的安全性, 实现IP级的安全 支持多种服务类型, 支持组播 兼容IPV4: 双协议栈:路由进行转换, 源地址和目的地址不变 隧道技术:加入IPV4报头封装, 封装的源地址和目的地址改变 子网掩码: 指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码 32bit 网络号全1,主机号全0 与运算求网络号 路由选择, 数据分组转发, 流量控制和拥塞控制, 差错检测与恢复, 审计 路由协议: 内部网关协议IGP: RIP: 分布式的基于距离向量的路由选择协议 用跳数衡量到达目的站的距离 一条路径最多包含15个路由器 只和相邻路由器交换本路由器的路由表 实现简单,开销小 限制了网络的规模 网络出现故障需要长时间才能将消息送达所有路由器 路由器之间交换完整路由表,网络规模扩大开销增加 OSPF: 分布式链路状态协议 向本自治系统中所有路由器发送信息 发送的信息是与本路由器相邻的所有路由器的链路状态 外部网关协议EGP: BGP:不同自治系统的路由器之间交换路由信息的距离向量路由算法 每个边界网关向邻居路由器广播到目的节点完整路径 IBGP:用来在AS内部完成BGP更新信息的交换,维护AS内部连通性 EBGP:用来建立AS之间的路由器会话 解决环路: 定最大值:16跳 水平分割:单项更新 抑制时间 触发更新 网络地址转换NAT: 静态转换:内部网络的私有IP一对一转换为公有IP地址 动态转换:内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,随机的. 端口多路复用:改变外出数据包的源端口并进行端口转换,内部网络的所有主机共享一个合法外部IP地址实现对Internet的访问,最大限度节约IP地址资源,同时隐藏网络内部的所有主机,避免来自Internet的攻击. 三层交换机: 三层交换机就是具有部分路由器功能的交换机,工作在OSI网络标准模型的第三层:网络层。三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。 对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现 数据链路层: 在物理线路上提供可靠的数据传输 mac寻址(物理地址), 封装成帧, 定界同步, 差错控制, 流量控制, 信道访问控制 二层交换机: 二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 物理层: 从物理介质接受二进制位流,向物理介质发送二进制位流 物理介质直接相连的两个点 机械特性, 电气特性, 规程特性, 功能特性
访问控制列表ACL:
基本ACL2000-2999:只能匹配源IP地址
高级ACL3000-3999:可以匹配源IP,目的IP,源端口,目的端口等三层和四层的字段
用于对数据包做访问控制,结合其他协议来匹配范围
二层ACL4000-4999:根据报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、以太帧协议类型等。
自定义ACL5000-5999:根据偏移位置和偏移量从报文中提取出一段内容进行匹配。
网络分类:
按网络控制方式分类:
集中式
分布式:数据分组发送, 存储转发
按物理结构即拓扑结构分类:
多用于局域网的:
总线型
星型
环形:数据单向传输一周,由发送方删除
树形
多用于广域网的:
网状型:节点间传输要经过其他节点转接,且有多条路径
按传输方式分类:
广播式网络:
存在共享和冲突的问题
集线器:相当于开关
点到点网络:
多路径
交换机:缓存转发
核心问题:路由选择
缓冲区
路由表
每一个参与通信的系统或节点必须加载完整的相同的体系结构 异构不能直接互联 通过中间的转换节点
参与通信的系统的同一层使用的协议必须一致
层次设计:
编址
数据传输
差错控制 检测 恢复
顺序控制
流量控制 收发方处理能力不匹配 带宽或速率不匹配,缓冲区大小不匹配
拆分重组
复用/解复用
数据单元:
对等实体在协议的控制下交换信息 PDU协议数据单元
相邻层实体按服务交换信息 通过接口 接口数据单元IDU/不通过接口 服务数据单元SDU