TCP/IP小结

TCP/IP协议族一共分为四层包括:应用层、运输层、网络层、链路层。下面图片方便理解:


我们从后向前介绍:

数据链路层:包括为IP模块提供发送和接受IP数据报,接受ARP/RARP 请求和问答。

数据链路层由于硬件不同(包括以太网,令牌环网),支持的协议也不同(包括以太网链路层协议,PPP,SLIP,环回接口)等。

下面分别介绍各种不同协议所对应的帧格式:

由上图可知:以太网帧包括目的MAC地址(48bit)源MAC地址(48bit),帧类型(8bit),0x0800表示数据部分是IP数据报(46~1500byte),0x0806表示数据部分是ARP请求或问答(28byte),0x0835表示数据部分是RARP请求或问答(28byte);

CRC:一种检测数据是否产生差错的数据。

下面介绍的是以太网帧中的数据部分:

ARP(地址解析协议),目的地址全为1的特殊地址是广播地址。对于ARP请求帧类型字段为:0x0806;硬件类型表示硬件地址类型,它的值为1表示以网地址;协议类型表示要映射的协议地址的类型,例如要映射32位IP地址的物理地址那么该字段是0x0800;硬件地址长度和协议地址长度以字节为单位对于以太网地址ARP请求来说,它们的值分别是6和4,;操作字段指出四种操作类型ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4)。



环回接口:就是允许运行在同一台主机上的客户程序和服务程序通过TCP/IP进行通讯。A类网络号127.就是为环回接口预留的。大多数系统把127.0.0.1分配给这个接口,并命名为localhost,一个传给环回接口的IP数据报不能再任何网络中出现。一旦传输层检测到目的端地址是环回地址时,当IP数据层离开网络时把它返还给自己。

IP层:网际协议:

所有的TCP、UDP、ICMP以及IGMP数据都是以IP数据报的格式传输的(都作为IP数据包的数据部分进行传输)。

IP提供不可靠(不保证发送的数据一定会被目的端接受,举一个简单的例子:当一个路由器暂时用完了缓冲区,IP有一个简单粗暴的处理方法,那就是丢弃该数据报);无连接(例如:发送端先后发送了两个分组:A、B,但是对于IP层来说,不能保证它们所经过的路由器都是相同的,也不能保证它们的到达的先后顺序),这样看来IP层还真是挺傲娇的偷笑

让我们来看一下傲娇的IP数据报长什么样子吧!

看看吧!这就是IP数据报,有木有感觉很繁琐呢?(反正我是记不来难过)关于IP数据报中各个字段解读在“TCP/IP相关介绍(三)”中有详细的说明,此处不再缀余。

下面介绍IP层的ICMP:

ICMP:Internet控制报文协议:由上面的例子我们知道,ICMP可以传送差错报文,而且它是以IP数据报的格式进行传输的(作为IP数据报的数据部分),那么ICMP具体可以干什么呢?长什么样子呢?下面我们做出相关介绍:首先,ICMP是IP层的重要组成部分,它传输传送差错报文以及其他需要注意的信息。ICMP通常被IP层或更高层协议(TCP/UDP)

使用。也可以把差错报文传递给用户。

ICMP作为IP数据报的数据部分:

ICMP具体的样子:

检验和和IP首部检验和不同,ICMP的检验和包括对数据部分的检验。

注意类型和代码两个字段共同说明了该ICMP的类型,不同的ICMP类型对应类型和代码如下所示:

不同类型和代码有不同的内容,下面我们以常见的ICMP时间截请求与应答,掩码请求与应答,端口不可达为例介绍ICMP的内容部分:

(1)时间截请求与应答:

标识符和序列号都是发送端任意指定的,这些值在应答中作为返回,作为请求和应答的匹配。

填写发送时间然后发送报文,应答系统接收到该报文时填写接收时间,一般情况下接收时间和传送时间是一样的。

(2)子网掩码的请求与应答:


(3)端口不可达:


(4)端口不可达以太网帧的整体内容(加深理解):















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值