TCP IP 模型封装与解封装TCP和UDParp和icmp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP IP 模型封装与解封装TCP和UDParp和icmp相关的知识,希望对你有一定的参考价值。

第二天 HCIA 149    

上节课内容回顾:
1、网络起源
2、华为产品线
交换机
园区网交换
数据中心交换机
路由器
接入网路由器
城域网路由器
防火墙
USG
3、组网模型 网络结构
核心层
汇聚层
接入层

4、安装ensp
软件包V1R2 C510

今天授课内容
1.TCP/IP简介
Iso统一各个厂商的标准 早期叫OSI七层模型

应用层
微信APP 淘宝APP telnet协议 SSH协议 DNS FTP等等
应用层协议=传输层+端口号
telnet=TCP+23
SSH=TCP+22
FTP=TCP+21/20
传输层
TCP协议 UDP协议
网络层
IP协议
链路层
Etherent协议 PPP协议
物理层
集线器 网线 光纤

物理层
网线 光纤
比特流 bit

链路层
简称为二层
MAC地址 总共48bit 也就是6字节 用16进制表示
作用:唯一标识一台网络设备 相当于咱们的身份证
win10:00-50-56-C0-00-08
Switch:0823-abcd-cc33
SMAC地址:源MAC地址 代表我自己的MAC地址
DMAC地址:目标MAC地址 代表对端的MAC地址
数据帧

网络层
简称为三层
IP地址 总共32bit 也就是4个字节 用10进制表示
作用:提供逻辑的标识和通信
192.168.1.1
SIP地址:192.168.1.1
DIP地址:192.168.1.2
数据包

传输层
简称为四层
端口号 大小为16bit 数量范围0~65535 0~1023知名端口 1024~65535非知名端口
端口号的理解:代表一个主机的不同服务
web服务:192.168.1.1:80
telnet服务:192.168.1.1:23
常见端口号:80端口(web)、23端口(telnet)、22端口(SSH)、21 和20端口(FTP)、
Sport:源端口
Dport:目标端口
数据段

应用层:
传输层协议+端口号等于应用层协议 (TCP UDP)
TCP协议+23端口=telnet协议(应用层)
常见的应用层协议:telnet协议、dns协议等
协议数据单元 简称PDU

2.封装和解封装

数据封装:
是从应用层-传输层-网络层-链路层-物理层
注意点:
链路层当中有一个type字段 用来表示我上一层是IP(类型0800)协议呢 还是IPv6(类型86DD)协议呢 还是IPX协议
网络层当中有一个protocol字段 用来表示上层是TCP(协议号6)呢 ,还是UDP(协议号7)呢
传输层当中有一个Dport字段 用来表示上层是telnet呢?还是SSH呢?还是FTP呢等等

数据(你好)
应用层 数据
传输层 应用层 数据 --添加源端口 和目标端口
网络层 传输层 应用层 数据 ---添加源IP 和DIP
链路层 网络层 传输层 应用层 数据 ---添加源MAC 和DMAC
通过比特流进行传输

解封装:

是从物理层-链路层-网络层-传输层-应用层
注意点:
解封装到链路层的时候 当发现DMAC地址 是我自己的时候 我会继续向上解封装
解封装到网络层的时候 当发现DIP地址是我地址 我会继续向上解封装
解封装传输层的时候 当发现Dport是某某的时候 我会交给某一个应用程序进行处理

数据(你好)
链路层 网络层 传输层 应用层 数据 ---添加源MAC 和DMAC
网络层 传输层 应用层 数据 ---添加源IP 和DIP
传输层 应用层 数据 ---添加源端口 和目标端口
应用层 数据
数据

3.TCP和UDP介绍
传输层的两个协议
直播 QQ 微信 组播 (UDP)
telnet ssh
TCP 传输控制协议 telnet ssh
可靠协议
TCP三次握手(两个设备之间建立连接的时候需要建立)
PC1-------------------------PC2
SYN seq=100
SYN seq=200 ACK=101
ACK=201 seq=101

                ACK=102 seq=201            此部分才开始传输数据
        ACK=202 seq=102
    TCP四次分手(两个设备之间断开连接的时候需要建立)
        PC1-------------------------PC2
        FIN seq=500
                ACK=501 seq=600
                FIN seq=600
        ACK=601 seq=501

UDP 用户数据协议 直播 电视
    不靠谱的协议

4.ICMP协议
ICMP(Internet Control Message Protocol)是网络层的一个重要协议
ICMP的作用:用来在网络设备间传递各种差错和控制信息,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用
ICMP协议中用到的报文类型:Echo-Request和Echo-Reply 两种报文 使用的都是单播报文
应用场景:企业网络排错
ping应用
Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息
<R1>ping 3.3.3.3
PING 3.3.3.3: 56 data bytes, press CTRL_C to break
Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=40 ms
Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=254 time=20 ms

  --- 3.3.3.3 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
round-trip min/avg/max = 20/30/40 ms

tracert应用
Tracert是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路
<RTA>tracert 30.0.0.2
Tracert to 30.0.0.2(30.0.0.2), max hops:30, packet length:40, press CTRL_C to break 
 1 10.0.0.2 130 ms  50 ms  40 ms 
 2 20.0.0.2 80 ms  60 ms  80 ms
 3 30.0.0.2 80 ms  60 ms  70 ms 

网络层 protocol号为1 ,请求报文与响应报文

5.ARP协议
作用:已知对方ip地址,来获取对方的mac地址
报文:?request报文和replay报文
过程:因为主机在发送数据之前,会进行封装 发现封装到二层的时候 DMAC地址这一块我获取不了 我主机这边会发送一个request的广播报文出去 知道收到reply相应消息后 我主机才能够封装完成,并把数据发送出去
应用场景:数据通信都会用到arp协议
命令行:
arp -a 查看电脑
的arp缓存表 对于微软来说的话 缓存时间为20min

技术图片

以上是关于TCP IP 模型封装与解封装TCP和UDParp和icmp的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络参考模型与5G协议

王道考研 计算机网络7 TCP/IP参考模型

OSI七层模型数据封装与解封装过程TCP三次握手四次挥手

分层思想(OSI七层模型到TCP/IP五层模型)

趣学CCNA 路由与交换

网络TCP/IP基础(数据传输)