Linux网络优势
Linux为用户提供了完善的、强大的网络功能。
1 完善的内置网络。 其他操作系统不包含如此紧密地和内核结合在一起的网络部分。
2 Linux免费提供大量支持Internet的软件,Internet是在UNIX领域内建立并繁荣起来的,在这一方面使用Linux是相当方便的,用户能用Linux与世界上其他人通过Internet网络进行通信。
3 用户能通过一些Linux命令完成内部信息或文件的传输。
4 远程访问。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这些远程访问功能,一位技术人员能够有效地为多个系统服务,即使那个系统位于距离很远的地方。
5 安全可靠。 Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
Linux网络模型(如图1所示):
图1 Linux网络模型和OSI七层模型对比
Linux网络模型(如图2所示):
图2 linux网络模型
网络层协议
第一部分为网络层协议。主要包括Internet协议(IP),网际控制报文协议(ICMP)和地址解析协议(ARP):
.Internet协议(IP):
该协议被设计成互联分组交换通信网,以形成一个网际通信环境。它负责在源主机和目的主机之间传输来自其较高层软件和称为数据报文的数据块,它的源和目的地之间提供非连接型传递服务。
传输层协议
第二部分是传输层协议,它包括传输控制协议和用户数据报文协议。
.传输控制协议(TCP):
该协议对建立网络上用户进程之间的对话负责,它确保进程之间可靠通信,所提供的功能如下:
1 监听输入对话建立请求。
2 请求另一网络站点对话。
3 可靠发送和接受数据。
4 适度的关闭对话。
.用户数据报文协议(UDP):
UDP提供不可靠的非连接型传输层服务,它允许在源和目的地之间传输数据,而不必在传输数据之间建立对话。它主要用于那些非连接型的应用程序,如:视频点播。
应用层协议
这部分主要包括Telent,文件传输协议(FTP和TFTP),简单文件传送协议(SMTP)和域名服务(DNS)等协议。
协议封装(结合wiresshark)
图3 协议的封装结构
由图三可以看出,各个层协议之间属于封装结构关系,如:以太网层封装了IP层,IP层封装了TCP层,TCP层封住了应用层。。。
通过打开wiresshark,建立windows和虚拟机下Linux的samba服务。启动wiresshark,观察wiresshark动态如图4所示:
图4 wiresshark示意图
由图4可知,蓝色部分为Linux和Window建立起来的Samba包,由于我们已经建立了window和Linux的samba服务,所以wireshark里有此包的出现,是由Linux主机传送到Windows主机的网络包,并且显示为SMB协议的包,SMB为应用层协议的包。
图5 SMB包最外层以太网层包的封装关系
以太网包
图6 以太网包的数据结构
IP包会放在以太网包的数据字段。
IP协议
IP主要有以下四个主要功能:
.数据传送
.寻址
.路由选择
.数据报文的分段
IP主要目的是为数据输入/输出网络提供基本算法,为高层协议提供无连接的传送服务。这意味着在IP将数据递交给接收站点以前不在传输站点和接受站点之间建立对话。它只是封装和传递数据,但不向发送者或接收者报告包的状态,不处理所遇到的故障。
IP包由IP协议头与协议数据两部分构成。
IP协议头
图8 IP包协议头
图9 SMB服务在wireshark当中的IP包部分
由图8所示,红色部分表示,以太网数据部分为所封装的IP包协议头部分。包括IP包头和IP数据。
TCP协议
TCP是重要的传输协议,目的是允许数据同网络上的其他节点进行可靠的交换。它能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输。
TCP协议具有严格的内装差错检验算法确保数据的完整性。
TCP是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号。
TCP协议头如图10所示:
图10 TCP协议头
图11 SMB服务的TCP包在wireshark当中的显示
UDP协议
UDP也是传输层协议,它是无连接的,不可靠的传输服务。当接收数据时它不向发送方提供确认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,也不会向发送方发出出错报文。由于它执行功能时具有较低的开销,因而执行速度比TCP快。
UDP包协议头如下图所示:
图12 UDP包协议头