TYCP/IP协议详解
TCP/IP协议 (传输控制协议/网间协议) TCP/IP 协议集确立了 Internet 的技术基础。TCP/IP 的发展始于美国 DOD (国防部)方案。 IAB (Internet 架构委员会)的下属工作组 IETF (Internet 工程任务组)研发了其中多数协议。 IAB 最初由美国政府发起,如今转变为公开而自治的机构。IAB 协同研究和开发 TCP/IP 协议集的底层结构,并引导着 Internet 的发展。TCP/IP 协议集记录在请求注解(RFC)文件中,RFC 文件均由 IETF 委员会起草、讨论、传阅及核准。所有这些文件都是公开且免费的,且能在 IETF 网站上列出的参考文献中找到。TCP/IP 协议覆盖了 OSI 网络结构七层模型中的六层,并支持从交换(第二层)诸如多协议标记交换,到应用程序诸如邮件服务方面的功能。TCP/IP 的核心功能是寻址和路由选择(网络层的 IP/IPV6 )以及传输控制(传输层的 TCP、UDP)。IP (网际协议)在网络通信中,网络组件的寻址对信息的路由选择和传输来说是相当关键的。相同网络中的两台机器间的消息传输有各自的技术协定。LAN 是通过提供6字节的唯一标识符(“MAC”地址)在机器间发送消息的。SNA 网络中的每台机器都有一个逻辑单元及与其相应的网络地址。DECNET、AppleTalk 和 Novell IPX 均有一个用来分配编号到各个本地网和工作站的配置。除了本地或特定提供商的网络地址,IP 为世界范围内的各个网络设备都分配了一个唯一编号,即 IP 地址。IPV4 的 IP 地址为4字节,按照惯例,将每个字节转化成十进制(0-255)并以点分隔各字节。IPV6 的 IP 地址已经增加到16字节。关于 IP 和 IPV6 协议的详细说明,在相关文件中再另作介绍。TCP (传输控制协议)通过序列化应答和必要时重发数据包,TCP 为应用程序提供了可靠的传输流和虚拟连接服务。TCP 主要提供数据流转送,可靠传输,有效流控制,全双工操作和多路传输技术。可查阅 TCP 部分获取更多详细资料。在下面的 TCP/IP 协议表格中,我们根据协议功能和其在 OSI 七层网络通信参考模型的映射关系将其全部列出。然而,TCP/IP 并不完全遵循 OSI 模型,例如:大多数 TCP/IP 应用程序是直接在传输层协议 TCP 和 UDP 上运行,而不涉及其中的表示层和会话层。 主要协议表

试分析TCP/IP协议的体系结构和特点
1、TCP/IP体系结构TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。ARP: 地址解析协议(Address Resolution Protocol),此协议将网络地址映射到硬件地址。RARP: 反向地址解析协议(Reverse Address Resolution Protocol),此协议将硬件地址映射到网络地址。ICMP: 网间报文控制协议(Internet Control Message Protocol),此协议处理信关和主机的差错和传送控制。TCP: 传送控制协议(Transmission Control Protocol),这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程序使用TCP)UDP: 用户数据报协议(User Datagram Protocol),这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。FTP: 文件传输协议(File Transfer Protocol),允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另一主机相互通信。SMTP: 简单邮件传送协议(Simple Mail Transfer Protocol),SMTP协议为系统之间传送电子邮件。TELNET:终端协议(Telnet Terminal Procotol),允许用户以虚终端方式访问远程主机。HTTP: 超文本传输协议(Hypertext Transfer Procotol)。TFTP: 简单文件传输协议(Trivial File Transfer Protocol)。2、TCP/IP特点:TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面有两种形式:(1)是由内核心直接提供的系统调用;(2)使用以库函数方式提供的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程序才能实现,所以要使用套接字(socket)来实现。
(1)开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统; (2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网中; (3)统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址; (4)标准化的高层协议,可以提供多种可靠的用户服务。

TCP/IP协议详解
这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。TCP/IP中的协议以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:1. IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。2. TCP如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。3.UDPUDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。4.ICMPICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。5. TCP和UDP的端口结构TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:源IP地址发送包的IP地址。目的IP地址 接收包的IP地址。源端口 源系统上的连接的端口。目的端口目的系统上的连接的端口。 端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

IP协议的主要功能是什么?
其中包括两个部分: (1)寻址与路由。(a)用IP地址来标识Internet的主机:在每个IP数据报中,都会携带源IP地址和目标IP地址来标识该IP数据报的源和目的主机。IP数据报在传输过程中,每个中间节点(IP网关)还需要为其选择从源主机到目的主机的合适的转发路径(即路由)。IP协议可以根据路由选择协议提供的路由信息对IP数据报进行转发,直至抵达目的主机。(b)IP地址和MAC地址的匹配,ARP协议。数据链路层使用MAC地址来发送数据帧,因此在实际发送IP报文时,还需要进行IP地址和MAC地址的匹配,由TCP/IP协议簇中的ARP(地址解析协议)完成。(2)分段与重组。(a) IP数据报通过不同类型的通信网络发送,IP数据报的大小会受到这些网络所规定的最大传输单元(MTU)的限制。
ip协议的主要功能-用途:在相互连接的网络之间传递ip数据报。其中包括两个部分: (1)寻址与路由。(a)用ip地址来标识internet的主机:在每个ip数据报中,都会携带源ip地址和目标ip地址来标识该ip数据报的源和目的主机。ip数据报在传输过程中,每个中间节点(ip网关)还需要为其选择从源主机到目的主机的合适的转发路径(即路由)。ip协议可以根据路由选择协议提供的路由信息对ip数据报进行转发,直至抵达目的主机。(b)ip地址和mac地址的匹配,arp协议。数据链路层使用mac地址来发送数据帧,因此在实际发送ip报文时,还需要进行ip地址和mac地址的匹配,由tcp/ip协议簇中的arp(地址解析协议)完成。(2)分段与重组。(a)ip数据报通过不同类型的通信网络发送,ip数据报的大小会受到这些网络所规定的最大传输单元(mtu)的限制。 (b)将ip数据报拆分成一个个能够适合下层技术传输的小数据报,被分段后的ip数据报可以独立地在网络中进行转发,在到达目的主机后被重组,恢复成原来的ip数据报。

关于TCP/IP协议深度分析
TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP协议介绍 TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层(主机-网络层):接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。TCP/IP中的协议以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:1. IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。2. TCP如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。3.UDPUDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。4.ICMPICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。5. TCP和UDP的端口结构TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:源IP地址 发送包的IP地址。目的IP地址 接收包的IP地址。源端口 源系统上的连接的端口。目的端口 目的系统上的连接的端口。端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。TCP/IP协议的主要特点:(1)开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统;(2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网中;(3)统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址;(4)标准化的高层协议,可以提供多种可靠的用户服务。TCP/IP模型的主要缺点有: 首先,该模型没有清楚地区分哪些是规范、哪些是实现;其次,TCP/IP模型的主机—网络层定义了网络层与数据链路层的接口,并不是常规意义上的一层,接口和层的区别是非常重要的,TCP/IP模型没有将它们区分开来。
TCP/IP是Internet和企业通信网络的中枢,在近十年中变得更加复杂。如果您是一位网络专业人员,要适应这种复杂性,就需要在新的层次上对网络问题进行故障诊断——使用一些大多数书本上没介绍过的解决方法。本书从ICP/IP协议的角度讲述了如何分析和解决故障。Kevin Burns提供了对TCP/IP和相关协议的具体分析,并且以他在实际网络环境中遇到的问题为示例阐述了解决方法。 本书重点讲述了实际的解决方法,教您处理下列问题:选择正确的方法或工具进行问题诊断正确地配置协议分析仪来捕获需要的数据使用OSI模型分别从底层到问题发生的层次进行故障诊断分析ICP/IP协议包的核心协议,以理解它们的作用和它们之间的相互关系 度量网络性能并将这些标准应用于问题解决的过程中

本文由 在线网速测试 整理编辑,转载请注明出处。