1, TCP/IP的目的
在出现TCP/IP之前,已经存在一些通信网络,它们依赖于具体的硬件,可以实现网络内部的通信要求。把各种不同的网络连接起来,是一个很有趣而且非常有用的事,于是就有了TCP/IP。TCP/IP中很重要的一类设备是路由器。在物理上,它属于2个或者更多的网络,用来实现跨网络的通信。TCP/IP是一个依赖于协作的系统,网络中的各方必须按照协议提供正确的服务才能实现系统内的通讯。
2,IP协议
IP协议的目的是把各种不同的物理网络抽象为一个统一的虚拟网络,它主要实现3个任务:- IP数据报以及IP地址的格式
- 数据报路由
- 错误报告(ICMP)
路由是指选择合适的路径,把数据报从源地址发送的目的地址。数据报路由是IP协议提供的主要功能。在生活中,要去一个未知的地方,最直接的方法就是 查地图。地图中包含了选择路径的所有信息。但是,在internet中没有一张包含所有路由信息的地图,而且实现这个地图也是不现实的-它会占用大量的存 储空间、路由发生变化时也比较麻烦。
IP协议选择了一个更简单也更强大的办法。当没有办法查到完整的路线信息时,去陌生地的一个好办法就是问路。先问应该往哪个方向走,到路口后再问下 一个方向,一直这样下去,应该就可以到达目的地了。在IP协议中,采用的就是这个办法:下一站选路。路由器就是路口,并且它知道附近的路由信息(存储在路 由表中)。
ICMP是在出现错误后,汇报消息给源地址的方法。
3, TCP协议
有了IP协议,我们可以在多个物理网络间发送数据报了。但是,在IP协议中并不保证通信的可靠性,你发送了一个数据报,但对方可能并没有收到。 TCP协议的目的就是提供一个有序的、可靠的通信信道。有序比较容易实现,给每个数据报一个编号,接收方然后再收到后重组就可以了。在不可靠的IP协议之 上,实现可靠通信则是一个比较困难的问题。TCP协议采用了一个简单的方案:确认。我们寄一个包裹给朋友,确认收到的方法是让朋友在收到后发短信。TCP每发一个数据报,要求接受方响应一个 确认消息,然后再发送剩余的数据报。为了提供网络的利用率,TCP协议还采用了窗口的概念。窗口左边是已经收到确认的数据,窗口右边是还没有发送的数据, 窗口中则是已经发送但是还没有收到确认的数据。收到确认后,窗口右移。引入窗口后,发送方可以连续发送多个数据报,然后等待确认。当窗口长度合适话,刚发 完窗口中最后一个数据报,第一个数据报的确认到了,窗口右移,发送下一个数据报,然后一直连续的运行下去。
No comments:
Post a Comment