TCP/IP协议概述

栏目: 服务器 · 发布时间: 5年前

内容简介:建立一个TCP连接,需要经过一下几个步骤。由于在建立连接时至少需要交换3个分组,所以称为TCP的三路握手(three-way handshake)==值得注意的是,当客户端向服务器端发送大量的连接请求,但不回应服务器所发送的ACK时,会消耗大量服务器CPU和内存资源,导致服务器不能响应正常的网络请求,这就是拒接服务攻击中的SYN Flood。==

UDP是User Datagram Protocol的缩写,是一种无连接的传输层协议,提供不可靠信息传输服务。UDP具有以下特点:

  • 提供无连接服务,客户端向服务端发送数据是不必先建立连接,客户端创建一个套接字并向服务端发送一个数据报,然后客户端可以立即用这个套接字向另一个服务端发送其他数据。
  • 不能确保UDP数据报最终到达目的地。UDP对接受的数据报不发送确认,发送端不知道数据是否被正确接受,不会重发数据。
  • UDP传输数据较TCP快,占用系统资源少。

TCP

TCP是Transmission Control Protocol的缩写,是一种面向连接的,可靠的,基于字节流的传输层通信协议。该协议在主机间建立一个虚拟连接,以实现可靠的数据通信。因特网协议(IP)不能保证数据包准确发送个目标主机,而TCP不同,发送数据时,TCP要求对方在接受数据后返回一个确认,如果在某个时限内TCP没有接受到对方的确认,那么TCP会重新发送数据包。在接受数据的一方,如果收到无序的数据包,TCP还负责数据包的重新排序。

TCP具有以下特点:

  • 提供面向连接的服务,客户端与服务端通信时,必须首先建立连接。
  • 提供可靠的服务,当TCP向对方发送数据时,要求对方返回一个确认,如果没有接受到对方的确认,则TCP自动重传数据包。
  • TCP对发送的数据进行排序,为每个发送字节关联一个序列号,对方根据接受到的数据序列号,对接受数据排序,从而保证了数据顺序。
  • TCP提供流量控制,TCP总是告知对方它能够接收数据的字节数。
  • TCP连接是个全双工的,这意味着应用程序在任何时候,既可以发送数据也可以接受数据。

三次握手

建立一个TCP连接,需要经过一下几个步骤。

  1. 服务端准备接受客户端的连接。
  2. 客户端向服务器发起连接请求,此时客户端TCP发送一个SYN分节。
  3. 服务器端确认客户端的SYN(同步),同时也发送一个SYN分节,服务器以单个分节向客户端发送SYN和对客户端SYN的ACK(确认)。
  4. 客户端确认服务器的SYN。

由于在建立连接时至少需要交换3个分组,所以称为TCP的三路握手(three-way handshake)

==值得注意的是,当客户端向服务器端发送大量的连接请求,但不回应服务器所发送的ACK时,会消耗大量服务器CPU和内存资源,导致服务器不能响应正常的网络请求,这就是拒接服务攻击中的SYN Flood。==

TCP终止连接(四次挥手)

TCP用三个分节建立连接,用四个分节终止连接,具体如下所示。

  1. 连接中的一方首先执行关闭,该方被称为执行了一个主动关闭。该发送方的TCP向对方发送一个FIN(结束)分节,表示发送数据完毕。
  2. 接受方接收到了FIN,执行被动关闭,接受方TCP向发送方发送一个ACK。
  3. 接受方也执行关闭,着这导致接收方的TCP也发送一个FIN。
  4. 原发送方接收到了接收方的FIN后,它的TCP也返回一个ACK。

因为每个方向都需要发送一个FIN和返回一个ACK,所以关闭连接时一般需要四个分节。但也不排除步骤2和步骤3的ACK与FIN合成一个分节的情况。

端口

在网络上一台主机可以提供许多服务,例如Web服务,FTP服务等,这些服务可以通过IP地址来实现,但是主机IP地址与网络服务是一对多的关系,主机使用端口号区分不同的网络服务,对客户端来说,在连接服务器是,不仅要知道服务器的Ip地址,还要知道他的服务端口。服务器的IP地址和端口,对客户端应该是公开的。服务器方面,启动服务器时,网络服务绑定在某个端口上,以便于客户端进行数据通信。

端口是通过端口号来标记的,端口号是整数,范围是0-65535.对应于UDP和TCP两种协议端口,分为TCP端口和UDP端口。端口根据使用方式,可以分为以下几类:

  • 通用的端口号:0-1023,这些端口紧密绑定某些服务,通常表明了某种服务的协议,例如,80是HTTP通信端口,443是HTTPS通信端口,21是FTP通信端口。
  • 已注册端口号:1024-49151,供一般应用程序使用,开发Windows Sockets应用程序时,需要在这个端口号范围内选择端口。
  • 动态或私有端口:49152-65535

以上所述就是小编给大家介绍的《TCP/IP协议概述》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Sass and Compass in Action

Sass and Compass in Action

Wynn Netherland、Nathan Weizenbaum、Chris Eppstein、Brandon Mathis / Manning Publications / 2013-8-2 / USD 44.99

Written by Sass and Compass creators * Complete Sass language reference * Covers prominent Compass community plug-ins * Innovative approach to creating stylesheets Cascading Style Sheets paint the we......一起来看看 《Sass and Compass in Action》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具