Linux网络协议原理

简介: Linux网络协议原理

网络协议


网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集 合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识.


为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标 准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该 终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外 还需转换其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作 相应的变换。


术语简介


网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必 须遵守的规则的集合。


对等实体通常是指计算机网络体系结构中处于相同层次的信息单元。一 般系统网络协议包括五个部分:通信环境,传输服务,词汇表,信息的 编码格式,时序、规则和过程。1969年美国国防部建立最早的网络——阿帕计算机网络时,发布了一组计算机通信协议的军用标准,它包括了五个协议,习惯上以其中的TCP和IP两个协议作为这组协议的通称。


TCP/IP是因特网的正式网络协议,是一组在许多独立主机系统之间提供 互联功能的协议,规范因特网上所有计算机互联时的传输、解释、执 行、互操作,解决计算机系统的互联、互通、操作性,是被公认的网络通信协议的国际工业标准。TCP/IP是分组交换协议,信息被分成多个分 组在网上传输,到达接收方后再把这些分组重新组合成原来的信息。除 TCP/IP外,常用的网络协议还有PPP、SLIP等。


组成要素


网络协议是由三个要素组成:


(1) 语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种 控制信息,以及完成的动作与做出什么样的响应。


(2) 语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺 序。


(3) 时序。时序是对事件发生顺序的详细说明。(也可称为“同步”)。


人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。


工作方式


网络上的计算机之间又是如何交换信息的呢?


就像我们说话用某种语言 一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不 同的计算机之间必须使用相同的网络协议才能进行通信。


网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、 防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式 和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立 在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服 务的细节对上一层加以屏蔽。一台设备上的第 n层与另一台设备上的第n 层进行通信的规则就是第n层协议。


在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。


网络协议使网络上各种设备能够相互交换信息。常见的协议有: TCP/IP协议、IPX/SPX协议、NetBEUI协议等。 当然了,网络协议也有很多种,具体选择哪一种协议则要看情况而定。


Internet上的计算机使用的是TCP/IP协议。 ARPANET成功的主要原因是因为它使用了TCP/IP标准网络协议, TCP/IP(Transmission Control Protocol/Internet Protocol)----传输控制 协议/互联网协议是Internet采用的一种标准网络协议。它是由ARPA于 1977年到1979年推出的一种网络体系结构和协议规范。随着Internet网的 发展,TCP/IP也得到进一步的研究开发和推广应用,成为Internet网上 的"通用语言"。


层次结构


由于网络节点之间联系的复杂性,在制定协议时,通常把复杂成分分解 成一些简单成分,然后再将它们复合起来。最常用的复合技术就是层次 方式,网络协议的层次结构如下:


(1)结构中的每一层都规定有明确的服务及接口标准。


(2)把用户的应用程序作为最高层


(3)除了最高层外,中间的每一层都向上一层提供服务,同时又是下一

层的用户。


(4)把物理通信线路作为最低层,它使用从最高层传送来的参数,是提 供服务的基础。


层次划分


为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围 内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统 互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协 议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。



其中第四层完成数据传送服务,上面三层面向用户。


对于每一层,至少制定两项标准:服务定义和协议规范。


前者给出了该层所提供的服务的 准确定义,后者详细描述了该协议的动作和各种有关规程,以保证服务 的提供。


常用协议


TCP/IP协议


毫无疑问是这三大协议中最重要的一个,作为互联网的基础协议,没有 它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。 不过TCP/IP协议也是这三大协议中配置起来最麻烦的一个,单机上网还好,而通过局域网访问互联网的话,就要详细设置IP地址,网关,子网掩码,DNS服务器等参数。 TCP/IP尽管是目前最流行的网络协议,但TCP/IP协议在局域网中的通信效率并不高,使用它在浏览“网上邻居”中的计算机时,经常会出现不能 正常浏览的现象。此时安装NetBEUI协议就会解决这个问题。


NetBEUI


即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是 NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下 很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一 种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别 合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,小型局域网的计算机也可以安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须 安装NetBEUI协议。


IPX/SPX协议


本来就是Novell开发的专用于NetWare网络中的协议,但是也非常常用——大部分可以联机的游戏都支持IPX/SPX协议,比如星际争霸,反恐精英等 等。虽然这些游戏通过TCP/IP协议也能联机,但显然还是通过IPX/SPX 协议更省事,因为根本不需要任何设置,除此之外,IPX/SPX协议在非局域网络中的用途似乎并不是很大。如果确定不在局域网中联机玩游戏, 那么这个协议可有可无。


划分


物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等


数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令 牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP · CSMA/CD等


网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP · RIP等


传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等 应用层协议:DHCP ·DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP 等


网络安全协议


计算机通信技术的使用需要以网络安全为基石,网络安全协议通过多层 次设计,提升了系统的复杂性和多样性,从根本上保障了互联网系统的 稳定性能,创造了良好的网络运营环境,为计算机通信提供了良好的安 全屏障,有利于计算机通信的顺利进行,同时节省了通信设计成本。


全球化信息时代已经到来,而我国计算机通信行业目前面临的问题依然 很严峻:现代通信行业短短三十年的历史,专业技术还不足以形成全民 普及,网络安全防范意识还很单薄,计算机通信行业从业人员技术上还 不够熟练,难免会在网页设计上存在技术方面的漏洞,而这些技术漏洞 很容易被不法分子利用,给信息安全造成危害。


在这种情势下,完善的网络安全协议能够降低互联网被攻击的风险,避 免恶意攻击造成的数据泄露、文件损毁等情况,减少了通信技术后期维 护与运营的成本,更好地控制了风险;同时网络安全协议简单易用,在 不影响正常网络使用的情况下就能阻挡外部风险,具有便捷性与实用型 兼顾的特点。


网络七层协议


OSI是一个开放性的通信系统互连参考模型,它是一个定义得非常好的协 议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到 下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3 层(即3、2、1层)主要面向通过网络的端到端,点到点的数据流。


各层功能


应用层


与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。 例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字 处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文 件的选项,那么字处理器的程序就需要实现OSI的第7层。示例: TELNET,HTTP,FTP,NFS,SMTP等。


表示层


这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二 进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文 件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换 成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算 机的字符集。示例:加密,ASCII等。


会话层


它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制 和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示 层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数 据,则用数据代表表示层。示例:RPC,SQL等。


传输层


这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一 主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对 的数据包的重新排序功能。示例:TCP,UDP,SPX。


网络层


这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地 址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长 度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的 包的分段方法。示例:IP,IPX等。


数据链路层


它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有 关。示例:ATM,FDDI等。


物理层


OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组 织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于 各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定 义。示例:Rj45,802.3等。


分层优点


(1)人们可以很容易的讨论和学习协议的规范细节。


(2)层间的标准接口方便了工程模块化。


(3)创建了一个更好的互连环境。


(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。 (5)每层利用紧邻的下层服务,更容易记住各层的功能。


大多数的计算机网络都采用层次式结构,即将一个计算机网络分为若干 层次,处在高层次的系统仅是利用较低层次的系统提供的接口和功能, 不需了解低层实现该功能所采用的算法和协议;较低层次也仅是使用从 高层系统传送来的参数,这就是层次间的无关性。因为有了这种无关 性,层次间的每个模块可以用一个新的模块取代,只要新的模块与旧的 模块具有相同的功能和接口,即使它们使用的算法和协议都不一样。


网络中的计算机与终端间要想正确的传送信息和数据,必须在数据传输 的顺序、数据的格式及内容等方面有一个约定或规则,这种约定或规则 称做协议。


相关文章
|
10天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
10天前
|
网络协议 安全 Linux
Linux网络名称空间之独立网络资源管理
Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应用开发人员在使用时应注意的重点。
|
10天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
18天前
|
Linux
Linux中centos桌面消失网络图标
Linux中centos桌面消失网络图标
13 0
|
21天前
|
机器学习/深度学习 存储 算法
神经网络分类算法原理详解
神经网络分类算法原理详解
43 0
|
12天前
|
运维 Kubernetes Cloud Native
探索Kubernetes的大二层网络:原理、优势与挑战🚀
在云原生领域,Kubernetes (K8s) 已经成为容器编排的事实标准☁️📦。为了支撑其灵活的服务发现和负载均衡🔍🔄,K8s采用了大二层网络的设计理念🕸️。本文将深入探讨大二层网络的工作原理、带来的好处✨,以及面临的挑战和解决方案❗🛠️。
探索Kubernetes的大二层网络:原理、优势与挑战🚀
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
24 6
|
10天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
7天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
5 0
|
7天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
20 0