计算机网络基础知识

计算机网络基础知识

一、计算机网络基础知识

1、计算机网络定义

计算机网络是指将地理位置不同的既有独立功能的多台计算机及其外部设备,通过通信线路链接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2、LAN、WAN、MAN、PAN的划分

广域网 WAN (几十到几千公里)、城域网 MAN(5~50KM)、局域网 LAN(1km 左右)、个人 局域网 PAN(10 米左右)

网络性能参数:速率、带宽、吞吐量、时延、往返时间、信道利用率。

  1. 速率:数据的传送速率,单位是 Bit/s

  2. 带宽: 在计算机网络中,网络带宽表示单位时间内网络中某信道所能通过的 “最高 数据率”,单位为 bit/s

  3. 吞吐量: 表示在发送端与接收端之间实际的传送数据速率(bit/s)

  4. 时延: 指数据从网络的一端传送到另外一端所需的时间。

    1. 发送时延:是主机或路由器发送数据帧所需要的时间。公式为:数据帧长度 (bit)/ 发送速率(bit/s) 2

    2. 传播时延:是电磁波在信道中传播一定的距离需要花费的时间。公式为:信 道长度(m)/ 电磁波在信道上的传播速率(m/s)

    3. 处理时延:主机或路由器在收到分组时要花费一定的时间进行处理

    4. 排队时延:在分组进入路由器后要先在输入队列中排队等待处理

  5. 往返时间: 从发送方发送数据开始,到发送方收到来自接受方的确认,总共经历 的时间

  6. 信道利用率: 指某信道有百分之几的时间是有数据通过的 信道利用率并非越高越好,因为当利用率增大时,该信道引起的时延也就迅 速增加

二、计算机网络协议

网络协议是为计算机网络中进行数 据交换而建立的规则、标准或者说是约定的集合。

TCP/IP协议已经成为Internet中的“通用语 言”

1、网络层次的划分
  • OSI模型(七层模型):【OSI是国际标准化组织的简写】分别有应用层、表示层、会话层、传输层、网络层、数据链路层、物理层这七层构成。
  • TCP/IP五层模型:是吧OSI模型的应用层、表示层、会话层三层和一统称为应用层。
  • TCP/IP四层模型:是吧五层模型的物理层和数据链路层合称为网络接口层。

模型示意图:

计算机网络基础知识_第1张图片

2、四层协议的作用
  • 发送端是由上至下,把上层来的数据在头部加上各层协议的数据(部首)再下发 给下层。
  • 接受端则由下而上,把从下层接受到的数据进行解密和去掉头部的部首后再发送 给上层。
  • 层层加密和解密后,应用层最终拿到需要的数据。
3、TCP/IP五层模型每一次的作用
  • 应用层:通过应用进程的交互来实现特定网络应用的问题。

  • 运输层:解决进程之间基于网络的通信问题,

  • 网络层:解决分组在多个网络上传输(路由)的问题。

  • 数据链路层:解决分组在一个网络(或一段链路)上的传输问题。

  • 物理层:解决使用何种信号来传输比特的问题。

示意图:计算机网络基础知识_第2张图片

4、OSI七层网络罗模型
1.)物理层(Physical Layer)

物理层的作用:计算机网络中的物理层就是要解决在各种传输媒体上传输比特0和1的问题。

物理层为数据链路层屏蔽屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层协议和服务,而不必考虑网络具体的传输媒体是什么。

物理层协议的主要任务:

  • 机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定的装置。
  • 电气特性:指明在接口电缆的各条线上出现的电压的范围。
  • 功能特性:指明某条线路上出现的某一电平的电压表示何种意义。
  • 过程特性:指明对于不同功能的各种可能事件的出现顺序。

物理层常见的设备

中继器:中继器,就是简单的信号放大器,信号在传输的过程中是要衰减的,中 继器的作用就是将信号放大,使信号能传的更远。

集线器:集线器,差不多就是个多端口的中继器,把每个输入端口的信号放大再 发到别的端口去,集线器可以实现多台计算机之间的互联,因为它有很多的端口,每 个口都能连计算机。

2)数据链路层(Data Link Layer)

数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源 自网络层来的数据可靠地传输到相邻节点的目标机网络层

数据链路层的作用

数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻 址(使用MAC协议)、数据的成帧、流量控制、数据的检错、重发等

链路(Link):就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。

数据链路(Data Link):是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。

数据链路层的三个重要问题

封装成帧:数据链路层给网 络层协议数据单元添加一个数据链路层协议首部,简称为帧头,还要给其添加一个帧 尾,我们将数据链路层给网络层交付的协议数据单元,添加帧头和帧尾的操作,称为 封装成帧。

差错校验:以通过检错码来发现是否出现误码,发送方在 发送帧之前,基于待发送的数据和检错算法计算出检错码,并将其封装在帧尾.

计算机网络基础知识_第3张图片

可靠传输:接收方在收到有误码的帧后,是不会接受该帧的,将其丢弃,如果数据链路层向其上 层提供的是不可靠服务,那么丢弃就丢弃了,不会有更多的措施。反之,如果提供的 是可靠服务,那么就还需要其他措施,来确保接收方主机还可以重新收到被丢弃的这 个帧的正确副本。

数据链路层常见设备

网桥:网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发 帧,可以看作一个“低层的路由器”。

交换机:交换机常常用来连接独立的计算机,而网桥连接的 目标是LAN,所以交换机的端口较网桥多。

网卡(适配器):重要功能(进行串行/并行转换; 数据封装与解封; 编码与译码; 链路管理,主要是CSMA/CD协议的实现。)

3)网络层(Network Layer)

网络层的目的是实现两个端系统之间的数据透明传送,具体功能**包括寻址和路由选 择、连接的建立、保持和终止等。**将数据封装成包。

网络层的三个重要问题

网络层向运输层提供怎样的服务

是否可靠传输:数据包在传输的过程中可能出现误码,也有可能由于路由器繁忙而被路由器丢弃,还 有可能出现按序发送的包不能按序到达接收方。如果网络层对上述出现的错误不采取 任何措施,则提供的是不可靠传输服务,反之并使得接收方能正确接收发送方发送的 数据包,提供的是可靠传输服务。因特网使用的TCP/IP协议体系的网际 层,提供的是无连接的、不可靠的数据包服务。

网络寻址问题

TCP/IP协议体系的网际层使用IP地 址。

IP协议的主要功能有: 无连接数据报传输、数据报路由选择和差错控制。IP协议负责将数据报从源主机发送到目标主机,通过IP地址作为唯一 识别码。

路由选择问题

1、由用户或管理人员设置,适用于规模较小且网络拓扑不改变的小型互联网;

2、实现各种路由选择协议,由路由器执行路由选择协议中所规定的路由选择算法, 而自动得出路由表中的路由记录。适用于规模较大且网络拓扑经常改变的大型互联 网。

4)传输层 (Transport Layer)

传输层负责将上层数据分段并提供端到端的、 可靠的或不可靠的传输。传输层还要处理端到端的差错控制和流量控制问题。利用网络资源,为两个端系统的会话层 之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一 层,信息传送的协议数据单元称为段或报文。

传输层的重点

  • 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端 的差错控制和流量控制问题;

  • 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协 议)、UDP协议(User Datagram Protocol,用户数据报协议);

    • TCP是面向连接的,可靠的字节流服务;
    • UDP是面向无连接的,不可靠的数据报服 务
  • 网关:网关,通过字面意思解释就是网络的关口。从技术角度来解释,就是连 接两个不同网络的接口,比如局域网的共享上网服务器就是局域网和广域网的接口。

5)会话层

自动收发包,自动寻址。 会话层作用是「负责建立和断开通信连接」,何时建立,断开连接以及保持多久的连 接。常见的协议有 ADSP、RPC 等

6)表示层

解决「不同系统之间通信语法问题」,在表示层数据将按照网络能理解的方案进行格 式化,格式化因所使用网络的不同而不同。它主要负责数据格式的转换。具体来说,就是讲设备固有的数据格式转换为网络标准 格式。

7)应用层

为操作系统或网络应用程序提供访问网络服务的接口。规定发送方和接收方必须使用一个固定长度的消息头,消息头必须使用某种固定的组 成,消息头中必须记录消息体的长度等信息,方便接收方正确解析发送方发送的数 据。

三、三次握手和四次挥手

1、三次握手

第一次:客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输 的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号 (seq=x);客户端进入 SYN_SEND (同步发送状态)

第二次:服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字 段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经 收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段 (ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态)

第三次:客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的 报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段 (ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户 发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;

图示:计算机网络基础知识_第4张图片

通俗理解三次握手:

第一次握手:客户发送请求,此时服务器知道客户能发;

第二次握手:服务器发送确认,此时客户知道服务器能发能收;

第三次握手:客户发送确认,此时服务器知道客户能收。

2、四次挥手

第一次挥手:处于连接状态的客户端和服务端都可以发起关闭连接请求,假设客户端主动发起连接关闭请求,需要向服务端发起一个FIN包,表示 要关闭连接,自己进入终止等待状态,

第二次挥手:服务端收到FIN包,发送一包ACK包,表示自己进入了关闭等待状态,客户端进入终 止等待2状态,

第三次挥手:服务端此时还可以发送未发送的数据,而客户端还可以接收数据,待服务端发送完数 据后,发送一包FIN包,进入最后确认状态,

可以发起关闭连接请求,假设客户端主动发起连接关闭请求,需要向服务端发起一个FIN包,表示 要关闭连接,自己进入终止等待状态,

第二次挥手:服务端收到FIN包,发送一包ACK包,表示自己进入了关闭等待状态,客户端进入终 止等待2状态,

第三次挥手:服务端此时还可以发送未发送的数据,而客户端还可以接收数据,待服务端发送完数 据后,发送一包FIN包,进入最后确认状态,

第四次挥手:客户端收到之后恢复ACK包,进入超时等待状态,经过超时时间后关闭连接,而服务 端收到ACK包后立即关闭连接。

你可能感兴趣的:(Linux,网络,网络协议,tcp/ip)