计网知识点

一、TCP/IP 四层模型

 1、应用层:提供两个应用程序之间信息交换的服务,定义了网络通信规则,例如支持Web应用的HTTP协议,支持电子邮件的STMP协议等

 2、传输层:为两个进程之间的通信提供数据传输服务,包括了TCP协议和UDP协议

 3、网络层:为分组交换网上的不同主机提供通信服务,选择合适的路由,让分组找到目的主机,有很多协议,例如OSPF、ARP协议等

 4、网络接口层:数据链路层和物理层的结合

 

二、HTTP协议

 全称超文本传输协议,用来规范服务器和浏览器的行为,并且HTTP是一个无状态协议,是应用层协议,以TCP作为底层协议来保证数据的可靠传输,默认端口为80。

 包括请求报文和响应报文:

  请求报文组成部分:请求行,请求头,空行,请求数据

  响应报文组成部分:状态行,响应头,响应正文

 

三、(面试题)在网址输入www.baidu.com之后会发生什么

 1、首先DNS会解析www.baidu.com这个域名对应的IP地址

 2、然后会通过三次握手来建立客户端和服务器的连接

 3、http接收到客户端发来的请求,并把请求发送给服务器处理

 4、IP数据包通过OSPF(开放最短路径优先)协议选择合适的路由

 5、路由器与服务器之间的通信需要将ip地址转换为MAC地址,需要用到ARP(地址解析)协议

 6、服务器接收到请求之后,进行处理,然后返回结果给http

 7、最后http将结果响应给客户端

 

四、HTTP /1.0 和HTTP /1.1的区别

 从连接方式上看,HTTP /1.0采用了短连接,即客户端和服务器每进行一次HTTP请求,就建立一次连接;HTTP /1.1在请求头中将Connection参数设置为keep-alive,默认为长连接 

 从Host头处理看,HTTP /1.0在请求报文中不会加入主机名,这样会导致服务器不理解客户端真正想请求的网址;HTTP /1.1在请求报文中加入了主机名

 从带宽优化来看,HTTP/1.1引入了更多的状态码,同时HTTP /1.1传输数据时会将数据压缩,提高带宽的利用

 

五、TCP和UDP的区别

 1、TCP是面向连接的,UDP是无连接的

 2、TCP是点对点通信,UDP可以一对一,一对多,多对一,多对多通信

 3、TCP是面向字节流传输,UDP是面向报文传输

 4、TCP通过流量控制和拥塞控制保证了可靠的连接,UDP是不可靠连接

 5、TCP适用于需要可靠传输的应用,例如文件传输,UDP适用于实时传输的应用,例如视频会议、直播

 

六、TCP协议如何保证可靠传输

 1、校验和,接收方会检验数据包的首部和数据,检测数据在传输过程中是否发生变化,

 2、流量控制:通过滑动窗口协议实现,即发送方和接收方都有一个固定大小的缓存空间,发送方只能发送接收方缓冲区能容纳的数据,当接收方来不及处理发送方的数据,就会提示发送方降低发送速率,防止包丢失。

 3、超时重传:当TCP发出一个报文段后,会启动一个定时器,如果目的端无法及时发送确认,TCP会重发这个报文段

 4、拥塞控制:当网络拥塞时,减少数据的传输,用到了4种算法,分别是慢开始,拥塞避免,快重传,快恢复。实现过程:发送方会维护一个拥塞窗口cwnd,慢开始阶段cwnd初始值为1,然后加倍增大,如果达到了阈值,就进行拥塞避免,拥塞避免阶段会让cwnd缓慢增大,这个过程是每经过一个RTT往返时间就加1,快重传和快恢复是用来快速恢复丢失的数据包,如果收到三次重复的ack,就表示该数据包丢失,需要重发。此时慢开始的阈值就变为原来的一半,然后每轮加1的增大,最后又进入慢开始阶段。

 

七、物理层

 三种通信方式:

     1、单工通信:单向传输

  2、半双工通信:双向交替传输

     3、全双工通信:双向同时传输

 

八、数据链路层

  三个基本问题:

  1、封装成帧:将网络层传下来的分组封装成帧

       2、透明传输:透明的是帧首部和尾部的转义字符

       3、差错检测:使用CRC(循环冗余检验)检查比特差错

  两种信道分类:

  1、广播信道:一对多通信,所有节点都在同一个广播信道上发送数据,采用信道复用技术 或 CSMA/CD协议来控制协调,避免发生碰撞

  2、点对点信道:一对一通信,不会发生碰撞,采用PPP协议控制

 

信道复用技术:

  1、频分复用  2、时分复用 3、统计时分复用 4、码分复用 5、波分复用

 

CSMA/CD协议:    

   CSMA/CD表示载波监听多点接入/碰撞检测

  • 多点接入 :说明这是总线型网络,许多主机以多点的方式连接到总线上。
  • 载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
  • 碰撞检测 :在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。

PPP协议:

   是用户计算机和ISP进行通信时使用的数据链路层协议

 

九、网络层

使用到了IP协议其中还有三个协议和IP协议配套,分别是:

  1、ARP(地址解析)协议      【通过ARP高速缓存,向目的主机询问对应的MAC地址,再将MAC存入ARP高速缓存】

  2、ICMP(网际控制报文)协议  【ping的应用:测试两台主机的连通信】

  3、IGMP(网际组管理)协议

 

 

 

IP地址编址方式有三种,分别是:

  1、分类

  2、子网划分

  3、无分类

分类:

 由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的。

 

  IP 地址 ::= {< 网络号 >, < 主机号 >}

 

子网划分:

  通过在主机号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。

     IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}

要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 00000000,也就是 255.255.192.0。

注意,外部网络看不到子网的存在。

无分类:

   无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。

  IP 地址 ::= {< 网络前缀号 >, < 主机号 >}

  CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。

 

路由器:

 路由选择协议有三种 : 

  1、OSPF(开放最短路劲优先)协议

  2、RIP(距离向量选择)协议

   3、BGP(边界网关)协议

 

十、Web页面请求过程

 1、DHCP配置主机信息:

    

 2、ARP解析MAC地址:

  • 主机通过浏览器生成一个 TCP 套接字,套接字向 HTTP 服务器发送 HTTP 请求。为了生成该套接字,主机需要知道网站的域名对应的 IP 地址。

  • 主机生成一个DNS查询报文,这个查询报文又会被放入目的地址为DNS服务器IP地址的IP数据报中。
  • 这个IP数据报又会被放入以太网帧中,该帧发送到网关路由器
  • 需要获取网关路由器的MAC地址,这时候需要使用ARP协议

   3、DNS域名解析:

  • 知道了网关路由器的 MAC 地址之后,就可以继续 DNS 的解析过程了。

  • 网关路由器接收到DNS查询报文的以太网帧后,取出里面的IP数据报,并将IP数据包转发给对应的路由器
  • 路由器通过OSPF、RIP和BGP内部和外部的路由选择协议,配置了网关路由器到DNS服务器的路由表
  • 到达DNS服务器后,通过DNS查询报文,在DNS中查找待解析的域名.
  • 找到DNS记录后,发送DNS回答报文,将回答报文放入TCP或者UDP报文段中,再放入IP数据报,通过路由器反向转发回网关路由器,并经过以太网达到主机

 4、HTTP请求

  • 有了 HTTP 服务器的 IP 地址之后,主机就能够生成 TCP 套接字,该套接字将用于向 Web 服务器发送 HTTP 请求报文。

  • 发送请求报文前,客户端浏览器会和服务器通过三次握手建立连接
  • 建立连接后,服务器就可以接收到请求,然后处理请求,最后把请求结果通过响应报文,返回给浏览器
  • 请求完成后,浏览器和服务器通过四次挥手释放连接,至此一次HTTP请求结束。

   

posted @ 2022-04-06 20:15  Zsbinup  阅读(272)  评论(0)    收藏  举报