
文章插图
每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表 。
如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组(该分组携带自己的 IP 地址 和 MAC 地址 以及 目标主机的 IP 地址),主机 B 收到该请求后会发送 ARP 响应分组 给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射 。

文章插图
对应的,RARP 协议可以实现由 MAC地址转化为 IP 地址? 那么,我们如何知道对方计算机的 IP 地址呢,这是 DNS 协议做的事情,在应用层我们会详细讲解 。
5. 传输层
通过物理层、数据链路层以及网络层的互相作用,我们已经把数据成功从计算机 A 传送到计算机 B 了,可是,计算机 B 里面有各种各样的应用程序,计算机 B 该如何知道这些数据是给哪个应用程序的呢?
所以,我们在从计算机 A 传数据给计算表 B 的时候,还得指定一个端口(Port),以供特定的应用程序来接受处理 。即 IP 地址 + 端口号就可以唯一确定某个主机上的某个应用进程
? 也就是说,网络层的功能是建立主机到主机的通信,而传输层的功能就是建立端口到端口的通信(也可以说是进程到进程之间的通信)
传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中 TCP 协议与 UDP 最大的不同就是 TCP 提供可靠的传输,而 UDP 提供的是不可靠传输 。
- 1)用户数据报协议 UDP(User Datagram Protocol) UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认 。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比 如:QQ 语音、 QQ 视频 、直播等等
- 2)传输控制协议 TCP(Transmission Control Protocol) TCP 提供面向连接的服务 。在传送数据之前必须先建立连接,数据传送结束后要释放连接 。TCP 不提供广播或多播服务 。由于 TCP 要提供可靠的,面向连接的传输服务(TCP 的可靠体现在 TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、流量控制、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源 。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源 。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景 。
应用层最接近于用于,它的任务就是通过应用进程间的交互来完成特定网络应用 。
应用层协议定义的是应用进程间的通信和交互的规则 。由于传输层传来的数据五花八门,有 html 格式的,有 mp4 格式等等,所以对于不同的网络应用需要不同的应用层协议 。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等 。我们把应用层交互的数据单元称为报文 。
由于本文的关键就是讲解计算机之间的通信,所以其他协议我们就不讲了,只讲解一下 DNS 协议是如何将域名转化为 IP 地址的 。
DNS 域名解析协议
域名系统 Domain Name System 缩写 DNS,是因特网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库 (这里的分布式数据库是指,每个站点只保留它自己的那部分数据),能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 地址 。
推荐阅读
- 蜜蜡紫光灯下什么样是真的
- 冬季毛绒拖鞋怎么清洗
- 山东露天越冬的莴苣种植
- 微信掉线是什么原因 为什么微信掉线
- 桑葚怎么洗干净 桑葚怎么洗干净吃
- 设置不看他的朋友圈对方会知道 设置不看他的朋友圈对方是否会知道
- 8seconds是什么牌子 8seconds旗舰店
- 业主委员会怎么产生
- 如何去除油漆味道
