网络通信协议了解

网络通信协议了解,第1张

网络通信协议了解

文章目录
  • 1、网络通信了解
      • 1.1 CS/BS架构
      • 1.2 网络通信三要素
          • 1.2.1 IP地址
          • 1.2.2 端口号
          • 1.2.3 通信协议
      • 1.3 UDP协议
      • 1.4 TCP协议
          • 1.4.1 TCP协议特点
          • 1.4.2 三次握手
          • 1.4.3 四次挥手
          • 1.4.4 总结
      • 1.5 HTTP协议
          • 1.5.1 HTTP协议特点
          • 1.5.2 HTTP协议的组成

1、网络通信了解 1.1 CS/BS架构

什么是CS/BS?
        CS/BS是指两种不同的软件结构的表现形式

  • C/S结构: 全称为Client/Server,是指客户端和服务器结构,常见比如QQ、百度网盘
          特点:一般服务端只安装数据库和数据存储,所有的程序代码都编写在客户端中
          优点:直观,体验好
          缺点:每次升级,需要重新安装,移植性比较低
            
  • B/S结构:全称为Browser/Server,是指浏览器和服务器结构,常见的比如谷歌,火狐等等
          特点:在服务端编写代码,业务逻辑由服务端完成
          优点:可移植性好,开发维护方便
          缺点:安全性相对较低
          
  • 新型BS结构:CS+BS,页面华丽,服务端负责业务处理,客户端负责页面渲染和少量逻辑处理
          
    以上几种架构各有各的优势,但无论哪种架构,都离不开网络的支持,网络通信,就是在一定协议下,实现两台计算机中程序之间的数据传输
          
1.2 网络通信三要素
  • IP地址
  • 端口号
  • 通信协议
1.2.1 IP地址

IP地址:互联网协议地址(Internet Protocol Address),俗称IP。IP地址是用来给网络中的计算机设备做唯一编号的
      
IP地址分类:

  • IPv4:是一个32位的二进制数,通常被分为4个字节,表示成 a.b.c.d 的形式,例如192.168.65.100 。其中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 ,号称可以为全世界的每一粒沙子编上一个网址,这样就解决了网络地址资源数量不够的问题。

域名:映射到某个IP地址上的一组英文单词组合(www.baidu.com),为了方便记忆

常用命令

  • 查看本机IP地址,打开cmd输入
ipconfig
  • 检查网络是否连通,输入
ping 空格 IP地址/域名
  • 本机ip
127.0.0.1 或者 localhost
1.2.2 端口号

网路的通信,本质上是两个进程之间的通信,每台计算机中有很多的进程,那么在网络通信时,如何区分这些进程呢?
如果说IP地址可以唯一标识网络中的设备,那么端口号就可以标识设备中的进程了

  • 端口号:用两个字节表示的整数,它的取值范围是0-65535。其中,0-1023用于一些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号,如果端口号被另外的程序或应用所占用,则会导致当前的应用启动失败
1.2.3 通信协议
  • 网络通信协议: 通信协议是计算机必须遵守的准则,只有遵守这样的规则,计算机之间才能互相通信,协议中对数据的传输格式、传输速率、传输步骤做了统一的规定
  • java.net包中提供了两种常见的网络协议支持:UDP和TCP
1.3 UDP协议

UDP(User Datagram Prorocol) 是无链接通信协议,不建立逻辑连接,当一台计算机向另一台计算机发送数据时,发送端不会确认接收方是否存在,直接发送数据,同样接收方在接收数据时也不会通知发送方是否已经接收到数据
特点: 面向无连接的协议,资源消耗少,通信效率高
缺点: 存在数据丢失的可能,不能传输重要数据
       

1.4 TCP协议

TCP(Transmission Control Protocol) 是面向连接的通信协议,即在数据传输之前现在客户端和服务端建立逻辑连接,然后再传输数据

1.4.1 TCP协议特点
  • 面向连接的协议
  • 建立连接,形成数据传输通道
  • 传输数据的大小不受限制
  • 通过三次握手完成连接
  • 通过四次挥手断开连接
  • TCP是基于IO流传输数据
  • 因为需要先建立连接,相对效率较低但可靠性比较高
1.4.2 三次握手
  1. 第一次握手:客户端询问服务端是否在线
  2. 第二次握手:服务端通知客户端在线并询问客户端是否还在线
  3. 第三次握手:客户端通知服务端还在线

至此完成三次握手建立连接,开始数据传输

1.4.3 四次挥手
  1. 第一次挥手:客户端请求断开连接
  2. 第二次挥手:服务端发送已经知道断开连接,继续将数据传输完
  3. 第三次挥手:服务端发送数据完毕通知客户端断开连接
  4. 第四次挥手:客户端告知服务端确定断开,等待一定时间后断开连接
    至此完成四次挥手,断开连接
1.4.4 总结

涉及到重要数据的传输,选择TCP协议!BS结构底层就是TCP协议。

1.5 HTTP协议

HTTP(HyperText Transfer Protocol) 是超文本传输协议的简写。它是TCP/IP协议之上的一个应用层协议,简单理解就是HTTP是对TCP协议的进一步封装

  • 作用:用于规定浏览器和服务端之间数据传输的格式
1.5.1 HTTP协议特点
  • 无状态:协议对客户端没有状态存储,没有"记忆"能力
  • HTTP1.0:每次请求都需要通过TCP三次握手完成连接,请求结束通过四次挥手断开连接,一次连接只能处理一个请求数据的传输
  • HTTP1.1:一次连接可以处理多个请求的数据传输
  • 基于请求和相应:基本的特性,由客户端发起请求,服务端相应
  • 简单快速、灵活
1.5.2 HTTP协议的组成
  • 请求: 浏览器访问服务器的过程
  • 响应: 服务器响应数据给浏览器的过程

 
如有不正确的,欢迎指出!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5638488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存