常见的网络协议有哪些?
第一章 概述 电信网、计算机网和有线电视网 三网合一TCP/IP是当前的因特网协议簇的总称,TCP和 IP是其中的两个最重要的协议。RFC标准轨迹由3个成熟级构成:提案标准、草案标准和标准。第二章 计算机网络与因特网体系结构根据拓扑结构:计算机网络可以分为总线型网、环型网、星型网和格状网。根据覆盖范围:计算机网络可以分为广域网、城域网、局域网和个域网。网络可以划分成:资源子网和通信子网两个部分。网络协议是通信双方共同遵守的规则和约定的集合。网络协议包括三个要素,即语法、语义和同步规则。通信双方对等层中完成相同协议功能的实体称为对等实体 ,对等实体按协议进行通信。有线接入技术分为铜线接入、光纤接入和混合光纤同轴接入技术。无线接入技术主要有卫星接入技术、无线本地环路接入和本地多点分配业务。网关实现不同网络协议之间的转换。因特网采用了网络级互联技术,网络级的协议转换不仅增加了系统的灵活性,而且简化了网络互联设备。因特网对用户隐藏了底层网络技术和结构,在用户看来,因特网是一个统一的网络。因特网将任何一个能传输数据分组的通信系统都视为网络,这些网络受到网络协议的平等对待。TCP/IP 协议分为 4 个协议层 :网络接口层、网络层、传输层和应用层。IP 协议既是网络层的核心协议 ,也是 TCP/IP 协议簇中的核心协议。第四章 地址解析建立逻辑地址与物理地址之间 映射的方法 通常有静态映射和动态映射。动态映射是在需要获得地址映射关系时利用网络通信协议直接从其他主机上获得映射信息。 因特网采用了动态映射的方法进行地址映射。获得逻辑地址与物理地址之间的映射关系称为地址解析 。地址解析协议 ARP 是将逻辑地址( IP 地址)映射到物理地址的动态映射协议。ARP 高速缓存中含有最近使用过的 IP 地址与物理地址的映射列表。在 ARP 高速缓存中创建的静态表项是永不超时的地址映射表项。反向地址解析协议 RARP 是将给定的物理地址映射到逻辑地址( IP地址)的动态映射。RARP需要有RARP 服务器帮助完成解析。ARP请求和 RARP请求,都是采用本地物理网络广播实现的。在代理ARP中,当主机请求对隐藏在路由器后面的子网中的某一主机 IP 地址进行解析时,代理 ARP路由器将用自己的物理地址作为解析结果进行响应。第五章 IP协议IP是不可靠的无连接数据报协议,提供尽力而为的传输服务。TCP/IP 协议的网络层称为IP层.IP数据报在经过路由器进行转发时一般要进行三个方面的处理:首部校验、路由选择、数据分片IP层通过IP地址实现了物理地址的统一,通过IP数据报实现了物理数据帧的统一。 IP 层通过这两个方面的统一屏蔽了底层的差异,向上层提供了统一的服务。IP 数据报由首部和数据两部分构成 。首部分为定长部分和变长部分。选项是数据报首部的变长部分。定长部分 20 字节,选项不超过40字节。IP 数据报中首部长度以 32 位字为单位 ,数据报总长度以字节为单位,片偏移以 8 字节( 64 比特)为单位。数据报中的数据长度 =数据报总长度-首部长度× 4。IP 协议支持动态分片 ,控制分片和重组的字段是标识、标志和片偏移, 影响分片的因素是网络的最大传输单元 MTU ,MTU 是物理网络帧可以封装的最大数据字节数。通常不同协议的物理网络具有不同的MTU 。分片的重组只能在信宿机进行。生存时间TTL是 IP 数据报在网络上传输时可以生存的最大时间,每经过一个路由器,数据报的TTL值减 1。IP数据报只对首部进行校验 ,不对数据进行校验。IP选项用于网络控制和测试 ,重要包括严格源路由、宽松源路由、记录路由和时间戳。IP协议的主要功能 包括封装 IP 数据报,对数据报进行分片和重组,处理数据环回、IP选项、校验码和TTL值,进行路由选择等。在IP 数据报中与分片相关的字段是标识字段、标志字段和片偏移字段。数据报标识是分片所属数据报的关键信息,是分片重组的依据分片必须满足两个条件: 分片尽可能大,但必须能为帧所封装 ;片中数据的大小必须为 8 字节的整数倍 ,否则 IP 无法表达其偏移量。分片可以在信源机或传输路径上的任何一台路由器上进行,而分片的重组只能在信宿机上进行片重组的控制主要根据 数据报首部中的标识、标志和片偏移字段IP选项是IP数据报首部中的变长部分,用于网络控制和测试目的 (如源路由、记录路由、时间戳等 ),IP选项的最大长度 不能超过40字节。1、IP 层不对数据进行校验。原因:上层传输层是端到端的协议,进行端到端的校验比进行点到点的校验开销小得多,在通信线路较好的情况下尤其如此。另外,上层协议可以根据对于数据可靠性的要求, 选择进行校验或不进行校验,甚至可以考虑采用不同的校验方法,这给系统带来很大的灵活性。2、IP协议对IP数据报首部进行校验。原因: IP 首部属于 IP 层协议的内容,不可能由上层协议处理。IP 首部中的部分字段在点到点的传递过程中是不断变化的,只能在每个中间点重新形成校验数据,在相邻点之间完成校验。3、分片必须满足两个条件:分片尽可能大,但必须能为帧所封装 ;片中数据的大小必须为8字节的整数倍,否则IP无法表达其偏移量。第六章 差错与控制报文协议(ICMP)ICMP 协议是 IP 协议的补充,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。ICMP既不向信宿报告差错,也不向中间的路由器报告差错,而是 向信源报告差错 。ICMP与 IP协议位于同一个层次,但 ICMP报文被封装在IP数据报的数据部分进行传输。ICMP 报文可以分为三大类:差错报告、控制报文和请求 /应答报文。ICMP 差错报告分为三种 :信宿不可达报告、数据报超时报告和数据报参数错报告。数据报超时报告包括 TTL 超时和分片重组超时。数据报参数错包括数据报首部中的某个字段的值有错和数据报首部中缺少某一选项所必须具有的部分参数。ICMP控制报文包括源抑制报文和重定向报文。拥塞是无连接传输时缺乏流量控制机制而带来的问题。ICMP 利用源抑制的方法进行拥塞控制 ,通过源抑制减缓信源发出数据报的速率。源抑制包括三个阶段 :发现拥塞阶段、解决拥塞阶段和恢复阶段。ICMP 重定向报文由位于同一网络的路由器发送给主机,完成对主机的路由表的刷新。ICMP 回应请求与应答不仅可以被用来测试主机或路由器的可达性,还可以被用来测试 IP 协议的工作情况。ICMP时间戳请求与应答报文用于设备间进行时钟同步 。主机利用 ICMP 路由器请求和通告报文不仅可以获得默认路由器的 IP 地址,还可以知道路由器是否处于活动状态。第七章 IP 路由数据传递分为直接传递和间接传递 ,直接传递是指直接传到最终信宿的传输过程。间接传递是指在信源和信宿位于不同物理网络时,所经过的一些中间传递过程。TCP/IP 采用 表驱动的方式 进行路由选择。在每台主机和路由器中都有一个反映网络拓扑结构的路由表,主机和路由器能够根据 路由表 所反映的拓扑信息找到去往信宿机的正确路径。通常路由表中的 信宿地址采用网络地址 。路径信息采用去往信宿的路径中的下一跳路由器的地址表示。路由表中的两个特殊表目是特定主机路由和默认路由表目。路由表的建立和刷新可以采用两种不同 的方式:静态路由和动态路由。自治系统 是由独立管理机构所管理的一组网络和路由器组成的系统。路由器自动获取路径信息的两种基本方法是向量—距离算法和链路 —状态算法。1、向量 — 距离 (Vector-Distance,简称 V—D)算法的基本思想 :路由器周期性地向与它相邻的路由器广播路径刷新报文,报文的主要内容是一组从本路由器出发去往信宿网络的最短距离,在报文中一般用(V,D)序偶表示,这里的 V 代表向量,标识从该路由器可以到达的信宿 (网络或主机 ),D 代表距离,指出从该路由器去往信宿 V 的距离, 距离 D 按照去往信宿的跳数计。 各个路由器根据收到的 (V ,D)报文,按照最短路径优先原则对各自的路由表进行刷新。向量 —距离算法的优点是简单,易于实现。缺点是收敛速度慢和信息交换量较大。2、链路 — 状态 (Link-Status,简称 L-S)算法的基本思想 :系统中的每个路由器通过从其他路由器获得的信息,构造出当前网络的拓扑结构,根据这一拓扑结构,并利用 Dijkstra 算法形成一棵以本路由器为根的最短路径优先树, 由于这棵树反映了从本节点出发去往各路由节点的最短路径, 所以本节点就可以根据这棵最短路径优先树形成路由表。动态路由所使用的路由协议包括用于自治系统内部的 内部网关协 议和用于自治系统之间的外部网关协议。RIP协议在基本的向量 —距离算法的基础上 ,增加了对路由环路、相同距离路径、失效路径以及慢收敛问题的处理。 RIP 协议以路径上的跳数作为该路径的距离。 RIP 规定,一条有效路径的距离不能超过RIP不适合大型网络。RIP报文被封装在 UDP 数据报中传输。RIP使用 UDP 的 520 端口号。3、RIP 协议的三个要点仅和相邻路由器交换信息。交换的信息是当前本路由器所知道的全部信息,即自己的路由表。按固定的时间间隔交换路由信息,例如,每隔30秒。4、RIP 协议的优缺点RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。RIP 协议最大的优点就是实现简单,开销较小。RIP 限制了网络的规模,它能使用的最大距离为15(16表示不可达)。路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。5、为了防止计数到无穷问题,可以采用以下三种技术。1)水平 分割 法(Split Horizon) 水平分割法的基本思想:路由器从某个接口接收到的更新信息不允许再从这个接口发回去。在图 7-9 所示的例子中, R2 向 R1 发送 V-D 报文时,不能包含经过 R1 去往 NET1的路径。因为这一信息本身就是 R1 所产生的。2) 保持法 (Hold Down) 保持法要求路由器在得知某网络不可到达后的一段时间内,保持此信息不变,这段时间称为保持时间,路由器在保持时间内不接受关于此网络的任何可达性信息。3) 毒性逆转法 (Poison Reverse)毒性逆转法是水平分割法的一种变化。当从某一接口发出信息时,凡是从这一接口进来的信息改变了路由表表项的, V-D 报文中对应这些表目的距离值都设为无穷 (16)。OSPF 将自治系统进一步划分为区域,每个区域由位于同一自治系统中的一组网络、主机和路由器构成。区域的划分不仅使得广播得到了更好的管理,而且使 OSPF能够支持大规模的网络。OSPF是一个链路 —状态协议。当网络处于收敛状态时, 每个 OSPF路由器利用 Dijkstra 算法为每个网络和路由器计算最短路径,形成一棵以本路由器为根的最短路径优先 (SPF)树,并根据最短路径优先树构造路由表。OSPF直接使用 IP。在IP首部的协议字段, OSPF协议的值为 89。BGP 是采用路径 —向量算法的外部网关协议 , BGP 支持基于策略的路由,路由选择策略与政治、经济或安全等因素有关。BGP 报文分为打开、更新、保持活动和通告 4 类。BGP 报文被封装在 TCP 段中传输,使用TCP的179 号端口 。第八章 传输层协议传输层承上启下,屏蔽通信子网的细节,向上提供通用的进程通信服务。传输层是对网络层的加强与弥补。 TCP 和 UDP 是传输层 的两大协议。端口分配有两种基本的方式:全局端口分配和本地端口分配。在因特网中采用一个 三元组 (协议,主机地址,端口号)来全局惟一地标识一个进程。用一个五元组(协议 ,本地主机地址 ,本地端口号 ,远地主机地址 ,远地端口号)来描述两个进程的关联。TCP 和 UDP 都是提供进程通信能力的传输层协议。它们各有一套端口号,两套端口号相互独立,都是从0到 65535。TCP 和 UDP 在计算校验和时引入伪首部的目的是为了能够验证数据是否传送到了正确的信宿端。为了实现数据的可靠传输, TCP 在应用进程间 建立传输连接 。TCP 在建立连接时采用 三次握手方法解决重复连接的问题。在拆除连接时采用 四次握手 方法解决数据丢失问题。建立连接前,服务器端首先被动打开其熟知的端口,对端口进行监听。当客户端要和服务器建立连接时,发出一个主动打开端口的请求,客户端一般使用临时端口。TCP 采用的最基本的可靠性技术 包括流量控制、拥塞控制和差错控制。TCP 采用 滑动窗口协议 实现流量控制,滑动窗口协议通过发送方窗口和接收方窗口的配合来完成传输控制。TCP 的 拥塞控制 利用发送方的窗口来控制注入网络的数据流的速度。发送窗口的大小取通告窗口和拥塞窗口中小的一个。TCP通过差错控制解决 数据的毁坏、重复、失序和丢失等问题。UDP 在 IP 协议上增加了进程通信能力。此外 UDP 通过可选的校验和提供简单的差错控制。但UDP不提供流量控制和数据报确认 。1、传输层( Transport Layer)的任务 是向用户提供可靠的、透明的端到端的数据传输,以及差错控制和流量控制机制。2 “传输层提供应用进程间的逻辑通信 ”。“逻辑通信 ”的意思是:传输层之间的通信好像是沿水平方向传送数据。但事实上这两个传输层之间并没有一条水平方向的物理连接。TCP 提供的可靠传输服务有如下五个特征 :面向数据流 ; 虚电路连接 ; 有缓冲的传输 ; 无结构的数据流 ; 全双工连接 .3、TCP 采用一种名为 “带重传功能的肯定确认 ( positive acknowledge with retransmission ) ”的技术作为提供可靠数据传输服务的基础。第九章 域名系统字符型的名字系统为用户提供了非常直观、便于理解和记忆的方法,非常符合用户的命名习惯。因特网采用层次型命名机制 ,层次型命名机制将名字空间分成若干子空间,每个机构负责一个子空间的管理。 授权管理机构可以将其管理的子名字空间进一步划分, 授权给下一级机构管理。名字空间呈一种树形结构。域名由圆点 “.”分开的标号序列构成 。若域名包含从树叶到树根的完整标号串并以圆点结束,则称该域名为完全合格域名FQDN。常用的三块顶级域名 为通用顶级域名、国家代码顶级域名和反向域的顶级域名。TCP/IP 的域名系统是一个有效的、可靠的、通用的、分布式的名字 —地址映射系统。区域是 DNS 服务器的管理单元,通常是指一个 DNS 服务器所管理的名字空间 。区域和域是不同的概念,域是一个完整的子树,而区域可以是子树中的任何一部分。名字服务器的三种主要类型是 主名字服务器、次名字服务器和惟高速缓存名字服务器。主名字服务器拥有一个区域文件的原始版本,次名字服务器从主名字服务器那里获得区域文件的拷贝,次名字服务器通过区域传输同主名字服务器保持同步。DNS 服务器和客户端属于 TCP/IP 模型的应用层, DNS 既可以使用 UDP,也可以使用 TCP 来进行通信。 DNS 服务器使用 UDP 和 TCP 的 53 号熟知端口。DNS 服务器能够使用两种类型的解析: 递归解析和反复解析 。DNS 响应报文中的回答部分、授权部分和附加信息部分由资源记录构成,资源记录存放在名字服务器的数据库中。顶级域 cn 次级域 edu.cn 子域 njust.edu.cn 主机 sery.njust.edu.cnTFTP :普通文件传送协议( Trivial File Transfer Protocol )RIP: 路由信息协议 (Routing Information Protocol)OSPF 开放最短路径优先 (Open Shortest Path First)协议。EGP 外部网关协议 (Exterior Gateway Protocol)BGP 边界网关协议 (Border Gateway Protocol)DHCP 动态主机配置协议( Dynamic Host Configuration Protocol)Telnet工作原理 : 远程主机连接服务FTP 文件传输工作原理 File Transfer ProtocolSMTP 邮件传输模型 Simple Message Transfer Protocol HTTP 工作原理
在网络的各层中存在着许多协议, 它是定义通过网络进行通信的规则,接收方的发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息,以这种规则规定双方完成信息在计算机之间的传送过程。下面就对网络协议规范作个概述:ARP(Address Resolution Protocol)地址解析协议它是用于映射计算机的物理地址和临时指定的网络地址。启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用,如果没有被使用,此结点被使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,只有再选另一个地址了。SNMP(Simple Network Management Protocol)网络管理协议它是TCP/IP协议中的一部份,它为本地和远端的网络设备管理提供了一个标准化途径,是分布式环境中的集中化管理的重要组成部份。AppleShare protocol(AppleShare协议)它是Apple机上的通信协议,它允许计算机从服务器上请求服务或者和服务器交换文件。AppleShare可以在TCP/IP协议或其它网络协议如IPX、AppleTalk上进行工作。使用它时,用户可以访问文件,应用程序,打印机和其它远程服务器上的资源。它可以和配置了AppleShare协议的任何服务器进行通信,Macintosh、Mac OS、Windows NT和Novell Netware都支持AppleShare协议。AppleTalk协议它是Macintosh计算机使用的主要网络协议。Windows NT服务器有专门为Macintosh服务,也能支持该协议。其允许Macintosh的用户共享存储在 Windows NT文件夹的Mac-格式的文件,也可以使用和Windows NT连接的打印机。Windows NT共享文件夹以传统的Mac文件夹形式出现在Mac用户面前。Mac文件名按需要被转换为FAT(8.3)格式和NTFS文件标准。支持MAc 文件格式的DOS和Windows客户端能与Mac用户共享这些文件。BGP4(Border Gateway Protocol Vertion 4)边界网关协议-版本4它是用于在自治网络中网关主机(每个主机有自己的路由)之间交换路由信息的协议,它使管理员能够在已知的路由策略上配置路由加权,可以更方便地使用无级内部域名路由(CIDR),它是一种在网络中可以容纳更多地址的机制,它比外部网关协议(EGP)更新。BGP4经常用于网关主机之间,主机中的路由表包括了已知路由的列表,可达的地址和路由加权,这样就可以在路由中选择最好的通路了。BGP在局域网中通信时使用内部BGP(IBGP),因为IBGP不能很好工作。BOOTP协议它是一个基于TCP/IP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,现在我们通常使用DHCP协议进行这一工作。CMIP(Common Management Information Protocol)通用管理信息协议它是建立在开放系统互连通信模式上的网络管理协议。相关的通用管理信息服务(CMIS)定义了访问和控制网络对象,设备和从对象设备接收状态信息的方法。Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议在广域网中,两台计算机建立物理连接过程所使用的协议,这种物理连接要持续到成功地交换完数据为止。在nternet中,TCP(传输控制协议)即这一类型的协议,它为两台连接在网络上的计算机提供了可相互通信且确保数据成功传输的一种手段。面向连接的协议一定要保证数据传送到对方。在广域网中,对接收方的计算机不做在线状态,或接收能力的测试,都能使数据由一台计算机传输到另外一台计算机上的协议。这是包交换网络中的主要协议,在Internet中的IP协议即无连接协议,IP只关注将数据分成数据包进行传输,并在这些数据包被接收后重新组包,而不关注接收方计算机的状态。由面向连接的协议(如Internet中的TCP)来确保数据的接收。DHCP(Dynamic Host Configuration Protocol)动态主机配置协议它是在TCP/IP网络上使客户机获得配置信息的协议,它是基于BOOTP协议,并在BOOTP协议的基础上添加了自动分配可用网络地址等功能。这两个协议可以通过一些机制互操作。DHCP协议在安装TCP/IP协议和使用TCP/IP协议进行通迅时,必须配置IP地址、子网掩码、缺省网关三个参数,这三个参数可以手动配置,也可以使用DHCP自动配置。Discard Protocol抛弃协议它的作用就是接收到什么抛弃什么,它对调试网络状态的一定的用处。基于TCP的抛弃服务,如果服务器实现了抛弃协议,服务器就会在TCP端口9检测抛弃协议请求,在建立连接后并检测到请求后,就直接把接收到的数据直接抛弃,直到用户中断连接。而基于UDP协议的抛弃服务和基于TCP差不多,检测的端口是UDP端口9,功能也一样。Echo Protocol协议这个协议主要用于调试和检测中。这个协议的作用也十分简单,接收到什么原封发回就是了。它可以基于TCP协议,服务器就在TCP端口7检测有无消息,如果有发送来的消息直接返回就是了。如果使用UDP协议的基本过程和TCP一样,检测的端口也是7。FTP(File Transfer Protocol)文件传输协议它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。像传送可显示文件的HTTP和电子邮件的SMTP一样,FTP也是应用TCP/IP协议的应用协议标准。FTP通常用于将网页从创作者上传到服务器上供人使用,而从服务器上下传文件也是一种非常普遍的使用方式。作为用户,您可以用非常简单的DOS界面来使用FTP,也可以使用由第三方提供的图形界面的FTP来更新(删除,重命名,移动和复制)服务器上的文件。现在有许多服务器支持匿名登录,允许用户使用FTP和ANONYMOUS作为用户名进行登录,通常可使用任何口令或只按回车键。HDLC(High-Level Data Link Control)高层数据链路协议它是一组用于在网络结点间传送数据的协议。在HDLC中,数据被组成一个个的单元(称为帧)通过网络发送,并由接收方确认收到。HDLC协议也管理数据流和数据发送的间隔时间。HDLC是在数据链路层中最广泛最使用的协议之一。现在作为ISO的标准,HDLC是基于IBM的SDLC协议的,SDLC被广泛用于IBM的大型机环境之中。在HDLC中,属于SDLC的被称为通响应模式(NRM)。在通常响应模式中,基站(通常是大型机)发送数据给本地或远程的二级站。不同类型的HDLC被用于使用X.25协议的网络和帧中继网络,这种协议可以在局域网或广域网中使用,无论此网是公共的还是私人的。HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1它是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议族之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。您的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。ICMP(Internet Control Message Protocol)Internet控制信息协议它是一个在主机和网关之间消息控制和差错报告协议。ICMP使用IP数据报,但消息由TCP/IP软件处理,对于应用程序使用者是不可见的。在被称为Catenet的系统中,IP协议被用作主机到主机的数据报服务。网络连接设备称为网关。这些网关通过网关到网关协议(GGP)相互交换用于控制的信息。通常,赡养或目的主机将和源主机通信,例如,为报告在数据报过程中的错误。为了这个目的才使用了ICMP,它使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。ICMP消息在以下几种情况下发送:当数据报不能到达目的地时,当网关的已经失去缓存功能,当网关能够引导主机在更短路由上发送。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。 一些数据报仍将在没有任何报告的情况下丢失。
IP协议:互联网协议 主要用于负责IP寻址、路由选择和IP数据包的分割和组装。通常我们所说的IP地址可以理解为符合IP协议的地址。2.TCP协议:传输控制协议该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP协议可以进行IP数据包的分割和组装,但是通过IP协议并不能清楚地了解到数据包是否顺利地发送给目标计算机。而使用TCP协议就不同了,在该协议传输模式中在将数据包成功发送给目标计算机后,TCP会要求发送一个确认;如果在某个时限内没有收到确认,那么TCP将重新发送数据包。另外,在传输的过程中,如果接收到无序、丢失以及被破坏的数据包,TCP还可以负责恢复。3.FTP(File Transfer Protocol):远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。4.HTTP:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。5.ARP协议:AddressResolutionProtocol地址解析协议 简单地说,ARP协议主要负责将局域网中的32为IP地址转换为对应的48位物理地址,即网卡的MAC地址。
一、计算机网络协议技就是网络规则,是各种硬件和软件共同遵循的守则。网络协议融合于其它所有的软件系统中,在网络中协议是无所不在的。网络协议遍及OSI通信模型的各个层次,从比较常见的TCP/IP、HTTP、FTP协议,到OSPF、IGP等特殊协议,有上千种之多。局域网常用TCP/IP、NetBEUI、IPX/SPX这三种通信协议。 二、TCP/IP协议是最重要、最基础、最麻烦的一个,上网时需要详细设置IP地址、网关、子网掩码、DNS服务器等参数,不过随着技术的进步,现在基本是自动获取了。三、TCP/IP协议族中互为关联的协议有上百个之多,且都有不同的功能,分布在不同的协议层, 常用协议如下:1、UDP:用户数据包协议,位于传输层,和IP协议配合使用,因为不能提供数据包的重传,所以适合传输较短的文件;2、NFS:网络文件服务器,可使多台计算机透明地访问彼此的目录;3、FTP:远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上;4、SMTP:简单邮政传输协议,用于传输电子邮件;5、Telnet:提供远程登录功能,一台计算机用户可以登录到远程的另一台计算机上,如同在远程主机上直接操作一样。 四、计算机网络协议是一种特殊的软件,是实现计算机网络功能的最基本要求。现在互联网技术是飞速发展的,计算机网络协议也千变万化,想要详细了解需要大量的时间和精力才行。
网络协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。而常用的五种网络协议是HTTP协议、POP3协议、SMTP协议、FTP协议、DNS协议。

互联网协议包括哪些?
目前网络协议有许多种,但是最基本的协议是TCP/IP协议,许多协议都是它的子协议。下面我们就对TCP/IP协议作一下简单介绍。 1 TCP/IP协议基础 TCP/IP协议包括两个子协议:一个是TCP协议(Transmission Control Protocol,传输控制协议),另一个是IP协议(Internet Protocol,互联网协议),它起源于20世纪60年代末。 在TCP/IP协议中,TCP协议和IP协议各有分工。TCP协议是IP协议的高层协议,TCP在IP之上提供了一个可靠的,连接方式的协议。TCP协议能保证数据包的传输以及正确的传输顺序,并且它可以确认包头和包内数据的准确性。如果在传输期间出现丢包或错包的情况,TCP负责重新传输出错的包,这样的可靠性使得TCP/IP协议在会话式传输中得到充分应用。IP协议为TCP/IP协议集中的其它所有协议提供“包传输”功能,IP协议为计算机上的数据提供一个最有效的无连接传输系统,也就是说IP包不能保证到达目的地,接收方也不能保证按顺序收到IP包,它仅能确认IP包头的完整性。最终确认包是否到达目的地,还要依靠TCP协议,因为TCP协议是有连接服务。 【说明】在计算机服务中如果按连接方式来分的话,可分为“有连接服务”和“无连接服务”两种。“有连接服务”必须先建立连接才能提供相应服务,而“无连接服务”则不需先建立连接。TCP协议是一种典型的有连接协议,而UDP协议则是典型的无连接服务。 (1)TCP/IP协议所包括的协议和工具 TCP/IP协议是一组网络协议的集合,它主要包括以下几方面的协议和工具。 ·TCP/IP协议核心协议 这些核心协议除了自身外,还包括用户数据报协议(UDP协议)、地址代理协议(ARP协议)以及网间控制协议(ICMP协议)。这组协议提供了一系列计算机互连和网络互连的标准协议。 ·应用接口协议 这类协议主要包括Windows套接字(Socket,用于开发网络应用程序)、远程调用、NetBIOS协议(用于建立逻辑名和网络上的会话)和网络动态数据交换(Network,用于通过网络共享嵌入在文本中的信息)。 ·基本的TCP/IP协议互连应用协议 主要包括finger、ftp、rep、rsh、telnet、tftp等协议。这些工具协议使得Windows系统用户使用非Microsoft系统计算机上(如UNIX系统计算机)的资源成为可能。 ·TCP/IP协议诊断工具 这些工具包括arp、hostname、ipconfig、nbstat、netstat、ping和route,它们可用来检测并恢复TCP/IP协议网络故障。 ·有关服务和管理工具 这些服务和管理工具包括FTP服务器服务(用于在两个远程计算机之间传输文件,这是远程控制通信中的关键功能)、网际命名服务WINS(用于在一个网际上动态记录和询问计算机的名字)、动态计算机配置协议DHCP(用于在Windows NT计算机上自动配置TCP/IP协议)以及TCP/IP协议打印(主要用于远程打印和网络打印)。 ·简单网络管理协议代理(SNMP) 这个工具允许通过使用管理工具(如“Sun Net Manages” 或“HP Open View”),从远程管理Windows NT计算机。 (2)TCP/IP的主要协议简述 为了使读者能全面了解一些基本的网络通信协议和服务,本节就对TCP/IP协议所包括的几种主要协议进行简要说明。 ·远程登录协议(Telnet)Telnet协议是用来登录到远程计算机上,并进行信息访问,通过它可以访问所有的数据库、联机游戏、对话服务以及电子公告牌,如同与被访问的计算机在同一房间中工作一样,但只能进行些字符类*作和会话。·文件传输协议(Ftp)这是文件传输的基本协议,有了FTP协议就可以把的文件进行上传,也可从网上得到许多应用程序和信息(下载),有许多软件站点就是通过FTP协议来为用户提供下载任务的,俗称“FTP服务器”。最初的FTP程序是工作在UNIX系统下的,而目前的许多FTP程序是工作在Windows系统下的。FTP程序除了完成文件的传送之外,还允许用户建立与远程计算机的连接,登录到远程计算机上,并可在远程计算机上的目录间移动。 ·电子邮件服务(Email)电子邮件服务是目前最常见、应用最广泛的一种到联网服务。通过电子邮件,可以与Internet上的任何人交换信息。电子邮件的快速、高效、方便以及价廉,越来越得到了广泛的应用,目前只要是上过网的网民就肯定用过电子邮件这种服务。目前,全球平均每天约有几千万份电子邮件在网上传输。·WWW服务WWW服务(3W服务)也是目前应用最广的一种基本互联网应用,我们每天上网都要用到这种服务。通过WWW服务,只要用鼠标进行本地*作,就可以到达世界上的任何地方。由于WWW服务使用的是超文本链接(HTML),所以可以很方便的从一个信息页转换到另一个信息页。它不仅能查看文字,还可以欣赏图片、音乐、动画。最流行的WWW服务的程序就是微软的IE浏览器。·简单邮件传输协议(SMTP)SMTP是TCP/IP协议族的一个成员,这种协议认为你的计算机是永久连接在Internet上的,而且认为你在网络上的计算机在任何时候是可以被访问的。它适用于永久连接在Internet的计算机,但无****使用通过SLIP/PPP协议连接的用户接收电子邮件。解决这个问题的办****是在邮件计算机上同时运行SMTP和POP协议的程序,SMTP负责邮件的发送和在邮件计算机上的分拣和存储,POP协议负责将邮件通过SLIP/PPP协议连接传送到用户计算机上。·信息服务(Gopher)Gopher最早出现在1991年,它是第一个*作简便、使用广泛的从Internet服务器上获取信息的客户应用程序。除了*作简便外,它的另一个特点是速度快。Gopher运行时,将显示一个交互式的供用户选择的菜单,菜单中的选项由简单的短句组成,每个短句通常指向另一个菜单,并最终指向有用的文件。Gopher是帮助用户在Internet信息海洋中搜索有用信息的导航器。用户只要关心浏览的内容,而不必关心具体的服务器。·文件检索服务(Archie)它是一个从整个Internet上匿名FTP服务器获取文件的服务。其完全依赖于匿名FTP系统的管理员,他们将站点在全世界的Archie服务器进行了注册,Archie仅通过文件名进行检索
TCP/IP协议、IPX/SPX协议、NetBEUI协议网络上的计算机之间又是如何交换信息的呢?就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它定义了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。一台设备上的第n层与另一台设备上的第n层进行通信的规则就是第n层协议。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中用得的比较多的是IPX/SPX.。用户如果访问Internet,则必须在网络协议中添加TCP/IP协议。TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。 对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip地址,而是使用网卡的物理地址即(MAC)地址。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft等,到现在很多软件和硬件也均支持这种协议。NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。
常见的互联网协议包括:ARP(Address Resolution Protocol)地址解析协议SNMP(Simple Network Management Protocol)网络管理协议AppleShare protocol(AppleShare协议)AppleTalk协议它是Macintosh计算机使用的主要网络协议。BGP4(Border Gateway Protocol Vertion 4)边界网关协议-版本4BOOTP协议它是一个基于TCP/IP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,CMIP(Common Management Information Protocol)通用管理信息协议它是建立在开放系统互连通信模式上的网络管理协议。Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议在广域网中,两台计算机建立物理连接过程所使用的协议,这种物理连接要持续到成功地交换完数据为止。DHCP(Dynamic Host Configuration Protocol)动态主机配置协议它是在TCP/IP网络上使客户机获得配置信息的协议,它是基于BOOTP协议,Discard Protocol抛弃协议它的作用就是接收到什么抛弃什么,它对调试网络状态的一定的用处。Echo Protocol协议这个协议主要用于调试和检测中。FTP(File Transfer Protocol)文件传输协议它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。HDLC(High-Level Data Link Control)高层数据链路协议它是一组用于在网络结点间传送数据的协议。HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,ICMP(Internet Control Message Protocol)Internet控制信息协议IMAP4(Internet Mail Access Protocol Version 4)Internet邮件访问协议-版本4NNTP(Network News Transfer Protocol)网络新闻传输协议NNTP同POP3协议一样,也存在某些局限性。IOTP(Internet Open Trading Protocol)Internet开放贸易协议IPv6(Internet Protocol Version 6)Internet协议-版本6IPX/SPX(Internetwork Packet Exchange/Sequential PacketExchange)互连网包交换/顺序包交换它是由Novell提出的用于客户/服务器相连的网络协议。OSPF(Open Shortest Path First)开放最短路优先POP3(Post Office Protocol Version 3)邮局协议-版本3它是一个关于接收电子邮件的客户/服务器协议。PPP(Point to Point Protocol)点对点协议它是用于串行接口的两台计算机的通信协议,RIP(Routing Infomation Protocol)路由信息协议SLIP(Serial Line Internet Protocol)串行线路Internet协议SMB protocol (Server Message Block protocol)服务器信息块协议LMTP(Local Mail Transfer Protocol)本地邮件传输协议SMTP(Simple Mail Transfer Protocol)简单邮件传送协议Talk协议Talk协议能使远程计算机上的两个用户以实时方式进行通信。TELNET Protocol虚拟终端协议Time Protocol时间协议TFTP(Trivial File Transfer Protocol)小文件传输协议UDP(User Datagram Protocol)用户数据报协议它是定义用来在互连网络环境中提供包交换的计算机通信的协议,UUCP(UNIX-to-UNIX Copy Protocol)UNIX至UNIX拷贝协议它是一组用于在不同UNIX系统之间复制(传送)文件或传送用于其它UNIX系统执行命令的一组指令,是UNIX网络的基础。
互联网协议(IP)是互联网协议群(Internet Protocol Suite ,IPS)中众多通信协议中的一个,也是其中最重要的一个。专家们一般将IPS解释为一个协议堆栈,它可以将应用程序的信息(比如电子邮件或者网页传输的内容)转换为网络可以传输的数据包。“互联网协议(IP)特指为实现在一个相互连接的网络系统上从一个源到一个目的地传输比特数据包(互联网数据包)所提供必要功能的协议。其中并没有增加端到端数据可靠性机制、流量控制机制、排序机制或者其它在端到端协议常见的功能机制。互联网协议可在其支持的网络上提供相应服务,实现多种类型和品质的服务。”

TCP-IP协议详解(3) IP/ARP/RIP/BGP协议
网络层(network layer)是实现互联网的最重要的一层。正是在网络层面上,各个局域网根据IP协议相互连接,最终构成覆盖全球的Internet。更高层的协议,无论是TCP还是UDP,必须通过网络层的IP数据包(datagram)来传递信息。操作系统也会提供该层的socket,从而允许用户直接操作IP包。 IP数据包是符合IP协议的信息(也就是0/1序列),我们后面简称IP数据包为IP包。IP包分为头部(header)和数据(Data)两部分。数据部分是要传送的信息,头部是为了能够实现传输而附加的信息(这与以太网帧的头部功能相类似,如果对帧感到陌生,可参看 小喇叭 一文)。IP协议可以分为IPv4和IPv6两种。IPv6是改进版本,用于在未来取代IPv4协议。出于本文的目的,我们可以暂时忽略两者的区别,只以IPv4为例。下面是IPv4的格式IPv4包 我们按照4 bytes将整个序列折叠,以便更好的显示与帧类似,IP包的头部也有多个区域。我们将注意力放在红色的发出地(source address)和目的地(destination address)。它们都是IP地址。IPv4的地址为4 bytes的长度(也就是32位)。我们通常将IPv4的地址分为四个十进制的数,每个数的范围为0-255,比如192.0.0.1就是一个IP地址。填写在IP包头部的是该地址的二进制形式。IP地址是全球地址,它可以识别”社区”(局域网)和”房子”(主机)。这是通过将IP地址分类实现的。IP class From To Subnet MaskA 1.0.0.0 126.255.255.255 255.0.0.0B 128.0.0.0 191.255.255.255 255.255.0.0C 192.0.0.0 223.255.255.255 255.255.255.0每个IP地址的32位分为前后两部分,第一部分用来区分局域网,第二个部分用来区分该局域网的主机。子网掩码(Subnet Mask)告诉我们这两部分的分界线,比如255.0.0.0(也就是8个1和24个0)表示前8位用于区分局域网,后24位用于区分主机。由于A、B、C分类是已经规定好的,所以当一个IP地址属于B类范围时,我们就知道它的前16位和后16位分别表示局域网和主机。网络协议概览 中说,IP地址是分配给每个房子(计算机)的“邮编”。但这个说法并不精确。IP地址实际上识别的是网卡(NIC, Network Interface Card)。网卡是计算机的一个硬件,它在接收到网路信息之后,将信息交给计算机(处理器/内存)。当计算机需要发送信息的时候,也要通过网卡发送。一台计算机可以有不只一个网卡,比如笔记本就有一个以太网卡和一个WiFi网卡。计算机在接收或者发送信息的时候,要先决定想要通过哪个网卡。NIC路由器(router)实际上就是一台配备有多个网卡的专用电脑。它让网卡接入到不同的网络中,这样,就构成在 网络协议概览 中所说的邮局。比如下图中位于中间位置的路由器有两个网卡,地址分别为199.165.145.17和199.165.146.3。它们分别接入到两个网络:199.165.145和199.165.146。IP包的传输要通过路由器的接力。每一个主机和路由中都存有一个路由表(routing table)。路由表根据目的地的IP地址,规定了等待发送的IP包所应该走的路线。就好像下图的路标,如果地址是“东京”,那么请转左;如果地址是“悉尼”,那么请向右。A real world routing table比如我们从主机145.17生成发送到146.21的IP包:铺开信纸,写好信的开头(剩下数据部分可以是TCP包,可以是UDP包,也可以是任意乱写的字,我们暂时不关心),注明目的地IP地址(199.165.146.21)和发出地IP地址(199.165.145.17)。主机145.17随后参照自己的routing table,里面有三行记录:145.17 routing table (Genmask为子网掩码,Iface用于说明使用哪个网卡接口)Destination Gateway Genmask Iface199.165.145.0 0.0.0.0 255.255.255.0 eth00.0.0.0 199.165.145.17 0.0.0.0 eth0这里有两行记录。第一行表示,如果IP目的地是199.165.145.0这个网络的主机,那么只需要自己在eth0上的网卡直接传送(“本地社区”:直接送达),不需要前往router(Gateway 0.0.0.0 = “本地送信”)。第二行表示所有不符合第一行的IP目的地,都应该送往Gateway 199.165.145.17,也就是中间router接入在eth0的网卡IP地址(邮局在eth0的分支)。我们的IP包目的地为199.165.146.21,不符合第一行,所以按照第二行,发送到中间的router。主机145.17会将IP包放入帧的payload,并在帧的头部写上199.165.145.17对应的MAC地址,这样,就可以按照 以太网与wifi协议 中的方法在局域网中传送了。中间的router在收到IP包之后(实际上是收到以太协议的帧,然后从帧中的payload读取IP包),提取目的地IP地址,然后对照自己的routing table:Destination Gateway Genmask Iface199.165.145.0 0.0.0.0 255.255.255.0 eth0199.165.146.0 0.0.0.0 255.255.255.0 eth10.0.0.0 199.165.146.8 0.0.0.0 eth1从前两行我们看到,由于router横跨eth0和eth1两个网络,它可以直接通过eth0和eth1上的网卡直接传送IP包。第三行表示,如果是前面两行之外的IP地址,则需要通过eth1,送往199.165.146.8(右边的router)。我们的目的地符合第二行,所以将IP放入一个新的帧中,在帧的头部写上199.165.146.21的MAC地址,直接发往主机146.21。(在Linux下,可以使用$route -n来查看routing table)IP包可以进一步接力,到达更远的主机。IP包从主机出发,根据沿途路由器的routing table指导,在router间接力。IP包最终到达某个router,这个router与目标主机位于一个局域网中,可以直接建立连接层的通信。最后,IP包被送到目标主机。这样一个过程叫做routing(我们就叫IP包接力好了,路由这个词实在是混合了太多的意思)。整个过程中,IP包不断被主机和路由封装入帧(信封)并拆开,然后借助连接层,在局域网的各个NIC之间传送帧。整个过程中,我们的IP包的内容保持完整,没有发生变化。最终的效果是一个IP包从一个主机传送到另一个主机。利用IP包,我们不需要去操心底层(比如连接层)发生了什么。在上面的过程中,我们实际上假设了,每一台主机和路由都能了解局域网内的IP地址和MAC地址的对应关系,这是实现IP包封装(encapsulation)到帧的基本条件。IP地址与MAC地址的对应是通过ARP协议传播到局域网的每个主机和路由。每一台主机或路由中都有一个ARP cache,用以存储局域网内IP地址和MAC地址如何对应。ARP协议(ARP介于连接层和网络层之间,ARP包需要包裹在一个帧中)的工作方式如下:主机会发出一个ARP包,该ARP包中包含有自己的IP地址和MAC地址。通过ARP包,主机以广播的形式询问局域网上所有的主机和路由:我是IP地址xxxx,我的MAC地址是xxxx,有人知道199.165.146.4的MAC地址吗?拥有该IP地址的主机会回复发出请求的主机:哦,我知道,这个IP地址属于我的一个NIC,它的MAC地址是xxxxxx。由于发送ARP请求的主机采取的是广播形式,并附带有自己的IP地址和MAC地址,其他的主机和路由会同时检查自己的ARP cache,如果不符合,则更新自己的ARP cache。这样,经过几次ARP请求之后,ARP cache会达到稳定。如果局域网上设备发生变动,ARP重复上面过程。(在Linux下,可以使用$arp命令来查看ARP的过程。ARP协议只用于IPv4。IPv6使用Neighbor Discovery Protocol来替代ARP的功能。)我们还有另一个假设,就是每个主机和路由上都已经有了合理的routing table。这个routint table描述了网络的拓扑(topology)结构。如果你了解自己的网络连接,可以手写自己主机的routing table。但是,一个路由器可能有多个出口,所以routing table可能会很长。更重要的是,周围连接的其他路由器可能发生变动(比如新增路由器或者路由器坏掉),我们就需要routing table能及时将交通导向其他的出口。我们需要一种更加智能的探测周围的网络拓扑结构,并自动生成routing table。我们以北京地铁为例子。如果从机场前往朝阳门,那么可以采取2号航站楼->>三元桥->>东直门->>朝阳门。2号航站楼和朝阳门分别是出发和目的主机。而三元桥和东直门为中间的两个router。如果三元桥->>东直门段因为维修停运,我们需要更改三元桥的routing table,从而给前往朝阳门的乘客(IP包)指示:请走如下路线三元桥->>芍药居。然后依照芍药居的routing table前往朝阳门(芍药居->>东直门->>朝阳门)。一种用来生成routing table的协议是RIP(Routing Information Protocol)。它通过距离来决定routing table,所以属于distance-vector protocol。对于RIP来说,所谓的距离是从出发地到目的地途径的路由器数目(hop number)。比如上面从机场到朝阳门,按照2号航站楼->>三元桥->>东直门->>朝阳门路线,途径两个路由器,距离为2。我们最初可以手动生成三元桥的routing table。随后,根据RIP协议,三元桥向周围的路由器和主机广播自己前往各个IP的距离(比如到机场=0,团结湖=0,国贸=1,望京西=1,建国门=2)。收到RIP包的路由器和主机根据RIP包和自己到发送RIP包的主机的距离,算出自己前往各个IP的距离。东直门与三元桥的距离为1。东直门收到三元桥的RIP包(到机场的距离为0),那么东直门途径三元桥前往机场的距离为1+0=1。如果东直门自己的RIP记录都比这个远(比如东直门->>芍药居->>三元桥->>机场 = 2)。那么东直门更改自己的routing table:前往机场的交通都发往三元桥而不是芍药居。如果东直门自身的RIP记录并不差,那么东直门保持routing table不变。上述过程在各个点不断重复RIP广播/计算距离/更新routing table的过程,最终所有的主机和路由器都能生成最合理的路径(merge)。(RIP的基本逻辑是:如果A距离B为6,而我距离A为1,那么我途径A到B的距离为7)RIP出于技术上的原因(looping hops),认为距离超过15的IP不可到达。所以RIP更多用于互联网的一部分(比如整个中国电信的网络)。这样一个互联网的部分往往属于同一个ISP或者有同一个管理机构,所以叫做自治系统(AS,autonomous system)。自治系统内部的主机和路由根据通向外部的边界路由器来和其它的自治系统通信。各个边界路由器之间通过BGP(Border Gateway Protocol)来生成自己前往其它AS的routing table,而自治系统内部则参照边界路由器,使用RIP来决定routing table。BGP的基本工作过程与RIP类似,但在考虑距离的同时,也权衡比如政策、连接性能等其他因素,再决定交通的走向(routing table)。我们一开始讲述了IP包根据routing table进行接力的过程。为了顺利实现接力,我们又进一步深入到ARP和RIP/BGP。这三个协议都协助了IP传输。ARP让每台电脑和路由器知道自己局域网内IP地址和MAC地址的对应关系,从而顺利实现IP包到帧的封装。RIP协议可以生成自治系统内部合理的routing table。BGP协议可以生成自治系统外部的routing table。在整个过程中,我们都将注意力放在了IP包大的传输过程中,而故意忽略一些细节。 而上面的IP接力过程适用于IPv6。【TCP/IP详解】系列教程互联网协议入门 1互联网协议入门 2TCP-IP协议详解(1)网络协议概观TCP-IP协议详解(2) 以太网与WiFi协议TCP-IP协议详解(3) IP/ARP/RIP/BGP协议TCP-IP协议详解(4)IPv4与IPv6地址TCP-IP协议详解(5)IP协议详解TCP-IP协议详解(6) ICMP协议TCP-IP协议详解(7) UDP协议TCP-IP协议详解(8) TCP协议与流通信TCP-IP协议详解(9) TCP连接TCP-IP协议详解(10) TCP滑窗管理TCP-IP协议详解(11) TCP重传TCP-IP协议详解(12) TCP堵塞控制TCP-IP协议详解(13) DNS协议TCP-IP协议详解(14) CIDR与NATTCP-IP协议详解(15) HTTP协议概览 图解TCP-IP协议

任何网络都必须用tcp/ip协议???举例说明
TCP/IP是互联网的标准协议。可以说如果你的机器接入了互联网,则一定要使用TCP/IP协议族。。 如果,你的电脑仅仅是连接在局域网中,那么不用TCP/IP完全可以。
现在基本上所有的计算机系统互联网络都是用的TCP/IP协议,这已经是一个通用的网络连接协议了,其分级只在物理层之上,属于链路层协议。很多其他的网络协议比如可靠多播协议,数据包计划协议等都属于应用层协议,也就是在这个协议的基础上应用的。 至于是不是有其他的种类的链路层协议,这谁也说不清楚。有可能有些需要及其保密的单位有用到单独开发的链路层协议也不一定。

传输层协议(TCP, UDP)
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)。为了简化问题说明,本课程以Telnet为例描述相关技术。设备支持通过Telnet协议和Stelnet协议登录。使用Telnet,Stelnet v1协议存在安全风险,建议你使用STelnet v2登录设备。为了简化问题说明,本课程以FTP为例来描述相关技术。设备支持通过FTP协议,TFTP以及SFTP传输文件。使用FTP,TFTP,SFTP v1协议存在风险,建议使用SFTP v2方式进行文件操作。TCP是一种面向连接的传输层协议,提供可靠的传输服务。TCP是一种面向连接的端到端协议。TCP作为传输控制协议,可以为主机提供可靠的数据传输。TCP需要依赖网络协议为主机提供可用的传输路径。TCP允许一个主机同事运行多个应用进程。每台主机可以拥有多个应用端口,没对端口号,源和目标IP地址的组合唯一地标识了一个会话。端口分为知名端口和动态端口。有些网络服务会使用固定的端口,这类端口称为知名端口,端口号范围为 0~1023 。比如:FTP,HTTP,Telnet,SNMP服务均使用知名端口。动态端口范围 1024~65535 ,这些端口号一般不会固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。TCP通常使用IP作为网络层协议,这是TCP数据被封装在IP数据包内。TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。TCP Header是由如上图标识一些字段组成,这里列出几个常用字段。注意:1)主机A(通常也叫客户端)发送一个标识了SYN数据段,标识期望与服务器A建立连接,此数据段的序列号(seq)为a;2)服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。3)主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文段的确认。TCP是一种可靠的,面向连接的全双工传输层协议。TCP连接的简历是一个三次握手的过程。TCP的可靠传输还提现在TCP使用了确认技术来确保目的设备收到了从源设备发来的数据,并且是准确无误的。确认技术的工作原理如下:目的设备接收到源设备发送的数据段时,会向源端发送确认报文,源设备收到确认报文后,继续发送数据段,如此重复。如图所示,主机A向服务器A发送TCP数据段,为描述方便假设每个数据段的长度都是500个字节。当服务器A成功收到序列号是M+1499的字节以及之前的所有字节时,会以序列号M+1400+1=M+1500进行确认。另外,由于数据段N+3传输失败,所以服务器A未能收到序列号为M+1500的字节,因此服务器A还会再次以序列号M+1500进行确认。注意:上面说到,数据段 N+3 传输失败,那么第二次确认号M+1500,主机A会将N+3,N+4,N+5全部发送一次。TCP滑动窗口技术通过动态改变窗口大小来实现对端到端设备之间的数据传输进行流量控制。如图所示,主机A和服务器A之间通过滑动窗口来实现流量控制。为了方便理解,此例中只考虑主机A发送数据给服务器A时,服务器A通过滑动窗口进行流量控制。例子中:主机A向服务器发送4个长度为1024字节的数据段,其中主机的窗口大小为4096个字节。服务器A收到第3个字节之后,缓存区满,第4个数据段被丢弃。服务器以ACK3073(1024*3=3072)响应,窗口大小调整为3072,表明服务器的缓冲区只能处理3072个字节的数据段。于是主机A改变其发送速率,发送窗口大小为3072的数据段。主机在关闭连接之前,要确认收到来自对方的ACK。TCP支持全双工模式传输数据,这意味着统一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,一次在传输完毕后,两个方向的连接必须都关闭。TCP连接的建立是一个三次握手过程,而TCP连接的终止则要经过四次挥别。如图:1.主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。2.服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。3.服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认好为a+1。4.主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。以上四次交互完成了两个方向连接的关闭。TCP断开连接的步骤,这个比较详细:https://blog.csdn.net/ctrl_qun/article/details/52518479UDP是一种面向无连接的传输层协议,传输可靠性没有保证。当应用程序对传输的可靠性要求不高时,但是对传输速度和延迟要求较高时,可以用UDP协议来替代TCP协议在传输层控制数据的转发。UDP将数据从源端发送到目的端时,无需事先建立连接。UDP采用了简单,容易操作的机制在应用程序间传输数据,没有使用TCP中的确认技术或滑动窗口机制,因此UDP不能保证数据传输的可靠性,也无法避免接受到重复数据的情况。UDP头部仅占8个字节,传输数据时没有确认机制(注意,但是有校验和)。UDP报文分为UDP报文头和UDP数据区域两个部分。报头由源端
本文由 在线网速测试 整理编辑,转载请注明出处。