作为TCP的重头戏,本章节涉及了许多关于计算方面的内容,使用了大量的例子来指明一些观点. 我使用的理解方法是:通过别人的博客,以及实例结合进行理解,不然会很吃力. 21.1 引言 reliable TCP提供可靠的运输层,它使用的方法之一就是确认从另外一端收到的数据. 也就是说通过ACK,或者说 TCP自时钟,来保证这一特性. TCP通过在发送的时候,设置一个定时器来解决这些问题.如果当定时器溢出还没有收到确认,就重传数据,对于任何的实现而言,关键就在超时和重传的策略. 四个不同的定时器 重传定…
本章作为TCP的入门章节,简单的概述了一些TCP的知识,和TCP数据报的首部格式. TCP 最重要的特性:reliable. 17.1 引言 本章介绍的是 TCP为应用层提供的服务. 17.2 TCP的服务 TCP 提供一种 面向连接的,可靠的字节流服务.面向连接 意味着两个使用的TCP应用(eg. client-server)在彼此交换数据之前必须先建立一个TCP连接. 在一个 TCP 连接中,仅有两方进行彼此通信. TCP 提供以下方式来提供可靠性: (1) 由上一层发送的应用数据 被分割成…
本章介绍保活定时器. 在 TCP 的三握四挥 章节中,我们介绍了 处在 TIME_WAIT 的 2MSL定时器:在 TCP的超时与重传 章节中,我们介绍了 重传定时器:在上一章节中,我们介绍了 防止死锁现象的 坚持定时器. 那么在本章节,我们将介绍 争议颇多的 保活定时器. 保活定时器 一个比较让人惊讶的事实是:可以没有任何数据通过一个空闲的TCP连接,如果TCP连接的双方都没有向对方发送数据,那么在两个TCP模块之间不交换任何信息. 两个应用进程 -客户进程 和 服务器进程 都没有使用应用级的…
第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理层     应用层关心的是应用程序的细节,而不是数据在网络中的传输活动:下面四层对应用程序一无所知,但它们要处理所有的通信细节. 互联网地址 端口号 周知端口号(Well-Known Ports) 1-255 Unix系统占用端口 256-1023 临时可分配端口 1024-5000 为其他服务预留…
第一章 概述 分层 TCP/IP 通常被认为是一个四层协议系统. 每一层负责不同的功能. 链路层, 也成为数据链路层或者网络接口层. 通常包括 操作系统中的设备驱动程序和计算机中对应的网络接口卡. 主要处理与电缆(或其他传输介质)的物理接口细节. 网络层, 互联网层, 处理分组在网络中的活动,例如分组的选路. 主要包括协议有 : IP协议(网际协议) ICMP协议(Internet互联网控制报文协议) IGMP协议(Internet组管理协议) 运输层, 主要为两台主机上的应用程序提供端到端的通…
11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议,应用层程序 产生的全体数据 与 真正发送的单个IP数据报 可能没有联系. UDP协议并不提供超时重传,出错重传等功能,也就是说其是 不可靠(unreliable)的协议. UDP 把应用程序传给IP层的数据发送出去,但是并不能保证它们都能到达目的地. 应用程序必须关心 IP数据报 的长度.如果它超过…
简介 为了使用 TCP/IP 协议族,每台主机or路由器都需要一定的配置信息: IP地址 子网掩码 广播地址 路由或转发表 DNS 协议配置方法: 手动 通过使用网络服务来获得 使用一些算法来自动确定 服务器.路由器通常采取手工配置.而客户端主机也要手动配置的话就太麻烦了! 定义 动态主机配置协议[RFC2131] Dynamic Host Configuration Protocol Internet 客户端主机(有时也有路由器)中用于建立基本要素.指定配置信息的协议与程序. 流行的 clie…
18.5 TCP的半关闭 牢记 TCP 是 全双工 的. 半关闭:TCP提供了连接的一端 在结束了它的发送后 还能接收来自另外一端数据的能力.但是只有很少的应用程序利用它. 为了实现这个特性,编程接口必须提供一种方法来说明"我已经完成了数据的传送,并且发了FIN给另外一端,但是我还是想接收另外一端发送来的数据,直到结束(向我发送FIN)". 在 执行半关闭 的一端 收到来自另外一端的 FIN 之后,传送一个EOF给应用程序,并对这个 FIN 进行确认并发送ACK,结束了这个连接. 18…
4.1 引言 数据链路 如以太网(Ethernet) 或者 令牌环网 都有自己的寻址机制(一般为 48 bit 的地址). 一个网络(数据链路层) 可以同时被多个不同的网络使用.比如,一组使用TCP/IP协议的主机 和 另一组使用某种PC网络软件的主机 可以共享(share)相同的电缆. 当一台主机把以太网数据帧 发送到位于 同一局域网(LAN) 的另一台主机时,是根据48 bit 的以太网地址 来确定目的接口的. 地址解析协议 为这两种不同的地址形式 提供映射. 数据链路层地址 --(RARP…
推荐链接:网络地址与主机地址 9.1 引言 路由选择程序(daemon),通常这是一个用户进程.在大多数的Unix系统中,大多数的路由选择程序都是路由程序和网关程序. 路由表经常被IP访问,但是它被路由守护程序更新的频率却低很多,当接收到ICMP重定向报文时,路由表也要被更新. 9.2 选路的原理 在第三章中,介绍了IP搜索路由表的步骤: (1)搜索完全匹配的主机地址与网络地址. (2) (1)失败,搜索匹配的网络地址. (3) (1)(2)失败,搜索default默认表项.(一般被指定为一个网…