tcp/ip详解(一) 1 概述 1.1 引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但tcp/ip协议组件允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。tcp/ip起源于60年代末美国政府资助的一个分组交换网络研究项目,到现在90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议组件的定义及其多种实现可以不用花钱或花很少的钱就可以公开地...
tcp/ip详解(二) 4.5 ARP举例 在本小节中,我们用tcpdump命令来看一看运行像Telnet这样的普通tcp工具软件时ARP会做些什么。附录A包含tcpdump命令的其它细节。 普通例子 为了看清楚ARP的运作过程,我们执行telnet命令与无效的服务器连接。 (见原书p.57的①) 当我们在另一个系统上(sun)运行带有-e参数的tcpdump命令时,显示的是硬件地址(在我们的例子中是48 bit的以太网地址。) 图4.4 tcp连接请求产生的ARP请求...
tcp/ip详解(三) 6.6 ICMP报文的4.4BSD处理 由于ICMP覆盖的范围很广泛,从致命差错到信息差错,因此即使在一个给定的系统实现中,对每个ICMP报文的处理都是不相同的。图6.12的内容与图6.3相同,它显示的是4.4BSD系统对每个可能的ICMP报文的处理方法。 如果最后一列标明是“内核”,那么ICMP就由内核来处理。如果最后一列指明是“用户进程”,那么报文就被传送到所有在内核中登记的用户进程,以读取收到的ICMP报文。如果不存...
tcp/ip详解(四) 习题 9.1 为什么你认为存在两类ICMP改变路由报文——网络和主机? 9.2 在9 .4节开头列出的svr4主机上的路由表中,到主机slip(140.252.13.65)的特定路由是必需的吗?如果把这一项从路由表中删除会有什么变化? 9.3 考虑有一电缆连接4.2BSD主机和4.3BSD主机。假定网络号是140.1。4.2BSD主机把主机号为全0的地址识别的广播地址(140.1.0.0)。另外,4.2BSD主机在默认条件下要尽力转发接收到的数据报,尽管它们...
第二十四章,路径MTU发现,“如果收到这个ICMP差错,tcp就减少段大小并进行重传。如果路由器产生的是一个较新的该类ICMP错误,则报文段大小被设置为下一跳的MTU减去ip和tcp的首部长度。如果是一个较旧的该类ICMP差错,则必须尝试下一个可能的最小MTU。当由这个ICMP差错引起的重传发生时,拥塞窗口不需要变化,但要启动漫启动” 俺的问题是,较新的差错和较旧的差错都是指什么?发送端是如何知道下一跳的MTU?
没说错的话这部书应该是网络上圣经了,今天正式开始学习,特此记下自己学习的知识点。 第一章 UDP数据与tcp数据基本一致。唯一的不同是UDP传给I P的信息单元称作UDP数据报(UDP datagram),而且UDP的首部长为8字节。 由于tcp、UDP、ICMP和IGMP都要向ip传送数据,因此ip必须在生成的ip首部中加入某种标识,以表明数据属于哪一层。为此, ip在首部中存入一个长度为8bit的数值,称作协议域。1表示为ICMP协议, 2表示为IGMP协议,6表示...
tcp/ip协议数据报结构详解 tcp/ip协议中各层的数据报结构是一个比较抽象的内容,大家在日常学习过程中往往难以理解和掌握,常常是死记硬背把它记住了事。本文首先利用Sniffer工具捕获了FTP命令操作过程中的所有数据包,然后对Sniffer工具中捕获的每一部分数据包的含义进行了详细的阐述,最后总结归纳出tcp/ip协议中网络接口层、网络层、传输层的数据报文结构,从而使大家加深对tcp/ip协议各层数据报结构的理解和掌握。 一、捕获...
tcp/ip详解2在第32页有函数如下 struct mbuf * m_get (nowait, type) int nowait, type; { struct mbuf *m; MGET(m, nowait, type); return (m); } 书上下面注明,Net/3代码不使用ANSI C参数声明;即与我们常用的不同,想请教下,这种方式都是内核风格吗? 以及最后的return (m),也属于内核编程风格?