网络知识学习
前言
对于TCP/ip,Http理解的不够深,下面是自己这两天看书看文章的学习的东西,随便记录一下
过程
理解:当访问一个网站时,首先将以http协议规定的内容封装到TCP报文中,然后TCP报文(添加首部)再交给IP数据报封装(添加首部ip地址,如果是域名也看做IP地址的名称),本机通过ARP缓存表或者ARP协议获取路由器MAC地址,然后IP数据交给MAC帧封装,然后通过底层的物理传输传送到路由器。
如果是通过域名访问的话,如何知道目标机器的IP呢,通过DNS协议去获取域名映射的IP地址,由本地->路由器->DNS服务器->迭代查询
DNS
DNS缓存分类:
1)浏览器DNS缓存(内存中): 浏览器会按照一定频率缓存DNS记录 2)本地DNS缓存(内存中): 如果浏览器缓存中找不到需要的DNS记录,那就去操作系统找。 3)本地HOSTS文件: Windows系统中位于C:\Windows\System32\drivers\etc 4)路由器DNS(可以登录后台设置DNS服务器地址): 路由器自动获取DNS地址,也可以手动 修改(路由器DNS被篡改会造成域名劫持,你访问的网址都会被定位到同一个位置,但是 IP直接可以访问) 5)ISP的DNS服务器: ISP(互联网服务提供商、联通电信移动),ISP有专门的DNS服务器应 对DNS查询请求 6)根服务器: ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询 (以访问www.baidu.com为例, DNS服务器先问根域名服务器.com域名服务器的IP地址 ,然后再问.com域名服务器,以此类推)
浏览器DNS查找顺序一般是这样的:
浏览器DNS缓存->本地系统DNS缓存->本地计算机HOSTS文件->ISP DNS缓存->递归搜索
期间如果查询到了,也就直接访问ip地址了,这个就像三级缓存原理一样。
数据链路层
以太网数据帧封装如下所示:
目标MAC地址| 源MAC地址 | 协议类型 | IP头 | TCP头 | 数据 | CRC
以太网的数据帧最大长度答是1518个字节,不包括前同步码和帧开始定界符,其中目标MAC地址占6个字节,源MAC地址占6个字节,协议类型占2个字节,IP头最小20字节,CRC占4个字节。
https://www.cnblogs.com/clschao/articles/9613442.html
https://blog.csdn.net/qq_32252957/article/details/82991880
https://www.zhihu.com/question/23042131
https://www.cnblogs.com/xiaolincoding/p/12830287.html
https://www.cnblogs.com/noteless/p/10256470.html <=非常非常非常非常的详细
https://www.cnblogs.com/dolphinX/p/3460545.html <=Socket和Tcp三次握手的关系

浙公网安备 33010602011771号