软件架构CS/BS ⽹络通信三要素 TCP通信

C/S结构 :指Client/Server结构,是指客户端和服务器结构。常见的软件比如有QQ音乐,百度网盘,知乎,作业帮等软件。

B/S结构 :指Browser/Server结构,是指浏览器和服务器连接结构。常⻅浏览器有⾕歌、⽕狐,微软等。

网络编程的三要素:协议,IP地址,端口号

IP地址:指互联⽹协议地址(Internet Protocol Address),俗称IP。IP地址⽤来给⼀个⽹络 中的计算机设备做唯⼀的编号,是电脑设备在网络中的唯一标识,是网络连接的基础。假如我们把“个⼈电脑”⽐作“⼀台电话”的话,那么“IP地址”就相当 于“电话号码”。

IP地址分类:

  • IPv4:是⼀个32位的⼆进制数,通常被分为4个字节,表示成 a.b.c.d 的形式,例如 192.168.70。23 。其中a、b、c、d都是0~255之间的⼗进制整数,那么最多可以表示⼤约43 亿个。
  • IPv6:由于互联⽹的蓬勃发展,IP地址的需求量愈来愈⼤,但是⽹络地址资源有限,使得IP的分 配越发紧张。有资料显示,全球IPv4地址在2011年2⽉分配完毕。 为了扩⼤地址空间,拟通过IPv6重新定义地址空间,采⽤128位地址⻓度,每16个字节⼀组,分 成8组⼗六进制数,表示成 ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 ,号称可以为全世界的 每⼀粒沙⼦编上⼀个⽹址,这样就解决了⽹络地址资源数量不够的问题。

  • 在windows中查看本机的IP地址,只需在dos命令窗口输入:ipconfig;在linux系统中输入   ifconfig   或  ip addr  即可

端口号:是进程在(应用程序)在计算机中的唯一标识。

通信协议:

               通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进⾏ 通信。就像道路中行驶的汽车要遵守交通规则,不然到半路上就出车祸了,就到达不了目的地是一样的道理。协议中对数据的传输格式、传输 速率、传输步骤等做了统⼀规定,通信双⽅必须同时遵守,最终完成数据交换。

               TCP:传输控制协议,TCP协议是⾯向连接的通信协议,即传 输数据之前,在发送端和接收端建⽴逻辑连接,然后再传输数据,它提供了两台计算机之间可靠 ⽆差错的数据传输。

TCP协议的特点:

  • ⾯向连接的协议。
  • 建⽴连接,形成传输数据的通道。
  • 传输数据⼤⼩不受限制 通过三次握⼿完成连接。
  • TCP是基于IO流传输数据。
  • 因为需要建⽴连接,效率会稍低但是可靠协议

               三次握⼿:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证 连接的可靠。 第⼀次握⼿,客户端向服务器端发出连接请求,等待服务器确认。 第⼆次握⼿,服务器端向客户端回送⼀个响应,通知客户端收到了连接请求。 第三次握⼿,客户端再次向服务器端发送确认信息,确认连接。整个交互过程如下图 所示

              UDP:⽤户数据报协议(User Datagram Protocol)。UDP协议是⼀个  ⾯向⽆连接  的协议。传输数 据时,不需要建⽴连接,不管对⽅端服务是否启动,直接将数据、数据源和⽬的地都封装在数据 包中,直接发送。⽇常应⽤中,例如视频会议、QQ聊天等。

             UDP是⽆连接通信协议,即在数据传输时,数据的发送端和接收端不建⽴逻辑连接。

简单来说,当⼀ 台计算机向另外⼀台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收 端在收到数据时,也不会向发送端反馈是否收到数据。由于UDP的⾯向⽆连接性,不能保证数据的完整性,因此在传输重 要数据时不建议使⽤UDP协议。

UDP协议特点:

  •  ⾯向⽆连接的协议。
  • 只管发送,不确认对⽅是否接收到。
  • 基于数据包传输数据:将数据及源和⽬的封装成数据包中进⾏发送 每个数据包的⼤⼩限制在64K之内。
  •  因为⽆需连接,速度快且是不可靠协议

java.net包中提供了TCP和UDP的支持。

             TCP中提供了Socket类和ServerSocket类等

             UDP中提供了DatagramSocket类,DatagramPacket类,NetworkInterface类等

                                                                                                                                                                                                                                                                                                                                                                                               2020-12-06

posted @ 2020-12-06 02:00  小Ti客栈  阅读(351)  评论(0编辑  收藏  举报