对于一个学习网络协议的新手来说,碰到校验和这个词的时候可能会存在疑惑,看书本上讲的左想右想不知道再讲什么;只要你弄明白IP校验和的原理,I C M P、I G M P、U D P和T C P的校验和也就很好理解了。
上图是一般IP数据报的格式,若仅仅去理解校验和就不必去看这些字段的细节。如果没有在‘选项’里面添加内容,那么前面20字节为IP数据包的首部,IP校验和就是对这10个...
分类:
其他好文 时间:
2014-12-03 19:26:08
阅读次数:
112
Tracerouter就通过发送一份TTL字段为1的IP数据报给目的主机。处理这份数据报的第一个路由器将TTL值减去1,丢弃该数据报,并回发一份超时ICMP报文。这样就得到了该路径中的第一个路由器的IP地址。然后Tracerouter发送一份TTL为2的数据报,这样就得到了第二个路由器的IP地址。那么,继续这个过程,直到达到目的主机。即使目的主机接收到一份TTL值为1的数据报也不会丢弃该数据报并产生一份ICMP报文,因为已经到达最终目的地。...
分类:
其他好文 时间:
2014-11-29 13:19:11
阅读次数:
217
UDP 是无连接、不可靠的数据报传输层协议,为应用程序发送和接收数据报,只是将数据报的分组从一台主机发送到另一台主机,但并不保证数据报能够到达另一端,任何必须的可靠性都由应用程序提供。在 UDP 情况下,虽然可以确保发送消息的大小,却不能保证消息一定会达到目的端。没有超时和重传功能,当 UDP 数据封装到 IP 数据报传输时,如果丢失,会发送一个 ICMP 差错报文给源主机。
即使出现网络阻塞情况,UDP 也无法进行流量控制。此外,传输途中即使出现丢包,UDP 也不负责重发,甚至当出现包的到...
分类:
其他好文 时间:
2014-11-27 22:04:25
阅读次数:
229
采用 TCP 协议进行数据传输是不会造成 IP 分片的,因为一旦 TCP 数据超过了 MSS,则在传输层会对 TCP 数据包进行分段,自然到了 IP 层的数据报肯定不会超过 MTU,所以就不用分片了。而对于 UDP 数据报,如果 UDP 组成的 IP 数据报长度超过了 MTU,那么 IP 数据报显然就要进行分片,因为 UDP 不能像 TCP 一样自己进行分段。传输层中的 TCP 会分段,网络层中的 IP 会分片。IP 层的分片更多的是为运输层的 UDP 服务的,由于 TCP 自己会避免 IP 的分片,所以使...
分类:
其他好文 时间:
2014-11-27 20:33:49
阅读次数:
265
CMP 经常被认为是 IP 层的一个组成部分,它传递差错报文以及其他需要注意的信息。ICMP 报文通常被 IP 层或更高层协议(TCP 或 UDP)使用。ICMP 报文是在 IP 数据报内部传输的。IP 协议是不可靠协议,不能保证 IP 数据报能够成功的到达目的主机,无法进行差错控制,而 ICMP 协议能够协助 IP 协议完成这些功能。...
分类:
其他好文 时间:
2014-11-26 11:20:10
阅读次数:
223
IP 是 TCP/IP 协议族中最为核心的协议。所有的 TCP、UDP、ICMP 和 IGMP 数据都是以 IP 数据报格式传输。IP 协议处于网络层,网络层主要是实现点对点的通信。IP 协议是一种不可靠、无连接的协议。不可靠即不能保证 IP 数据报能够成功到达目的端,在传输过程中发生某种错误时,IP 协议会丢弃数据报,然后发送 ICMP 消息给信源端,其他任何要求的可靠性必须由上层来提供。无连接即 IP 协议并不维护任何关于后续数据报的状态信息,每个数据报都是相互独立的。因此,IP 数据报可以不按顺序接收...
分类:
其他好文 时间:
2014-11-24 22:37:17
阅读次数:
313
UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作通常会产生一个UDP数据报,并组装成一份待发送的IP数据报。这与面向流的协议不同,如TCP,应用程序产生的数据与真正发送的单个IP数据报并不存在直接的关联。
相关的协议参考tcp/ip协议学习笔记(7)UDP用户数据报协议
UDP输入和输出以及轻量级UDP涉及以下文件:
include/net/udplite.h 定义轻量级UDP专...
分类:
其他好文 时间:
2014-11-23 11:49:52
阅读次数:
158
TCP段是封装在IP数据报中传输的,而IP数据报的传输是不可靠的。因此,不能将TCP段发送出去后就不再管它们了,相反必须跟踪它们,直到出现三种情况为止:一是在规定时间内接收方确认已收到该段;二是发送超时,即规定时间内未收到接收方的确认;三是确定数据包已丢失,在后两种情况下需从未接收的位置开始重新发送该数据报。
从图中可以看出TCP传输控制块中sk_write_queue字段存储的是发送队...
分类:
其他好文 时间:
2014-11-22 14:41:21
阅读次数:
257
目录
IP协议首部格式
地址解析协议 ARP
逆向地址解析协议 RARP
网际控制报文协议 ICMP
网际组管理协议IGMP
IP 数据报首部
IP数据报首部格式:
最高位在左边,记为0 bit;最低位在右边,记为31 bit
版本:
占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)
首部长度:
占...
分类:
其他好文 时间:
2014-11-13 19:00:06
阅读次数:
296
1、确定socket的参数
根据图一,我们可以看出arp,rarp和ip虽然同属于网络层(又名IP层),但是他们的数据包装是独立的。虽然icmp和igmp也处在IP层,但是它们又需要ip数据报的包装。所以我们在为arp和rarp建立socket的时候,就不能利用ip的原始数据报(SOCK_RAW)了,我们需要最原始的以太网帧的数包(SOCK_PACKET);在对于网络类型的选择上,可以根据需要选择IPv4(AF_INET)或IPv6(AF_INET6);arp的协议类型跟以太网帧数据类型一样,所以应该是0x...
分类:
系统相关 时间:
2014-11-04 11:07:02
阅读次数:
321