Java进阶之路(三) 计算机网络(OSI七层协议、TCP/IP、拥塞控制、HTTPS)

计算机网络

网络层次划分

分为TCP/IP4层模型划分和OSI7层模型,对应关系如下

OSI七层协议、TCP/IP

在这里插入图片描述

在这里插入图片描述

![[]](https://img-blog.csdnimg.cn/20210412164109202.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTk1MjcyNA==,size_16,color_FFFFFF,t_70)

APR/RARP

IP/MAC地址的转换

IP/路由

网络层用来专门定义/寻址到主机的协议

TCP/IP协议

在这里插入图片描述

在这里插入图片描述

TCP的四种拥塞控制算法

原因是负载不均衡

1.慢开始

定义一个拥塞窗口cwnd,如果没有拥塞,就增大它,如果出现了拥塞,则减小cwnd

为防止cwnd增长过大,设置一个慢开始门限ssthresh状态变量

当cwnd<ssthresh时,使用慢开始算法。

当cwnd>ssthresh时,改用拥塞避免算法。

当cwnd=ssthresh时,慢开始与拥塞避免算法任意。
在这里插入图片描述

2.拥塞控制

参上

3.快重传

如果当发送端接收到三个重复的确认ACK时,则断定分组丢失,立即重传丢失的报文段,而不必等待重传计时器超时

两次duplicated ACK肯定是乱序造成的!
丢包肯定会造成三次duplicated ACK!
在这里插入图片描述

4.快恢复

UDP协议

面向无连接的通讯协议,可以实现广播发送

使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP

TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。

UDPTCP
是否连接无连接面向连接
是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制
连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信
传输方式面向报文面向字节流
首部开销首部开销小,仅8字节首部最小20字节,最大60字节
适用场景适用于实时应用(IP电话、视频会议、直播等)适用于要求可靠传输的应用,例如文件传输

TIME_WAIT

也就是两个2MSL,是主动关闭的一方发送完最后一个ACK后的状态

DNS

用来解析域名到ip地址

FTP

文件传输协议,端对端

HTTP

包结构:

在这里插入图片描述

状态码:

1xx:临时消息

2xx:成功

3xx:重定向

4xx:客户端错误

5xx:服务器错误

输入URL后的执行全过程

  • 1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
  • 2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
  • 3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
  • 4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

HTTP和HTTPS区别

加密 + 认证 + 完整性保护

  1. 默认端口:80/443
  2. HTTP不安全、HTTPS在SSL/TLS之上,对称和非对称加密,安全
  3. HTTP + 加密 + 认证 + 完整性保护 = HTPPS
  4. 混合加密:S给C一个公钥,C利用公钥加密对称加密共享秘钥,S利用自己的私钥解开共享秘钥。最后使用共享秘钥加密进行通信

HTTPS加密过程

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值