TCP/IP协议栈

本文深入探讨了TCP/IP协议栈的基本组成及其工作原理。通过解析TCP/IP协议族中的关键成员如IP、TCP、UDP以及ARP、ICMP等协议的作用,揭示了它们如何共同协作以实现网络通信。此外还介绍了TCP报文报头的具体格式,并讨论了TCP/IP协议能够成功并广泛流行的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP/IP协议栈                             

    前几天看了《使用TCP/IP进行网络互联》一书的第二本,因为提供了TCP/IP的一个简单而完整的实现,所以对着源码学习感觉很不错。基础不是很好,今天找到了著名的《TCP/IP详解卷》从第一本“协议”开始看起,确实可以明白很多之前不明白的道理。

    TCP/IP协议实现是一个协议族,代表者为IP、TCP和UDP,但其它几个很重要的协议往往被忽略,ARP,RARP,ICMP,IGMP同样也是本 协议族的重要成员,它们可以解释很多问题,例如:一开机发现本机IP与网络上一台机器重复,原因很简单,是因为“免费ARP”的存在,即机器启动后,会以 本机IP和MAC为内容,请求本机的MAC地址。这种做法真的很巧妙,一方面机器一开启便来了个自报家门,让局域网内的其它机器得知了本机的MAC,同 样,本次请求是不应该收到ARP应答的,因为是自己请求自己的MAC。如果不巧得到一个应答,便得知是本局域网内IP重复了,呵呵。。。TCP/IP的创 立者们思想值得学习。

   TCP报文报头,大学里记不住,实际用到了,发现很简单,依次为:版本(4bits),首部长度(4bits),TOS(8bits),报文总长度 (16bits),标识(16bits),标志(3bits),片偏移(13bits),TTL(8bits),协议类型(8bits),首部校验合 (16bits),源地址(32bits),目的地址(32bits),如果没有选项,那正好20个字节。

   TCP/IP的一处重要特性是可以加在非以太网的链路层上,如点对点的SLIP和PPP,这两者是点对点的,故不存在CSMA/CD等技术,实际相对简单,以特殊字符作为前后两个包的分隔符即可。

   为何TCP与IP要分离?很简单,路由器是以IP报文为单位进行路由的,它不需要知道TCP的细节,因而它实际上只需要实现IP层即可实现路由,再次,TCP/IP的创立者的思想值得学习。

   对于TCP/IP为何会取得成功,以及为何如此流行已经有了个大概的认识。希望在之后的学习中会淘到更多的金。。。作为程序员,没有什么比了解事物的本质更让人开心的了。

转载于:https://www.cnblogs.com/yangjunwl/archive/2007/11/01/946120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值