一、网络概念

1.什么是计算机网络?

      利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。

2.网络特征

 速度

 成本

 安全性

 可用性

 可扩展性

 可靠性

 拓扑

二、OSI模型

  网络分层就是将网络节点所要完成的数据的发送或转发、打包或拆包,控制信息的加载或拆出等工作,分别由不同的硬件和软件模块去完成。这样可以将往来通信和网络互连这一复杂的问题变得较为简单。

1.OSI模型的七层结构

2.通讯模式:单播、广播、组播

三、网络设备

网络管理 上_第1张图片

四、TCP/IP 协议栈 (传输控制协议/因特网互联协议)

       协议本质上无非是一种网上交流的约定,由于联网的计算机类型可以各不相同,各自使用的操作系统和应用软件也不尽相同,为了保持彼此之间实现信息交换和资源共享,它们必须具有共同的语言,交流什么、怎样交流及何时交流,都必须遵行某种互相都能够接受的规则。

   目前,全球最大的网络是因特网(Internet),它所采用的网络协议是TCP/IP协议。它是因特网的核心技术。TCP/IP协议,具体的说就是传输控制协议(Transmission Control Protocol,即TCP)和网际协议(Internet Protocol,即IP)。其中TCP协议用于负责网上信息的正确传输,而IP协议则是负责将信息从一处传输到另一处。

   TCP/IP协议本质上是一种采用分组交换技术的协议。其基本思想是把信息分割成一个个不超过一定大小的信息包来传送。目的是:一方面可以避免单个用户长时间地占用网络线路;另一方面

共定义了四层,和ISO参考模型的分层有对应关系,每一层都是为了完成一种功能,为了实现这些功能就需要大家都遵守的规则,这种规则就叫做协议,互联网每一层都定义了很多协议,总称为互联网协议。

网络管理 上_第2张图片

1. 网络访问层

      相当于OSI模型的物理层和数据链路层

1.1定义

      把电脑链接起来的物理手段,主要规定了一些电气特性、过程规范和功能规范,定义如何格式化数据以便进行传输和如何控制对网络的访问。

1.2以太网协议

      以太网(Ethernet)协议规定网络访问层传递的数据单位是帧(frame)包含两部分标头(head)和数据(date)

      标头包含数据包的一些说明包括源地址、目的地址 数据类型,数据则是数据包的具体内容

      标头长度固定为18字节,数据长度最短46字节,最长1500字节,因此整个帧最短为64字节,最长为1518字节,如果数据很长就要分割成多个帧发送

1.3MAC地址

       以太网规定连入网络的所有设备都必须具有网卡接口,数据包必须是从一块网卡传送到另一块网卡,网卡的地址称为MAC地址,每个网卡出厂时都要一个独一无二的MAC地址用十二位16进制表示。那么一块网卡怎么知道另一块网卡的MAC地址呢?答案是利用ARP协议把MAC地址解析为IP,然后利用广播向本网络的所有计算机发送数据,计算机读取数据包标头接收方的MAC地址与自身对比,相同就接收否则丢弃。

2.网络层

2.1网络层的由

       以太网协议依靠MAC地址发送数据局限于同一个子网络,而且采用广播方式效率低下,因此需要一种方法区分哪些MAC地址属于同一个子网络,哪些不是。如果是一个子网就用广播的方式发送,否则就用路由的方式,因此诞生了网络层,他的作用是引进一套新的地址,即网络地址,由管理员分配,每个计算机都有两套地址,网络地址确定计算机所在子网络,MAC地址将数据包送到该子网中目标网卡。

2.2 IP协议

       规定网络地址的协议叫做IP协议,它所定义的IP地址被称为IP地址,ipv4规定网络地址由32个二进制组成,IP地址=网络地址+主机地址,处于相同子网的IP地址网络地址相同,但是从IP地址无法看出哪部分是网络地址,因此定义了子网掩码,所谓的子网掩码也是一个32位二进制数,它的网络部分全部为1,主机部分全部为0,如192.168.0.1已知网络部分是前16位,则主机是后16位,那么子网掩码为11111111.11111111.0.0写成十进制为255.255.0.0,知道子网掩码后,两个网络分别与各自子网掩码相与结果相同就在同一个网络中,不同就不是。

2.3IP数据包

网络管理 上_第3张图片

2.4ARP协议

     因为IP数据包是放在以太网数据包里发送的,我们必须同时知道两个地址,一个是对方的MAC地址,一个是对方的IP地址。通常情况下,对方的IP地址是已知的,但不知道对方的MAC地址,所有我们需要一种方法从对方的IP地址得到对方的MAC地址

      第一种情况,两台机子不在同一个子网络,只能把数据包交给网关处理

      第二种情况,两台主机在同一个子网络,通过ARP协议得到对方的MAC地址ARP发出数据包在目的地址写的是FF:FF:FF:FF:FF:FF:FF:FF,这是一个广播地址,子网每台主机都会收到从中取出IP地址与自身IP地址对比,相同就做出回复,否则丢弃。

2.5ICMP协议

网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误

互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员

3.传输层UDP/TCP

3.1传输层的由来

     当同一台主机许多程序都需要网络,比如一边聊天,一边浏览网页时怎样确定来自网络的数据包是表示网页内容还是聊天内容,我们需要一个参数表示这个数据包供哪个进程使用,这个参数叫做”端口“

      端口是0到65535(2^16)之间的一个整数,0-1023端口被系统占用

      cat   etc/service  常用端口号

      服务器端口固定,客户端端口随机

      传输层就是建立端口到端口的通信,相比之下网络层就是建立主机到主机的通信只要确定主机和端口就可以进行程序之间交流,Linux把主机+端口叫做”套接字“

3.2UDP

    在数据中加入端口信息,需要新的协议,最简单的叫做UDP 协议,它的格式几乎实在数据前面加上端口号。

网络管理 上_第4张图片

3.3TCP

    UDP协议简单容易实现,但缺点是可靠性差,数据发出无法知道对方是否收到,为了解决这个问题提高网络可靠性诞生了TCP协议,它是有确认机制的UDP协议,每发出一个数据包都要求确认,如果数据包丢失就会重发,“三次握手”“四次挥手”

网络管理 上_第5张图片

3.4TCP、UDP 对比

网络管理 上_第6张图片

4.应用层

     应用层是最高的一层,直接面向用户,作用就是规定应用程序的数据格式,比如Email、www协议分别规定了电子邮件、网页的数据格式。