1.1 网络互联与TCP/IP
Internet算是”Network of Networks”.现在存在了很多种类的网络。比如:
局域网:
- 以太网
- 令牌环
- 光纤网
- 无线局域网 等等
城域网
- 广域网
- 互联网
出现很多中种类网络的原因很简单:没有可以完全满足所有要求的网络哦。 为了实现不同网络之间的通信,有一种思路是每个网络内部使用各自的通信协议,与其他网络通信时使用TCP/IP协议族。
1.1.1 用IP实现异构网络互联
TCP/IP协议族中,能够屏蔽掉底层物理网络的差异,向上提供一致的协议就是IP——互联网协议。
1.1.2 通用的协议分层思想
网络中的通信是指在不同系统中的实体之间的通信。所谓实体,是指能发送和接受消息的对象。(终端,应用,和通信进程)
大多数网络实现都是按照层次的方式来组织。每一层完成一定的内容,每一层又都建立在他的下层基础之上。每一层都是通过层间接口向上一层提供一定的服务,同时把这种服务实现的细节向上层屏蔽。
具体的定义包括:
1)第N层实体在实现自身定义的功能,只能用N-1层提供的服务。
2)N层向N+1层提供服务,此服务不仅包含了N层本身所具备的所有功能,还包括由下层服务提供的功能总和。
3)最底层只提供服务,是提供服务的基础;最高层只是用户,是使用服务的最高层;中间各层即是下一层用户,又是上一层服务的提供者。
4)仅在相邻层间提供接口,下层服务的细节实现对于上层完全透明。
下层向上层提供的服务可以分为两大类:面向连接和无连接两种。
面向连接:类似于打电话。首先要建立链接。传送数据,释放链接。本质是像一个管道。发送者依次发送,接受者一依次取出。
比较适合于文件传输
无链接: 类似于邮政。每个报文带有完整的目的地,并且每个报文都相互独立,有系统选定路径进行传输。
数字化语音等服务使用无链接服务。
1.2.2 TCP/IP分层模型
- 应用层
- 传输层
- IP层
- 网络接口层
- 硬件层
IP层是整个模型的关键,功能是使主机可以把IP数据报发送到任何网络,并使他们独立的传向目的地。
IP定义了IP数据报格式和协议。即互联网协议IP。 他能把数据报发送到该去的地方,为IP数据报选择路由和避免拥塞。还需要根据需求发出和接受ICMP差错和控制报文。
传输层在TCP/IP模型中位于IP层之上 功能是使源端和目的端主机上对等实体可以进行会话。他定义了两个协议:
- TCP传输控制协议 面向连接 无差错 为了避免发送过快接受过慢而是接收方无法处理,需要实时流量控制。
- UDP用户数据报协议 不可靠无连接协议 不需要排序和流量控制能力
应用层 包含了所有的高层协议。Telnet、 FTP、SMTP等。
1.2.3 协议分层的原则
目标机第n层所受到的数据就是源主机第n层所发出的数据。
1.2.4 TCP/IP分层模型中的两个边界
操作系统边界
传输层及旗下各层的协议,应用层中被IETF标准化的协议以及操作系统厂商自定义的协议属于操作系统内部实现。
协议边界
有IP地址找到相应的物理地址。通过地址解析协议ARP和反向地址解析协议RARP实现。
1.2.5 多路复用和多路分解
多路复用
所有基于UDP的应用把数据封装在UDP分组里面。TCP也是。所有TCP UDP ICMP报文都要封装在IP数据报中。IP数据报,ARP报文、RARP报文封装在物理帧中。
多路分解
是上一个过程的逆过程。每到一层就根据首部协议字段决定将数据提交给哪个协议模块。