Java网络通信





如图所示,右侧是一个请求发送出去要进行的操作,通过用户登录举例。
1、用户数据为用户输入的用户名和密码,
2、用户数据在应用层增加应用程序标识
3、数据传输到传输层会继续增加tcp首部

4、传到网际层又会增加ip首部

5、传到网络接口层,就会加上以太网首位

6、然后就通过tcp协议发送(1-6表示装包过程)

7、接收方然后就开始拆包,流程如下所示


一、网络通信的三要素
1、ip,ip表示一台设备在网络中的唯一标识,ip地址有两种形式:ipv4和ipv4
      (1)ipv4是个32位记录,并且通过点分十进制表示法可读性高一些

      (2)ipv6,共128位,分成八段,每段四位编码成16进制位


        (3)ip域名,用户通过输入域名,计算机会去本机的dns服务器进行查询(每台电脑都有本地dns服务器,用来存域名和ip的映射),如果本地服务器没有该域名,计算机会通过网络发给运营商,从运营商那边获取到ip,然后再把域名和ip存到本地dns上。


2、端口,端口表示客户端在设备中的标识,被规定为16位的二进制,范围是0-65535 
    (1),周知端口0-1023,被预先定义的知名应用占用(如:http占用80端口,FTP占用21端口)

      (2),注册端口1024-49151分配给用户进程或某些应用程序
     (3)、动态端口49152-65535之所以被称为动态端口,是因为他一般不固定分配某种进程,而是动态分配


 
3、协议(网络上通信的设备,实现规定的连接规则,以及传输数据的规则,被称为网络通信协议)
     (1)、osi网络参考模型


4、UDP协议:用户数据报协议,特点无连接、不可靠通信,通信效率高,可用于语音通话、视频直播
5、TCP协议:传输控制协议,特点,面向连接,可靠通信,相对UDP效率不高,通过三次握手建立连接,四次挥手断开连接。常用于网页文件下载,支付等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容