1.1 引言
1.2 分层
网络协议通常是分成不同层次进行开发,每一层负责不同的通信功能。
TCP/IP分为4层 :
链路层 :包括操作系统中的驱动设备和计算机中对应的网络接口卡。处理物理接口细节。
网络层:处理分组在网络中的活动。包括IP协议,ICMP 协议 ,IGMP协议。
运输层: 为两台主机上的应用程序提供端到端通信。包括TCP 协议和UDP 协议。
应用层: 负责处理特定的应用程序细节。
互联网: 通过相同协议将多个网络连在一起形成一个网络。可以通过路由器(应用在网络层)连接,或者网桥。区别:在链路层还是在网络层互联。
1.3 TCP/IP 中其他协议
TCP 提供可靠的运输层服务,
UDP 提供不可靠的服务
IP 网络层上主要的协议
ICMP 网络层附属协议,交换错误报文和其他重要信息。
IGMP Interner组管理协议,用来把一udp数据报多播到多个主机上。
ARP 链路层上的地址解析协议转换ip地址和物理地址
RARP 链路层上逆地址解析协议
1.4 互联网地址
互联网每个接口必须有一个唯一的ip地址。ip地址分为5类。
也可以换为点分十进制
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
1.5 域名系统
尽管可以使用ip地址识别主机上的网络接口,进而访问主机,但是更喜欢使用主机名。DNS域名系统提供了ip地址和主机名之间的映射。
1.6 封装
当应用程序用TCP传送数据时,数据以流的形式进入网络。但是经过每一层都要为其添加首部信息。TCP层得数据单元称为TCP报文段,IP层得称为ip数据报,以太网上的称为 帧。
1.7 分用
目的主机收到一个以太网数据帧时,数据从低向上升,去掉各写成协议加上的报文首部,检查报文首部,以确定接收数据的上层协议。这称为分用。
1.8 客户-服务器模型
网络应用程序在编写时都假设一端是客户,另一端是服务器,服务器为客户提供特定的服务。服务分为重复型和并发型,区别:一个要等待,一个启动多进程。一般来说 TCP服务器是并发的,UDP 是重复的。
1.9端口号
TCP,UDP采用16bit的端口号来识别应用程序。服务器一般通过知名端口来识别,FTP :21,Telnet :23 .0~1023的端口号是由分配机构分配,而1024-5000之间的端口号分配给临时端口,大于5000的端口号为其他服务器保留。
1.10 标准化进程
1.11 RFC
1.12 标准的简单服务
一些标准的简单服务几乎每种实现都要提供,于是他们具有相同的端口
。 1.13 互联网
Internet 全世界范围内的通过TCP/ip相互通信的所有主机集合。internet 通过统一个协议族把多个网络连接在一起。
1.15 应用编程接口
TCP/IP协议的应用程序通常采用两种应用接口(API):socket和TLI(运输层接口)
1.17 小节
TCP/IP协议族分为四层:链路层,网络层,运输层和应用层,每一层各有不同的责任,网络层和运输层之间的区别最为关键:网络层提供点到点的服务,运输层提供端到端的服务。
在一个互联网上,每个接口都用IP地址来标识,尽管用户习惯使用主机名而不是I P地址。域名系统为主机名和I P地址之间提供动态的映射。端口号用来标识互相通信的应用程序。服务器使用知名端口号,而客户使用临时设定的端口号。