[进阶]网络通信:端口和协议

端口

  • 标记正在计算机设备上运行的应用程序的,被规定为一个 16位的二进制,范围是 0~65535。

分类

  • 周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用 80,FTP占用21)
  • 注册端口:1024~49151,分配给用户进程或某些应用程序。
  • 动态端口:49152到65535,之所以称为动态端口,是因为它 一般不固定分配某种进程,而是动态分配。

注意:我们自己开发的程序一般选择使用注册端口,且一个设备中不能出现两个程序的端口号一样,否则出错。

通信协议

  • 网络上通信的设备,事先规定的连接规则,以及传输数据的规则被称为网络通信协议。

开放式网络互联标准:OSI网络参考模型

  • OSI网络参考模型:全球网络互联标准。
  • TCP/P网络模型:事实上的国际标准。

[进阶]网络通信:端口和协议_第1张图片

 

传输层的2个通信协议

  • UDP(User Datagram Protocol):用户数据报协议;TCP(Transmission Control Protocol) :传输控制协议。

UDP协议

  • 特点:无连接、不可靠通信。
  • 不事先建立连接,数据按照包发,一包数据包含:自己的IP、程序端口,目的地IP、程序端口和数据(限制在64KB内)等。
  • 发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不返回确认,故是不可靠的。
  • 通信效率高!多用于语音通话、视频直播等领域。

TCP协议

  • 特点:面向连接、可靠通信。
  • TCP的最终目的:要保证在不可靠的信道上实现可靠的传输。
  • TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接。
  • 通信效率相对不高!多用于网页、文件下载、支付等场景。

TCP协议:三次握手建立可靠连接。可靠连接是指:确定通信双方,收发消息都是正常无问题的!(全双工)

[进阶]网络通信:端口和协议_第2张图片

 TCP协议:四次挥手断开连接。目的是:确保双方数据的收发都已经完成!

[进阶]网络通信:端口和协议_第3张图片

 

你可能感兴趣的:([进阶]Java:网络编程,网络,java)