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

2019-06-30  本文已影响0人  狼性代码人
  • 网络结构

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

  • IP 地址

  • 端口

一、网络结构

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

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

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

  对等结构网络也叫点对点网络 (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类:

  另外,有时还有用到一个特殊的 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 的端口。

上一篇 下一篇

猜你喜欢

热点阅读