网络分层与协议

一、基本概念

1. 网络通信

  • 网络是什么?网络是用物理链路将工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。
  • 这里的物理链路不仅仅指的是我们能够看得到的双绞线、光纤,也可能是无线电波。
  • 网络通信,狭义的讲,可以理解为计算机与计算机之间基于网络进行的数据交换。当然,这个过程中也有人与计算机的交互。

2. 协议

  • 在计算机通信当中,也差不多,就是约定好咱们交互时的数据格式是什么,每个数据项什么意思,然后你收到之后应该怎么处理或怎么回应。
  • 简单来说,互联网协议就是在互联网上传输数据的规则。当然,协议是非常多的,比如TCP、UDP、IP协议、FTP协议等等。

二、网络分层

  • 标准的七层网络分层,也就是OSI七层模型。
  • TCP/IP五层模型和TCP/IP四层模型是从OSI七层优化而来。
  • TCP/IP五层模型包括:应用层、传输层、网络层、数据链路层和物理层。

三、物理层

  • 这一层就是把各个网络设备连接起来,让其可以传输0 1 0 1的电信号。

  • 基本上是用双绞线、光纤、无线电波的方式来实现物理层。

  • 网络设备连接起来之后,就可以基于它来发送高低电压(电信号)进行通信,高电压对应数字1,低电压对应数字0。

  • `0和1信号本身没有任何的现实意义,所有需要用另一层用来规定不同0、1组合的意义。

四、数据链路层(以太网协议)

1. 作用

  • 用于处理电信号设置发送和接收地址
  • 单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思。

2. 以太网协议

  • 数据链路层的功能就是通过规定一套协议来定义电信号的分组方式,以及规定不同的组代表什么意思,从而双方计算机都能够进行识别,这个协议就是“以太网协议”。

  • 规定一组电信号构成一个数据包,我们把这个数据包称之为帧。

  • 每一个桢由包头(Head)和数据(Data)两部分组成。

  • 其中Head包含数据包的一些说明信息,包括发送者、接收者、数据类型;Data则是数据包的具体内容。

3. MAC地址

  • 以太网协议规定,连入网络的所有设备都必须具有网卡
  • 数据包的发送地址和接收地址指的就是网卡地址也就是MAC地址
  • 两个MAC地址分别是发收者和接收者。

4. 通信方式

  • 以太网中通过广播的方式进行通信、
  • 在同一个子网中,计算机1要向计算机4发送一个数据包,数据包中包含接收方的MAC地址。
  • 计算机1向本网络内所有计算机都发送(以广播的方式),这时同一子网中的每台计算机 (包括2、3)都会收到这个数据包的。
  • 然后每台计算机都会把数据包的MAC地址取出来,与自身的MAC地址进行对比,如果两者相同,则接受这个数据包,否则就丢弃这个数据包。
  • 计算机4发现包含自己的MAC地址,于是就进行响应。

五、网络层(IP协议)

1. 作用

  • 在同一个子网下,通过以太网广播形式发送数据;
  • 如果不在同一个子网,通过IP地址判断是哪个子网,到达子网后再通过MAC地址通信。
  • 网络层引入一套新的协议用来区分不同的子网,于是就有了IP 协议。

2. IP 协议

IP地址与MAC地址区别(逻辑地址与物理地址)

  • 网络地址协议,叫做IP协议。相对于上面讲到的MAC地址, IP 地址可以理解成逻辑地址,
  • 也就是说 MAC 地址是物理上的地址,是固定的。IP 地址是动态分配的,是不固定的。

IP数据包

  • 通过IP协议发送的数据,就叫做IP数据包,也分为“包头”和“数据”两个部分:“包头”部分主要包括版本、长度、IP地址等信息;“数据”部分则是IP数据包的具体内容。

IP地址组成

  • IP地址分成两部分:网络部分(标识子网)和主机部分(标识主机)。

子网掩码

  • 子网掩码就是用来标识同一局域网中的 IP 地址的信息的。

  • 两台计算机的 IP 地址分别和子网掩码进行一种AND 运算。如果结果相同,两台计算机就在同一局域网中,否则就不在同一局域网中。

3. ARP协议

  • 有了IP协议,可以判断计算机属于哪个子网了。在链路层时我们通过MAC地址进行通信的,现在只有目标的IP地址,如何才能拿到它的MAC地址呢?这就要用到ARP协议。
  • ARP协议可以通过广播的方式发送数据包,获取目标主机的MAC地址。ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议。(如果不再同一个域名内,获取到的是两个子网中间的网关的MAC地址)
  • 具体实现为:发送端主机通过广播的方式发送数据包,所有主机接收后拆开包,如果发现目标IP为自己就响应,返回MAC地址。

4. DNS域名解析协议

但是,我们一般不是直接输入IP地址,而是输入域名,那么就需要将域名转换为IP地址,才能进行访问。

  • DNS 是域名系统 (Domain Name System) 的缩写,提供的是一种主机名到 IP 地址的转换服务,就是我们常说的域名系统。DNS 协议是应用层协议。
  • 将域名解析为IP地址,客户端向DNS服务器发送域名查询请求,DNS服务器告知客户机Web服务器的 IP 地址。(DNS服务器有自己的IP地址)

六、传输层(TCP/UDP)

1. 作用

前面确定了某个计算机,这里确定某个程序

  • 经过数据链路层和网络层的支持,我们已经可以正常在两台计算机之间进行通讯了,但是计算机会同时运行着许多程序,比如同时开着QQ与WX,那么怎么区分消息是QQ的还是WX的呢?
  • 通常我们会看到计算机上运行的不同程序都会分配不同的端口,而传输层的功能就是建立端口到端口的通信,使得数据能够正确的传送给不同的应用程序。
  • 至此,用IP + 端口,已经能实现唯一确定互联网上一个程序,进而实现网络间的程序通信了。

2. 协议(TCP/UDP)

  • 传输层最常见的两大协议是 TCP(传输控制) 协议和 UDP(用户数据报) 协议。
  • UDP协议简单且容易实现,这是它的优点。但同样也有缺点,就是进行通信时不知道对方是否接收到数据了。
  • TCP的优点是能够确保数据不会遗失,安全可靠的传输。缺点是过程复杂、实现困难、消耗较多的资源。

七、应用层(HTTP)

1. 作用

  • 应用层的功能就是规定了应用程序的数据格式。我们经常用的电子邮件、HTTP协议以及FTP数据的格式,就是在应用层定义的。

3. 协议

  • 常见的HTTP是超文本传输协议,所谓超文本,就是超越了普通文本的文本,它是文字、图片、视频等的混合体,最关键有超链接,能从一个超文本跳转到另外一个超文本。

  • HTML 就是最常见的超文本。它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,再经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。

  • 应用层不止HTTP协议,只是在浏览器常见,不同类型的应用有不同的协议。

  • 应用层的主要协议有:FTP(文件传送协议、21端口)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议、25端口),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol、80端口)。

八、总结

  • 物理层:传输电信号
  • 数据链路层:规定电信号的格式,通过MAC地址确定目标主机,可以广播通信
  • 网络层:划分子网络,通过IP地址判断在哪个子网络,到达子网络再广播通信
  • 传输层:通过端口号确定通讯程序
  • 应用层:规定了应用程序的数据格式
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值