TCP/IP协议的握手过程(转载)
三次握手后会在各自内存空间中形成一个队列空间,并建立 socket 。四次挥手目的是为了安全的销毁双方的连接释放内存,之前开辟的队列空间是为了对方服务的。第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。答:因为当 Server 端收到 Client 端的 SYN 连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。在Client发送出最后的ACK回复,但该ACK可能丢失。Server如果没有收到ACK,将不断重复发送FIN片段。所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment Lifetime)。MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。答:3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机 S 和 C 之间的通信,假定 C 给 S 发送一个连接请求分组,S 收到了这个分组,并发送了确认应答分组。按照两次握手的协定,S 认为连接已经成功地建立了,可以开始发送数据分组。可是,C 在 S 的应答分组在传输中被丢失的情况下,将不知道 S 是否已准备好,不知道 S 建立什么样的序列号,C 甚至怀疑 S 是否收到自己的连接请求分组。在这种情况下,C认为连接还未建立成功,将忽略 S 发来的任何数据分组,只等待连接确认应答分组。而 S 在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。【问题4】如果已经建立了连接,但是客户端突然出现故障了怎么办?TCP 还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为 2 小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔 75 秒钟发送一次。若一连发送 10 个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

简述TCP/IP的工作原理。
以下非原创,仅供参考! 下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。TCP/IP协议的工作流程如下:1.在源主机上,应用层将一串应用数据流传送给传输层。2.传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。3.在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。4.链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。5.在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。6.网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。7.传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。8.在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接 收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。

简述TCP/IP工作原理
TCP/IP模型包括:● 网络层● 网际层● 传输层● 应用层一、网络层是模型的最低层,负责将帧放进线路,或从线路中取下帧。TCP/IP的网络层对应着OSI的物理层和数据链路层。这也就是为什么这一层包含物理通信介质和在这些介质上传送帧的通信协议。二、网际层网际层(互联网层):负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。● ICMP网际控制消息协议:问题出现时向IP发送错误报告。我们平时用的ping用它。● IGMP网际分组管理协议:向路由器通知多播组成员的存在。广播不能跨路由器,路由器是隔离广播的,但它隔离不了多播,它可以跨路由器。● ARP地址解析协议:判断主机的硬件地址。三、传输层传输层是TCP/IP模型中非常特殊和重要的一层,它包括了OSI传输层、会话层、表示层和应用层的各部分功能,包括两个传输协议(TCP协议和UDP协议)在计算机之间提供通信对话。四、应用层应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
以下非原创,仅供参考! 下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。TCP/IP协议的工作流程如下:1.在源主机上,应用层将一串应用数据流传送给传输层。2.传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。3.在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。4.链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。5.在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。6.网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。7.传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。8.在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接 收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。
IP协议的工作原理: 三次握手原理 :TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN,同时自己也发送一个SYN包,即SYN+ACK包,此 时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入 ESTABLISHED状态,完成三次握手。
在互联网上源主机的协议层与目的主机的同层协议通过下层提供的服务实现对话。在源和目的主机的同层实体称为对等实体(Peer entities)或叫对等进程,它们之间的对话实际上是在源主机上从上到下然后穿越网络到达目的主机后再从下到上到达相应层。下面以使用TCP协议传送文件(如FTP应用程序)为例说明了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) 在目的主机,T

TCP/IP协议的工作过程(三次握手)
简单的说就是,第一次握手客户端向服务器发送数据请求连接, 第二次握手 就是服务器收到客户端的请求后,对客户端发送了连接请求,第三次握手就是客户端确认与服务器的连接请求.

简述TCP/IP的工作原理
以下非原创,仅供参考! 下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。TCP/IP协议的工作流程如下:1.在源主机上,应用层将一串应用数据流传送给传输层。2.传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。3.在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。4.链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。5.在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。6.网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。7.传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。8.在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接 收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。

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