Internet定义:
Internet指采用TCP/IP协议的 全球计算机网络互联系统,即公众互联网,也叫“network of networks”。Internet 互联了全球数以亿计的终端设备。这些设备只要他们运行TCP/IP协议,就可以与互联网相连,实现彼此间的通信。
Internet与传统电话网的最大区别或者说成功之处,是其设计上的通用性和开放性。通用性体现在网络基础设施不是针对特定应用设计的,而是可以承载不同类型的业务;开放性一方面体现在采用标准的、开放的TCP/IP协议实现互联通信,另一方面是提供开放的API,并且基于终端来部署、实现业务。
Internet的网络结构:
物理组件:Internet主要的物理组件是主机、路由器和交换机。主机属于终端单元,最常见的一台可以通过Internet发送和接收信息的通用计算机。路由器和交换机则属于网络单元,它们执行分组的路由和转发功能。
自制系统:从网络管理和选路的角度考虑,实际的Internet并不是以网络为单位,而是以自制系统(AS)为单位来组织管理的。AS是由一个机构管理控制的路由器集合,通常包含多个网络,并由唯一的AS号标识,在一个AS内部,使用相同的内部路由协议、相同的策略、相同的路径长度度量方式来选路和处理分组,在AS之间通过外部网关协议交换路由信息、执行选路策略。
基于ISP互联的网络结构:ISP网络之间通过专用对等点互联,对等点是一个位于ISP网络边界的路由器,它通过专用链路与另一个ISP网络的边界路由器互联,根据签署的商业协议相互交换路由信息,转发彼此的流量。一个ISP是一个或多个AS的管理者,即一个ISP网络可以由一个或多个AS组成。
Internet体系结构:
也叫TCP/IP体系结构,其核心协议包括I、TCP、UDP、路由协议、DNS等。
分层结构:Internet是一个四层结构,四个层次自底向上依次是数据链路层、网络层、传输层和应用层。OSPF通过IP层传输,而BGP通过TCP传输。网络层在数据链路层之上,为主机之间的通信提供不可靠的、无连接的数据报服务。网络层包含的核心协议是IP协议 和路由协议。IP协议定义一个新的分组格式和全局逻辑地址,实现分组转发功能,当前的版本是IPv4,未来是IPv6。路由 协议如OSPF和BGP4等,主要实现路由功能,负责创建和维护每台路由器上的路由表,保障端到端选路和转发行为的一致性。
仅靠IP协议很难满足在多种物理 网络上管理和维护的需求。通过ARP协议来进行IP地址到数据链路层地址的翻译;使用ICMP来完成维护和差错信息的通告功能等。
传输层在网络层之上为不同主机上两个进程之间的通信提供逻辑信道。传输层最常用的是TCP和UDP两个协议。应用如果不要求可靠传输,则使用UDP协议;没有实时要求但有可靠性要求的应用则使用TCP提供的可靠信道服务。
应用层的作用是为典型的网络服务定义访问接口,以简化网络应用的设计实现。目前定义的支持Internet服务的应用层协议有SMTP协议,是创建邮件应用的基础;HTTP用于支持Web服务;FTP用于支持文件传输服务。
Internet的数据面负责承载和处理用户数据流,包括执行分组转发功能;根据分组头执行分组过滤的ACL;数据的传输加密等。数据面也实现排队 管理、分组调度等功能。管理面负责承载和处理管理数据流,包括监视、故障告警定位、计费、业务流量统计等。SNMP、DHCP均属于管理面的协议。控制面主要执行路由选择、转发策略控制等功能。除了路由协议外,ARP和DNS都属于控制面的协议。
Internet体系结构的特点:
(1)漏斗模型:“简单的网络,智能的端系统”。在Internet上,所有的端系统和路由器都要实现IP协议,但IP仅提供最低限度的功能来支持主机到主机的分组交付。流量控制、差错控制、拥塞控制、连接管理等复杂的功能由传输层和应用层执行,但他们仅在端系统上实现。
(2)无状态结构:采用数据报方式传输分组,网络内部不维持数据面向用户端到端通信时的连接状态信息,这些信息仅在上层需要时保存在端系统上。路由器上面没有数据面的状态信息,但当前网络的状态信息却是必须在每台路由器上保持的。这些状态信息是数据面正确执行分组转发功能的保障。网络的 状态信息主要由管理面和控制面来创建和维护,在路由器上保存网络的状态信息最重要的部件就是路由表。
ICMP是指Internet控制报文协议,是网络层另外一个重要协议。ICMP通过在网络中产生错误通知和分组丢失报文来增强Internet的可靠性。对于运行ICMP协议的任何主机和路由器,一旦发现任何分组传输问题,它就向该分组的原始发送端会送一条ICMP报文,告知发送者分组传输失败的原因。使用ICMP协议最著名的一个应用程序就是ping.
UDP协议:是功能最简单的无连接的传输层协议,它在原始IP服务的 基础上提供了以下基本服务功能:(1)把主机到主机的通信服务扩展到两个进程之间,使得每台主机上的多个应用进程可以共享网络连接;
(2)基于校验和进行数据完整性验证,检测数据段是否出错,出错则丢弃。
UDP的优点:(1)没有连接建立时延,速度快;
(2)协议简单,在发送和接收端主机都没有连接状态的维持开销;
(3)头部简单,只有8个字节,开销很小;
(4)没有流量控制,理论上UDP可以用期望的任意速率发送,但是存在拥塞和报文丢失的风险。
TCP协议:是另一个常用的传输层协议,与UDP相比,它相对复杂,但能够为不同主机两个进程之间的通信提供可靠的、面向连接的字节流 服务,这对时延不敏感,但对需要可靠传输的应用是很有意义的。TCP的控制开销和传输时延较大。
TCP的主要功能:(1)连接管理;
(2)基于端口的复用和分解;
(3)可靠传输,包括差错控制、流量控制、顺序控制等。
三次握手:连接建立算法,是指客户机和服务器之间建立一个连接要交换3次信息,以协商两端初始序号等参数集。
“三次握手”算法中的第三次握手看似是多余的,主要原因是,在连接建立之前,TCP仅能依靠IP协议不可靠的网络服务,这意味着算法必须考虑服务器返回的第二次握手信号可能会因为丢失、超时等原因不能按时送达客户机的情况。假如没有第三次握手信号,出现上述的情况,客户机会认为连接请求失败,而选择放弃或发起新的连接请求,而服务器在发出第二次握手信号后就认为连接建立成功,而为连接分配资源,而实际的情况是连接建立仅仅成功了一半。这种打开了一般的连接 一样会占用服务器的资源,且很容易被攻击者利用。使用“三次握手”,在没有收到第三次握手信号前,服务器不会为连接分配资源,如果没有按时收到第三次握手信号,则服务器删除这种打开了一半的连接。