① TCP/IP通信建立的过程怎样,端口有什么作用

在发出将建立通信会话的第一个数据包之前,发送方主机上的 TCP/IP 协议执行以下四个不同的步骤:

1.TCP/IP 将主机名或 NetBIOS 名称解析为 IP 地址。

2.使用目标 IP 地址和 IP 路由表,TCP/IP 确定要使用的接口和下一跃点 IP 地址。

3.对于共享访问技术(例如,以太网、令牌环和分布式光纤数据接口 (FDDI))上的单播 IP 流量,地址解析协议 (ARP) 将下一跃点 IP 地址解析为媒体访问控制 (MAC) 地址(也称为数据链接层地址)。

对于以太网和 FDDI 上的多播 IP 流量,目标多播 IP 地址会被映射到相应的多播 MAC 地址。对于令牌环上的多播 IP 流量,使用功能地址 0xC0-00-00-04-00-00。对于共享访问技术上的广播流量,MAC 地址会被映射到 0xFF-FF-FF-FF-FF-FF。

4.之后,IP 数据报会被发送到通过 ARP 解析的 MAC 地址、多播映射或 MAC 级广播地址。

网络访问要通过不同的协议进行,各种协议要通过不同的端口进行访问,如25端口是邮件端口,3389超级终端(就是木马程序最想打开的端口),8000=腾讯OICQ服务器端等等很多很多,记住常用的几个就可以了。

传输控制协议(TCP)/网络层协议是什么意思

当传送受差错干扰的数据,或基础网络故障,或网络负荷太重而使网际基本传输系统(无连接报文递交系统)不能正常工作时,就需要通过其它协议来保证通信的可靠。TCP就是这样的协议,它对应于OSI模型的运输层,它在IP协议的基础上,提供端到端的面向连接的可靠传输。 TCP采用“带重传的肯定确认”技术来实现传输的可靠性。简单的“带重传的肯定确认”是指与发送方通信的接收者,每接收一次数据,就送回一个确认报文,发送者对每个发出去的报文都留一份记录,等到收到确认之后再发出下一报文分组。发送者发出一个报文分组时,启动一个计时器,若计时器计数完毕,确认还未到达,则发送者重新送该报文分组。 简单的确认重传严重浪费带宽,TCP还采用一种称之为“滑动窗口”的流量控制机制来提高网络的吞吐量,窗口的范围决定了发送方发送的但未被接收方确认的数据报的数量。每当接收方正确收到一则报文时,窗口便向前滑动,这种机制使网络中未被确认的数据报数量增加,提高了网络的吞吐量。 TCP通信建立在面向连接的基础上,实现了一种“虚电路”的概念。双方通信之前,先建立一条连接,然后双方就可以在其上发送数据流。这种数据交换方式能提高效率,但事先建立连接和事后拆除连接需要开销。TCP连接的建立采用三次握手的过程,整个过程由发送方请求连接、接收方再发送一则关于确认的确认三个过程组成。 网络层协议OSI(开放系统互连)模型是一个由国际标准化组织定义的标准。它是一个分层体系结构,每层定义一个特定的通信类型。底层叫做物理层,负责把这些消息以比特流通过物理媒体进行传输。紧挨着物理层上面的各层定义如何将数据分组,以在物理网络上传输。在协议栈的更上面的各层定义如何建立和管理计算机之间的对话。最上面的各层定义应用程序如何与网络接口。OSI模型帮助开发者创建可在各种平台和操作系统上工作的产品。 网络层是协议栈的第三层,紧靠在物理层和数据链路层的上面。它是路由选择和负责网络寻址的层。从该层上面往下看,可以认为底下存在的是一个不可靠无连接的端对端的数据通路。最核心的协议当然是IP协议。此外还有ICMP,RIP,OSPF ,IS-IS,BGP,ARP,RARP等。请注意下面:

③ 传输控制协议TCP是如何可靠传输的

1.通过三次握手
2.设置了窗口 使它的传输有流量控制和差错控制实现的可靠传输
3.它是面向连接的协议不像udp

④ 简述TCP的流控机制

TCP概念
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
TCP原理
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元([1] MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体[1] 的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
流量控制
所谓流量控制就是让发送发送速率不要过快,让接收方来得及接收。利用滑动窗口机制就可以实施流量控制。原理这就是运用TCP报文段中的窗口大小字段来控制,发送方的发送窗口不可以大于接收方发回的窗口大小。考虑一种特殊的情况,就是接收方若没有缓存足够使用,就会发送零窗口大小的报文,此时发送放将发送窗口设置为0,停止发送数据。之后接收方有足够的缓存,发送了非零窗口大小的报文,但是这个报文在中途丢失的,那么发送方的发送窗口就一直为零导致死锁。解决这个问题,TCP为每一个连接设置一个持续计时器(persistence timer)。只要TCP的一方收到对方的零窗口通知,就启动该计时器,周期性的发送一个零窗口探测报文段。对方就在确认这个报文的时候给出现在的窗口大小(注意:TCP规定,即使设置为零窗口,也必须接收以下几种报文段:零窗口探测报文段、确认报文段和携带紧急数据的报文段)。
解释
1、比如发送端能发送5个数据,接收端也能收到5个数据,给个确认(ack)给发送端,确认我收到5个数据。如果网络通信出现繁忙或者拥塞的时候,接收端只能收3个数据,接受端给个确认我只能收3个数据,那么发送端就自动调整发送的窗口为3,当线路又恢复通畅的时候,接受端又可以受到5个数据,那它会给确认给发送端,告诉它我的窗口为5,那发送端就把窗口又调整会5,这样进行流量控制的
2、比如说发送端窗口为3,发送到接收端,接收端的接收窗口为5的话,接受数据,并且会给发送端一个ack(确认)告诉发送端我的窗口为5,发送端收到确认后会把自己的发送端窗口调整为5~~这样就可以加速数据传输了

⑤ 如何实现TCP和UDP传输

面向连接的TCP

“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
面向非连接的UDP协议

“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。