浅谈TCP/UDP、IP 、Socket、HTTP

本文详细介绍了TCP/IP协议组,包括TCP的三次握手、UDP的特点以及TCP与UDP的区别。讲解了Socket的概念、建立连接的过程以及与TCP连接的联系。此外,还阐述了HTTP协议的作用,并对比了TCP连接与HTTP连接的特点。最后,总结了网络协议的层次结构,强调了TCP/IP、HTTP协议与Socket的关系。
摘要由CSDN通过智能技术生成

昨天在markdown重新整理了一下网络协议有关知识、再次更新

1.1 TCP/IP协议组

TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成

  • IP层负责网络主机的定位,数据传输的路由,由IP地址可以唯一的确定Internet上的一台主机。
  • TCP层负责面向应用的可靠的或费可靠的数据传输机制,这是网络编程的主要对象。

TCP/IP是个协议组,可分为三个层次:网络层,传输层和应用层:

  • 网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议
  • 传输层:TCP协议与UDP协议;
  • 应用层:FTP、HTTP、TELNET、SMTP、DNS等协议

HTTP是应用层协议,其传输都是被包装成TCP协议传输。可以用Socket实现HTTP。Socket是实现传输层协议的一种编程API,可以是TCP,也可以是UDP。

1.2 TCP

  • TCP(Transmission Control Protocol),即传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接前,TCP连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求。
  • TCP是一种面向连接的保证可靠传输的协议。 通过TCP协议,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个Socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个Socket(通常都是Server Socket)等待建立连接时,另一个Socket可以要求进行连接,一旦这两个Socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送和接收操作。

TCP特点

1. TCP是面向连接的协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接协议,所以只能用于点对点的通讯。而且建立连接也需要消耗时间和开销。
2. TCP传输数据无大小限制,进行大数据传输。
3. TCP是一个可靠的协议,它能保证接收方能够完整正确地接收到发送方发送的全部数据。

TCP的三次握手

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手;

【适用情况】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值