tcp/ip的工作原理
这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。CP/IP协议的组成TCP/IP协议在一定程度上参考了OSI的体系结构。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。(1)应用层、表示层、会话层三个层次提供的服务相差不是很大,所以在TCP/IP协议中,它们被合并为应用层一个层次。(2)由于运输层和网络层在网络协议中的地位十分重要,所以在TCP/IP协议中它们被作为独立的两个层次。以上内容参考:百度百科-TCP/IP协议
TCP/IP协议工作原理: 中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。 通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。
(1) 在源主机上应用层将一串字节流传给传输层; (2) 传输层将字节流分成TCP段,加上TCP包头交给互联网络(IP)层;(3) IP层生成一个包,将TCP段放人其数据域,并加上源和目的主机的IPIP包交给数据链路层;(4) 数据链路层在其帧的数据部分装IP包,发往日的主机或IP路由器;(5) 在目的主机,数据链路层将数据链路层帧头去掉,将IP包交给互联网层;(6) IP层检查IP包头,如果包头中的校验和与计算出来的不一致,则丢弃该包;(7) 如果校验和一致,IP层去掉IP头,将TCP段交给TCP层,TCP层检查顺序号来判断是否为正确的TCP段;(8) TCP层为TCP包头计算TCP头和数据。如果不对,TCP层丢弃这个包,若对,则向源主机发送确认;(9) 在目的主机,TCP层去掉TCP头,将字节流传给应用程序;(10) 于是目的主机收到了源主机发来的字节流,就像直接从源主机发来的一样。 实际上每往下一层,便多加了一个报头,而这个头对上层来说是透明的,上层根本感觉不到下面报头的存在。如下图3-10所示,假设物理网络是以太网,上述基于TCP/IP的文件传输(FTP)应用打包过程便是一个逐层封装的过程,当到达目的主机时,则从下而上去掉包头。
TCP/IP 的工作原理 下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。TCP/IP协议的工作流程如下:●在源主机上,应用层将一串应用数据流传送给传输层。●传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。●在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。●链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。●在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。●网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。●传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。 ●在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。

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

Internet协议(TCP/IP)怎么设置?
Internet协议(TCP/IP)协议设置步骤如下:1、找到桌面上的“网络”图标。2、“网络”图标上右键,属性。3、找到internet选项,点击下面的网络。4、在网络连接状态界面,点击下面的属性。5、在网络连接属性界面,就可以看到internet协议版本(TCP/IP4)或(TCP/IP6),以internet协议版本(TCP/IP4)为例,左键双击点开即可打开。

Internet协议(TCP/IP)参数怎么设置
Internet协议(TCP/IP)的参数,先提条件你的网络是局域网,家用的电信ADSL和网通是不需要设置的,他们是靠拨号上网的。如果你的局域网的话,需要依据你路由器或交换机设置的IP地址来设置,例如你的交换机IP网段为192.168.0.X Internet协议(TCP/IP)的IP地址为:192.168.0.1-255之间,子网掩码为:255.255.255.0,默认网关为:192.168.0.X (也就是你交换机IP的网段)首选DNS必须是电信或网通的DNS,自己不能修改备用DNS是必须是电信或网通的DNS(一般电信和网通至少有两个DNS,备用的可设置,可不用设置)
知道固定IP可以设置固定IP。不知道自动获取就可以了。一般都是自动获取的。你若知道默认网关,也可以手动填写Internet TCPIP协议的IP地址。其实自动和手动获取IP所使用的带宽都是一样的。只要能上网就可以了。
除非你是固定IP上网,不然,这些参数全部设置成自动获得就可以了。 当你拨号的时候,或者用路由器上网的时候,会自动给你分配IP的。

http-tcpip协议
为了简化网络的复杂度,网络通讯的不同方面被分解为多层次的结构,每一层只与紧挨着的上层或者下层进行交互,将网络分层,这样可以修改,甚至替换每一层的软件,只要层于层之间的接口保持不变,就不会影响到其他层.网络分层的两种模型OSI(Open System Interconnection Reference Model):开放系统互联参考模型TCP/IP 协议族超文本传输协议(HyperText Transfer Protocol HTTP)一种无状态的,已请求/应道方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的草文本信息系统灵活互动.HTTP协议的请求报文和响应报文的结构基本相同,有3部分组成面向连接的,可靠的,基于字节流的传输层通讯协议特点 基于连接的:数据传输之前需要建立连接 全双工:双向传输(客户端和服务端传输时双向) 字节流:不限制数据大小,打包成报文段,保证有序接受,重复报文自动丢弃(在实际环境中,会出现tcp在传输中并不只会一条线路,可能有多条线路传输数据,本地是有序的发送,传输过程中运营商会分派很多线路,传输的数据被切割成多个片段,由不同的tcp连接传输,可能导致接收端有乱序 重复的数据产生,tcp接收端会重新排序和去重) 流量缓冲,:解决双发处理能力的不匹配(发送端能力强接收端能力弱,就需要流量缓冲,将消息放到队列里一点点处理) 可靠性传输:保证可达,丢包时通过重试机制实现可靠性(如果网络抖动造成的重试,tcp接收端去重,每次发送完数据会接受到接收端传来的反馈,如果没有则重复发送) 拥塞控制:防止防落出现恶行的拥塞 TCP的3次握手 Tcp的报文1)源端口:sourceport 源端口和IP地址的作用是标识报文的返回地址。端口是一般是客户端随机生成2)目的端口:destport端口指明接收方计算机上的应用程序接口。服务端端口比如80 8080TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。(sequence number/acknowledement number)是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0。Tcp每一次传输是块的并不是一次全部传送,序号来排序,序号和确认号保证传输的可靠性.4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。SYN=1和ACK=1是服务端返回应答报文,三次握手的第二部.3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。当SYN=1和ACK=0就是客户端发送报文用来建立连接.6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。四次挥手中用来确认即将断开连接的标识符.滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个16bit字段,因而窗口大小最大为65535。奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。

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