《TCP/IP详解 卷一 : 协议》 第一章 概述
TCP/IP协议族四个层次
应用层 | 处理特定的应用程序细节 | Telnet 远程登陆 FTP 文件传输和e-mail,SMTP简单邮件传送协议 SNTP简单网络管理协议等 |
运输层 | 为两台主机上的应用程序提供端到端的通讯 | TCP和UDP |
网络层 | 处理分组在网络中的活动,例如分组选路 | IP ICMP 和IGMP |
链路层 | 处理与电缆(或其他任何传输媒介)的物理接口细节 | 设备驱动程序及接口卡 |
实例:
-
大多数的网络应用程序都被设计成客户-服务器模式
-
双方都有对应的一个或多个协议进行通讯
-
应用程序通常是用户进程,而下三层一般在内核执行
-
应用层关心应用程序的细节,下三层处理通讯细节
以太网和令牌环网的区别
一个动画看懂网络原理之令牌环网的工作原理http://www.wonggang.com/8151.html
以太网是这样通信的,每台电脑位于同一个主干中都可以向主干线路中发信息串。假如a吧,它先监听主干线路上有没有人在发信息,如果有它就等一会儿,在它发现没有人发言后它将发言,但这时有可能另一台电脑也和它同时发言(想象一下在课堂上两个学生向老师同时提问),这样它们会同时停止发言,并在等待了一个随机时间后继续发言,当然它们的随机时间是不同的,并且在再次发言前仍需监听主干上是否有其它主机在发言。其它的电脑读取数据包,检查mac地址和ip地址乃至端口号看是不是发给自已的,如果不是便丢弃。它的mac 算法是csma/cd算法
令牌环网的结构是组成一个环形,环形的一圈是主机,主机中存在一个令牌,由一号机向下传,每个主机只有在自已有令牌时才能向主线路中发数据。
令牌在工作中有“闲”和“忙”两种状态。“闲”表示令牌没有被占用,即网中没有计算机在传送信息;“忙”表示令牌已被占用,即网中有信息正在传送。希望传送数据的计算机必须首先检测到“闲”令牌,将它置为“忙”的状态,然后在该令牌后面传送数据。当所传数据被目的节点计算机接收后,数据被从网中除去,令牌被重新置为“闲”。
令牌环网的缺点
令牌环网的缺点是需要维护令牌,一旦失去令牌就无法工作,需要选择专门的节点监视和管理令牌。 由于以太网技术发展迅速,令牌网存在固有缺点,令牌在整个计算机局域网已不多见,原来提供令牌网设备的厂商多数也退出了市场,所以在局域网市场中令牌网可以说是“明日黄花”了
-
端系统
-
中间系统
-
应用层和运输层使用端到端协议
-
网络层提供的是逐跳(hop-to-hop)协议
-
网络IP提供的是一种不可靠的服务,他只是尽可能快的把分组从源节点送到目的节点,但不提供可靠性保障
-
TCP在不可靠的IP层上提供一个可靠的运输层。为了提供这种可靠的服务,TCP采用了超时重发,发送和接受端到端的确认分组的机制,由此可见运输层和网络层分别负责不同的功能
-
互联网的目的之一就是在应用程序中隐藏所有的物理细节
TCP/IP协议族中不同层次的协议
TCP和UDP是两种最为著名的传输层协议,二者都使用IP作为网络层协议
-
TCP使用不可靠的IP服务,并提供一种可靠的运输层服务
-
UDP为应用程序发送和接受数据报,和TCP不同,UDP是不可靠的,它不能保证数据报能安全无误地到达最终目的地(一个数据报是指从发送方传输到接收方的一个信息单元)
-
IP是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在网络中进行传输
-
ICMP是IP协议的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP主要被IP使用,但应用程序也有可能访问它。
-
IGMP是Internet组管理协议,它用来把一个UDP数据报多播到时多个主机
-
ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。
互联网的地址:
多接口主机具有多个ip地址,其中每个接口都对应1个ip地址
类型 |
范围 |
作用 |
A |
0.0.0.0-127.255.255.255 |
*机构 |
B |
128.0.0.0-191.255.255.255 |
中等规模的公司 |
C |
192.0.0.0-223.255.255.255 |
分配给任何需要的人 |
D |
224.0.0.0-239.255.255.255 |
组播 |
E |
240.0.0.0-247.255.255.255 |
用于实验 |
当前使用的IP地址有4个字节(32bit)组成,即IPV4编码方式。每个IP地址包括两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之同理。
由于互联网上的每个接口必须有一个唯一的IP地址,因此必须要有一个管理机构为接入互联网的网络分配IP地址。这个管理机构就是互联网络信息中心。再称作InterNIC。InterNIC只分配网络号,主机号的分配由系统管理员来负责。
单播地址:目的为单个主机
广播地址:目的端为给定网络上的所有主机
多播地址: 目的端为同一组内所有主机
域名系统
在TCP/IP领域中,域名系统DNS是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息
封装
每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。TCP传给IP的数据单元称作TCP段。IP传给网络接口层的数据单元称作IP数据报。通过以太网传输的比特流称作帧
-
以太网数据帧的物理特性是其数据长度必须在46-1500字节之间
-
由于TCP,UDP,ICMP,IGMP都要向IP传送数据,因此IP段必须在生成的IP首部加入某种标识,以表明数据属于哪一层。IP在首部存入一个长度为8bit的数值,称作协议域,1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议
-
类似地,许多应用程序都可以使用TCP或UDP传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符。TCP和UDP都用一个16bit的端口号来表示不同的应用程序。TCP和UDP把端口号和目的端口号分别放入报文首部中。
-
网络接口分别要发送和接受IP,ARP,RARP数据,因此也必须在以太网的帧首部加入某种形式的标识,以指明生成数据的网络层协议。以太网的帧首部也有一个16bit的帧类型域
MTU:
通信术语 最大传输单元(Maximum Transmission Unit,MTU)
不是越大越好,越大,延迟越高,越容易丢包。在我们常用的以太网中,MTU 一般是 1500
这个实际上是可以修改的,只不过这个值是公认为比较合适的值 MTU 太小,则数据分片中首部占的比重就大,有效数据比重就小 MTU 太大,如果发生传输错误,则需要重传更多的数据 因此 RFC 和早期实现中采用了这个值 另外,如果你本地的 MTU 大小网络路径MTU(网络源至目的间的最小MTU),那么数据在小于该值的节点上将被丢弃
分用
ICMP,IGMP是IP的附属协议,在这里,我们把他们放在IP层上面,是因为ICMP,IGMP报文被分装在IP数据报中。
ARP,RARP同理。
客户-服务器模型
服务器分为两种:重复型或并发型
重复型服务器:
I1.等待一个客户请求的到来。
I2.处理客户请求。
I3.发送响应给发送请求的客户。 I4.返回I1步。
重复型服务器主要的问题发生在I2状态。在这个时候,它不能为其他客户机提供服务
并发型服务器采用以下步骤:
C1. 等待一个客户请求的到来。
C2. 启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务
或线程,并依赖底层操作系统的支持。这个步骤如何进行取决于操作系统。生成的新服务器
对客户的全部请求进行处理。处理结束后,终止这个新服务器。
C3. 返回C 1步。
并发服务器的优点在于它是利用生成其他服务器的方法来处理客户的请求。每个客户都有它自己对应的服务器。如果操作系统允许多任务,那么就可以同时为多个客户服务。
TCP服务器是并发的,UDP服务器是重复的
端口号
-
前面说到TCP和UDP采用16bit的端口来识别应用程序。服务器一般都是通过知名端口号来识别的。(ftp-21 telnet-23 tftp-简单文件传送协议-69 )
-
客户端口号又称作临时端口号(即存在时间很短暂)
-
大多数TCP/IP实现给临时端口分配1024~5000之间的端口号,大于5000的端口号是为其它服务器预留的(Internet上并不常用的服务)