Linux基础网络环境

      计算机网络分类

1.局域网LAN: 是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能计算机数量更多了, 通过交换机和路由器连接在一起;

                              

2.广域网WAN:通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络 将远隔千⾥里的计算机都连在一起                                               

所谓 "局域网" 和 "广域网" 只是一个相对的概念

网络通信协议

网络通信协议为连接不同操作和不同硬件体系结构的互联网络引提供通信支持,是一种网络通用语言。网络通信协议 是计算机网络和分布系统中,互相通信对等实体间交换信息时所必须遵守的规则的集合。通信协议定义了网络上的各种计算机和设备之间的相互通信、数据管理、数据交换的整套规则。

例如:

                 

计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表⽰示 0 和 1 这样的信息. 要想传递各种不
同的信息, 就需要约定好双⽅方的数据格式.

  • 计算机⽣生产⼚厂商有很多;
  • 计算机操作系统, 也有很多;
  • 计算机网络硬件设备, 还是有很多;
  • 如何让这些不同⼚厂商之间⽣生产的计算机能够相互顺畅的通信? 就需要有⼈人站出来, 约定一个共同的标准, ⼤大家都来遵守, 这就是网络协议;

通过这些规则,网络上的节点才有了彼此通信的“共同集合”。不同计算机之间必须使用相同的网络协议才能通信。

网络分层

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

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;

OSI 七层模型是一种框架性的设计⽅方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
它的最⼤大优点是将服务、接⼝口和协议这三个概念明确地区分开来,概念清楚,理论也⽐比较完整. 通过七个层次化的结构模型使不同的系统不同的⺴⽹网络之间实现可靠的通讯;

(1)物理层

物理层(Physical layer)是参考模型的最低层。该层是网络通信的数据传输介质,由连接不同结点的电缆与设备共同构成。主要功能是:利用传输介质为数据链路层提供物理连接,负责处理数据传输并监控数据出错率,以便数据流透明传输

(2)数据链路层

数据链路层(Data link layer)是参考模型的第2层。 主要功能是:在物理层提供的服务基础上,在通信的实体间建立数据链路连接,传输以"帧"为单位的数据包,并采用差错控制流量控制方法,使有差错的物理线路变成无差错的数据链路。

(3)网络层

网络层(Network layer)是参考模型的第3层。主要功能是:为数据在结点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制网络互联等功能。

(4)传输层

传输层(Transport layer)是参考模型的第4层。主要功能是向用户提供可靠的端到端(End-to-End)服务,处理数据包错误、数据包次序,以及其他一些关键传输问题。传输层向高层屏蔽了下层数据通信的细节,因此,它是计算机通信体系结构中关键的一层。

(5)会话层

会话层(Session layer)是参考模型的第5层。主要功能是:负责维护两个结点之间的传输链接,以便确保点到点传输不中断,以及管理数据交换等功能。

(6)表示层

表示层(Presentation layer)是参考模型的第6层。主要功能是:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据加密与解密数据压缩与恢复等功能。

(7)应用层

  应用层(Application layer)是参考模型的最高层。主要功能是:为应用软件提供了很多服务,例如文件服务器、数据库服务、电子邮件与其他网络软件服务。

OSI参考模型中的数据流

 

TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
           TCP/IP通讯协议采⽤用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.

物理层: 负责光/电信号的传递⽅方式. ⽐比如现在以太网通⽤用的网线(双绞 线)、早期以太网采⽤用的的同轴电缆(现在主要⽤用于有线电视)、光纤, 现在的wifi⽆无线⺴⽹网使⽤用电磁波等都属于物理层的概念。物理层的能⼒力决定了最⼤大传输速率、传输距离、抗干扰性等. 集线器(Hub)⼯工作在物理层.
          数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就⾃自动重发)、数据差错校验等工作.有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
           网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的⽅方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.

传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.应⽤用层: 负责应⽤用程序间沟通,如简单电⼦子邮件传输(SMTP)、⽂文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应⽤用层.

OCI参考模型与TCP模型对比

网络传输基本流程 

      网络地址 

网络地址(Network address)是互联网上的节点在网络中具有的逻辑地址。互联网络是由互相连接的带有连接节点(称为主机和路由器)的LAN组成的。在TCP协议中,这这个地址也被叫做IP地址。

IP地址被用来给Internet上的电脑一个编号,IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。

端口

IP地址被分配后,要实现网络节点间通信,还需要端口号。端口号就相当于标识同一主机上的不同应用程序。

主机通过“IP地址+端口号”来区分不同的网络服务。

TCP 端口  :Transmission Control Protocol传输控制协议,TCP是一种面向连接(连接导向)的、可靠的、基于字节流传输层(Transport layer)通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议

UDP端口  :User Datagram Protocol用户数据报协议,UDP是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议适用端口分别运行在同一台设备上的多个应用程序。

传输控制协议

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议.

连接建立

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答

TCP的三次握手SYN+ACK [1]  ,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。

TCP的三次握手

客户端向服务器端发出连接请求数据包:“我想给你发数据,不知是否可以”,第一次握手,

服务器端向客户端发出同意的连接请求数据包:“可以,你什么时候发”,第二次握手

客户端向服务器端发出连接同步数据包:“我现在就发”,第三次握手

 

 

连接关闭

建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close),TCP的全双工造成的。具体过程如下图所示

TCP连接的终止

客户端向服务器端发出关闭连接请求数据包:“我想关闭连接,不知是否可以”,第一次握手,

                               客户端将不能再向  服务器发送数据,但是可以接收数据

服务器端向客户端发出同意的连接和要求同步数据包:“可以”,第二次握手

服务器端向客户端再发出数据确认请求:“我想关闭连接,不知是否可以”,第三次握手

                                  

客户端向服务器端发出数据包:“可以”,第四次握手

猜你喜欢

转载自blog.csdn.net/mashui21/article/details/81366572