本系列为对《TCP/IP详解》这本书的读书笔记,记录对本书的知识点和一些想法。
####网络分层
网络协议通常分不同层次进行开发,每一次都负责不同的通信功能。一个协议族,例如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统。 从下到上依次是:
-
链路层
链路层通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。他们一起处理与电缆的物理接口细节。
-
网络层
网络层处理分组在网络中的活动,例如分组的策略。
-
运输层
运输层主要是为两台主机上的应用程序提供端到端的通信。TCP/IP协议族中,有两个传输协议:TCP,UDP。其中TCP微量台主机提供高可靠的数据通信,而UDP则不保证数据报能否到达另一端,其可靠性需要靠应用层来提供。
-
应用层
应用层负责处理程序的细节。
在TCP/IP协议族中,网络层IP提供的是一种不可靠服务。也就是说它只是尽可能快的把分组数据从源节点传输到目的节点,但是不提供任何可靠保证。而TCP在IP上提供一个可靠的运输层,是通过超时重发、发送和接收端的确认分组等机制。可见,运输层跟网络层是负责不同的功能。
####连接网络
一个互联网就是一组通过相同协议族连接在一起的网络。
构建互联网的最简单办法就是把两个或者多个网络用路由器进行连接。
另一种办法是通过网桥进行连接。
区别:网桥是在链路层上对网络进行互联,而路由器则是从网络层上对网络进行互联。网桥使得多个局域网组合在一起,对上层网络来说好像是同一个局域网。
####TCP/IP分层
TCP和UDP是两种最为著名的运输层协议,它们都使用IP作为网络协议。
IP是网络层的主要协议。
ICMP是IP协议的附属协议。IP层用它来与其他主机或者路由器交换错误报文和其他重要信息。Ping和TraceRoute都是使用ICMP。
IGMP是Internet组管理协议。它用来吧一个UDP数据包多播到多个主机。
ARP和RARP是某些网络接口使用的特殊协议,用来转行IP层和网络接口层使用的地址。
####互联网的地址
IP地址长32位。主要分为5类IP地址。
- A类,7位网络号,24位主机号,范围0.0.0.0 - 127.255.255.255
- B类,14为网络号,16位主机号,范围128.0.0.0 - 191.255.255.255
- C类,21位网络号,8位主机地址,范围192.0.0.0 - 223.255.255.255
- D类,28位多播组号
- E类,暂时没用
换算方法:将32位地址切分为4个8位,然后转为10进制数就行了。
####端口号
知名端口号范围是1-255之间;256-1023之间的端口多为UNIX系统占用,于是大多数的TCP/IP则分配1024-5000之间的端口号。大于5000的端口号则是给其他服务留着。
1-1023之间的端口为保留端口号,需要超级权限才能将端口号分配给其他程序。
####标准化过程
地球上有四个小组在负责Internet技术。
- Internet协会
- Internet体系结构委员会
- Internet工程专门小组
- Internet研究专门小组
####RFC
RFC是Request for Comment的缩写。RFC1122后面跟的数字表示版本号,数字越大说明RFC内容越新。