TCP/IP协议简介

1、TCP/IP协议?

    分为应用层、传输层(TCP、UDP协议)、网络层、链路层;

2、TCP连接需要过程需要三次握手,断开连接需要四次挥手;

  三次握手:

         第一次握手:首先客户端向服务端服请求建立连接,等待服务器确认;

         第二次握手:服务端确认客户端的连接请求,并且请求与客户端简历连接;

         第三次握手:客户端确认服务端的连接请求,确认完毕后完成三次握手;

 四次挥手:

         第一次挥手:客户端向服务端发送一个FIN(结束),请求关闭数据传输;

         第二次挥手:当服务端接受到客户端的请求时,向客户端发送一个确认;

         第三次挥手:然后服务器向客户端发送结束连接请求,告诉客户端连接关闭;

         第四次挥手:当客户端收到服务器端的结束连接请求时,回复确认结束;

        四次挥手后整个通信过程就此终结;

 ps:断开连接不一定就是客户端,谁都可以发起断开指令;

        客户端和服务端没有固定标准,谁先发起请求谁就是客户端;

 三次握手,四次挥手:https://blog.csdn.net/du5006150054/article/details/80157447

3、TCP与UDP

      (1)TCP是基于连接的(三次握手),UDP是无连接的,即发送数据前是否需要建立连接;

      (2)TCP是可靠的;TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP可能丢包(不保证可靠交付);

      (3)TCP堆系统资源要求较多,UDP对系统资源要求较少且程序结构较简单;

      (4)TCP应用场合,传输大量数据,UDP则是用于传输少量数据(大量数据会报错);

      (5)TCP传输速度慢,UDP传输速度快;

      (6)TCP面向字节流,TCP吧数据看成一连串无结构的字节流,TCP有一个缓冲区,当应用程序传送的数据块太长,TCP可以把他划分短一些在传送;当应用程序需的数据块太短,则TCP可以等待积累足够长的字节后在构成报文发送出去;

               UDP则是面向报文,应用层交给UDP多长的报文,UDP就照样发送;

       (7)有无边界:

                 TCP中,客户端连续发送数据,只要服务端的这个函数的缓冲区足够大,会一次性接收过来,即客户端是通过多次发送(有边界的),但是服务端却一次性的接收过来,故是无边界的;

                  UDP中,同样的情况,客户端分几次发送,服务端就必须按照几次接收,从而证明UDP是又不边界的;      

       总结:

          TCP:可靠的、面向连接的、面向字节流的、无边界的、传输效率低的、每一条TCP的连接都是点对点的;

          UDP:不可靠的、面向非连接的、面向报文的、有边界的、传输效率高的、支持一对一、一对多、多对一、多对多的交互通信;

4、什么是网络通信?

      网络通信其实就是Socket间的通信,Socket(套接字)就是为网络服务提供的一种机制,通信的两端都有Socket,数据在两个Socket间通过IO传输;

只要是网络传输,必须有Socket;

传输分为UDP传输和TCP传输;

网络通信的三要素:ip、端口、协议;

https://blog.csdn.net/shanshan_1117/article/details/79862674

5、Socket是什么?

       Socket = ip + port;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值