计算机网络基础知识

计算机网络基础知识

1.体系结构

五层体系结构

物理层

物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,

数据链路层

将上层的数据,无比特差错的传输到相邻节点目标机网络层

三个基本问题:

  • 封装成帧
  • 透明传输
  • 差错检测

网络层

实现在复杂的网络上,选择合适的网间路由和交换结点,让主机A尽可能的找到主机B

运输层

为进程之间提供端到端的逻辑通信

应用层

精确定义网络应用进程之间的通信规则,通过应用进程之间的交互来完成特定的互联网应用

2.TCP连接建立—三次握手

这里写图片描述

过程:

  1. 客户端A说:我要和你建立连接啦
  2. 服务端B说:可以,来连接吧
  3. 客户端A说:好,我们开始吧
为啥需要第三次握手

要不建立连接就太容易了

万一服务器B接收到一个**“失效的连接报文段”,服务器B就会傻傻的等待**客户端A发送数据,从而造成资源浪费。

所以最后一次握手,也说告诉服务器B,我是认真的(有效的),不是闹着玩的。

3.TCP连接释放—四次挥手

这里写图片描述

过程:

  1. 客户端A说:我没啥发的了,可以结束了
  2. 服务端B说:我知道了,等我把剩下的发完,就结束
  3. 服务端B说:我数据发完了,可以结束了
  4. 客户端A说:OK,那就结束吧
为啥最后还等2个MSL(Maximum Segment Lifitime)
  1. 防止出现服务器B无法正常关闭的情况,最后一个ACK报文段丢失,服务器B就认为它发出的释放报文段丢了,就会重新发,如果客户端没有等待2MSL,而是直接关闭,那服务器就会一直傻傻的发送释放报文段,从而无法正常关闭,浪费资源。
  2. 缓一缓,防止“已经失效的请求连接报文段出现在本次连接中。
TCP三次握手特定导致的SYN洪泛攻击

在这里插入图片描述

4.在浏览器中输入url地址 ->> 显示主页的过程(面试常客)

img

  1. 域名解析
  2. 建立TCP连接(三次握手)
  3. 向服务器发送HTTP请求
  4. 服务器处理请求
  5. 服务器返回一个HTML相应
  6. 浏览器接收到响应,开始渲染页面。
  7. 断开TCP连接(四次挥手)
细节
域名解析

浏览器搜索自己的DNS缓存(维护一张域名与IP地址的对应表)

若没有,则搜索操作系统中的DNS缓存(维护一张域名与IP地址的对应表)

若没有,则搜索操作系统的hosts文件(Windows环境下,维护一张域名与IP地址的对应表,位置一般在 C:\Windows\System32\drivers\etc\hosts)

若没有,则操作系统将域名发送至 本地域名服务器- -(递归查询方式),本地域名服务器 查询自己的DNS缓存,查找成功则返回结果,否则,(以下是迭代查询方式)

(1) 本地域名服务器 向根域名服务器(其虽然没有每个域名的具体信息,但存储了负责每个域,如com、net、org等的解析的顶级域名服务器的地址)发起请求,此处,根域名服务器返回com域的顶级域名服务器的地址

(2) 本地域名服务器 向com域的顶级域名服务器发起请求,返回baidu.com权限域名服务器(权限域名服务器,用来保存该区中的所有主机域名到IP地址的映射)地址

(3) 本地域名服务器 向baidu.com权限域名服务器发起请求,得到www.baidu.com的IP地址

本地域名服务器 将得到的IP地址返回给操作系统,同时自己也将IP地址缓存起来

操作系统将 IP 地址返回给浏览器,同时自己也将IP地址缓存起来

至此,浏览器已经得到了域名对应的IP地址

image-20210731134805129

5.各个层的协议

image-20210726125735284

6.TCP协议如何保证可靠传输

要解决四个问题:

  • 有序的
  • 无差错的
  • 无遗漏的
  • 稳定的
  1. 切块和编号:数据被分割成 TCP 认为最适合发送的数据块,并编号保证有序性。
  2. 校验和:保证数据无差错, TCP 将保持它首部和数据的检验和,一旦出错就丢弃
  3. 停止等待确认:发送方每一次发送数据之后都需要接收方进行确认
  4. 超时就自动重传ARQ协议,自动重传请求,在不可靠服务的基础上实现可靠的信息传输。
  5. 流量控制滑动窗口机制保证接收方来得及接收
  6. 拥塞控制:网络堵塞

7.状态码

状态码

状态码状态码英文名称中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动(临时重定向)。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303See Other查看其它地址。与301类似。使用GET和POST请求查看
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
400Bad Request客户端请求的语法错误,服务器无法理解
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求(爬虫常见)
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
500Internal Server Error服务器内部错误,无法完成请求

URI与URL

URI是统一资源标识符,是一个抽象概念,只要能唯一标识这个资源就行。(身份证号)

URL是统一资源定位符,是一个具体的地址,根据这个地址,不仅能够唯一标识资源,还能找到它(身份证号+地址)

URL是URI的子集,是它的一种具体实现方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值