TCP/IP详解 卷1:协议(英文版)
TCP/IP详解 卷1:协议
WAN: wide area network 广域网
LAN: local area network 局域网
IP:internet protocol 网际协议
ICMP: internet control message protocol 互联网控制报文协议
IGMP: internet group management protocol 互联网组管理协议
tcp: transmission control protocol 传输控制协议
udp: user datagram protocol 用户数据报协议
FTP: file transfer protocol 文件传输协议
SMTP: simple mail transfer protocol 简单邮件传送协议
SNMP: simple network management protocol 简单网络管理协议
FDDI:fiber distributed data interface 光纤分布式数据接口
ARP:address resolution protocol 地址解析协议
RARP:reverse address resolution protocol 逆地址解析协议
DNS:domain name system 域名系统数据库
四层协议系统:
链路层:也称为数据链路层,网络接口层,一般包含操做系统中设备驱动和网卡,主要处理与电缆(或者其余任何传输媒介)物理接口细节
网络层:也称为互联网层,处理分组在网络中的活动,例如分组的选路,在TCP/IP协议族中,网络层协议包含IP,ICMP,IGMP
运输层:为应用层提供了两台主机之间的数据流,在TCP/IP协议族中,有两种不一样的传输层协议TCP,UDP
TCP提供了可靠的数据传输
(1)将应用层发送数据切分为大小合适的块,经由网络层路由发送
(2)确认包是否被接收到,设置超时
UDP则不保证数据的可靠传输,只是将数据报的分组从一台主机发送到另外一台主机,并不保证该数据报能到达另外一端,须要经过应用层保证数据被接收到
应用层:负责处理特定的应用程序细节网络
由上图可见,一般,应用层是一个用户进程,而其余三层(运输层、网络层、链路层)都是在内核中完成的并发
构造互联网最简单的方法是把两个或者多个网络经过路由器进行链接,路由器是一种特殊的用于网络互连的硬件盒,路由器的好处是为不一样类型的物理网络提供链接(以太网,令牌环网,点对点的连接,光纤分布式数据接口等等)dom
网关:一般指应用层网关,一个链接两种不一样协议族的进程,它为某个特定的应用程序服务tcp
应用层和运输层使用端到端协议,网络层提供的是逐跳协议分布式
一个路由器,根据定义,具备两个或者多个网络接口层,任何具备多个接口的系统,称为多接口的ide
链接网络除了路由器(主要是在网路层链接不一样的网络),还能够使用网桥(在链路层链接网络),例如:使用网桥,可让多个局域网对于更高层级表现为一个局域网工具
ICMP: 是IP协议的附属协议,IP层用它来和其余主机或者路由器交换错误报文或者其余重要信息
虽然ICMP主要用于IP层,但应用程序也有可能访问它,Ping和Traceroute这两个主要的诊断工具,都使用了ICMP协议spa
IGMP: 互联网组管理协议,主要用来将一个UDP数据报多播到多个主机操作系统
互联网上的每个接口都必须有一个惟一标识的因特网地址,又称为IP地址
多接口主机有多个IP地址,每个接口具备一个IP地址
有三种类型的IP地址,单播地址,多播地址,广播地址
DNS是一个分布式数据库,由它来提供IP地址和主机名之间的映射关系
当一个应用程序经过TCP协议发送数据,数据将被送入协议栈中,逐个经过每一层,一直到数据在网络中表现为比特流发送
数据通过协议栈每一层都会添加头部信息(有时候须要添加尾部信息)
TCP协议发送数据到IP层的单元,称为TCP报文段,或者简称为TCP段
IP协议发送数据到网络接口的单元,称为IP数据报
通过以太网传输的比特流,称为帧
以太网帧的大小为46~1500字节
准确的来讲,IP层和网络接口之间传输的是一个IP包
TCP,UDP,ICMP,IGMP协议都发送数据到IP层,IP层添加一些类型标识到IP头部,用于表示该IP包属于那一层
IP层经过一个8比特头部信息区分协议,1表示ICMP, 2表示IGMP, 6表示TCP, 17表示UDP
不一样的应用能够使用TCP或者UDP协议,传输层协议在头部信息中经过一个16比特的端口号区分不一样的应用
网络接口发送接收帧经过IP, ARP, RARP协议,以太网头部中有一个16位帧类型字段,用于表示是哪一个网络层协议生成的数据
6. 解复用
当目的主机,收到以太网帧,将会根据不一样的头部信息将数据传送到上一层,这个过程称为解复用
7.客户端-服务端模型
服务端有两种类型:迭代和并发
迭代类型:
(1)等待客户端请求;
(2)处理客户端请求;
(3)将请求响应发送给客户端;
(4)重复等待客户端请求
并发类型:
(1)等待客户端请求;
(2)启动一个新的服务(多是一个新的进程、线程、任务),处理客户端请求,当新的服务处理完成,服务终止;
(3)重复等待客户端请求
通常来讲,TCP服务是并发类型,UDP服务是迭代类型
8.端口号
一般,1到1023端口号是常见的标准的应用,客户端临时端口为1024到5000, 5000以上端口表示不太常见的应用
客户端端口,称为临时端口,由于客户端服务,通常只是运行于客户端启动服务期间,而服务端则一直运行某个特定服务
/etc/services文件中保存应用和端口的对应关系