TCP/IP详解 卷一协议摘要
一.概述
1. 分层
网络协议通常分不同层次进行开发,TCP/IP协议族通常被认为分为4层。
(1) 链路层,包括操作系统中设备驱动程序和计算机中对应的网络接口卡处理物理接口细节。
(2) 网络层,处理分组在网络中的活动。网络层包括IP协议,ICMP协议,IGMP协议。
(3) 运输层,为两台主机上的应用程序提供端到端的通信。有TCP协议和UDP协议。
(4) 应用层,负责处理特定的应用程序细节。几乎所有不同的TCP/IP实现都会提供的通用应用程序:
l Telnet远程登录
l FTP文件传输协议
l SMTP简单邮件传送协议
l SNMP简单网络管理协议
下面有个示意图
///
/ 应用层 /// TELNET ,FTP 等
//
//
运输层 /// TCP 和 UDP
//
//
网络层 /// IP , ICMP 和 IGMP
/
/
// 链路层// 设备驱动程序和接口卡
2.TCP/IP的分层
TCP使用不可靠的IP层服务提供一种可靠的运输层服务。
UDP 位应用程序发送和接收数据报。UDP是不可靠的。
IP是网络层上的主要协议,同时被TCP和UDP使用
ICMP协议是IP协议的附属协议。I P层用它来与其他主机或路由器交换错误报文和其他重要信息。
IGMP协议是Internet组管理协议。用来把一个UDP数据报多播到多个主机。
ARP协议和RARP协议,某些网络接口(图以太网和令牌环网)使用的特殊协议。
用来转换IP层和网络接口层使用的地址。
3. 互联网的地址
互联网上每个接口(注意是接口)必须有一个唯一的Internet地址。
IP地址长32Bit具有一定的结构。
A类: |0|网络号| 主机号 |
7位 24位
B类:|1|0| 网络号 | 主机号 |
14位 16位
C类:|1|1|0| 网络号 | 主机号 |
21位 8位
D类:|1|1|1|0| 多播组号 |
28位
F类:|1|1|1|1|0| 留待后用 |
27位
这些32位的地址通常写成4个十进制数,其中每个整数对应一个字节,中间用点隔开如 199.145.132.254 称为“点分十进制表示法”。
多接口主机具有多个IP地址,其中每个接口对应一个IP地址。
有三类IP地址:单播地址,广播地址,多播地址。
4.域名系统
域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机之间的映射关系。任何一个应用程序都可以调用一个标准的库函数来查看一个给定名字的主机的IP地址。系统还提供一个逆函数——给定主计的IP地址查看它所对应的主机名。
5.封装
附一张图,大家一看就明白了
6.分用
一样啊,附一张图
7.客户——服务器模型
大部分网络应用程序在编写时都假设一端是客户,一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。
服务可分为两种类型:重复形或并发型
重复型服务器通过以下步骤进行交互
(1) 等待一个客户的到来
(2) 处理客户请求
(3) 发送相应给发送请求的客户
(4) 返回(1)
重复型服务器主要问题时处理客户请求时不能为其他客户提供服务。
并发型服务器采取以下步骤
(1) 等待一个客户请求
(2) 启动一个新的服务器来处理这个客户请求,生成的新服务器对客户的全部请求进行处理。处理结束后,中止这个服务器。
(3) 返回(1)
一般来说,TCP服务器是并发的,UDP服务器是重复的,但也有例外。
8.端口号
TCP和UDP采用16位段口号来识别应用程序
服务器一般通过知名端口号来识别如FTP服务器的TCP端口号是21
下面引用一段对知名端口号的介绍
到1 9 9 2年为止,知名端口号介于1~2 5 5之间。2 5 6~1 0 2 3之间的端口号通常都是由U n i x系统占用,以提供一些特定的U n i x服务—也就是说,提供一些只有U n i x系统才有的、而其他操作系统可能不提供的服务。现在IANA管理1~1023之间所有的端口号。
I n t e r n e t扩展服务与U n i x特定服务之间的一个差别就是Te l n e t和R l o g i n。它们二者都允许通过计算机网络登录到其他主机上。Te l n e t是采用端口号为2 3的T C P / I P标准且几乎可以在所有操作系统上进行实现。相反,R l o g i n最开始时只是为U n i x系统设计的(尽管许多非Unix系统现在也提供该服务),因此在80年代初,它的有名端口号为513。
客户端口号又称临时端口号。大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务预留的(不常用的服务)。
9.后面都是有关标准化和RFC的问题,懒得弄了,网上资料很多。