对计算机网络中协议的理解

四层/五层

对计算机网络中协议的理解

网络接口层/(物理层+数据链路层)

网络层

IP

IP协议制定了一套网络地址,也就是IP地址,根据IP协议能够区分两台主机是否同属一个网络(子网)。

ICMP(网际控制报文协议)

在IP主机、路由器之间传递控制消息,其中控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息;

在IP之上,用来测试网络层有没有故障;ICMP不是高层协议,而是IP层协议;使用最多的命令是ping。ICMP报文件为IP层数据报的数据加上数据报的首部,组成IP数据报发送出去。

IGMP(Internet组播管理协议)

使用多播一般用于直播,网络会议,能够节省带宽。

IGMP协议的作用就是周期性扫描本网段内有没有主机在访问多播数据包。

ARP(地址解析协议)

每个主机都存有一个ARP高速缓存,存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称为ARP表;

如果所要找的主机和源主机不在同一个局域网上,那么通过ARP协议找到一个位于本局域网上的某个路由器硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络

工作原理:当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。一般为两种情况:

  • 如果有可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址
  • 如果没有,就通过使用目的MAC地址为本网络的广播地址即32个1(FF-FF-FF-FF-FF)的帧来封装并广播ARP请求分组,可以使同一个局域网里的所有主机收到ARP请求(去解析目标MAC地址)

RARP(反向地址转换协议)

逆地址解析协议,作用是完成硬件地址到IP地址的映射.(请求是广播,应答是单播)

网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的MAC地址。主机从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求的RARP服务器分配一个IP地址。

  • 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何的响应
  • 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败

传输层

TCP(传输控制协议)

需要将传输的文件分段,传输需要建立会话,可靠传输,可以流量控制(qq传文件)

UDP(用户数据报协议)

一个数据包就能完成数据通信;不需要建立会话和流量控制;多播/广播(同样是UDP);是一种不可靠传输。域名解析使用UDP(qq聊天)

应用层

HTTP(超文本传输协议)

FTP(文件传输协议)

FTP的连接方式包括控制连接和数据连接。每上传/下载一个文件就会建立一个会话。
控制连接:标准端口为21,用于发送FTP命令信息。
数据连接:标准端口为20,用于上传/下载数据。

SMTP(简单邮件传送协议)

DNS(域名系统)

把域名解析为IP地址。

Telnet

Internet远程登陆服务

RDP(远程桌面协议)

DHCP

客户端请求IP地址的过程;

这是一个动态IP地址的请求和分配过程。客户机在网中发广播请求地址,目标IP是4个255,目标MAC地址是全FF。DHCP收到后,会从地址池里选一个给客户机。如果网络中有2个DHCP服务端且都给了反馈,此时计算机还需要返回一个数据通知他选择了谁提供的地址。另一个DHCP客户端发现没要他的,于是收回他提供的。从这个角度看,网络中不能有太多的DHCP服务端。

七层

物理层

二进制物理传输;给数据包增加了接收端和发送端的IP地址。

将信息编码成电流脉冲或其它信号用于网上传输

数据链路层

传输有地址的帧,错误检测;在数据链路层里,增加了帧头帧尾,MAC地址和校验值。

通过物理网络链路提供可靠的数据传输

网络层

为数据包选择路由

负责在源和终点之间建立连接

传输层

提供端对端接口

向高层提供可靠的端到端的网络数据流服务(TCP)。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复

会话层

解除或建立与别的接点的联系

建立、管理和终止表示层与实体之间的通信会话

表示层

数据格式化,代码转换,数据加密

提供多种功能用于应用层数据编码和转化,以确保一个系统应用层发送的信息可以被另一个系统应用层识别

应用层

文件传输,文件服务,电子邮件,虚拟终端

提供网络服务