美文网首页
Kotlin网络编程(2)网络基础

Kotlin网络编程(2)网络基础

作者: 狼性代码人 | 来源:发表于2019-06-30 06:32 被阅读0次
    • 网络结构

      • 客户端服务器结构网络 (C/S)
      • 对等结构网络 (P2P)
    • TCP/IP 协议

    • IP 地址

    • 端口

    一、网络结构

      网络结构就是网络的构建方式,目前流行的有 客户端服务器结构网络对等结构网络

    • 1. 客户端服务器结构网络 (C/S)

      客户端服务器 (Client Server, C/S) 结构网络是一种主从结构的网络。服务器一般处于等待状态,如果有客户端请求,服务器响应请求并建立连接提供服务。服务器是被动的,有点像在餐厅吃饭时的服务员。而客户端是主动的,像在餐厅吃饭的顾客。

      生活中很多网络服务都采用这种结构,例如 Web 服务、文件传输服务 和 邮寄服务等。虽然它们存在的目的不一样,但基本结构是一样的。这种网络结构与设备类型无关,服务器不一定是计算机,也可以是手机等移动设备。

    • 2. 对等结构网络 (P2P)

      对等结构网络也叫点对点网络 (Peer to Peer,P2P),每个节点之间是对等的。每个节点即 使服务器又是客户端

      对等结构网络分布范围比较小。通常在一间办公室或一个家庭内,因此它非常适合于移动设备间的网络通信,网络链路层由 蓝牙WIFI 实现。

    二、TCP/IP 协议

      TCP/IP 协议是有 IP 和 TCP 两个协议构成的,IP 协议是一种低级的路由协议,它将数据拆分成许多小的数据包,并通过网络将他们发送到某一特定地址,但无法保证所有包都能抵达目的地,也不能保证包的顺序。

      由于 IP 协议传输数据的不安全性,网络通信时还需要 TCP 协议,传输控制协议是一种高层次的协议,是面向连接的可靠数据传输协议,如果有些数据包没有收到会重发,并对数据包内容进行检查且保证数据包的顺序,所以该协议保证数据包能够安全地按照发送时的顺序送达目的地。

    三、IP 地址

      为实现网络中不同计算机之间的通信,每台计算机都必须有一个唯一的标识,这就是 IP 地址,TCP/IP 使用 IP 地址来标识源地址和目的地地址。最初所有的 IP 地址都是由 32 位数字 构成,由 4 个 8 位 二进制数组成,每 8 为之间用圆点隔开,如:192.168.1.1,这种类型的地址通过 IPv4 指定 (即:IPv4 由32位数字构成,4组8位二进制数组成,每组间用圆点分割)。而现在有一种新的地址模式称为 IPv6,IPv6 使用 128 位数字表示一个地址,分成 8 个 16 位块。尽管 IPv6 比 IPv4 有很多优势,但是由于习惯的问题,很多设备还是采用 IPv4。

      在 IPv4 地址模式中 IP 地址分为 A、B、C、D 和 E 这5类:

    • A 类地址用于大型网络,地址范围:1.0.0.1 ~ 126.155.255.254。
    • B 类地址用于中型网络,地址范围:128.0.0.1 ~ 191.255.255.254。
    • C 类地址用于小型网络,地址范围:192.0.0.1 ~ 223.255.255.254。
    • D 类地址用于多目的地信息的传输,有时作为备用。
    • E 类地址保留,仅做实验和开发用。

      另外,有时还有用到一个特殊的 IP 地址 127.0.0.1。127.0.0.1 称为回送地址,是指本机的地址,主要用于网络软件测试及本地机进程间的通信,使用回送地址发送数据,不进行任何网络传输,值在本机进程间通信。

    四、端口

      一个 IP 地址标识一台计算机,每一台计算机又有很多网络通信程序在运行,会提供网络服务或进行通信,这就需要不同的端口进行通信。如果 IP 地址比作电话号码,那么端口号就是分级号码。进行网络通信时不仅要指定 IP 地址,还要指定端口号。

      TCP/IP 系统中的端口号是一个 16 位的数字,它的范围是 0 ~ 65535。小于 1024 的端口号保留给预定义的服务,如 HTTP 是 80,FTP 是 21,TeInet 是 23, Email 是 25 等。除非要和那些服务进行通信,否则不应该使用小于 1024 的端口。

    相关文章

      网友评论

          本文标题:Kotlin网络编程(2)网络基础

          本文链接:https://www.haomeiwen.com/subject/mxsxcctx.html