你们好, 我是公众号:java小杰要加油,
今天来分享一个关于计算机网络的知识点—— 网络究竟是怎么链接的?
举个栗子,当咱们在浏览器输入https://www.jdl.cn/img/servic...网络地址的时候java
浏览器首先会对URL进行解析web
而后就要生成HTTP消息了,它大概长这样浏览器
这些字段具体内容是什么能够参考这篇文章五千来字小做文,是的,咱们是有个HTTP。缓存
浏览器生成了这个HTTP消息后,它要往哪里发送呢?固然是服务器啦,因此就要解析这个域名对应的是哪台服务器,IP地址是什么,由于IP地址很差记,因此才有了对应的域名,便于咱们人类记忆。服务器
DNS服务器接受来自客户端的查询,包括如下三个内容网络
记录类型: 表示域名对应何种记录类型框架
对于不一样的记录类型,响应数据也不同spa
客户端和DNS服务器交互流程大概以下操作系统
具体交互就是下面这样计算机网络
可是一台服务器存不下这么多,因此通常都是DNS服务器大接力来寻找这个ip地址,图以下
客户端找到最近的DNS服务器,查找www.jdl.cn的信息,但是最近的DNS服务器没有这个信息,就转发到了根域服务器下,通过判断发现是cn的顶级域名的,因而根域DNS服务器会返回它所管理的cn域中的DNS服务器的ip地址,接下来,最近的这个DNS服务器又回去访问com域名的服务器,以此类推,最终会找到 www.jdl.cn这个服务器的IP地址
知道了IP地址后,就能够委托操做系统内部的协议栈向这个目标IP地址发送消息了
开放式系统互联通讯参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各类计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。
TCP/IP四次模型
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)TCP/IP协议不只仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是由于在TCP/IP协议中TCP协议和IP协议最具表明性,因此被称为TCP/IP协议
当两台计算机要传递数据的时候,必定要先链接,得通过TCP三次握手吧(仅仅指指走TCP协议须要链接的),咱们日常都说TCP链接要通过三次握手,咱们就来看一下到底什么是TCP三次握手,如图所示
- 三次握手经过后,就表明客户端和服务端能够传递数据包进行交互啦
- 咱们说到SYN,ACK,seq,ack这些又是什么呢?这些实际上是TCP数据包里的属性,咱们接着往下看(在传输层中有解释)
- MTU(Maximum Transmission Unit): 一个网络包的最大长度,以太网中通常是1500字节
- MSS(Maximum Segment Size): 除去头部以后,一个网络包所容纳的TCP数据的最大长度
- 而后上面应用层的这个网络包再加上TCP头部
控制位(6位): 该字段中的每一个比特位分别表示如下通讯控制的含义
还记得三次握手提到过的各类序号吗,就是这个报文里的属性
- 而后上面这个网络包再加上IP头部
协议号(8比特): 协议号表示协议的类型(如下均为16进制)
- 而后这个网络包再加上MAC头部
以太类型(16比特): 使用的协议类型。下面是一些常见的类型,通常在TCP/IP通讯中只是用0800和0806这两种。
发送方的MAC地址还比较容易获取到,可是接收方的MAC地址就不太容易获取到了
当目的地的IP地址对应的MAC地址变了的话,那么这个MAC缓存就会出问题,因此为了不这种问题发生,这个缓存几分钟后会被删除,很是简单粗暴。
IP 模块负责添加以下两个头部:
- MAC头部: 以太网用的头部,包含MAC地址
- IP头部: IP用的头部,包含IP地址
这个时候的数据包变成了这个样子
两台计算机最后链接结束后要断开链接,进行四次挥手
其实 三次握手, 四次挥手还有好多好多知识点要说,像什么为何握手须要三次,而挥手须要四次啦这些问题,之后我会单独和你们聊这个,记得收看呀