在Linux下配置TCP/IP

2016-01-29 19:47 1 1 收藏

在Linux下配置TCP/IP,在Linux下配置TCP/IP

【 tulaoshi.com - Linux 】

 

TCP/IP 简史
近年来,随着“传输控制协议/网际协议(TCP/IP)”套件的广泛使用,它已经成为网络通信中事实上的标准。这绝大部分要归功于因特网的迅猛发展以及对在不同平台、设备和操作系统中以它们都理解的“语言”来共享数据的需要。让我们首先了解 TCP/IP 的历史。
在 20 世纪 60 年代后期,美国国防部(DOD)意识到其内部日渐突出的通信问题。在 DOD 工作人员、研究实验室、大学以及承包商之间日益增长的电子信息通信量遇到了严重的障碍。组成 DOD 的不同实体和组织拥有来自不同计算机制造商的计算机系统,这些计算机系统运行不同的操作系统并使用不同网络拓扑结构和协议。
高级研究项目局(Advanced Research Projects Agency,ARPA)被授命提出一种解决这个问题的方案。ARPA 与各大学和计算机制造商结盟来开发一组通信标准。该联盟确定并构建了 4 节点的网络,这就成为当今因特网的基础。在 20 世纪 70 年代,该网络移植到一个新的、核心的协议设计中,这个协议就成为 TCP/IP 的基础。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/linux/)

开放系统互连(Open System Interconnection,OSI)模型
现在,我们使用许多不同类型的计算机,它们有着不同的操作系统、CPU 和网络接口等等。这些不同使得计算机系统间的通信出现问题。在 1997 年,国际标准化组织(ISO)创建了一个小组委员会来开发数据通信标准以促进多供应商的互操作性。其结果就是开放系统互连(OSI)模型。
OSI 模型并未确定任何通信标准或协议;相反,它只是提供了通信任务应该遵循的一些指导性建议。
注:OSI 模型只是一种模型或框架,它确定了要执行的功能,理解这一点很重要。它并未详细说明如何执行这些功能。但是,对于部分 OSI 模型,ISO 也确实接纳了某些符合 OSI 标准的具体协议。例如,ISO 接受 CCITT X.25 协议,该协议作为一种实现提供了 OSI 模型中网络层的大部分服务。
7 个 OSI 层
为简单起见,ISO 小组委员会采用分而治之的方法。将复杂的通信过程分为较小的子任务,问题就变得更容易处理,每个子任务可以分别优化。OSI 模型由 7 层组成:
· 应用层
· 表示层
· 会话层
· 传输层
· 网络层
· 数据链路层
· 物理层
给每一层都分配了一组特定的功能。每一层都使用下层的服务并为其上层提供服务。例如,网络层使用数据链路层的服务并为传输层提供与网络相关的服务。
OSI 层,续
利用相邻层的服务和为其相邻层提供服务,这种层的概念很简单。考虑公司是如何运做的:秘书写备忘录来向总裁(相邻的上一层)提供秘书服务。秘书使用信使的服务(相邻的下一层)来发送消息。通过将这些服务分开,秘书(应用程序)就不必知道消息实际上是如何传递到接收者手中。秘书只需要求信使(网络)发送消息即可。正如许多秘书通过使用这种标准的信使服务来发送备忘录一样,分层的网络可以通过将信息包交给网络层来发送这些信息包。
注:不要将应用层与在计算机上执行的应用程序混淆(在英文中都是一个词 — application)。请记住,应用层是 OSI 模型的一部分,它并未具体指定用户和通信路径之间的接口是如何工作的,应用程序是这个接口的具体实现。实际的应用程序通常执行应用层、会话层和表示层的服务,而将传输层、网络层、数据链接层和物理层服务留给网络操作系统来处理。
跨层通信
每一层都与其它计算机中的同一层通信。例如,一个系统中的第 3 层与另一个计算机系统的第 3 层通信。
当信息从一层传到下一层时,会在数据前面加一个头,以指出该信息的来源和目的地。来自某一层的由数据和头所组成的信息块又成为下一层的数据。例如,当第 4 层将数据传递到第 3 层时,它会添加自己的头。当第 3 层将该信息传递到第 2 层时,第 3 层会将来自第 4 层的头加数据作为它的数据,并在该数据前添加第 3 层的头,然后才将这个“头 + 数据”组合传给下一层。
每一层信息单元的名称都不同:
应用层 -- 消息
传输层-- 段
网络层 -- 数据报
数据链路层 -- 帧(也称做信息包)
物理层 -- 位
在 OSI 模型出现前,美国国防部定义了它自己的网络模型,即 DOD 模型。DOD 模型与 TCP/IP 协议套件有紧密的联系,这将在下一节说明。
TCP/IP 协议栈(TCP)
TCP/IP 协议栈表示了与 OSI 模型类似的网络体系结构。
但 TCP/IP 不象 OSI 模型那样详细区分协议栈的上面几层。OSI 最上面的 3 层大致与 TCP/IP 的网际处理协议相当。处理协议的一些示例有 Telnet、FTP、SMTP、NFS、SNMP 和 DNS。
OSI 模型的传输层负责可靠数据的发送。在网际协议栈中,这对应于主机到主机协议。这方面的示例是 TCP 和 UDP。TCP 用来转换来自上层协议的不定长消息以及提供远程系统间必要的确认和面向连接的流控制。
UDP 与 TCP 相似,但它不是面向连接的,而且不对数据接收进行确认。UDP 仅接收消息并将其传递给上层协议。因为 UDP 没有与 TCP 有关的那些开销,所以它为如远程磁盘服务等操作提供更高效的接口。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/linux/)

TCP/IP 协议栈(IP)

来源:https://www.tulaoshi.com/n/20160129/1510126.html

延伸阅读
经过我对网络上IP数据包的跟踪,对我写的《TCP/IP学习笔记》进行补充。通过本文,可以加深对TCP/IP的认识。 ●网络环境:ADSL宽带 ●IP数据包内容:通过Outlook发送邮件,帐号是xiaojin8039@163.com,给我的其他邮箱xiaoj@njb.swirebev.com发送邮件,系统从而捕获的IP包。 ●所有IP包均为TCP协议 1、关于IP包的分片情况...
标签: 电脑入门
在Linux操作中有时会遇到使用代理ip来访问的网站用户,这就需要配置Nginx限制其访问,下面图老师小编就给大家介绍下Linux系统中如何配置Nginx来拒绝代理ip访问。 先大概说说简单的结构前端一个Nginx反向代理,后端一个Nginx instance app for PHP实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打流量,而是针...
一、 DNS系统 1、DNS的授权: 网络信息中心NIC负责分配顶极域和委派其他指定地区域的授权机构。一个独立管理的DNS子树称为一个区域,许多二极域将他们的子域划分为更小的区域。当一个系统加入到一个区域中时,该区域的DNS管理者为该新系统申请一个域名和一个IP地址,并将他们加入到名字服务器的数据库中。 一个名字服务器负...
1、快速通信 Winsock的Nagle算法将降低小数据报的发送速度,而系统默认是使用Nagle算法,使用 int setsockopt( SOCKET s, int level, int optname, const char FAR *optval, int optlen );函数关闭它 例子: SOCKET sConnect; sConnect=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); int bNodelay = 1; i...
一、SNMP:简单网络管理协议 基于TCP/IP的网络管理包括两部分:网络管理站(manager)和被管理的网络单元(被管设备)。这些被管设备的共同点就是都运行TCP/IP协议。管理进程和代理进程之间的通信有两种方式,一种是管理进程向代理进程发出请求,询问参数值,另一种方式是代理进程主动向管理进程报告某些重要的事件。 基于TCP/IP的...

经验教程

469

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部