先了解网络基本基础知识

1、先了解网络分层架构:网络分层主要分为两个流派:OSI 7层模型和TCP/IP 5层模型,下面一张图可以简单描述他们的共同和不同。

意思就是TCP/TP为实践的网络模型,他就是吧OSI的7层模型的表示层和会话层同应用层统一了,不搞那么多虚拟吧唧的,直接整了一个应用层出来。

2、实际例子:一个数据信息(比如你的照片,你的用户名和密码)是怎么通过http协议发送从一台机器发送到另一台机器的呢?

3、那些动作是网卡做的?那些动作是OS操作系统做的呢?

3.1、数据链路层和网路层理解(IP)

3.2、传输层理解(TCP)

传输层只关心通信的起始端和目的端,不关心数据的中转过程。下图中虚线为逻辑链路,实际的传输链路如实线所示。

什么是以太网协议(这个是在数据链路层实现的):在数据链路层按照盖层的协议将以太网的数据按照以太网帧的方式进行封装,也就是将网络层交付的数据添加报头信息后,此时的数据以帧的形式传递

在这里,目的地址与源地址这里都指的是 MAC 地址。每一个主机对应唯一的一个 MAC 地址,是由网卡决定的,长度是 48 位,所以这里的目的地址与源地址都是 6 个字节,也就是 48 个比特位。

令牌环驱动程序

3.3、数据封装和传输

3.4、举例:TCP在操作系统中是怎么处理的

比如一个用户态程序通过write或者send接口发送一个数据到其他服务器时候,在本机的内核以及用户态之间的关系如下图。TCP协议为通信的双方维持一个链接,并且在内核中存储相关数据,这部分数据中的TCP都不信息和TCP内核缓冲区数据一起构成了TCP报文段。

4、IP协议层理解

IP协议层只负责IP通信上传输数据,数据的发送,传输和接收都是相互独立的没有上下问关系,所以同一个IP的数据报可能到达目的I P后顺序无法保证发送顺序,无法处理重复的IP数据报。因此IP层不能保证数据的可靠性,他简单高效且每次数据报传输都要写到原地址和目的地址,所以不需要内核保留一些内存资源等,所以要保证链接的数据可靠性那么就需要上层协议比如TCP协议来做这些数据,比如重传,重新建立连接等,超时处理等。

IP层会根据IPV4还是IPV6来区分IP头的填充信息。协议定义了IPV4和IPV6的头部信息。IP如果传输的数据太大的话,IP协议定义了I P可以分片。

IP路由:

5、Linux和网络层次的关系

如下图可以简单做一个理解:

  • 用户态程序处理应用层
  • 内核态程序处链路层 (网络驱动程序,也就是网卡驱动程序主要处理的是ARP协议)+网络层(IP)+传输层(TCP)三层的逻辑
  • 网卡主要处理物理层的逻辑

6、TCP/IP的三次握手链接和四次挥手理解

7、网卡的作用是什么?

在网络协议栈的模型中,数据链路层是传输的数字信号,而在物理链路中传输的是光电信号,那么在这两层的上下传递过程中,需要把数据链路层的数字信号转换为下层的光电信号以及需要把下层的光电信号转换为数据链路层的数字信号,那么这个就需要网卡来处理。网卡是设备不是属于协议栈,因此在协议栈层次中主要发生在数据链路层--物理层之间的作用。

网卡和内核协议栈以及应用程序之间的关系

8、一篇讲解Linux网络包接收过程的文章

图解Linux网络包接收过程 - 知乎

preview

9、TCP三次握手,参考网上文章:

参考:能将三次握手理解到这个深度,面试官拍案叫绝!

​​​​​​​10、数据中心网络架构-传统三层网络

11、数据中心网络架构- Clos Spine/Leaf两层结构

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值