网路基础3

上节回顾

传输层

负责端与端之间的数据传输:tcp/udp

tcp

传输控制协议–面向连接,可靠传输,面向字节流

tcp连接管理

服务端:
客户端:

可靠传输

面向连接/确认应答机制/超时重传机制/序号/确认序号/校验和

tcp面向字节流

特性:传输灵活、
缺点:tcp粘包问题—传输层的tcp协议栈对数据没有明确边界划分
因为在传输层每条数据之间没有明确的边界划分,因此需要用户在应用层做出边界处理
特殊字符/定长数据/变长数据报头中声明数据有多长


TCP有粘包问题,但UDP没有粘包问题

tcp传输相较于udp传输性能较低
tcp安全传输/udp不安全传输

tcp断开连接:

TCP协议栈有自身的保活机制,长时间无数据通信,则发送保活探测包,进行进行连接探测,若多个探测包没有响应则认为连接断开
udp可靠传输:


网路基础三

网络层

通过网络通信环境介绍了:
pc设备、路由器、设备节点
ip地址在一个网络中不能胡乱分配:

IP地址的组成:网络号+主机号
私网与公网
网段划分:

  • A 0~127
  • B 128~191
  • C 192~223
  • D 224~239
  • E 240~247

因为早期的网段划分方式太过于粗糙,浪费较多,因此被淘汰了

CIDR

子网掩码:有一段连续的二进制1组成
功能:

  • 子网掩码与IP地址相与则得到网络号
  • 子网掩码去法则可以得到最大主机号(主机范围)

在一个网路中不是所有的主句好都可以分配个主机

  • 主机号全为0—网络号-标识网络
  • 主机号全为1—广播地址(udp)

特殊的IP地址
127.0.0.1—本地回环网卡地址(虚拟网卡)—用于本地网络测试

公网与私网的IP地址划分:

RFC1918规定了用于构建私网的网段

  • 10.* .* .*
  • 172.16.* .*—172.31. * . *
  • 192.168. * . *

路由选择

每个路由器都有两块网卡
和互联网相连的----WAN口
组建局域网

IP协议字段及功能

4位协议版本:
4位首部长度:
8位Tos字段:
16位数据报长度:
数据分片:链路层MTU、:最大传输单元 若udp数据大于MTU大小,将会在网络层进行数据分片
16位标识:标识当前分片属于哪一个UDP数据报
3位标志:是否禁止分片
13位片偏移:标记分片在udp数据报中的偏移量(8个字节)–213*8==216
8位TTL报文生存周期:默认为128,没经过一个节点进行-1;为0时丢弃
8位上层协议:tcp/udp
16位校验和:
32位源地址/目的地址:
40字节选项数据:

链路层

负责相邻设备之间的数据帧传输
MAC地址:网卡上的物理地址,定位相邻的两个设备
uint8_t mac[6] 48bit
eth字段信息:源mac地址、目的mac地址、上层协议类型、数据、真伪CRC

问题:传输数据都要传输到相邻设备,如何获取相邻设备的MAC地址
1)主机A会将一个源MAC地址为自己,目标MAC地址为主机B的数据帧发送给交换机。

2)交换机收到此数据帧后,首先将数据帧中的源MAC地址和对应的接口(接口为f 0/1) 记录到MAC地址表中。

3)然后交换机会检查自己的MAC地址表中是否有数据帧中的目标MAC地址的信息,如果有,则从MAC地址表中记录的接口发送出去,如果没有,则会将此数据帧从非接收接口的所有接口发送出去(也就是除了f 0/1接口)。

4)这时,局域网的所有主机都会收到此数据帧,但是只有主机B收到此数据帧时会响应这个广播,并回应一个数据帧,此数据帧中包括主机B的MAC地址。

5)当交换机收到主机B回应的数据帧后,也会记录数据帧中的源MAC地址(也就是主机B的MAC地址),这时,再当主机A和主机B通信时,交换机根据MAC地址表中的记录,实现单播了。

ARP协议

通过地址获取MAC地址–介于网络层与链路层之间的协议

局域网的arp欺骗攻击:调研一下如何解决
ARP攻击主要是存在于局域网中,通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
解决方法:

  • 采用静态的ARP缓存,在各主机上绑定网关的IP和MAC地址。
  • 在网关上绑定各主机的IP和MAC地址

arp协议获取到对端的mac地址后,会在本机上将ip地址与mac地址的映射关系缓存一段时间(很短)

MTU:最大传输单元

MTU-udp头-ip=1472
MTU-tcp头-IP=1460
MTU的影响

  • tcp的影响:tcp在传输层进行数据传输时(在三次握手时)会协商双方MSS大小;在传输层自动进行数据分段;这个MSS也取决于MTU大小;双方会选择较小的一方作为传输大小,因此tcp数据在网络层不会进行数据分片
  • udp的影响:udp在传输数据的时候数据不大于64K–IPhdrlen-UDPhdrlen,都可以进行传输;但若果数据大小大于MTU则会在网络层进行数据分片

UDP数据若被分片:任意一个分片丢失或者出错都会导致整个数据的传输失败

其他重要协议/技术

DNS协议;ICMP协议;NAT技术
DNS协议
作用:域名解析–通过域名获取到服务器的IP地址
域名:服务器地址的一种表示
根域名服务器:全世界13组
域名解析服务器采取分布式存储
优点:

  • 提高解析速度
  • 提高容灾能力

DNS

域名系统–通过域名获取IP地址
域名服务器:管理域名与IP地址之间的映射关系的服务器
根域名服务器—》顶级域名服务器—》二级域名服务器
**域名解析流程:**本地hosts文件-》dns解析器缓存-》本地dns服务器-》根域名服务器-》顶级域名服务器。。。。。。。

ICMP协议

控制报文协议—进行网络探测
ping命令通过ICMP协议实现—因为ICMP协议是网络层协议,阴恻并不使用端口

NAT和NAPT技术

**NAT:**https://blog.csdn.net/u013485792/article/details/76071252/
网络地址转换技术–》工作在网络层进行源IP地址转换–》部署在网关设备上-》让数据怎末出去就怎末回来
也可以理解为: 网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAPT
由于NAT实现是私有IP和NAT的公共IP之间的转换,那么,私有网中同时与公共网进行通信的主机数量就受到NAT的公共IP地址数量的限制。为了克服 这种限制,NAT被进一步扩展到在进行IP地址转换的同时进行Port的转换,这就是网络地址端口转换NAPT(Network Address Port Translation)技术。
NAT和NAPT的差别
NAPT与NAT的区别在于,NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。这使得多台私有网主机利用1个NAT公共IP就可以同时和公共网进行通信。(NAPT多了对TCP和UDP的端口号的转换)

在浏览器中输入url之后发生了什莫事情

https://blog.csdn.net/ZWE7616175/article/details/80484905

  1. DNS域名解析
  2. TCP连接
  3. 发送HTTP请求
  4. 服务器处理HTTP请求
  5. 返回响应结果
  6. 关闭TCP连接
  7. 浏览器解析HTTP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值