网络通信的要素

      最后更新:2022-01-23 18:30:07 手机定位技术交流文章

      如何实现网络中的主机互相通信?
      通信双方的地址 :
      1,IP
      2,端口号
      【比如说我们这里上课使用的就是局域网,你们连接到我的电脑,就能查看到我电脑的画面了】
      一定的规则:(即,网络通信协议,有两套参考模型)
      1,OSI 参考模型:模型过于理想化,未能在因特网上进行广泛推广!
      2,TCP/IP 参考模型: TCP/IP 协议,事实上的国际标准。

      小总结:
      1. 网络编程中有两个主要的问题:
      (1)如何准确的定位网络上一台或多台主机;定位主机上的特定的应用
      (2)找到主机后如何可靠高效的进行数据传输
      2. 网络编程中的两个要素:
      (1)ip 和 端口号
      (2)提供网络通信协议。 TCP/IP 参考模型(应用层,传输层,网络层,物理 + 数据链路层),

      3,万物皆对象

      IP

      ip 地址: Inet Adderss

      1, 唯一的标识 internet 上的计算机 ( 通信实体 )(即唯一定位一台网络上的计算机)
      2,本地回环地址( hostAddress ): 127.0.0.1 主机名 ( hostName ) localhost
      3, IP 地址分类方式一 : IPV4    IPV6
      (1)IPV4 4 个字节组成, 4 0~255 。大概 42 亿个, 30 亿都在北美,亚洲 4 亿。 2011 年初已经用尽。以点分十进制表示,如192.168.0.1
      (2)IPV6 128 位( 16 个字节),写成 8 个无符号整数,每个整数用四个十六进制位表示,数之间
      用冒号隔开,如: 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
      4, IP 地址分类方式 2 :公网地址(万维网(即互联网)使用) 和 私有地址(局域网使用)。
      192.168. 开头的就是私有地址,范围即为 192.168.0.0 ~ 192.168.255.255 ,专门为组织机构内部使用
      5,【查看 JDK 帮助文档 => InetAddress 类,代表 IP
      6, 特点:不便于记忆,我们常使用 域名 (记忆IP问题)来访问: www.baidu.com
      7, https://blog.kuangstudy.com/ => DNS 域名解析( 150.109.117.44 => 现在本机的 hosts 文件,
      判断是否有输入的域名地址,没有的话,再通过 DNS 服务器,找主机。
      hosts 文件地址: c:windowssystem32driversetchosts

      端口号

      端口表示计算机上的一个程序的进程:
      1,不同的进程有不同的端口号,用来区分软件
      2,被规定为一个 16 位的整数 0~65535
      3,TCP UDP 各有 65535 个端口,单个协议下端口不能冲突
      4,端口分类:
      (1)公认端口: 0~1023 。被预先定义的服务通信占用端口。
      HTTP 默认端口 : 80
      HTTPS 默认端口: 443
      FTP 默认端口: 21
      Telnet 默认端口: 23
      (2)注册端口: 1024~49151 、分配给用户进程或应用程序。
      tomcat 默认端口: 8080
      Mysql 默认端口: 3306
      Oracle 默认端口: 1521
      (3)动态、私有端口: 49152~65535
      netstat -ano # 查看所有端口
      netstat -ano |findstr "6732" # 查看指定端口
      tasklist|findstr "6732" # 查看指定端口的进程
      # 使用任务管理器查看 PID          Ctrl+shift+ESC
      端口号与 IP 地址的组合,得出一个网络套接字: Socket ,所以说一些网络编程也被称为 Socket 编程

      网络通讯协议

      协议:就好比我们都说的普通话,大家才能听懂我讲的,但是我们还有自己的方言!
      网络通信协议:
      计算机网络中实现通信必须有一些约定,即通信协议,对速率,传输代码,代码结构,传输控制步骤,出错控制等制定标准。
      问题:网路协议太复杂?
      计算机网络通信涉及内容很多,比如指定源地址和目标地址,加密解密,压缩解压缩,差错控制,流量控制,路由控制,如何实现如此复杂的网络协议呢?
      通信协议分层的思想
      在制定协议时,把复杂成份分解成一些简单的成份,再将他们复合起来。最常用的复合方式是层次方式,即同层间可以通信,上一层调用下一层,而与再下一层不发生关系。各层互不影响,利于系统的开发和扩展。
      TCP/IP 协议簇
      1,传输层协议中有两个非常重要的协议:
      (1)用户传输协议 TCP (Transmission Control Protocol)
      (2)用户数据报协议( User Datagram Protocol
      2,Tcp/IP 以其两个主要协议: 传输控制协议: TCP ,和网络互联协议: IP ,而得名,实际上是一组协议,包括多个具有不同功能且互为关联的协议。
      3,IP Internet Protocol )协议是网络层的主要协议,支持网间互联的数据通信。
      4,TCP/IP 协议模型从更实用的角度出发,形成了高效的四层体系结构,即物理链路层, IP 层,传输层和应用层
      TCP UDP 对比
      1,TCP 协议
      (1)使用 TCP 协议前,必须建立 TCP 连接,形成传输数据通道;(连接、稳定)
      (2)传输前,采用 三次握手 方式,点对点通信,是可靠的。(三次握手、四次挥手)
      (3)TCP 协议进行通信的两个应用进程:客户端,服务端。
      (4)在连接中可进行大数据量的传输
      (5)传输完毕,需要释放已建立的连接,效率低
      (6)举例:打电话

      2,UDP 协议
      (1)将数据,源,目的封装成数据包,不需要建立连接(不连接、不稳定)
      (2)每个数据报的大小限制在 64K
      (3)发送方不管对方是否准备好,接收方收到也不确认,故是不可靠的
      (4)可以广播发送
      (5)发送数据结束时,无需释放资源,开销小,速度快。
      (6)客户端、服务端:没有明确的界限
      (7)举例:发短信,导弹(饱和攻击)

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/17215.html

          热门文章

          文章分类