域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过一个地址解析器(resolver)来完成的. 在Unix主机中,该解析器主要是通过两个库函数gethostbyname(3)和gethostbyaddr(3)来访问的.前者接收主机名字返回IP地址,而后者接收IP地址来寻找主机名字. 解析器通过一个或多个名字服务器来完成这种相互转换. DNS基础 D…
TCP需要同时处理两类数据:块数据.交互数据. 本章将以Rlogin应用为例观察交互数据的传输过程. 交互式输入 首先观察在一个Rlogin连接上键入一个交互命令时所产生的数据流(每键入一个交互按键都会产生一个数据分组),这会产生4个报文段: 1.来自客户的交互按键: 2.来自服务器的按键确认: 3.来自服务器的按键回显: 4.来自客户的按键回显确认. 然而,我们一般可以将报文段2和报文段3进行合并. 下图是在一个Rlogin连接中键入data\n(加上回车换行)时的 tcpdump输出结果 经…
广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后将它传往设备驱动程序.通常网卡仅接受那些目的地址为网卡物理地址或广播地址的帧. 大多数的网卡经过配置都能接收到目的地址为多播地址或某些子网多播地址的帧. 对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为01:00:00…
19.1 引言 成块数据:比如ftp.电子邮件.Usenet新闻 交互数据:Telnet.Rlogin 成块数据的报文段基本上都是满长度(full-size)的,而交互数据小的多(Telnet和Rlogin分组中通常约90%左右的用户数据小于10个字节). 19.2 交互式输入 在Rlogin键入一个交互命令时所产生的数据流,一般需要下面四个步骤: 然而我们一般可以将报文段2和报文段3进行合并—也就是按键确认和按键回显一起发送.这就是经受时延的确认. 19.3 经受时延的确认 通常TCP在接收到…
在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路层协议,本文主要讨论以太网链路层协议.PPP协议以及大多数实现都包含的环回(loopback)驱动程序. 使用ifconfig命令查看本机的网络接口 其中eth0就是以太网接口,lo是环回接口. 1.以太网IP数据包的封装 链路层使用了48bit的MAC地址来标识一台主机,该地址是唯一的. 2.PP…
本章将介绍TCP所使用的被称为滑动窗口协议的一种流量控制方法. 该协议允许发送方在停止并等待确认前可以连续发送多个分组,这样就可以加速数据的传输. 滑动窗口 下图用可视化的方法显示了滑动窗口协议 我们使用三个术语来描述窗口左右边缘的运动: 1.称窗口左边沿右边缘靠近为窗口合拢.这种现象发生在数据被发送和确认时. 2.当窗口右边沿右移动将允许发送更多的数据,我们称之为窗口张开. 3.当右边沿向左移动时,我们称之为窗口收缩.…
建立连接 建立一个TCP连接时会发生下述情况 1.客户TCP发送一个SYN(同步)分节,它告诉服务器将在(待建立)连接中发送的数据的初始序列号. 2.服务器确认(ACK)客户的SYN,同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送数据的初始序列号. 3.客户确认服务器的SYN. 终止连接 TCP终止一个连接需要4个分节 1.某个应用进程首先调用close,我们称该端执行主动关闭.该端的TCP于是发送一个FIN分节,表示数据发送完毕. 2.接受到这个FIN的对端执行被动关闭.这个F…
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应答.逆地址解析协议:RARP. 本章介绍了以太网协议,SLIP协议,PPP协议(现在常用),以及loopback等协议. 2.2.1 以太网和IEEE802封装 以太网 以太网是指数字设备公司和英特尔公司和Xerox公司在1982年联合发布的一个标准.采用CSMA/CD的媒体接入方法. IEEE(电…
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的命令跟书上显示的格式不太一样.我从网上找了一些ifconfig命令的基本使用教程,粘贴如下. 首先是我自己的一些研究成果,我在自己的ubuntu13.04上运行了 ifconfig -a 得到了下面的结果 raphael@raphael-Aspire-5741G:~$ ifconfig -a eth…
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概述 1.1引言 1.2分层 层次名 功能 备注 应用层 处理特定应用程序细节 Telnet远程登录.FTP文件传输协议.SMTP简单邮件传送协议.SNMP简单网络管理协议 运输层 为两台主机上的应用程序提供端到端的通信 TCP(传输控制协议) 为两台主机提供高可靠性的数据通信 UDP(用户数据报协议…