本书以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…
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(用户数据报协议…
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-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 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常被IP层或更高层协议(TCP或UDP)使用.一些ICMP报文把差错报文返回给用户进程.ICMP报文是在IP数据报内部被传输的,如下图: 所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同.下面我们将逐个介绍各种报文格式.类型字段可以有15个不同的值,以描述特定类型的ICMP报文.某些ICM…
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-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地址的匹配.而且每个包都使用广播的方式,让每台主机都到…
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP <--> ICMP / IP / IGMP <--> ARP / 硬件接口 / RARP <--> 传媒介质 要点: (1)TCP 和 UDP 是运输层协议,均使用 IP 作为网络层协议. (2)TCP使用的是不可靠的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…
HTTP协议 简介 超文本传输协议(HypertextTransfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求:服务器接到请求后,给予相应的响应信息. HTTP在TCP/IP协议栈中的位置 HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS.如下图所示:     默认HTTP的端口号为80,HTTPS的端口号为443. HTTP 请求报文…
19.1 引言 前一章我们介绍了TCP连接的建立与释放:三握四挥,以及状态转移图. TCP报文段分为:交互数据,以及成块数据(下一章介绍). 交互数据:例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等. 一些关于通信量的研究发现: 按分组数量计算:一半的TCP报文段包含成块数据(FTP,电子邮件,Usenet新闻),另外一半则包含交互数据(Telnet和Rlogin). 按字节计算:90% : 10%.这是因为成块数据基本上都是满长…
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默认表项.(一般被指定为一个网…
与UDP协议相比,TCP提供一种面向连接的.可靠的字节流服务. TCP首部 跟UDP一样,TCP数据被封装在一个IP数据报中,下面显示TCP的首部数据格式 每个TCP段都包含源端和目的端的端口号,用于寻找发送端和接收端应用程序. 序号用来标识从TCP发送端向TCP接收端发送的数据字节流,确认序号包含发送确认的一段所期望收到的下一个序号. 在TCP首部中由6个标志比特.它们中的多个可同时设置为1,下面简单介绍一下它们的用法: URG    紧急指针有效 ACK    确认序号有效 PSH    接…
域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过一个地址解析器(resolver)来完成的. 在Unix主机中,该解析器主要是通过两个库函数gethostbyname(3)和gethostbyaddr(3)来访问的.前者接收主机名字返回IP地址,而后者接收IP地址来寻找主机名字. 解析器通过一个或多个名字服务器来完成这种相互转换. DNS基础 D…
from:https://blog.csdn.net/u012243115/article/details/43487461 2015年02月04日 15:56:32 阅读数:1464 TCP 和 UDP 都使用相同的网络层 IP,但是与 UDP 不同的是,TCP 是面向连接的.可靠的字节流协议.因此,在传输数据之前通信双方必须建立一个 TCP 连接.TCP 通过检验和.序列号.确认应答.重发机制.连接管理以及窗口控制等机制实现可靠性传输. TCP通过以下方式提供可靠性: 1.        应…