下载 >  网络技术 >  网络基础 > 计算机网络与因特网
5

计算机网络与因特网

第 1 章 导论 1 第 2 章 推动力和工具 3 第 3 章 传输介质 9 第 4 章 局域异步通信 14 第 5 章 远程通信 20 第 6 章 包、帧与差错检测 27 第 7 章 局域网技术与网络拓扑 37 第 8 章 硬件编址与帧类型标识 49 第 9 章 局域网布线、物理拓扑结构与接口硬件 59 第 10 章 局域网扩展:光纤调制解调器、中继器、网桥及交换机 69 第 11 章 远程数字连接技术 80 第 12 章 广域网技术与路由 93 第 13 章 网络所有权、服务模式和性能 第 14 章 协议与分层 112 .....
2011-11-16 上传大小:12.26MB
想读
分享
收藏 举报

评论 共1条

waitfornight 这个版本好,之前下的某个版本有问题,中间好多空白页
2012-12-24
回复
计算机网络因特网 | 第5版 | Comer著 | 机械工业出版社

计算机网络与因特网•第5版(美)科默著.林生.范冰冰.张奇支等译.机械工业出版社.2009.06.pdf

立即下载
计算机网络因特网 习题答案

计算机网络与因特网 习题答案 ,详细讲解了习题的答案 ,和解答过程。

立即下载
计算机网络因特网计算机网络因特网

计算机网络与因特网计算机网络与因特网计算机网络与因特网计算机网络与因特网计算机网络与因特网计算机网络与因特网

立即下载
计算机网络因特网学习教程

计算机网络与因特网 计算机网络与因特网 计算机网络与因特网 计算机网络与因特网

立即下载
计算机 网络 外文翻译 外文文献 英文文献 Internet的历史

完整的关于计算机网络的外文文献翻译,包含英文原文和中文翻译,很适用于毕业设计的翻译文献。是我花钱从网上下载下来的,与大家分享。

立即下载
计算机网络因特网.rar

计算机网络与因特网~计算机网络与因特网~计算机网络与因特网

立即下载
计算机网络因特网(PDF)

很不错的计算机网络书籍,目录如下: 目 录 译者序 前言 第1章 导论 …1 1.1 计算机网络的发展 1 1.2 网络系统复杂性 1 1.3 对复杂性的控制 2 1.4 概念与术语 2 1.5 本书的结构 2 1.6 小结 2 第2章 推动力和工具 3 2.1 概述 3 2.2 资源共享 3 2.3 因特网的增长 3 2.4 探索因特网 5 2.5 对ping响应的解释 6 2.6 跟踪路由 7 2.7 小结 7 练习 8 第3章 传输介质 9 3.1 概述 9 3.2 铜缆 9 3.3 光纤 10 3.4 无线电波 10 3.5 卫星 10 3.6 地球同步卫星 11 3.7 低地球轨道卫星 11 3.8 低地球轨道卫星阵列 12 3.9 微波 12 3.10 红外线 12 3.11 激光 12 3.12 小结 13 练习 13 第4章 局域异步通信 14 4.1 概述 14 4.2 异步通信的必要性 14 4.3 用电流发送位串 14 4.4 通信标准 14 4.5 波特率、帧对齐和差错 16 4.6 全双工异步通信 16 4.7 实际硬件的限制 17 4.8 硬件带宽与位串的传输 17 4.9 噪声对通信的影响 18 4.10 数据传输率对数据联网的重要性 18 4.11 小结 19 练习 19 第5章 远程通信 20 5.1 概述 20 5.2 远程发送信号 20 5.3 用于调制和解调的调制解调器硬件 21 5.4 租用模拟数据线路 22 5.5 光学、无线和拨号调制解调器 22 5.6 载波频率和多路复用 23 5.7 基带和宽带技术 24 5.8 波分多路复用 24 5.9 分布频谱 25 5.10 时分多路复用 25 5.11 小结 25 练习 26 第6章 包、帧与差错检测 27 6.1 概述 27 6.2 包的概念 27 6.3 包和时分多路复用 28 6.4 包和物理帧 28 6.5 字节充填 29 6.6 传输差错 30 6.7 奇偶位与奇偶校验 30 6.8 差错检测中的概率和算术 31 6.9 校验和检测差错 32 6.10 循环冗余校验检测差错 32 6.11 模块联接 33 6.12 突发错误 34 6.13 帧格式和差错检测机制 34 6.14 小结 35 练习 35 第7章 局域网技术与网络拓扑 37 7.1 概述 37 7.2 直接点对点通信 37 7.3 共享通信信道 38 7.4 局域网的重要性与访问的局部性 38 7.5 局域网拓扑结构 39 7.5.1 星型拓扑 39 7.5.2 环状拓扑 39 7.5.3 总线拓扑 40 7.5.4 使用多种拓扑结构的原因 40 7.6 总线网络实例:以太网 40 7.6.1 以太网的历史 40 7.6.2 以太网上的共享 41 7.7 多路存取网络上的载波侦听 41 7.8 冲突检测与重发 41 7.9 无线局域网和CSMA/CA 42 7.10 总线网络另一实例:LocalTalk 43 7.11 环状网络实例:IBM令牌环 44 7.12 环状网络另一实例:FDDI 45 7.13 星形网络实例:ATM 46 7.14 小结 47 练习 48 第8章 硬件编址与帧类型标识 49 8.1 概述 49 8.2 指定接收方 49 8.3 局域网硬件怎样用地址过滤包 50 8.4 物理地址格式 50 8.5 广播 51 8.6 组播 52 8.7 组播地址 52 8.8 标识包的内容 53 8.9 帧头部和帧格式 53 8.10 帧格式实例 54 8.11 无自标识帧的网络的使用 55 8.12 网络分析器、物理地址和帧类型 56 8.13 小结 57 8.14 以太网地址分配 58 练习 58 第9章 局域网布线、物理拓扑结构与 接口硬件 59 9.1 概述 59 9.2 计算机与局域网的速度 59 9.3 网络接口硬件 59 9.4 网络接口卡与网络的连接 60 9.5 粗缆以太网布线 61 9.6 多路复用连接 62 9.7 细缆以太网布线 63 9.8 双绞线以太网 63 9.9 布线方案的优缺点 64 9.10 拓扑悖论 65 9.11 网络接口卡与布线方案 66 9.12 布线方案与其他网络技术 66 9.13 小结 67 练习 67 第10章 局域网扩展:光纤调制解调器、 中继器、网桥及交换机 69 10.1 概述 69 10.2 距离限制与局域网设计 69 10.3 光纤扩展 69 10.4 中继器 70 10.5 网桥 72 10.6 帧过滤 72 10.7 桥接网络的启动与稳态特性 73 10.8 规划一个桥接网络 73 10.9 大楼间桥接 74 10.10 远程桥接 74 10.11 网桥环 75 10.12 分布生成树 76 10.13 交换 77 10.14 交换机与集线器的结合 78 10.15 其他技术中的桥接和交换 78 10.16 小结 78 练习 79 第11章 远程数字连接技术 80 11.1 概述 80 11.2 数字电话 80 11.3 同步通信 81 11.4 数字线路和DSU/CSU 81 11.5 电话标准 82 11.6 DS术语和数据速率 83 11.7 低容量线路 83 11.8 中间容量数字线路 83 11.9 高容量线路 84 11.10 光纤传输标准 84 11.11 后缀C 84 11.12 同步光纤网 85 11.13 本地用户线路 86 11.14 ISDN 86 11.15 不对称数字用户线技术 86 11.16 其他DSL技术 88 11.17 电缆调制解调技术 89 11.18 上行通信 89 11.19 混合光纤电缆 90 11.20 光纤到街道 90 11.21 特定场合下的方法 91 11.22 小结 91 练习 91 第12章 广域网技术与路由 93 12.1 概述 93 12.2 大型网络和广域 93 12.3 包交换 93 12.4 广域网的构成 94 12.5 存储转发 94 12.6 广域网的物理编址 95 12.7 下一站转发 95 12.8 源地址独立性 96 12.9 层次地址与路由的关系 96 12.10 广域网中的路由 96 12.11 缺省路由的使用 97 12.12 路由表计算 98 12.13 图中最短路径计算 98 12.14 分布式路由计算 100 12.15 矢量距离路由 100 12.16 链接状态路由 101 12.17 广域网技术实例 101 12.17.1 ARPANET 101 12.17.2 X.25 101 12.17.3 帧中继 102 12.17.4 SMDS 102 12.17.5 ATM 102 12.18 小结 103 练习 103 第13章 网络所有权、服务模式和性能 104 13.1 概述 104 13.2 网络所有权 104 13.3 虚拟私有网络 105 13.4 服务模式 105 13.5 连接期限与保持 106 13.6 服务模式实例 107 13.7 地址与连接标识 108 13.8 网络性能特性 108 13.8.1 延迟 109 13.8.2 吞吐量 109 13.8.3 延迟与吞吐量的关系 110 13.8.4 延迟-吞吐量的乘积 110 13.9 小结 110 练习 111 第14章 协议与分层 112 14.1 概述 112 14.2 协议的必要性 112 14.3 协议系列 112 14.4 协议设计规划 113 14.5 七层模型 113 14.6 栈:分层软件 114 14.7 分层软件怎样工作 115 14.8 多层嵌套头部 115 14.9 分层的科学依据 115 14.10 协议使用的技术 116 14.10.1 无序传递的排序 116 14.10.2 排序消除重复包 117 14.10.3 重发丢失的包 117 14.10.4 避免过量延迟导致的重播 117 14.10.5 控制流量以防止数据过载 118 14.10.6 避免网络拥塞的机制 119 14.11 协议设计的技巧 120 14.12 小结 121 练习 121 第15章 网络互联:概念、结构与协 议 122 15.1 概述 122 15.2 网络互联的动机 122 15.3 通用服务概念 122 15.4 异构世界中的通用服务 122 15.5 网络互联 123 15.6 用路由器连接物理网 123 15.7 互联网体系结构 123 15.8 实现通用服务 124 15.9 虚拟网络 124 15.10 网络互联协议 125 15.11 网络互联与TCP/IP的重要性 125 15.12 分层与TCP/IP协议 125 15.13 主机、路由器与协议层次 126 15.14 小结 126 练习 127 第16章 IP:互联网协议地址 128 16.1 概述 128 16.2 虚拟互联网地址 128 16.3 IP编址方案 128 16.4 IP地址层次 129 16.5 IP地址分类 129 16.6 地址类别的计算 130 16.7 点分十进制表示法 130 16.8 类别和点分十进制表示法 131 16.9 地址空间的划分 131 16.10 地址的授权 131 16.11 编址实例 132 16.12 特殊IP地址 132 16.12.1 网络地址 133 16.12.2 直接广播地址 133 16.12.3 有限广播地址 133 16.12.4 本机地址 133 16.12.5 回送地址 133 16.13 特殊IP地址小结 134 16.14 伯克利广播地址格式 134 16.15 路由器和IP编址原则 134 16.16 多穴主机 135 16.17 小结 135 练习 135 第17章 协议地址联编 137 17.1 概述 137 17.2 协议地址和包传递 137 17.3 地址解析 137 17.4 地址解析技术 138 17.5 查表法地址解析 138 17.6 相近形式计算地址解析 139 17.7 消息交换法地址解析 140 17.8 地址解析协议 140 17.9 ARP消息传递 140 17.10 ARP消息格式 141 17.11 发送一个ARP消息 142 17.12 识别ARP帧 142 17.13 暂存ARP应答 142 17.14 处理接收到的ARP消息 143 17.15 分层,地址解析,协议地址 143 17.16 小结 144 练习 144 第18章 IP数据报和数据报转发 145 18.1 概述 145 18.2 无连接服务 145 18.3 虚拟包 145 18.4 IP数据报 146 18.5 IP数据报的转发 146 18.6 IP地址与路由表项 147 18.7 屏蔽码域和数据报转发 147 18.8 目的地和下一站地址 148 18.9 尽力传递 148 18.10 IP数据报头部格式 149 18.11 小结 149 练习 150 第19章 IP封装、分段与重组 151 19.1 概述 151 19.2 数据报传输与帧 151 19.3 封装 151 19.4 在互联网上的传输 151 19.5 MTU、数据报长度和封装 152 19.6 重组 153 19.7 标识一个数据报 154 19.8 段丢失 154 19.9 段的进一步分解 154 19.10 小结 155 练习 155 第20章 IP的未来 156 20.1 概述 156 20.2 IP的成就 156 20.3 变革的动机 156 20.4 名称与版本号 157 20.5 IPv6特性 157 20.6 IPv6数据报格式 158 20.7 IPv6基本头部格式 158 20.8 IPv6怎样处理多重头部 159 20.9 分段、重组和路径MTU 159 20.10 多重头部的目的 160 20.11 IPv6编址 161 20.12 IPv6冒分十六进制表示法 161 20.13 小结 162 练习 162 第21章 差错报告机制 163 21.1 概述 163 21.2 “尽力而为”语义和差错检测 163 21.3 互联网控制报文协议 163 21.4 ICMP报文传送 164 21.5 用ICMP报文测试可达性 165 21.6 用ICMP跟踪路由 165 21.7 用ICMP发现路径MTU 166 21.8 小结 167 练习 167 第22章 TCP:可靠传输服务 168 22.1 概述 168 22.2 可靠传输的必要性 168 22.3 传输控制协议 168 22.4 TCP为应用提供的服务 168 22.5 端对端服务和数据报 169 22.6 实现可靠性 169 22.7 包丢失与重发 170 22.8 自适应重发 171 22.9 重发时间的对比 171 22.10 缓冲、流控与窗口 171 22.11 三次握手 172 22.12 拥塞控制 173 22.13 TCP段格式 173 22.14 小结 174 练习 174 第23章 客户/服务器交互 176 23.1 概述 176 23.2 应用软件提供的功能 176 23.3 互联网提供的功能 176 23.4 建立通信 177 23.5 客户/服务器模式 177 23.6 客户与服务器的特性 177 23.7 服务器程序与服务器类计算机 178 23.8 请求、应答与数据流向 178 23.9 传输协议与客户/服务器交互 178 23.10 一台计算机上的多种服务 179 23.11 标识一个特定服务 179 23.12 为一个服务建立多个服务器副本 180 23.13 动态服务器创建 180 23.14 传输协议与无二义性通信 180 23.15 面向连接与无连接的传输 181 23.16 支持多种协议的服务 181 23.17 复杂的客户/服务器交互 181 23.18 交互与循环依赖 182 23.19 小结 182 练习 183 第24章 套接字接口 184 24.1 概述 184 24.2 应用程序接口 184 24.3 套接字API 184 24.4 套接字与套接字库 185 24.5 套接字通信与UNIX I/O 185 24.6 套接字、描述符与网络I/O 185 24.7 参数与套接字API 186 24.8 实现套接字API的过程 186 24.8.1 Socket过程 186 24.8.2 Close过程 186 24.8.3 Bind过程 187 24.8.4 Listen过程 188 24.8.5 Accept过程 188 24.8.6 Connect过程 188 24.8.7 Send、Sendto与Sendmsg过程 189 24.8.8 Recv、Recvfrom与Recvmsg过 程 190 24.9 用套接字进行读写 190 24.10 其他套接字过程 190 24.11 套接字、线程与继承 191 24.12 小结 191 练习 192 第25章 客户与服务器实例 193 25.1 概述 193 25.2 面向连接的通信 193 25.3 一个服务实例 193 25.4 实例程序的命令行参数 193 25.5 套接字过程调用的顺序 194 25.6 客户实例代码 194 25.7 服务器实例代码 196 25.8 流服务与多重recv调用 198 25.9 套接字过程与挂起 199 25.10 代码长度与差错报告 199 25.11 在另一种服务上使用实例客户 199 25.12 使用另一个客户来测试服务器 200 25.13 小结 200 练习 200 第26章 基于域名系统的命名 202 26.1 概述 202 26.2 计算机域名的结构 202 26.3 地理结构 203 26.4 组织内的域名 203 26.5 DNS客户/服务器模型 204 26.6 DNS服务器层次 205 26.7 服务器结构 206 26.8 访问的局部性与多种服务器 206 26.9 服务器之间的链 206 26.10 域名解析 206 26.11 DNS性能的优化 207 26.12 DNS项的类型 208 26.13 使用CNAME类型的别名 208 26.14 多重类型的重要结果 209 26.15 缩写与DNS 209 26.16 小结 209 练习 210 第27章 电子邮件的表示与传输 211 27.1 概述 211 27.2 电子邮件模式 211 27.3 电子邮箱与地址 211 27.4 电子邮件信息格式 212 27.5 复制副本 213 27.6 多用途互联网邮件扩充 213 27.7 电子邮件与应用程序 214 27.8 邮件传输 214 27.9 简单邮件传输协议 215 27.10 对一台计算机上的多个接收者的 优化 215 27.11 邮件分发、列表与转发 215 27.12 邮件网关 216 27.13 自动邮件列表 217 27.14 邮件中继与电子邮件地址 217 27.15 邮箱访问 218 27.16 拨号连接与POP 219 27.17 小结 219 练习 220 第28章 文件传输与远程文件访问 221 28.1 概述 221 28.2 数据传输与分布式计算 221 28.3 存储中间结果 221 28.4 通用文件传输 221 28.5 交互与批处理模式 222 28.6 文件传输协议 222 28.7 FTP通用模型与用户界面 223 28.8 FTP命令 223 28.9 连接、授权与文件权限 224 28.10 匿名文件访问 224 28.11 任意方向文件传输 225 28.12 文件名的通配符扩展 225 28.13 文件名转换 225 28.14 改变目录与列出内容 226 28.15 文件类型与传输模式 226 28.16 FTP应用实例 226 28.17 冗长输出 229 28.18 FTP中的客户/服务器交互 230 28.19 控制与数据连接 230 28.20 数据连接与文件结束 230 28.21 普通文件传输协议 231 28.22 网络文件系统 231 28.23 小结 232 练习 232 第29章 WWW页面与浏览 234 29.1 概述 234 29.2 浏览器界面 234 29.3 超文本与超媒体 234 29.4 文档表示 235 29.5 HTML格式与表示 235 29.6 HTML格式标签实例 236 29.7 头部 236 29.8 列表 237 29.9 Web页中嵌入图形图像 237 29.10 标识一页 238 29.11 文档之间的超文本链接 238 29.12 客户/服务器交互 239 29.13 Web文档传输与HTTP 239 29.14 浏览器结构 239 29.15 可选客户 240 29.16 Web浏览器中的缓存 241 29.17 小结 241 练习 242 第30章 动态Web文档的CGI技术 244 30.1 概述 244 30.2 Web文档的三种基本形式 244 30.3 每种文档类型的优缺点 244 30.4 动态文档的实现 245 30.5 CGI标准 246 30.6 CGI程序的输出 246 30.7 CGI程序实例 246 30.8 参数和环境变量 247 30.9 状态信息 248 30.10 带有长期状态信息的CGI程序 248 30.11 带有短期状态信息的CGI程序 249 30.12 表格与交互 251 30.13 小结 251 练习 252 第31章 活动Web文档的Java技术 253 31.1 概述 253 31.2 屏幕连续更新早期形式 253 31.3 活动文档技术和服务器开销 254 31.4 活动文档的表示形式及其相互转换 254 31.5 Java技术 255 31.6 Java程序设计语言 255 31.6.1 语言特点 255 31.6.2 和C++的相同之处 256 31.7 Java运行环境 256 31.8 Java类库 257 31.9 图形工具箱 257 31.10 在特定计算机上使用Java的图形 功能 258 31.11 Java解释器和浏览器 259 31.12 编译Java程序 259 31.13 applet实例 259 31.14 调用applet 261 31.15 与浏览器交互的实例 261 31.16 差错和异常处理 262 31.17 替代产品 263 31.18 小结 263 练习 263 第32章 RPC和中间件 265 32.1 概述 265 32.2 客户和服务器的编程 265 32.3 远程过程调用模式 265 32.4 RPC模式 266 32.5 通信桩程序 267 32.6 外部数据表示 268 32.7 中间件和面向对象的中间件 268 32.7.1 ONC RPC 269 32.7.2 DCE RPC 269 32.7.3 MSRPC 269 32.7.4 CORBA 269 32.7.5 MSRPC2 269 32.7.6 COM/DCOM 270 32.8 小结 270 练习 270 第33章 网络管理 272 33.1 概述 272 33.2 互联网管理 272 33.3 潜在故障隐患 272 33.4 网络管理软件 273 33.5 客户、服务器、管理员与代理 273 33.6 简单网络管理协议 273 33.7 存取模式 274 33.8 管理信息库与对象名 274 33.9 MIB变量的多样性 275 33.10 与数组相对应的MIB变量 275 33.11 小结 275 练习 276 第34章 网络安全 277 34.1 概述 277 34.2 安全网络和安全策略 277 34.3 安全性指标 278 34.4 安全责任和控制 278 34.5 完整性机制 278 34.6 访问控制和口令 278 34.7 加密与保密 279 34.8 公共密钥加密 279 34.9 数字签名的鉴定 279 34.10 包过滤 280 34.11 互联网防火墙概念 281 34.12 小结 281 练习 282 第35章 初始化 283 35.1 概述 283 35.2 自举 283 35.3 启动协议软件 283 35.4 协议参数 283 35.5 协议配置 284 35.6 需要配置项目的实例 284 35.7 配置实例:使用磁盘文件 285 35.8 自动协议配置的必要性 285 35.9 自动协议配置的方法 285 35.10 寻址地址 286 35.11 自举过程中使用协议的顺序 286 35.12 自举协议 287 35.13 自动地址分配 288 35.14 动态主机配置协议 288 35.15 DHCP的优化 289 35.16 DHCP消息格式 289 35.17 DHCP与域名 290 35.18 小结 290 练习 290 附录A 网络术语和缩写词汇编 292 附录B ASCII字符集 311 附录C 如何使用本书附带的光盘 312 索引 315

立即下载
计算机网络:自顶向下方法与Internet特色》真正pdf版

【作 者】(美)James F. Kurose,(美)Keith W. Ross著 申震杰等译 【丛书名】计算机科学译丛 【形态项】 597 ; 23cm 【读秀号】000001302703 【出版项】 清华大学出版社 , 2003 【ISBN号】 7-302-06150-5 / TP393 【原书定价】 CNY59.00 网上购买 【主题词】计算机网络(学科: 基本知识)计算机网络 【参考文献格式】(美)James F. Kurose,(美)Keith W. Ross著 申震杰等译. 计算机网络 自顶向下方法与Internet特色. 清华大学出版社, 2003. 注:此电子书为本人亲自制作,绝对100%的pdf版,据我在网上的查找经验,此pdf版本为网络上至今为止唯一一个pdf版本,而非某些人用来欺骗大家的pdg版,请大家放心下载!

立即下载
计算机网络因特网参考答案7—11

计算机网络与因特网参考答案 主要是7—11章节

立即下载
计算机网络(第六版)》全套电子课件

共10个PPT,比较全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层(包括局域网)、网络层、运输层、应用层、网络安全、因特网上的音频/视频服务、无线网络和移动网络,以及下一代因特网等内容。

立即下载
计算机网络第六版答案

Computer Networking: A Top-Down Approach, 6th Edition Solutions to Review Questions and Problems Version Date: May 2012 This document contains the solutions to review questions and problems for the 5th edition of Computer Networking: A Top-Down Approach by Jim Kurose and Keith Ross. These solutions are being made available to instructors ONLY. Please do NOT copy or distribute this document to others (even other instructors). Please do not post any solutions on a publicly-available Web site. We’ll be happy to provide a copy (up-to-date) of this solution manual ourselves to anyone who asks. Acknowledgments: Over the years, several students and colleagues have helped us prepare this solutions manual. Special thanks goes to HongGang Zhang, Rakesh Kumar, Prithula Dhungel, and Vijay Annapureddy. Also thanks to all the readers who have made suggestions and corrected errors. All material © copyright 1996-2012 by J.F. Kurose and K.W. Ross. All rights reserved Chapter 1 Review Questions There is no difference. Throughout this text, the words “host” and “end system” are used interchangeably. End systems include PCs, workstations, Web servers, mail servers, PDAs, Internet-connected game consoles, etc. From Wikipedia: Diplomatic protocol is commonly described as a set of international courtesy rules. These well-established and time-honored rules have made it easier for nations and people to live and work together. Part of protocol has always been the acknowledgment of the hierarchical standing of all present. Protocol rules are based on the principles of civility. Standards are important for protocols so that people can create networking systems and products that interoperate. 1. Dial-up modem over telephone line: home; 2. DSL over telephone line: home or small office; 3. Cable to HFC: home; 4. 100 Mbps switched Ethernet: enterprise; 5. Wifi (802.11): home and enterprise: 6. 3G and 4G: wide-area wireless. HFC bandwidth is shared among the users. On the downstream channel, all packets emanate from a single source, namely, the head end. Thus, there are no collisions in the downstream channel. In most American cities, the current possibilities include: dial-up; DSL; cable modem; fiber-to-the-home. 7. Ethernet LANs have transmission rates of 10 Mbps, 100 Mbps, 1 Gbps and 10 Gbps. 8. Today, Ethernet most commonly runs over twisted-pair copper wire. It also can run over fibers optic links. 9. Dial up modems: up to 56 Kbps, bandwidth is dedicated; ADSL: up to 24 Mbps downstream and 2.5 Mbps upstream, bandwidth is dedicated; HFC, rates up to 42.8 Mbps and upstream rates of up to 30.7 Mbps, bandwidth is shared. FTTH: 2-10Mbps upload; 10-20 Mbps download; bandwidth is not shared. 10. There are two popular wireless Internet access technologies today: Wifi (802.11) In a wireless LAN, wireless users transmit/receive packets to/from an base station (i.e., wireless access point) within a radius of few tens of meters. The base station is typically connected to the wired Internet and thus serves to connect wireless users to the wired network. 3G and 4G wide-area wireless access networks. In these systems, packets are transmitted over the same wireless infrastructure used for cellular telephony, with the base station thus being managed by a telecommunications provider. This provides wireless access to users within a radius of tens of kilometers of the base station. 11. At time t0 the sending host begins to transmit. At time t1 = L/R1, the sending host completes transmission and the entire packet is received at the router (no propagation delay). Because the router has the entire packet at time t1, it can begin to transmit the packet to the receiving host at time t1. At time t2 = t1 + L/R2, the router completes transmission and the entire packet is received at the receiving host (again, no propagation delay). Thus, the end-to-end delay is L/R1 + L/R2. 12. A circuit-switched network can guarantee a certain amount of end-to-end bandwidth for the duration of a call. Most packet-switched networks today (including the Internet) cannot make any end-to-end guarantees for bandwidth. FDM requires sophisticated analog hardware to shift signal into appropriate frequency bands. 13. a) 2 users can be supported because each user requires half of the link bandwidth. b) Since each user requires 1Mbps when transmitting, if two or fewer users transmit simultaneously, a maximum of 2Mbps will be required. Since the available bandwidth of the shared link is 2Mbps, there will be no queuing delay before the link. Whereas, if three users transmit simultaneously, the bandwidth required will be 3Mbps which is more than the available bandwidth of the shared link. In this case, there will be queuing delay before the link. c) Probability that a given user is transmitting = 0.2 d) Probability that all three users are transmitting simultaneously = = (0.2)3 = 0.008. Since the queue grows when all the users are transmitting, the fraction of time during which the queue grows (which is equal to the probability that all three users are transmitting simultaneously) is 0.008. 14. If the two ISPs do not peer with each other, then when they send traffic to each other they have to send the traffic through a provider ISP (intermediary), to which they have to pay for carrying the traffic. By peering with each other directly, the two ISPs can reduce their payments to their provider ISPs. An Internet Exchange Points (IXP) (typically in a standalone building with its own switches) is a meeting point where multiple ISPs can connect and/or peer together. An ISP earns its money by charging each of the the ISPs that connect to the IXP a relatively small fee, which may depend on the amount of traffic sent to or received from the IXP. 15. Google's private network connects together all its data centers, big and small. Traffic between the Google data centers passes over its private network rather than over the public Internet. Many of these data centers are located in, or close to, lower tier ISPs. Therefore, when Google delivers content to a user, it often can bypass higher tier ISPs. What motivates content providers to create these networks? First, the content provider has more control over the user experience, since it has to use few intermediary ISPs. Second, it can save money by sending less traffic into provider networks. Third, if ISPs decide to charge more money to highly profitable content providers (in countries where net neutrality doesn't apply), the content providers can avoid these extra payments. 16. The delay components are processing delays, transmission delays, propagation delays, and queuing delays. All of these delays are fixed, except for the queuing delays, which are variable. 17. a) 1000 km, 1 Mbps, 100 bytes b) 100 km, 1 Mbps, 100 bytes 18. 10msec; d/s; no; no 19. a) 500 kbps b) 64 seconds c) 100kbps; 320 seconds 20. End system A breaks the large file into chunks. It adds header to each chunk, thereby generating multiple packets from the file. The header in each packet includes the IP address of the destination (end system B). The packet switch uses the destination IP address in the packet to determine the outgoing link. Asking which road to take is analogous to a packet asking which outgoing link it should be forwarded on, given the packet’s destination address. 21. The maximum emission rate is 500 packets/sec and the maximum transmission rate is 350 packets/sec. The corresponding traffic intensity is 500/350 =1.43 > 1. Loss will eventually occur for each experiment; but the time when loss first occurs will be different from one experiment to the next due to the randomness in the emission process. 22. Five generic tasks are error control, flow control, segmentation and reassembly, multiplexing, and connection setup. Yes, these tasks can be duplicated at different layers. For example, error control is often provided at more than one layer. 23. The five layers in the Internet protocol stack are – from top to bottom – the application layer, the transport layer, the network layer, the link layer, and the physical layer. The principal responsibilities are outlined in Section 1.5.1. 24. Application-layer message: data which an application wants to send and passed onto the transport layer; transport-layer segment: generated by the transport layer and encapsulates application-layer message with transport layer header; network-layer datagram: encapsulates transport-layer segment with a network-layer header; link-layer frame: encapsulates network-layer datagram with a link-layer header. 25. Routers process network, link and physical layers (layers 1 through 3). (This is a little bit of a white lie, as modern routers sometimes act as firewalls or caching components, and process Transport layer as well.) Link layer switches process link and physical layers (layers 1 through2). Hosts process all five layers. 26. a) Virus Requires some form of human interaction to spread. Classic example: E-mail viruses. b) Worms No user replication needed. Worm in infected host scans IP addresses and port numbers, looking for vulnerable processes to infect. 27. Creation of a botnet requires an attacker to find vulnerability in some application or system (e.g. exploiting the buffer overflow vulnerability that might exist in an application). After finding the vulnerability, the attacker needs to scan for hosts that are vulnerable. The target is basically to compromise a series of systems by exploiting that particular vulnerability. Any system that is part of the botnet can automatically scan its environment and propagate by exploiting the vulnerability. An important property of such botnets is that the originator of the botnet can remotely control and issue commands to all the nodes in the botnet. Hence, it becomes possible for the attacker to issue a command to all the nodes, that target a single node (for example, all nodes in the botnet might be commanded by the attacker to send a TCP SYN message to the target, which might result in a TCP SYN flood attack at the target). 28. Trudy can pretend to be Bob to Alice (and vice-versa) and partially or completely modify the message(s) being sent from Bob to Alice. For example, she can easily change the phrase “Alice, I owe you $1000” to “Alice, I owe you $10,000”. Furthermore, Trudy can even drop the packets that are being sent by Bob to Alice (and vise-versa), even if the packets from Bob to Alice are encrypted. Chapter 1 Problems Problem 1 There is no single right answer to this question. Many protocols would do the trick. Here's a simple answer below: Messages from ATM machine to Server Msg name purpose -------- ------- HELO <userid> Let server know that there is a card in the ATM machine ATM card transmits user ID to Server PASSWD <passwd> User enters PIN, which is sent to server BALANCE User requests balance WITHDRAWL <amount> User asks to withdraw money BYE user all done Messages from Server to ATM machine (display) Msg name purpose -------- ------- PASSWD Ask user for PIN (password) OK last requested operation (PASSWD, WITHDRAWL) OK ERR last requested operation (PASSWD, WITHDRAWL) in ERROR AMOUNT <amt> sent in response to BALANCE request BYE user done, display welcome screen at ATM Correct operation: client server HELO (userid) --------------> (check if valid userid) <------------- PASSWD PASSWD <passwd> --------------> (check password) <------------- OK (password is OK) BALANCE --------------> <------------- AMOUNT <amt> WITHDRAWL <amt> --------------> check if enough $ to cover withdrawl <------------- OK ATM dispenses $ BYE --------------> <------------- BYE In situation when there's not enough money: HELO (userid) --------------> (check if valid userid) <------------- PASSWD PASSWD <passwd> --------------> (check password) <------------- OK (password is OK) BALANCE --------------> <------------- AMOUNT <amt> WITHDRAWL <amt> --------------> check if enough $ to cover withdrawl <------------- ERR (not enough funds) error msg displayed no $ given out BYE --------------> <------------- BYE Problem 2 At time N*(L/R) the first packet has reached the destination, the second packet is stored in the last router, the third packet is stored in the next-to-last router, etc. At time N*(L/R) + L/R, the second packet has reached the destination, the third packet is stored in the last router, etc. Continuing with this logic, we see that at time N*(L/R) + (P-1)*(L/R) = (N+P-1)*(L/R) all packets have reached the destination. Problem 3 a) A circuit-switched network would be well suited to the application, because the application involves long sessions with predictable smooth bandwidth requirements. Since the transmission rate is known and not bursty, bandwidth can be reserved for each application session without significant waste. In addition, the overhead costs of setting up and tearing down connections are amortized over the lengthy duration of a typical application session. b) In the worst case, all the applications simultaneously transmit over one or more network links. However, since each link has sufficient bandwidth to handle the sum of all of the applications' data rates, no congestion (very little queuing) will occur. Given such generous link capacities, the network does not need congestion control mechanisms. Problem 4 Between the switch in the upper left and the switch in the upper right we can have 4 connections. Similarly we can have four connections between each of the 3 other pairs of adjacent switches. Thus, this network can support up to 16 connections. We can 4 connections passing through the switch in the upper-right-hand corner and another 4 connections passing through the switch in the lower-left-hand corner, giving a total of 8 connections. Yes. For the connections between A and C, we route two connections through B and two connections through D. For the connections between B and D, we route two connections through A and two connections through C. In this manner, there are at most 4 connections passing through any link. Problem 5 Tollbooths are 75 km apart, and the cars propagate at 100km/hr. A tollbooth services a car at a rate of one car every 12 seconds. a) There are ten cars. It takes 120 seconds, or 2 minutes, for the first tollbooth to service the 10 cars. Each of these cars has a propagation delay of 45 minutes (travel 75 km) before arriving at the second tollbooth. Thus, all the cars are lined up before the second tollbooth after 47 minutes. The whole process repeats itself for traveling between the second and third tollbooths. It also takes 2 minutes for the third tollbooth to service the 10 cars. Thus the total delay is 96 minutes. b) Delay between tollbooths is 8*12 seconds plus 45 minutes, i.e., 46 minutes and 36 seconds. The total delay is twice this amount plus 8*12 seconds, i.e., 94 minutes and 48 seconds. Problem 6 a) seconds. b) seconds. c) seconds. d) The bit is just leaving Host A. e) The first bit is in the link and has not reached Host B. f) The first bit has reached Host B. g) Want km. Problem 7 Consider the first bit in a packet. Before this bit can be transmitted, all of the bits in the packet must be generated. This requires sec=7msec. The time required to transmit the packet is sec= sec. Propagation delay = 10 msec. The delay until decoding is 7msec + sec + 10msec = 17.224msec A similar analysis shows that all bits experience a delay of 17.224 msec. Problem 8 a) 20 users can be supported. b) . c) . d) . We use the central limit theorem to approximate this probability. Let be independent random variables such that . “21 or more users” when is a standard normal r.v. Thus “21 or more users” . Problem 9 10,000 Problem 10 The first end system requires L/R1 to transmit the packet onto the first link; the packet propagates over the first link in d1/s1; the packet switch adds a processing delay of dproc; after receiving the entire packet, the packet switch connecting the first and the second link requires L/R2 to transmit the packet onto the second link; the packet propagates over the second link in d2/s2. Similarly, we can find the delay caused by the second switch and the third link: L/R3, dproc, and d3/s3. Adding these five delays gives dend-end = L/R1 + L/R2 + L/R3 + d1/s1 + d2/s2 + d3/s3+ dproc+ dproc To answer the second question, we simply plug the values into the equation to get 6 + 6 + 6 + 20+16 + 4 + 3 + 3 = 64 msec. Problem 11 Because bits are immediately transmitted, the packet switch does not introduce any delay; in particular, it does not introduce a transmission delay. Thus, dend-end = L/R + d1/s1 + d2/s2+ d3/s3 For the values in Problem 10, we get 6 + 20 + 16 + 4 = 46 msec. Problem 12 The arriving packet must first wait for the link to transmit 4.5 *1,500 bytes = 6,750 bytes or 54,000 bits. Since these bits are transmitted at 2 Mbps, the queuing delay is 27 msec. Generally, the queuing delay is (nL + (L - x))/R. Problem 13 The queuing delay is 0 for the first transmitted packet, L/R for the second transmitted packet, and generally, (n-1)L/R for the nth transmitted packet. Thus, the average delay for the N packets is: (L/R + 2L/R + ....... + (N-1)L/R)/N = L/(RN) * (1 + 2 + ..... + (N-1)) = L/(RN) * N(N-1)/2 = LN(N-1)/(2RN) = (N-1)L/(2R) Note that here we used the well-known fact: 1 + 2 + ....... + N = N(N+1)/2 It takes seconds to transmit the packets. Thus, the buffer is empty when a each batch of packets arrive. Thus, the average delay of a packet across all batches is the average delay within one batch, i.e., (N-1)L/2R. Problem 14 The transmission delay is . The total delay is Let . Total delay = For x=0, the total delay =0; as we increase x, total delay increases, approaching infinity as x approaches 1/a. Problem 15 Total delay . Problem 16 The total number of packets in the system includes those in the buffer and the packet that is being transmitted. So, N=10+1. Because , so (10+1)=a*(queuing delay + transmission delay). That is, 11=a*(0.01+1/100)=a*(0.01+0.01). Thus, a=550 packets/sec. Problem 17 There are nodes (the source host and the routers). Let denote the processing delay at the th node. Let be the transmission rate of the th link and let . Let be the propagation delay across the th link. Then . Let denote the average queuing delay at node . Then . Problem 18 On linux you can use the command traceroute www.targethost.com and in the Windows command prompt you can use tracert www.targethost.com In either case, you will get three delay measurements. For those three measurements you can calculate the mean and standard deviation. Repeat the experiment at different times of the day and comment on any changes. Here is an example solution: Traceroutes between San Diego Super Computer Center and www.poly.edu The average (mean) of the round-trip delays at each of the three hours is 71.18 ms, 71.38 ms and 71.55 ms, respectively. The standard deviations are 0.075 ms, 0.21 ms, 0.05 ms, respectively. In this example, the traceroutes have 12 routers in the path at each of the three hours. No, the paths didn’t change during any of the hours. Traceroute packets passed through four ISP networks from source to destination. Yes, in this experiment the largest delays occurred at peering interfaces between adjacent ISPs. Traceroutes from www.stella-net.net (France) to www.poly.edu (USA). The average round-trip delays at each of the three hours are 87.09 ms, 86.35 ms and 86.48 ms, respectively. The standard deviations are 0.53 ms, 0.18 ms, 0.23 ms, respectively. In this example, there are 11 routers in the path at each of the three hours. No, the paths didn’t change during any of the hours. Traceroute packets passed three ISP networks from source to destination. Yes, in this experiment the largest delays occurred at peering interfaces between adjacent ISPs. Problem 19 An example solution: Traceroutes from two different cities in France to New York City in United States In these traceroutes from two different cities in France to the same destination host in United States, seven links are in common including the transatlantic link. In this example of traceroutes from one city in France and from another city in Germany to the same host in United States, three links are in common including the transatlantic link. Traceroutes to two different cities in China from same host in United States Five links are common in the two traceroutes. The two traceroutes diverge before reaching China Problem 20 Throughput = min{Rs, Rc, R/M} Problem 21 If only use one path, the max throughput is given by: . If use all paths, the max throughput is given by . Problem 22 Probability of successfully receiving a packet is: ps= (1-p)N. The number of transmissions needed to be performed until the packet is successfully received by the client is a geometric random variable with success probability ps. Thus, the average number of transmissions needed is given by: 1/ps . Then, the average number of re-transmissions needed is given by: 1/ps -1. Problem 23 Let’s call the first packet A and call the second packet B. If the bottleneck link is the first link, then packet B is queued at the first link waiting for the transmission of packet A. So the packet inter-arrival time at the destination is simply L/Rs. If the second link is the bottleneck link and both packets are sent back to back, it must be true that the second packet arrives at the input queue of the second link before the second link finishes the transmission of the first packet. That is, L/Rs + L/Rs + dprop < L/Rs + dprop + L/Rc The left hand side of the above inequality represents the time needed by the second packet to arrive at the input queue of the second link (the second link has not started transmitting the second packet yet). The right hand side represents the time needed by the first packet to finish its transmission onto the second link. If we send the second packet T seconds later, we will ensure that there is no queuing delay for the second packet at the second link if we have: L/Rs + L/Rs + dprop + T >= L/Rs + dprop + L/Rc Thus, the minimum value of T is L/Rc  L/Rs . Problem 24 40 terabytes = 40 * 1012 * 8 bits. So, if using the dedicated link, it will take 40 * 1012 * 8 / (100 *106 ) =3200000 seconds = 37 days. But with FedEx overnight delivery, you can guarantee the data arrives in one day, and it should cost less than $100. Problem 25 160,000 bits 160,000 bits The bandwidth-delay product of a link is the maximum number of bits that can be in the link. the width of a bit = length of link / bandwidth-delay product, so 1 bit is 125 meters long, which is longer than a football field s/R Problem 26 s/R=20000km, then R=s/20000km= 2.5*108/(2*107)= 12.5 bps Problem 27 80,000,000 bits 800,000 bits, this is because that the maximum number of bits that will be in the link at any given time = min(bandwidth delay product, packet size) = 800,000 bits. .25 meters Problem 28 ttrans + tprop = 400 msec + 80 msec = 480 msec. 20 * (ttrans + 2 tprop) = 20*(20 msec + 80 msec) = 2 sec. Breaking up a file takes longer to transmit because each data packet and its corresponding acknowledgement packet add their own propagation delays. Problem 29 Recall geostationary satellite is 36,000 kilometers away from earth surface. 150 msec 1,500,000 bits 600,000,000 bits Problem 30 Let’s suppose the passenger and his/her bags correspond to the data unit arriving to the top of the protocol stack. When the passenger checks in, his/her bags are checked, and a tag is attached to the bags and ticket. This is additional information added in the Baggage layer if Figure 1.20 that allows the Baggage layer to implement the service or separating the passengers and baggage on the sending side, and then reuniting them (hopefully!) on the destination side. When a passenger then passes through security and additional stamp is often added to his/her ticket, indicating that the passenger has passed through a security check. This information is used to ensure (e.g., by later checks for the security information) secure transfer of people. Problem 31 Time to send message from source host to first packet switch = With store-and-forward switching, the total time to move message from source host to destination host = Time to send 1st packet from source host to first packet switch = . . Time at which 2nd packet is received at the first switch = time at which 1st packet is received at the second switch = Time at which 1st packet is received at the destination host = . After this, every 5msec one packet will be received; thus time at which last (800th) packet is received = . It can be seen that delay in using message segmentation is significantly less (almost 1/3rd). Without message segmentation, if bit errors are not tolerated, if there is a single bit error, the whole message has to be retransmitted (rather than a single packet). Without message segmentation, huge packets (containing HD videos, for example) are sent into the network. Routers have to accommodate these huge packets. Smaller packets have to queue behind enormous packets and suffer unfair delays. Packets have to be put in sequence at the destination. Message segmentation results in many smaller packets. Since header size is usually the same for all packets regardless of their size, with message segmentation the total amount of header bytes is more. Problem 32 Yes, the delays in the applet correspond to the delays in the Problem 31.The propagation delays affect the overall end-to-end delays both for packet switching and message switching equally. Problem 33 There are F/S packets. Each packet is S=80 bits. Time at which the last packet is received at the first router is sec. At this time, the first F/S-2 packets are at the destination, and the F/S-1 packet is at the second router. The last packet must then be transmitted by the first router and the second router, with each transmission taking sec. Thus delay in sending the whole file is To calculate the value of S which leads to the minimum delay, Problem 34 The circuit-switched telephone networks and the Internet are connected together at "gateways". When a Skype user (connected to the Internet) calls an ordinary telephone, a circuit is established between a gateway and the telephone user over the circuit switched network. The skype user's voice is sent in packets over the Internet to the gateway. At the gateway, the voice signal is reconstructed and then sent over the circuit. In the other direction, the voice signal is sent over the circuit switched network to the gateway. The gateway packetizes the voice signal and sends the voice packets to the Skype user.   Chapter 2 Review Questions The Web: HTTP; file transfer: FTP; remote login: Telnet; e-mail: SMTP; BitTorrent file sharing: BitTorrent protocol Network architecture refers to the organization of the communication process into layers (e.g., the five-layer Internet architecture). Application architecture, on the other hand, is designed by an application developer and dictates the broad structure of the application (e.g., client-server or P2P). The process which initiates the communication is the client; the process that waits to be contacted is the server. No. In a P2P file-sharing application, the peer that is receiving a file is typically the client and the peer that is sending the file is typically the server. The IP address of the destination host and the port number of the socket in the destination process. You would use UDP. With UDP, the transaction can be completed in one roundtrip time (RTT) - the client sends the transaction request into a UDP socket, and the server sends the reply back to the client's UDP socket. With TCP, a minimum of two RTTs are needed - one to set-up the TCP connection, and another for the client to send the request, and for the server to send back the reply. One such example is remote word processing, for example, with Google docs. However, because Google docs runs over the Internet (using TCP), timing guarantees are not provided. a) Reliable data transfer TCP provides a reliable byte-stream between client and server but UDP does not. b) A guarantee that a certain value for throughput will be maintained Neither c) A guarantee that data will be delivered within a specified amount of time Neither d) Confidentiality (via encryption) Neither SSL operates at the application layer. The SSL socket takes unencrypted data from the application layer, encrypts it and then passes it to the TCP socket. If the application developer wants TCP to be enhanced with SSL, she has to include the SSL code in the application. A protocol uses handshaking if the two communicating entities first exchange control packets before sending data to each other. SMTP uses handshaking at the application layer whereas HTTP does not. The applications associated with those protocols require that all application data be received in the correct order and without gaps. TCP provides this service whereas UDP does not. When the user first visits the site, the server creates a unique identification number, creates an entry in its back-end database, and returns this identification number as a cookie number. This cookie number is stored on the user’s host and is managed by the browser. During each subsequent visit (and purchase), the browser sends the cookie number back to the site. Thus the site knows when this user (more precisely, this browser) is visiting the site. Web caching can bring the desired content “closer” to the user, possibly to the same LAN to which the user’s host is connected. Web caching can reduce the delay for all objects, even objects that are not cached, since caching reduces the traffic on links. Telnet is not available in Windows 7 by default. to make it available, go to Control Panel, Programs and Features, Turn Windows Features On or Off, Check Telnet client. To start Telnet, in Windows command prompt, issue the following command > telnet webserverver 80 where "webserver" is some webserver. After issuing the command, you have established a TCP connection between your client telnet program and the web server. Then type in an HTTP GET message. An example is given below: Since the index.html page in this web server was not modified since Fri, 18 May 2007 09:23:34 GMT, and the above commands were issued on Sat, 19 May 2007, the server returned "304 Not Modified". Note that the first 4 lines are the GET message and header lines inputed by the user, and the next 4 lines (starting from HTTP/1.1 304 Not Modified) is the response from the web server. FTP uses two parallel TCP connections, one connection for sending control information (such as a request to transfer a file) and another connection for actually transferring the file. Because the control information is not sent over the same connection that the file is sent over, FTP sends control information out of band. The message is first sent from Alice’s host to her mail server over HTTP. Alice’s mail server then sends the message to Bob’s mail server over SMTP. Bob then transfers the message from his mail server to his host over POP3. 17. Received: from 65.54.246.203 (EHLO bay0-omc3-s3.bay0.hotmail.com) (65.54.246.203) by mta419.mail.mud.yahoo.com with SMTP; Sat, 19 May 2007 16:53:51 -0700 Received: from hotmail.com ([65.55.135.106]) by bay0-omc3-s3.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668); Sat, 19 May 2007 16:52:42 -0700 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sat, 19 May 2007 16:52:41 -0700 Message-ID: <BAY130-F26D9E35BF59E0D18A819AFB9310@phx.gbl> Received: from 65.55.135.123 by by130fd.bay130.hotmail.msn.com with HTTP; Sat, 19 May 2007 23:52:36 GMT From: "prithula dhungel" <prithuladhungel@hotmail.com> To: prithula@yahoo.com Bcc: Subject: Test mail Date: Sat, 19 May 2007 23:52:36 +0000 Mime-Version: 1.0 Content-Type: Text/html; format=flowed Return-Path: prithuladhungel@hotmail.com Figure: A sample mail message header Received: This header field indicates the sequence in which the SMTP servers send and receive the mail message including the respective timestamps. In this example there are 4 “Received:” header lines. This means the mail message passed through 5 different SMTP servers before being delivered to the receiver’s mail box. The last (forth) “Received:” header indicates the mail message flow from the SMTP server of the sender to the second SMTP server in the chain of servers. The sender’s SMTP server is at address 65.55.135.123 and the second SMTP server in the chain is by130fd.bay130.hotmail.msn.com. The third “Received:” header indicates the mail message flow from the second SMTP server in the chain to the third server, and so on. Finally, the first “Received:” header indicates the flow of the mail messages from the forth SMTP server to the last SMTP server (i.e. the receiver’s mail server) in the chain. Message-id: The message has been given this number BAY130-F26D9E35BF59E0D18A819AFB9310@phx.gbl (by bay0-omc3-s3.bay0.hotmail.com. Message-id is a unique string assigned by the mail system when the message is first created. From: This indicates the email address of the sender of the mail. In the given example, the sender is “prithuladhungel@hotmail.com” To: This field indicates the email address of the receiver of the mail. In the example, the receiver is “prithula@yahoo.com” Subject: This gives the subject of the mail (if any specified by the sender). In the example, the subject specified by the sender is “Test mail” Date: The date and time when the mail was sent by the sender. In the example, the sender sent the mail on 19th May 2007, at time 23:52:36 GMT. Mime-version: MIME version used for the mail. In the example, it is 1.0. Content-type: The type of content in the body of the mail message. In the example, it is “text/html”. Return-Path: This specifies the email address to which the mail will be sent if the receiver of this mail wants to reply to the sender. This is also used by the sender’s mail server for bouncing back undeliverable mail messages of mailer-daemon error messages. In the example, the return path is “prithuladhungel@hotmail.com”. With download and delete, after a user retrieves its messages from a POP server, the messages are deleted. This poses a problem for the nomadic user, who may want to access the messages from many different machines (office PC, home PC, etc.). In the download and keep configuration, messages are not deleted after the user retrieves the messages. This can also be inconvenient, as each time the user retrieves the stored messages from a new machine, all of non-deleted messages will be transferred to the new machine (including very old messages). Yes an organization’s mail server and Web server can have the same alias for a host name. The MX record is used to map the mail server’s host name to its IP address. You should be able to see the sender's IP address for a user with an .edu email address. But you will not be able to see the sender's IP address if the user uses a gmail account. It is not necessary that Bob will also provide chunks to Alice. Alice has to be in the top 4 neighbors of Bob for Bob to send out chunks to her; this might not occur even if Alice provides chunks to Bob throughout a 30-second interval. Recall that in BitTorrent, a peer picks a random peer and optimistically unchokes the peer for a short period of time. Therefore, Alice will eventually be optimistically unchoked by one of her neighbors, during which time she will receive chunks from that neighbor. The overlay network in a P2P file sharing system consists of the nodes participating in the file sharing system and the logical links between the nodes. There is a logical link (an “edge” in graph theory terms) from node A to node B if there is a semi-permanent TCP connection between A and B. An overlay network does not include routers. Mesh DHT: The advantage is in order to a route a message to the peer (with ID) that is closest to the key, only one hop is required; the disadvantage is that each peer must track all other peers in the DHT. Circular DHT: the advantage is that each peer needs to track only a few other peers; the disadvantage is that O(N) hops are needed to route a message to the peer that is closest to the key. 25. File Distribution Instant Messaging Video Streaming Distributed Computing With the UDP server, there is no welcoming socket, and all data from different clients enters the server through this one socket. With the TCP server, there is a welcoming socket, and each time a client initiates a connection to the server, a new socket is created. Thus, to support n simultaneous connections, the server would need n+1 sockets. For the TCP application, as soon as the client is executed, it attempts to initiate a TCP connection with the server. If the TCP server is not running, then the client will fail to make a connection. For the UDP application, the client does not initiate connections (or attempt to communicate with the UDP server) immediately upon execution Chapter 2 Problems Problem 1 a) F b) T c) F d) F e) F Problem 2 Access control commands: USER, PASS, ACT, CWD, CDUP, SMNT, REIN, QUIT. Transfer parameter commands: PORT, PASV, TYPE STRU, MODE. Service commands: RETR, STOR, STOU, APPE, ALLO, REST, RNFR, RNTO, ABOR, DELE, RMD, MRD, PWD, LIST, NLST, SITE, SYST, STAT, HELP, NOOP. Problem 3 Application layer protocols: DNS and HTTP Transport layer protocols: UDP for DNS; TCP for HTTP Problem 4 The document request was http://gaia.cs.umass.edu/cs453/index.html. The Host : field indicates the server's name and /cs453/index.html indicates the file name. The browser is running HTTP version 1.1, as indicated just before the first <cr><lf> pair. The browser is requesting a persistent connection, as indicated by the Connection: keep-alive. This is a trick question. This information is not contained in an HTTP message anywhere. So there is no way to tell this from looking at the exchange of HTTP messages alone. One would need information from the IP datagrams (that carried the TCP segment that carried the HTTP GET request) to answer this question. Mozilla/5.0. The browser type information is needed by the server to send different versions of the same object to different types of browsers. Problem 5 The status code of 200 and the phrase OK indicate that the server was able to locate the document successfully. The reply was provided on Tuesday, 07 Mar 2008 12:39:45 Greenwich Mean Time. The document index.html was last modified on Saturday 10 Dec 2005 18:27:46 GMT. There are 3874 bytes in the document being returned. The first five bytes of the returned document are : <!doc. The server agreed to a persistent connection, as indicated by the Connection: Keep-Alive field Problem 6 Persistent connections are discussed in section 8 of RFC 2616 (the real goal of this question was to get you to retrieve and read an RFC). Sections 8.1.2 and 8.1.2.1 of the RFC indicate that either the client or the server can indicate to the other that it is going to close the persistent connection. It does so by including the connection-token "close" in the Connection-header field of the http request/reply. HTTP does not provide any encryption services. (From RFC 2616) “Clients that use persistent connections should limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy.” Yes. (From RFC 2616) “A client might have started to send a new request at the same time that the server has decided to close the "idle" connection. From the server's point of view, the connection is being closed while it was idle, but from the client's point of view, a request is in progress.” Problem 7 The total amount of time to get the IP address is . Once the IP address is known, elapses to set up the TCP connection and another elapses to request and receive the small object. The total response time is Problem 8 . . Problem 9 The time to transmit an object of size L over a link or rate R is L/R. The average time is the average size of the object divided by R:  = (850,000 bits)/(15,000,000 bits/sec) = .0567 sec The traffic intensity on the link is given by =(16 requests/sec)(.0567 sec/request) = 0.907. Thus, the average access delay is (.0567 sec)/(1 - .907)  .6 seconds. The total average response time is therefore .6 sec + 3 sec = 3.6 sec. The traffic intensity on the access link is reduced by 60% since the 60% of the requests are satisfied within the institutional network. Thus the average access delay is (.0567 sec)/[1 – (.4)(.907)] = .089 seconds. The response time is approximately zero if the request is satisfied by the cache (which happens with probability .6); the average response time is .089 sec + 3 sec = 3.089 sec for cache misses (which happens 40% of the time). So the average response time is (.6)(0 sec) + (.4)(3.089 sec) = 1.24 seconds. Thus the average response time is reduced from 3.6 sec to 1.24 sec. Problem 10 Note that each downloaded object can be completely put into one data packet. Let Tp denote the one-way propagation delay between the client and the server. First consider parallel downloads using non-persistent connections. Parallel downloads would allow 10 connections to share the 150 bits/sec bandwidth, giving each just 15 bits/sec. Thus, the total time needed to receive all objects is given by: (200/150+Tp + 200/150 +Tp + 200/150+Tp + 100,000/150+ Tp ) + (200/(150/10)+Tp + 200/(150/10) +Tp + 200/(150/10)+Tp + 100,000/(150/10)+ Tp ) = 7377 + 8*Tp (seconds) Now consider a persistent HTTP connection. The total time needed is given by: (200/150+Tp + 200/150 +Tp + 200/150+Tp + 100,000/150+ Tp ) + 10*(200/150+Tp + 100,000/150+ Tp ) =7351 + 24*Tp (seconds) Assuming the speed of light is 300*106 m/sec, then Tp=10/(300*106)=0.03 microsec. Tp is therefore negligible compared with transmission delay. Thus, we see that persistent HTTP is not significantly faster (less than 1 percent) than the non-persistent case with parallel download. Problem 11 Yes, because Bob has more connections, he can get a larger share of the link bandwidth. Yes, Bob still needs to perform parallel downloads; otherwise he will get less bandwidth than the other four users. Problem 12 Server.py from socket import * serverPort=12000 serverSocket=socket(AF_INET,SOCK_STREAM) serverSocket.bind(('',serverPort)) serverSocket.listen(1) connectionSocket, addr = serverSocket.accept() while 1: sentence = connectionSocket.recv(1024) print 'From Server:', sentence, '\n' serverSocket.close() Problem 13 The MAIL FROM: in SMTP is a message from the SMTP client that identifies the sender of the mail message to the SMTP server. The From: on the mail message itself is NOT an SMTP message, but rather is just a line in the body of the mail message. Problem 14 SMTP uses a line containing only a period to mark the end of a message body. HTTP uses “Content-Length header field” to indicate the length of a message body. No, HTTP cannot use the method used by SMTP, because HTTP message could be binary data, whereas in SMTP, the message body must be in 7-bit ASCII format. Problem 15 MTA stands for Mail Transfer Agent. A host sends the message to an MTA. The message then follows a sequence of MTAs to reach the receiver’s mail reader. We see that this spam message follows a chain of MTAs. An honest MTA should report where it receives the message. Notice that in this message, “asusus-4b96 ([58.88.21.177])” does not report from where it received the email. Since we assume only the originator is dishonest, so “asusus-4b96 ([58.88.21.177])” must be the originator. Problem 16 UIDL abbreviates “unique-ID listing”. When a POP3 client issues the UIDL command, the server responds with the unique message ID for all of the messages present in the user's mailbox. This command is useful for “download and keep”. By maintaining a file that lists the messages retrieved during earlier sessions, the client can use the UIDL command to determine which messages on the server have already been seen. Problem 17 a) C: dele 1 C: retr 2 S: (blah blah … S: ………..blah) S: . C: dele 2 C: quit S: +OK POP3 server signing off b) C: retr 2 S: blah blah … S: ………..blah S: . C: quit S: +OK POP3 server signing off C: list S: 1 498 S: 2 912 S: . C: retr 1 S: blah ….. S: ….blah S: . C: retr 2 S: blah blah … S: ………..blah S: . C: quit S: +OK POP3 server signing off Problem 18 For a given input of domain name (such as ccn.com), IP address or network administrator name, the whois database can be used to locate the corresponding registrar, whois server, DNS server, and so on. NS4.YAHOO.COM from www.register.com; NS1.MSFT.NET from ww.register.com Local Domain: www.mindspring.com Web servers : www.mindspring.com 207.69.189.21, 207.69.189.22, 207.69.189.23, 207.69.189.24, 207.69.189.25, 207.69.189.26, 207.69.189.27, 207.69.189.28 Mail Servers : mx1.mindspring.com (207.69.189.217) mx2.mindspring.com (207.69.189.218) mx3.mindspring.com (207.69.189.219) mx4.mindspring.com (207.69.189.220) Name Servers: itchy.earthlink.net (207.69.188.196) scratchy.earthlink.net (207.69.188.197) www.yahoo.com Web Servers: www.yahoo.com (216.109.112.135, 66.94.234.13) Mail Servers: a.mx.mail.yahoo.com (209.191.118.103) b.mx.mail.yahoo.com (66.196.97.250) c.mx.mail.yahoo.com (68.142.237.182, 216.39.53.3) d.mx.mail.yahoo.com (216.39.53.2) e.mx.mail.yahoo.com (216.39.53.1) f.mx.mail.yahoo.com (209.191.88.247, 68.142.202.247) g.mx.mail.yahoo.com (209.191.88.239, 206.190.53.191) Name Servers: ns1.yahoo.com (66.218.71.63) ns2.yahoo.com (68.142.255.16) ns3.yahoo.com (217.12.4.104) ns4.yahoo.com (68.142.196.63) ns5.yahoo.com (216.109.116.17) ns8.yahoo.com (202.165.104.22) ns9.yahoo.com (202.160.176.146) www.hotmail.com Web Servers: www.hotmail.com (64.4.33.7, 64.4.32.7) Mail Servers: mx1.hotmail.com (65.54.245.8, 65.54.244.8, 65.54.244.136) mx2.hotmail.com (65.54.244.40, 65.54.244.168, 65.54.245.40) mx3.hotmail.com (65.54.244.72, 65.54.244.200, 65.54.245.72) mx4.hotmail.com (65.54.244.232, 65.54.245.104, 65.54.244.104) Name Servers: ns1.msft.net (207.68.160.190) ns2.msft.net (65.54.240.126) ns3.msft.net (213.199.161.77) ns4.msft.net (207.46.66.126) ns5.msft.net (65.55.238.126) d) The yahoo web server has multiple IP addresses www.yahoo.com (216.109.112.135, 66.94.234.13) e) The address range for Polytechnic University: 128.238.0.0 – 128.238.255.255 f) An attacker can use the whois database and nslookup tool to determine the IP address ranges, DNS server addresses, etc., for the target institution. By analyzing the source address of attack packets, the victim can use whois to obtain information about domain from which the attack is coming and possibly inform the administrators of the origin domain. Problem 19 The following delegation chain is used for gaia.cs.umass.edu a.root-servers.net E.GTLD-SERVERS.NET ns1.umass.edu(authoritative) First command: dig +norecurse @a.root-servers.net any gaia.cs.umass.edu ;; AUTHORITY SECTION: edu. 172800 IN NS E.GTLD-SERVERS.NET. edu. 172800 IN NS A.GTLD-SERVERS.NET. edu. 172800 IN NS G3.NSTLD.COM. edu. 172800 IN NS D.GTLD-SERVERS.NET. edu. 172800 IN NS H3.NSTLD.COM. edu. 172800 IN NS L3.NSTLD.COM. edu. 172800 IN NS M3.NSTLD.COM. edu. 172800 IN NS C.GTLD-SERVERS.NET. Among all returned edu DNS servers, we send a query to the first one. dig +norecurse @E.GTLD-SERVERS.NET any gaia.cs.umass.edu umass.edu. 172800 IN NS ns1.umass.edu. umass.edu. 172800 IN NS ns2.umass.edu. umass.edu. 172800 IN NS ns3.umass.edu. Among all three returned authoritative DNS servers, we send a query to the first one. dig +norecurse @ns1.umass.edu any gaia.cs.umass.edu gaia.cs.umass.edu. 21600 IN A 128.119.245.12 The answer for google.com could be: a.root-servers.net E.GTLD-SERVERS.NET ns1.google.com(authoritative) Problem 20 We can periodically take a snapshot of the DNS caches in the local DNS servers. The Web server that appears most frequently in the DNS caches is the most popular server. This is because if more users are interested in a Web server, then DNS requests for that server are more frequently sent by users. Thus, that Web server will appear in the DNS caches more frequently. For a complete measurement study, see: Craig E. Wills, Mikhail Mikhailov, Hao Shang “Inferring Relative Popularity of Internet Applications by Actively Querying DNS Caches”, in IMC'03, October 27­29, 2003, Miami Beach, Florida, USA Problem 21 Yes, we can use dig to query that Web site in the local DNS server. For example, “dig cnn.com” will return the query time for finding cnn.com. If cnn.com was just accessed a couple of seconds ago, an entry for cnn.com is cached in the local DNS cache, so the query time is 0 msec. Otherwise, the query time is large. Problem 22 For calculating the minimum distribution time for client-server distribution, we use the following formula: Dcs = max {NF/us, F/dmin} Similarly, for calculating the minimum distribution time for P2P distribution, we use the following formula: Where, F = 15 Gbits = 15 * 1024 Mbits us = 30 Mbps dmin = di = 2 Mbps Note, 300Kbps = 300/1024 Mbps. Client Server N 10 100 1000 u 300 Kbps 7680 51200 512000 700 Kbps 7680 51200 512000 2 Mbps 7680 51200 512000 Peer to Peer N 10 100 1000 u 300 Kbps 7680 25904 47559 700 Kbps 7680 15616 21525 2 Mbps 7680 7680 7680 Problem 23 Consider a distribution scheme in which the server sends the file to each client, in parallel, at a rate of a rate of us/N. Note that this rate is less than each of the client’s download rate, since by assumption us/N ≤ dmin. Thus each client can also receive at rate us/N. Since each client receives at rate us/N, the time for each client to receive the entire file is F/( us/N) = NF/ us. Since all the clients receive the file in NF/ us, the overall distribution time is also NF/ us. Consider a distribution scheme in which the server sends the file to each client, in parallel, at a rate of dmin. Note that the aggregate rate, N dmin, is less than the server’s link rate us, since by assumption us/N ≥ dmin. Since each client receives at rate dmin, the time for each client to receive the entire file is F/ dmin. Since all the clients receive the file in this time, the overall distribution time is also F/ dmin. From Section 2.6 we know that DCS ≥ max {NF/us, F/dmin} (Equation 1) Suppose that us/N ≤ dmin. Then from Equation 1 we have DCS ≥ NF/us . But from (a) we have DCS ≤ NF/us . Combining these two gives: DCS = NF/us when us/N ≤ dmin. (Equation 2) We can similarly show that: DCS =F/dmin when us/N ≥ dmin (Equation 3). Combining Equation 2 and Equation 3 gives the desired result. Problem 24 Define u = u1 + u2 + ….. + uN. By assumption us <= (us + u)/N Equation 1 Divide the file into N parts, with the ith part having size (ui/u)F. The server transmits the ith part to peer i at rate ri = (ui/u)us. Note that r1 + r2 + ….. + rN = us, so that the aggregate server rate does not exceed the link rate of the server. Also have each peer i forward the bits it receives to each of the N-1 peers at rate ri. The aggregate forwarding rate by peer i is (N-1)ri. We have (N-1)ri = (N-1)(usui)/u <= ui, where the last inequality follows from Equation 1. Thus the aggregate forwarding rate of peer i is less than its link rate ui. In this distribution scheme, peer i receives bits at an aggregate rate of Thus each peer receives the file in F/us. Again define u = u1 + u2 + ….. + uN. By assumption us >= (us + u)/N Equation 2 Let ri = ui/(N-1) and rN+1 = (us – u/(N-1))/N In this distribution scheme, the file is broken into N+1 parts. The server sends bits from the ith part to the ith peer (i = 1, …., N) at rate ri. Each peer i forwards the bits arriving at rate ri to each of the other N-1 peers. Additionally, the server sends bits from the (N+1) st part at rate rN+1 to each of the N peers. The peers do not forward the bits from the (N+1)st part. The aggregate send rate of the server is r1+ …. + rN + N rN+1 = u/(N-1) + us – u/(N-1) = us Thus, the server’s send rate does not exceed its link rate. The aggregate send rate of peer i is (N-1)ri = ui Thus, each peer’s send rate does not exceed its link rate. In this distribution scheme, peer i receives bits at an aggregate rate of Thus each peer receives the file in NF/(us+u). (For simplicity, we neglected to specify the size of the file part for i = 1, …., N+1. We now provide that here. Let Δ = (us+u)/N be the distribution time. For i = 1, …, N, the ith file part is Fi = ri Δ bits. The (N+1)st file part is FN+1 = rN+1 Δ bits. It is straightforward to show that F1+ ….. + FN+1 = F.) The solution to this part is similar to that of 17 (c). We know from section 2.6 that Combining this with a) and b) gives the desired result. Problem 25 There are N nodes in the overlay network. There are N(N-1)/2 edges. Problem 26 Yes. His first claim is possible, as long as there are enough peers staying in the swarm for a long enough time. Bob can always receive data through optimistic unchoking by other peers. His second claim is also true. He can run a client on each host, let each client “free-ride,” and combine the collected chunks from the different hosts into a single file. He can even write a small scheduling program to make the different hosts ask for different chunks of the file. This is actually a kind of Sybil attack in P2P networks. Problem 27 Peer 3 learns that peer 5 has just left the system, so Peer 3 asks its first successor (Peer 4) for the identifier of its immediate successor (peer 8). Peer 3 will then make peer 8 its second successor. Problem 28 Peer 6 would first send peer 15 a message, saying “what will be peer 6’s predecessor and successor?” This message gets forwarded through the DHT until it reaches peer 5, who realizes that it will be 6’s predecessor and that its current successor, peer 8, will become 6’s successor. Next, peer 5 sends this predecessor and successor information back to 6. Peer 6 can now join the DHT by making peer 8 its successor and by notifying peer 5 that it should change its immediate successor to 6. Problem 29 For each key, we first calculate the distances (using d(k,p)) between itself and all peers, and then store the key in the peer that is closest to the key (that is, with smallest distance value). Problem 30 Yes, randomly assigning keys to peers does not consider the underlying network at all, so it very likely causes mismatches. Such mismatches may degrade the search performance. For example, consider a logical path p1 (consisting of only two logical links): ABC, where A and B are neighboring peers, and B and C are neighboring peers. Suppose that there is another logical path p2 from A to C (consisting of 3 logical links): ADEC. It might be the case that A and B are very far away physically (and separated by many routers), and B and C are very far away physically (and separated by many routers). But it may be the case that A, D, E, and C are all very close physically (and all separated by few routers). In other words, a shorter logical path may correspond to a much longer physical path. Problem 31 If you run TCPClient first, then the client will attempt to make a TCP connection with a non-existent server process. A TCP connection will not be made. UDPClient doesn't establish a TCP connection with the server. Thus, everything should work fine if you first run UDPClient, then run UDPServer, and then type some input into the keyboard. If you use different port numbers, then the client will attempt to establish a TCP connection with the wrong process or a non-existent process. Errors will occur. Problem 32 In the original program, UDPClient does not specify a port number when it creates the socket. In this case, the code lets the underlying operating system choose a port number. With the additional line, when UDPClient is executed, a UDP socket is created with port number 5432 . UDPServer needs to know the client port number so that it can send packets back to the correct client socket. Glancing at UDPServer, we see that the client port number is not “hard-wired” into the server code; instead, UDPServer determines the client port number by unraveling the datagram it receives from the client. Thus UDP server will work with any client port number, including 5432. UDPServer therefore does not need to be modified. Before: Client socket = x (chosen by OS) Server socket = 9876 After: Client socket = 5432 Problem 33 Yes, you can configure many browsers to open multiple simultaneous connections to a Web site. The advantage is that you will you potentially download the file faster. The disadvantage is that you may be hogging the bandwidth, thereby significantly slowing down the downloads of other users who are sharing the same physical links. Problem 34 For an application such as remote login (telnet and ssh), a byte-stream oriented protocol is very natural since there is no notion of message boundaries in the application. When a user types a character, we simply drop the character into the TCP connection. In other applications, we may be sending a series of messages that have inherent boundaries between them. For example, when one SMTP mail server sends another SMTP mail server several email messages back to back. Since TCP does not have a mechanism to indicate the boundaries, the application must add the indications itself, so that receiving side of the application can distinguish one message from the next. If each message were instead put into a distinct UDP segment, the receiving end would be able to distinguish the various messages without any indications added by the sending side of the application. Problem 35 To create a web server, we need to run web server software on a host. Many vendors sell web server software. However, the most popular web server software today is Apache, which is open source and free. Over the years it has been highly optimized by the open-source community. Problem 36 The key is the infohash, the value is an IP address that currently has the file designated by the infohash.   Chapter 3 Review Questions Call this protocol Simple Transport Protocol (STP). At the sender side, STP accepts from the sending process a chunk of data not exceeding 1196 bytes, a destination host address, and a destination port number. STP adds a four-byte header to each chunk and puts the port number of the destination process in this header. STP then gives the destination host address and the resulting segment to the network layer. The network layer delivers the segment to STP at the destination host. STP then examines the port number in the segment, extracts the data from the segment, and passes the data to the process identified by the port number. The segment now has two header fields: a source port field and destination port field. At the sender side, STP accepts a chunk of data not exceeding 1192 bytes, a destination host address, a source port number, and a destination port number. STP creates a segment which contains the application data, source port number, and destination port number. It then gives the segment and the destination host address to the network layer. After receiving the segment, STP at the receiving host gives the application process the application data and the source port number. No, the transport layer does not have to do anything in the core; the transport layer “lives” in the end systems. For sending a letter, the family member is required to give the delegate the letter itself, the address of the destination house, and the name of the recipient. The delegate clearly writes the recipient’s name on the top of the letter. The delegate then puts the letter in an envelope and writes the address of the destination house on the envelope. The delegate then gives the letter to the planet’s mail service. At the receiving side, the delegate receives the letter from the mail service, takes the letter out of the envelope, and takes note of the recipient name written at the top of the letter. The delegate then gives the letter to the family member with this name. No, the mail service does not have to open the envelope; it only examines the address on the envelope. Source port number y and destination port number x. An application developer may not want its application to use TCP’s congestion control, which can throttle the application’s sending rate at times of congestion. Often, designers of IP telephony and IP videoconference applications choose to run their applications over UDP because they want to avoid TCP’s congestion control. Also, some applications do not need the reliable data transfer provided by TCP. Since most firewalls are configured to block UDP traffic, using TCP for video and voice traffic lets the traffic though the firewalls. Yes. The application developer can put reliable data transfer into the application layer protocol. This would require a significant amount of work and debugging, however. Yes, both segments will be directed to the same socket. For each received segment, at the socket interface, the operating system will provide the process with the IP addresses to determine the origins of the individual segments. For each persistent connection, the Web server creates a separate “connection socket”. Each connection socket is identified with a four-tuple: (source IP address, source port number, destination IP address, destination port number). When host C receives and IP datagram, it examines these four fields in the datagram/segment to determine to which socket it should pass the payload of the TCP segment. Thus, the requests from A and B pass through different sockets. The identifier for both of these sockets has 80 for the destination port; however, the identifiers for these sockets have different values for source IP addresses. Unlike UDP, when the transport layer passes a TCP segment’s payload to the application process, it does not specify the source IP address, as this is implicitly specified by the socket identifier. Sequence numbers are required for a receiver to find out whether an arriving packet contains new data or is a retransmission. To handle losses in the channel. If the ACK for a transmitted packet is not received within the duration of the timer for the packet, the packet (or its ACK or NACK) is assumed to have been lost. Hence, the packet is retransmitted. A timer would still be necessary in the protocol rdt 3.0. If the round trip time is known then the only advantage will be that, the sender knows for sure that either the packet or the ACK (or NACK) for the packet has been lost, as compared to the real scenario, where the ACK (or NACK) might still be on the way to the sender, after the timer expires. However, to detect the loss, for each packet, a timer of constant duration will still be necessary at the sender. The packet loss caused a time out after which all the five packets were retransmitted. Loss of an ACK didn’t trigger any retransmission as Go-Back-N uses cumulative acknowledgements. The sender was unable to send sixth packet as the send window size is fixed to 5. When the packet was lost, the received four packets were buffered the receiver. After the timeout, sender retransmitted the lost packet and receiver delivered the buffered packets to application in correct order. Duplicate ACK was sent by the receiver for the lost ACK. The sender was unable to send sixth packet as the send win

立即下载
计算机网络xmind思维导图第六张完整版

思维导图就是这样一个模拟“神经元”的思维工具,将具象思维和抽象思维结合起来的思维痕迹,通过图像、线条和文字描绘成图,使得左右脑同时运作并进行发散性思考,从而激发出更多的灵感和爆发点。

立即下载
计算机网络(第6版) pdf

计算机网络(第6版) 谢希仁 教材 pdf 高清 完整目录 第五版目录 第1章 概述 1.1 计算机网络在信息时代中的作用 1.2 因特网概述 1.2.1 网络的网络 1.2.2 因特网发展的三个阶段 1.2.3 因特网的标准化工作 1.3 因特网的组成 1.3.1 因特网的边缘部分 1.3.2 因特网的核心部分 1.4 计算机网络在我国的发展 1.5 计算机网络的类别 1.5.1 计算机网络的定义 1.5.2 几种不 同类别的网络 1.6 计算机网络的性能 1.6.1 计算机网络的性能指标 1.6.2 计算机网络的非性能特征 1.7 计算机网络体系结构 1.7.1 计算机网络体系结构的形成 1.7.2 协议与划分层次 1.7.3 具有五层协议的体系结构 1.7.4 实体、协议、服务和服务访问点 1.7.5 TCP/IP的体系结构 习题 第2章 物理层 2.1 物理层的基本概念 2.2 数据通信的基础知识 2.2.1 数据通信系统的模型 2.2.2 有关信道的几个基本概念 2.2.3 信道的极限容量 2.3 物理层下面的传输媒体 2.3.1 导向传输媒体 2.3.2 非导向传输媒体 2.4 信道复用技术 2.4.1 频分复用、时分复用和统计时分复用 2.4.2 波分复用 2 .4.3 码分复用 *2.5 数字传输系统 *2.6 宽带接入技术 2.6.1 xDSL技术 2.6.2 光纤同轴混合网(HFC网) 2.6.3 FTTx技术 习题 第3章 数据链路层 *3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题 *3.2 点对点协议PPP 3.2.1 PPP协议的特点 3.2.2 PPP协议的帧格式 3.2.3 PPP协议的工作状态 *3.3 使用广播信道的数据链路层 3.3.1 局域网的数据链路层 3.3.2 CSMA/CD协议 3.4 使用广播信道的以太网 *3.4.1 使用集线器的星形拓扑 3.4.2 以太网的信道利用率 *3.4.3 以太网的MAC层 *3.5 扩展的以太网 3.5.1 在物理层扩展以太网 3.5.2 在数据链路层扩展以太网 *3.6 高速以太网 3.6.1 100BASE-T以太网 3.6.2 吉比特以太网 3.6.3 10吉比特以太网 3.6.4 使用高速以太网进行宽带接入 3.7 其他类型的高速局域网或接口 习题 第4章 网络层 *4.1 网络层提供的两种服务 *4.2 网际协议IP 4.2.1 虚拟互连网络 4.2.2 分类的IP地址 4.2.3 IP地址与硬件地址 4.2.4 地址解析协议ARP和逆地址解析协议RARP 4.2.5 IP数据报的格式 4.2.6 IP层转发分组的流程 *4.3 划分子网和构造超网 4.3.1 划分子网 4.3.2 使用子网时分组的转发 4.3.3 无分类编址CIDR(构造超网) *4.4 网际控制报文协议ICMP 4.4.1 ICMP报文的种类 4.4.2 ICMP的应用举例 *4.5 因特网的路由选择协议 4.5.1 有关路由选择协议的几个基本概念 4.5.2 内部网关协议RIP 4.5.3 内部网关协议OSPF 4.5.4 外部网关协议BGP 4.5.5 路由器的构成 4.6 IP多播 4.6.1 IP多播的基本概念 4.6.2 在局域网上进行硬件多播 4.6.3 网际组管理协议IGMP和多播路由选择协议 4.7 虚拟专用网VPN和网络地址转换NAT 4.7.1 虚拟专用网VPN 4.7.2 网络地址转换NAT 习题 第5章 运输层 *5.1 运输层协议概述 5.1.1 进程之间的通信 5.1.2 运输层的两个主要协议 5.1.3 运输层的端口 *5.2 用户数据报协议UDP 5.2.1 UDP概述 5.2.2 UDP的首部格式 *5.3 传输控制协议TCP概述 5.3.1 TCP最主要的特点 5.3.2 TCP的连接 *5.4 可靠传输的工作原理 5.4.1 停止等待协议 5.4.2 连续ARQ协议 *5.5 TCP报文段的首部格式 5.6 TCP可靠传输的实现 *5.6.1 以字节为单位的滑动窗口 *5.6.2 超时重传时间的选择 5.6.3 选择确认SACK 5.7 TCP的流量控制 *5.7.1 利用滑动窗口实现流量控制 5.7.2 必须考虑传输效率 *5.8 TCP的拥塞控制 5.8.1 拥塞控制的一般原理 5.8.2 几种拥塞控制方法 5.8.3 随机早期检测RED 5.9 TCP的运输连接管理 *5.9.1 TCP的连接建立 *5.9.2 TCP的连接释放 5.9.3 TCP的有限状态机 习题 第6章 应用层 *6.1 域名系统DNS 6.1.1 域名系统概述 6.1.2 因特网的域名结构 6.1.3 域名服务器 6.2 文件传送协议 6.2.1 FTP概述 6.2.2 FTP的基本工作原理 6.2.3 简单文件传送协议TFTP 6.3 远程终端协议TELNET *6.4 万维网WWW 6.4.1 万维网概述 6.4.2 统一资源定位符URL 6.4.3 超文本传送协议HTTP 6.4.4 万维网的文档 6.4.5 万维网的信息检索系统 *6.5 电子邮件 6.5.1 电子邮件概述 6.5.2 简单邮件传送协议SMTP 6.5.3 电子邮件的信息格式 6.5.4 邮件读取协议POP3和IMAP 6.5.5 基于万维网的电子邮件 6.5.6 通用因特网邮件扩充MIME *6.6 动态主机配置协议DHCP 6.7 简单网络管理协议SNMP 6.7.1 网络管理的基本概念 6.7.2 管理信息结构SMI 6.7.3 管理信息库MIB 6.7.4 SNMP的协议数据单元和报文 6.8 应用进程跨越网络的通信 6.8.1 系统调用和应用编程接口 6.8.2 几种常用的系统调用 习题 第7章 网络安全 *7.1 网络安全问题概述 7.1.1 计算机网络面临的安全性威胁 7.1.2 计算机网络安全的内容 7.1.3 一般的数据加密模型 *7.2 两类密码体制 7.2.1 对称密钥密码体制 7.2.2 公钥密码体制 *7.3 数字签名 *7.4 鉴别 7.4.1 报文鉴别 7.4.2 实体鉴别 *7.5 密钥分配 7.5.1 对称密钥的分配 7.5.2 公钥的分配 7.6 因特网使用的安全协议 7.6.1 网络层安全协议 7.6.2 运输层安全协议 7.6.3 应用层的安全协议 *7.7 链路加密与端到端加密 7.7.1 链路加密 7.7.2 端到端加密 *7.8 防火墙 习题 第8章 因特网上的音频/视频服务 *8.1 概述 8.2 流式存储音频/视频 8.2.1 具有元文件的万维网服务器 *8.2.2 媒体服务器 *8.2.3 实时流式协议RTSP *8.3 交互式音频/视频 8.3.1 IP电话概述 8.3.2 IP电话所需要的几种应用协议 8.3.3 实时运输协议RTP 8.3.4 实时运输控制协议RTCP 8.3.5 H.323 8.3.6 会话发起协议SIP 8.4 改进“尽最大努力交付”的服务 8.4.1 使因特网提供服务质量 8.4.2 调度和管制机制 8.4.3 综合服务IntServ与资源预留协议RSVP 8.4.4 区分服务DiffServ 习题 第9章 无线网络 9.1 无线局域网WLAN *9.1.1 无线局域网的组成 9.1.2 802.11局域网的物理层 *9.1.3 802.11局域网的MAC层协议 *9.1.4 802.11局域网的MAC帧 9.2 无线个人区域网WPAN 9.3 无线城域网WMAN 习题 第10章 下一代因特网 *10.1 下一代网际协议IPv6 (IPng) 10.1.1 解决IP地址耗尽的措施 10.1.2 IPv6的基本首部 10.1.3 IPv6的扩展首部 10.1.4 IPv6的地址空间 10.1.5 从IPv4向IPv6过渡 10.1.6 ICMPv6 10.2 多协议标记交换MPLS 10.2.1 MPLS的产生背景 10.2.2 MPLS的工作原理 10.2.3 MPLS首部的位置与格式 10.3 P2P文件共享 习题 附录A 部分习题的解答 附录B 英文缩写词 附录C 参考文献与网址

立即下载
计算机网络(第五版)英文原版加中文翻译版pdf

主要讲述计算机网络的发展和原理体系结构、物理层、数据链路层、网络层、运输层、应用层、网络安全、因特网上的音频/视频服务、无线网络和下一代因特网等内容

立即下载
计算机网络课件(谢希仁版)

计算机网络的课件,谢希仁版。 1.1 计算机网络在信息时代中的作用 1.2 因特网概述 1.2.1 网络的网络 1.2.2 因特网发展的三个阶段 1.2.3 因特网的标准化工作 1.2.4 计算机网络在我国的发展 1.3 因特网的组成 1.3.1 因特网的边缘部分 1.3.2 因特网的核心部分 .......

立即下载
计算机网络五版

谢希仁 计算机网络 PPT课件 1.1 计算机网络在信息时代中的作用 1.2 因特网概述 1.2.1 网络的网络 1.2.2 因特网发展的三个阶段 1.2.3 因特网的标准化工作 1.2.4 计算机网络在我国的发展 1.3 因特网的组成 1.3.1 因特网的边缘部分 1.3.2 因特网的核心部分

立即下载
计算机网络课件全集(谢希仁)

计算机网络课件 1.1 计算机网络在信息时代中的作用 1.2 因特网概述 1.2.1 网络的网络 1.2.2 因特网发展的三个阶段 1.2.3 因特网的标准化工作 1.2.4 计算机网络在我国的发展 1.3 因特网的组成 1.3.1 因特网的边缘部分 1.3.2 因特网的核心部分

立即下载
计算机网络————第1章 计算机网络因特网

华中科技大学教材课件 计算机网络————第1章 计算机网络与因特网 国外经典教材

立即下载
计算机网络课件

计算机网、因特网基本概念 Computer Network Internet 因特网组成 Component 计算机网络的性能指标 Performance 计算机网络的体系结构 Architecture

立即下载
PDF电子书《计算机网络因特网

PDF电子书《计算机网络与因特网》

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

计算机网络与因特网

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: