vlambda博客
学习文章列表

TCP/IP网络知识必备(一)——网络模型及数据封装和传输

由于大学非计算机专业,没有怎么学习网络基础知识,但工作中也会经常用到这些知识,所以无法详细讲解清楚,遇到有些内容比较难以理解。故而开始认真学习网络相关视频课程,并整理课程学习笔记,既方便温习,也给需要的朋友,一起交流学习,里面会涉及到一些面试中遇到的内容。本文档比较通俗易懂。

https://edu.csdn.net/course/play/30776?spm=1002.2001.3001.4157

首先来理解一下OSI七层网络模型。

 


 

TCP/IP网络知识必备(一)——网络模型及数据封装和传输


一 物理层:

   Question:实现两台机器互联,机器和机器之间怎么通信?这就是物理层要解决的问题。

 ◎实现两台机器互联,机器和机器之间的通信(互联物理链路/物理介质/网线/光纤/无线电波---基本连接)

 ◎存在形式:010101二进制-电信号-比特流(面试题中有时会考到,如比特流在OSI七层网络模型的哪一层)

 

二 数据链路层:

   Question:二进制/比特流其实是没什么意思的数据,如何变成有意义的数据,并确认这个数据是发送给我的呢?这就是数据链路层要解决的问题。

 ◎对二进制/比特流进行处理:分组,8位一组---1个字节流,依次按顺序发送数据(以太帧)。

 

三 网络层(很关键):

192.168.1.87 –- 机器1

192.168.2.77 –- 机器2

IP协议:IP(Internet Protocol)分配给用户时使用网际协议的设备的数字标签,分为两大类:IPV4IPV6

路由协议(组协议):指定数据包转送方式的网上协议。

 动态路由协议(RIPOSPFBGP)配置之后,会动态学习路由条目 --- 路由表

 网络层实现两个端系统之间的数据透明传送,具体功能包括寻址路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术

 网络层负责在网络中传送的数据单元是分组或包。

 网络层必须具备的职责如下:

分组与分组交换:把从传输层接收到的数据报文封装成分组(Packet,也称为)再向下传送到数据链路层。 

路由:通过路由选择算法为分组通过通信子网选择最适当的路径。

网络连接复用:为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接(多采取时分复用技术)。

差错检测与恢复:一般用分组中的头部校验和进行差错校验,使用确认和重传机制来进行差错恢复。

服务选择:网络层可为传输层提供数据报虚电路两种服务,但 Internet的网络层仅为传输层提供数据报一种服务。  

网络管理:管理网络中的数据通信过程,将数据设法从源端经过若干个中间节点传送到目的端,为传输层提供最基本的端到端的数据传送服务。

流量控制:通过流量整形技术来实现流量控制,以防止通信量过大造成通信子网的性能下降。

拥塞控制:当网络的数据流量超过额定容量时,将会引发网络拥塞,致使网络的吞吐能力急剧下降。因此需要采用适当的控制措施来进行疏导。  

网络互连:把一个网络与另一个网络互相连接起来,在用户之间实现跨网络的通信。

分片与重组:如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就要对该分组进行分片分片到达目的主机之后,有目的节点的网络层再重新组装成原分组

 

四 传输层:

    Question:发送数据特多,数据包很大,需要很长时间,中间网络中断,重传,数据包是否完整正确?这就是传输层要解决的问题。

 ◎对发送数据进行封装 --- TCP协议,UDP协议,一个一个按顺序依次发送

 ◎两个应用程序(QQ àQQ)---定义端口的概念。寻找到对应程序进行数据的处理。

 

五 会话层:

   Question:发送数据中断后,不想从头开始传输,那么断点续传功能就是会话层要解决的问题。

 ◎可以从检验点继续恢复数据进行重传,尤其大数据包。

 自动搜索,自动寻址的功能。

 

六 表示层:

   Question:操作系统不同(WindowsMACOSLINUX),语法是不同的,那么不同系统之间怎么进行通信?这就是表示层要解决的问题。

 ◎翻译工作,提供一种公共语言在不同系统之间进行通信。

 

七 应用层:

   Question:字节流的格式,不好识别,不好操作,怎么办?这就是应用层要做的事情。

 ◎定义了各种应用协议规范数据格式:如HTTP协议,HTTPS协议,FTP协议,DNC协议,TFIPSMTP协议等等。

 

网络数据封装传输过程:

以访问百度网址https://www.baidu.com为例来理解数据封装和解封装的过程

右侧是用户主机,左侧是百度服务器。

TCP/IP网络知识必备(一)——网络模型及数据封装和传输

TCP/IP网络知识必备(一)——网络模型及数据封装和传输

 

TCP/IP四/五层网络模型

TCP/IP是一组实现通信协议的代名词,它是一系列相关网络通信协议组成协议簇,是实现Internet/IntranetExtranet各项功能的基础,其中最重要的协议是TCPIP协议TCP/IP协议的主要特点是开放性,标准化,免费,跨平台,统一编制。TCP/IP定义了四个层次的网络通信体系,分别是:应用层传输层,互连层,主机——网络层。TCP/IP协议互连层实现的功能基本与OSI参考模型中的网络层一致,但它在主机——网络层实现的物理网络功能的基础上定义了一种无连接的不可靠的数据包投递服务,把来自传输层的服务数据组织成数据分组,在一定路由算法的作用下,为每个分组选择一条适合的路由 

从协议分层模型方面来讲,TCP/IP由四/五个层次组成:网络接口层(数据链路层和物理层合并则为四层模型,分开即为五层模型)、网络层、传输层、应用层我们从下面的表中可以比较清晰的看出来,TCP/IP四层网络模型将物理层和数据链路层合并成一个层即数据链路层,会话层,表示层和会话层合并成了应用层。内容其实基本还是原来七层模型的内容。

   理解了OSI七层模型,TCP/IP的四层五层,都很容易理解了。写完本文档,我对这部分内容也有了比较深一层次的理解。