域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过一个地址解析器(resolver)来完成的. 在Unix主机中,该解析器主要是通过两个库函数gethostbyname(3)和gethostbyaddr(3)来访问的.前者接收主机名字返回IP地址,而后者接收IP地址来寻找主机名字. 解析器通过一个或多个名字服务器来完成这种相互转换. DNS基础 D…
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(电…
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP <--> ICMP / IP / IGMP <--> ARP / 硬件接口 / RARP <--> 传媒介质 要点: (1)TCP 和 UDP 是运输层协议,均使用 IP 作为网络层协议. (2)TCP使用的是不可靠的IP网络层协议,但是它本身提供一种可靠的运输层服务.可靠体现在…
本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层   一.整体概念   1.各层协议的关系,只讨论四层 各层常见的协议:   网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. 传输层协议:TCP协议.UDP协议. 应用层协议:FTP.Telnet.SMTP.HTTP.RIP.NFS.DNS.   STMP.POP3.IMAP都是邮件服务协议,STMP主要负责发送和转发,POP3和IMAP负责接收   具体如下:   2.各层之间的数据   二.数据链路层     三.I…
https://blog.csdn.net/cpcpcp123/article/details/51259498…
广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后将它传往设备驱动程序.通常网卡仅接受那些目的地址为网卡物理地址或广播地址的帧. 大多数的网卡经过配置都能接收到目的地址为多播地址或某些子网多播地址的帧. 对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为01:00:00…
TCP需要同时处理两类数据:块数据.交互数据. 本章将以Rlogin应用为例观察交互数据的传输过程. 交互式输入 首先观察在一个Rlogin连接上键入一个交互命令时所产生的数据流(每键入一个交互按键都会产生一个数据分组),这会产生4个报文段: 1.来自客户的交互按键: 2.来自服务器的按键确认: 3.来自服务器的按键回显: 4.来自客户的按键回显确认. 然而,我们一般可以将报文段2和报文段3进行合并. 下图是在一个Rlogin连接中键入data\n(加上回车换行)时的 tcpdump输出结果 经…
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(用户数据报协议…
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两个协议在上一篇读书笔记已有简单的陈述)使用.TCP和UDP的每组数据都通过断系统和每个中间路由器中的IP层在互联网中进行传输. ICMP是IP协议的附属协议.IP层用它来与其他主机或路由器交换错误报文和其他重要信息. IGMP是Internet组管理协议.它用来把一个UDP数据报多播到多个主机. A…
2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答. 一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机.反过来,如果不能Telnet到某太主机,那么通常可以用Ping程序来确定问题出在哪里.Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”…
2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得IP地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的.无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机相应该无盘系统的IP地址(在RARP应答中). 5.2 RARP的分组格式 上图为AR…
2013-08-24 16:03:39 4.6 ARP代理 ARP代理(Proxy ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求.这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”.路由器的功能相当于目的主机的代理,把分组从其他主机转发给它.注:路由器在默认情况下不转发广播报文. 通过上边的例子,我们来说明下ARP代理的工作原理.首先当子网140.252.1(gemini)上的其…
2013-08-24 14:22:46 4.5 ARP举例 首先要介绍一些tcpdump这个强大的Linux命令,它不但可以分析封包的流向,连封包的内容也可以监听,如果数据段没有加过密我们就可以做一些很好玩的事情了.具体的使用方法请大家man tcpdump. sudo tcpdump -i wlan0 -nn 这个命令的使用要拥有root权限,上边的命令可以监听wlan0接口. 4.5.1 一般的例子 telnet svr4 discard 作者在ARP告诉缓存为空的前提下,使用了telnet…
2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议.物理地址就是我们通常说的MAC地址.当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的.设备驱动程序从不检验IP数据报中的目的IP地址.地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址.ARP为IP地…
2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图1-4: IP协议提供不可靠.无连接的数据报传送服务: 不可靠(unreliable) 它不能保证IP数据报能成功的到达目的地.IP仅提供最好的传输服务.任何要求的可靠性必须由上层来提供(如TCP) 无连接(connectionless) IP并不维护任何关于后续数据报的状态信息.每个数据报的处理是…
2013-08-20 14:41:01 2.8 最大传输单元MTU MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节.这个不同网络对应的传输上限叫做最大传输单元. 分片(fragmentation):把大于MTU的数据报分成若干片,这样每一片都小于MTU. 2.9 路径MTU 路径MTU:两台通信主机路径中的最小MTU.两台主机之间的路径MTU不一定是一个常数,它取决于当时所选则的路由.而选路不一定是对称的(从A到B的路由可能与从B到A的路…
2013-08-19 22:35:57 2.6 PPP:点对点协议 PPP点对点协议修改了SLIP协议中的所有缺陷: 1. 在串联链路上封装IP数据报的方法.PPP即支持数据为8位&无奇偶检验的异步模式(大多数计算机上普遍存在的串行接口).还支持面向比特的同步链接 2. 建立.配置及测试数据链路的链路控制协议(LCP:Link Contrl Protocol).它允许通讯双方进行协商,以确定不同的选项 3. 针对不同网络层协议的网络控制协议(NCP:Network Control Protoco…
2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接受RARP应答 TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网.令牌环网.FDDI(光线分布式数据接口)及RS-232串行线路等. 2.2 以太网和IEEE 802封装   以太网 IEEE 802 简介 这个术语一般是指数字设备公司.英特尔和Xerox公司在1982年联合…
2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首部.每层协议盒都要去检查报文首部中的协议标识,以确定接受数据的上层协议——换一种思路理解就是,为数据制定一条解析的路线. 1.8 客户-服务器模型 服务的类型: (多为UDP服务器,当然也存在例外)重复型 (TCP服务器)并发型 I1.等待一个客户请求的到来 C1.等待一个客户请求的到来 I2.处理…
1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的或者为广播地址的帧(现在有些也能接收多播地址),然后将它传输给设备驱动 3.广播的问题在于它给那些对广播数据不感兴趣的主机增加了处理负担(需要通过网卡,驱动,IP等一层层的判断),而多播的出现恰好解决了这些问题.通常一台主机会被指定加入一个或多个多播组,网卡也会被告知自己属于哪几个多播组,于是只有属…
1.一个物理层的网络,例如以太网,可以同时被多个不同的网络层所使用.例如网络中的一些主机使用TCP/IP协议,其他主机使用其他的网络协议. 2.设备驱动软件从不关心IP数据报中的目的IP地址.这也是为什么要有ARP的原因.既然局域网中能够采用广播的方式传递数据,那为什么不把每个包都进行广播,然后让目的主机核对IP地址呢?原因就在于物理层首先需要核对数据帧中的目的物理地址是否与自己的地址相匹配,如果不匹配就可能被丢弃了,网络层都没有机会进行IP地址的匹配.而且每个包都使用广播的方式,让每台主机都到…
11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议,应用层程序 产生的全体数据 与 真正发送的单个IP数据报 可能没有联系. UDP协议并不提供超时重传,出错重传等功能,也就是说其是 不可靠(unreliable)的协议. UDP 把应用程序传给IP层的数据发送出去,但是并不能保证它们都能到达目的地. 应用程序必须关心 IP数据报 的长度.如果它超过…
前言:TCP学习的综述 在学习TCP/IP协议的大头:TCP协议 的过程中,遇到了很多机制和知识点,详解中更是用了足足8章的内容介绍它. TCP协议作为 应用层 和 网络层 中间的 传输层协议,既要为下面的网络层协议保证连接的可靠性(IP协议)弥补不足,又要作为 应用层进程向网络层发送数据的中转站(作为多路复用/解复用器). 这就使得我们在审视TCP这个协议的过程中,需要横向和纵向地看待TCP连接: 横向的连接:client 的 TCP 与 server 的 TCP.三握四挥,是 reliabl…
简介 为了使用 TCP/IP 协议族,每台主机or路由器都需要一定的配置信息: IP地址 子网掩码 广播地址 路由或转发表 DNS 协议配置方法: 手动 通过使用网络服务来获得 使用一些算法来自动确定 服务器.路由器通常采取手工配置.而客户端主机也要手动配置的话就太麻烦了! 定义 动态主机配置协议[RFC2131] Dynamic Host Configuration Protocol Internet 客户端主机(有时也有路由器)中用于建立基本要素.指定配置信息的协议与程序. 流行的 clie…
前言 在有关TCP的章节中,介绍了四种定时器,它们体现了TCP的可靠性,其中最重要的 就是重传定时器了,剩下的定时器都是为了解决TCP的理解上的一些问题而设置的. 四种定时器: 2MSL定时器,出现在 TCP连接的建立与终止. 重传定时器,出现在 TCP的超时与重传. 坚持定时器. 保活定时器. 相关随笔: TCP连接的建立与终止 TCP的超时与重传 TCP的坚持定时器 TCP的保活定时器 2MSL定时器 出现:TCP连接的建立与终止 教材P183 四次挥手客户端一共有三次状态:应用程序关闭,发…
HTTP协议 简介 超文本传输协议(HypertextTransfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求:服务器接到请求后,给予相应的响应信息. HTTP在TCP/IP协议栈中的位置 HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS.如下图所示:     默认HTTP的端口号为80,HTTPS的端口号为443. HTTP 请求报文…
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默认表项.(一般被指定为一个网…
Ping程序 Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达. 该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答. ping程序还能测出到这台主机的往返时间 Traceroute程序 Traceroute程序是一个能更深入探索TCP/IP协议的方便可用的工具 Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由. 该程序使用ICMP报文和IP首部中的TTL字段.Traceroute程序的操作过程大概如下: 先发送一份T…