网络知识学习

前言

对于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三次握手的关系

posted @ 2020-11-01 16:56  yunying  阅读(88)  评论(0)    收藏  举报