【网络】第一章-网络基础

网络基础

  在这个章节先对计算机网络进行大概简单的介绍,之后的章节会逐个进行深入的讨论。

网络发展背景

网络的构成

  网络一开始先利用交换机进行两台计算机之间的互联及数据交换,一台主机将数据发给交换机,交换机再发送给另一台,不会起任何冲突。

交换机

  但是假如又要加入一台主机,交换机就会起矛盾,它不知道该将数据发给哪台主机。为此又出现了新的数据交换工具,路由器,路由器可以自己选择将数据发送给合适的主机。
路由器

  由此便构成了一个小型局域网。
局域网

  假如此时又有一个这样的局域网,他们之间又通过路由器进行数据交换,于是它们又构成了一个更大一些的局域网。一旦局域网变得更大,就会变成城域网,之后是广域网,由此构成网络环境。局域网城域网与广域网之间的区别由网络的覆盖范围而决定
局域网

IP地址

  IP地址在网络中唯一的标识了一个主机,数据从哪里来要到哪里去都要用到ip地址。IP地址由一个4个字节的无符号整数组成,因此一共可以标识42亿个主机,这在计算机发明之初大家可能都认为这是一个天文数字了,肯定够用了,但在现在来看这明显不够用啊,怎么办呢?

DHCP/NAT

  伟大的人类想到两种缓兵之计,DHCP/NAT技术。DHCP技术使路由器可以动态给连接到自己的主机分配ip地址,也就是内网IP地址(这个IP地址外网是连接不到的),谁上网给谁分配,这样可以减少ip地址的使用情况。但是还是不够啊,怎么办?呢就让大家共用同一个ip地址吧,于是路由器建立映射,将内网所有主机的内网ip建立映射,收集所有数据统一使用自己的ip地址进行数据发送到外网,等收取数据时再根据映射发给内网中的主机,这样就可以极大减少IP地址的使用。但是目前来看ip地址依然十分紧张,因此现在国家也在强力发展ipv6,这是一个16个字节的整数,这个足够用了,不过困难的是ipv6不兼容ipv4因此目前发展并不是很好。

端口

  端口(port),在一台主机上唯一标识一个进程,在网络通讯中用来表示数据从主机上的哪一个进程发出,并发送给另一台主机上的哪一个进程。网络通信每一条数据中,都会包含两条信息:源端口,目的端口。
  端口的是一个uint16_t类型的,因此端口范围从0-65535。并且一个端口只能被一个进程占用,但一个进程可以使用多个端口。

网络协议

  网络通信中,为了保证字符编码,数据格式,传输方式的一致性,需要通信双方使用数据格式的约定,若要实现网络互联,就需要定理网络通信协议标准,统一网络通信数据格式。
  在网络通信中每条数据都会包含一个五元组(源ip地址/源端口/目的IP地址/目的端口/协议)。

协议分层

  按照提供的服务,协议,接口对环境进行分层,从底层来说就是一种封装,上层并不需要关心下层的一个实现,直接使用就可以,使用的更加灵活方便。协议分层之后,通信环境层次清晰,并且每一次的功能具体实现会变得简单化,更容易形成标准。
  在网络通信中环境也是十分复杂的,因此为了更加容易的去实现网络通信功能因此对整个通信环境进行分层。

OSI七层模型

  OSI七层模型(由上至下):应用层->表示层->会话层->传输层->网络层->链路层->物理层
  但是这种模型并不实用,因为表示层,会话层和应用层功能相近分开进行实现反倒十分麻烦,因此现在并不常用这套模型,因为有更好的模型进行替代。

tcp/ip五层模型

  tcp/ip五层模型(由上至下):应用层->传输层->网络层->链路层->物理层
  tcp/ip协议是一个协议簇,其中有着很多的协议,而tcp/ip是其中的代表协议,因此以此命名。其中还有很多常用的协议。
  五层模型每一层都有属于自己的协议,组织不同的数据形式,以下由高至低讨论。
  应用层:负责应用程序之间的数据沟通。这个层中的协议一部分是软件开发者为了组织数据的同时进行数据加密自己定制的协议,被称为自定制协议;当然还有一部分是由于协议定制的十分方便,广为流传大家都在使用,这类协议被称为知名协议,例如HTTP协议。
  传输层:负责端与端之间的数据沟通。封装端口信息,用来标识数据由哪个进程发出,目标到哪个进程中去。常见协议有TCP/UDP协议。
  网络层:负责地址管理与路由选择。负责选择让数据如何通过最合适的路径传达到目标路由器上。常见协议:IP协议,常用设备有路由器
  链路层:相邻设备之间的数据传输。在实际中要将数据实际发送到与自己相邻的主机,一般来说是通过广电信号进行传输,但是为了能够找到目标主机,在底层网卡往往有着自己的一个地址用来标识自己,这个地址叫做MAC地址,链路层就是通过MAC地址找到实际要传输数据的网卡并将数据交给它。常见协议以太网协议Ethernt,常见设备交换机
  物理层:负责光电信号的传输。这一侧就是物理的信号传输了。常见协议以太网协议,常见设备集线器

网络通信数据的传输流程

交换机

  以上标识的就是数据在网络通信中传输的流程,发送数据时每一层都会在信息中加入类似结构体的东西对数据进行封装,接受数据时也会一层一层解开响应的结构体获取数据。

-------------本文结束感谢您的阅读!-------------
记录学习每一分,感谢您的赞助