6. 网络基础
这里将会介绍一少部分计算机网络的知识,这点知识仅仅能够支持用户能够正常的配置Linux系统的网络环境以及可以正常上网。
6.1.协议概念
在计算机网络系统中,为了保证通信双方能自动而正确地进行数据通信,针对通信的各种情况,制定了一整套约定网络系统的通信协议。
协议总是针对某一层的协议,在同层之间进行信息交互,有关通信规则和约定的集合就是该层协议簇。
总之,协议就是通信双方必须遵守的一套规则的集合,是一套语法和语义规则,规定了在通信(发送数据和接收数据)时的具体步骤,协议还定义了通信时使用的格式、定时方式、顺序和检错。
在不同层之间的通信就需要相邻层之间存在接口,底层向高层提供服务,但这个服务细节是对上层屏蔽的,上层只是在下层提供的服务基础上提供更高级的服务。只有通信协议有效,才能实现系统内各种资源共享。
6.2.iso/osi七层模型
iso:国际标准化组织;osi:开放系统互联模型;ios:苹果/互联网操作系统。
七层概念模型分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
七层模型的上三层用来对用户提供服务,下四层为数据传输服务。上三层为下四层提供要传输的数据而没有实际的数据传输。
网络层与网络层之间的传输单位是报文,数据链路层之间的传输单位是帧,物理层之间是比特。传输层之间是TPDU传输协议数据单元。
MAC地址(48位):计算机网卡的硬件地址,用于局域网通信
IP地址:计算机网络地址,用于外网通信
物理层:设备之间的比特流(0101…)的传输、物理接口、电气特性等,网线、网卡、各种接口等,物理层负责产生并检测电压用来发送和接收携带数据的信号。
数据链路层:成帧,用MAC地址访问媒介,错误检测与修正,两者发起数据通信时,依靠MAC地址来确定收发双方是否正确。
网络层:提供逻辑地址(ip地址),选路。网络传输数据双方都要互相确定ip才可以完成通讯,选路是指数据传输过程需要经过的那些路径。
传输层:可靠与不可靠的传输、传输前的错误检测、流控。确定传输是否可靠,传输协议是TCP/UDP协议,传输层有流量控制功能和一定的查错的功能,还要确定端口号(用于确定一个ip下具体的哪一个服务)。
会话层:对应用会话的管理、同步,用来确定网络数据是否要通过远程会话,还有用于建立通信链接,保持会话过程链接通畅。
表示层:数据的表现形式、特定功能的实现,人类可识别的数据表现形式和电脑可以识别的数据间的转换,加密、压缩等功能也在这里实现。
应用层:给用户提供操作接口。
6.3.TCP/IP四层模型
四层模型是指应用层、传输层、网际互联层(网络层)、网络接口层,osi七层模型只是一种概念模型,在实际的网络使用当中并没有根据这七个层次来分配任务,而是通过tcp/ip的四层模型来分配的。osi七层模型就像是tcp/ip模型的模型,所以tcp/ip模型才与现实的网络服务有直接对应关系的。
TCP/IP模型的应用层包含了OSI的应用层、表示层、会话层;
TCP/IP模型的传输层和OSI的传输层一样;
TCP/IP模型的网际互联层和OSI的网络层一样;
TCP/IP模型的网络接口层包含了OSI的数据链路层和物理层;
网络接口层:负责监视数据在主机和网络之间的交换,局域网内的通讯依赖MAC地址,地址解析协议(ARP将ip解析为MAC)工作在这里。
网际互联层:解决主机到主机的通讯问题,它所包含的协议设计数据包在整个网络上的逻辑传输。该层主要有三个协议:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP,用来通ping的协议,该协议就是ping一个ip然后收到来自该ip的数据包,说明网络畅通)。
传输层:为应用层实体提供端到端的通信功能,主要协议是:传输控制协议(TCP可靠的传输,面向连接的协议),用户数据报协议(UDP不可靠的传输,面向无连接的协议)
TCP/IP三次握手:当主机A给给主机B建立连接时,A给B发一个请求(SYN信息x),主机B接到信息,再返回该请求(SYN信息x+1)同时再发送一个确认信息(ACK信息Y),主机A收到这两个信息,只返回一个确认信息(ACK信息Y+1),B接收到这个确认信息Y+1表示通信已经建立,可以传输数据了。TCP/IP协议很可靠,因为当数据传输出出错了,B就会要求A重新发送该数据。UDP协议则不管有没有传输对象,直接发送数据,所以速度更快,但是有可能会丢失数据。
应用层:为用户提供各种服务,如FTP,TELNET,DNS,SMTP等
数据在这样四层结构下进行封装和解封装完成数据传输,封装过程是:(以太帧头就是目标MAC和本机MAC)
数据到了之后再进行解封装(每往上一层,进行一次确认同时拆掉一个头)呈现在目的地用户面前。