网络协议栈基本知识

时间:2019-12-01 11:58:43   收藏:0   阅读:101

【注】:文章中的内容主要收集来自网上或者书籍中。

1、网络协议分层

按照分层的思想把网络协议栈进行分层主要有以下好处:

1.促进标准化工作,允许各个供应商进行开发

2.各层间相互独立,把网络操作分成低复杂单元

3.灵活性好,某一层变化不会影响到其它层

4.各层间通过一个接口在相邻层上下通信

OSI七层模型和TCP/IP五层模型的对比如下,我们现在用的是五层协议模型:

技术分享图片

2、PDU、封装和解封装

数据进入TCP/IP协议栈时的封装过程如下:

技术分享图片

 

 

 

数据进入TCP/IP协议栈时的解封装过程如下:

技术分享图片

 

 

3、以太帧和常见的报文格式

(1)以太网帧(Ethernet II Frame)

技术分享图片

技术分享图片

(2)IP数据报

技术分享图片

分片举例:

技术分享图片

IP数据报解析:

技术分享图片

 

(3)TCP数据报

技术分享图片

TCP报文解析:

技术分享图片

(4)UDP数据包

技术分享图片      技术分享图片

常见协议对应的端口号:

UDP DHCP服务器端:67,DHCP客户端:68,DNS服务:53

TCP POP3(邮件接收协议):110,SMTP(邮件传输协议):25,HTTP服务:80

TCP FTP:数据传输为20,控制命令传输为21,Telnet:23

端口号范围为:1~65535,1~1024为熟知端口号,1025~65535称为动态端口

(5)ARP协议

ARP分组格式

技术分享图片

技术分享图片

 

(6)ICMP协议

ICMP包格式:

技术分享图片

代码:用来表示ICMP报文类型的少数参数,

例如:代码值为0,表示网络不可达;代码值为1,表示主机不可达

技术分享图片

技术分享图片

(7)DNS协议简介

技术分享图片

(8)DHCP协议简介

4、ping演示

Ping命令是为了检查网络的连接状况而使用的网络工具之一,用来检测数据包到达目的主机的可能性。

原理:使用ICMP协议的回送请求、回送应答。客户端发送回送请求给服务器,服务器返回一个ICMP回应应答。

Ping过程图解:

技术分享图片

 

5、TCP客户端服务器通信演示

TCP(传输控制协议):提供一种面向连接的、可靠的传输层协议(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)。

TCP三次握手过程:

技术分享图片

 

 

TCP四次挥手过程:

技术分享图片

 

 

 

 

 

 

 

 

 

 

原文:https://www.cnblogs.com/mrlayfolk/p/11965347.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!