第一章
分层
链路层:(又称为数据链路层或者网络接口层)一般包括操作系统的设备驱动程序和计算机中的网络接口卡,用于处理与传输介质的接口实现.
网络层:处理分组在网络中的活动,例如分组的选路(路由选择)。TCP/IP协议族中包括IP协议(网际协议),ICMP(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
- IP协议处于网络层,同时被TCP与UDP使用。TCP与UDP的每一组数据,都通过端系统和每个中间的IP层在互联网中传输。
- ICMP是IP协议的附属协议,IP层用它来与其他的主机或者路由器交换错误报文和其他重要的信息。
- IGMP协议是Internet的组管理协议。用来把一个UDP数据报多播到多个主机。
- ARP(地址解析协议) 和 RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用于转换IP层和网络接口层使用的地址。
- IP协议处于网络层,同时被TCP与UDP使用。TCP与UDP的每一组数据,都通过端系统和每个中间的IP层在互联网中传输。
- 运输层:为两台主机上的应用程序提供端到端的通信,在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据协议)。
- TCP为两个主机提供高可靠的数据通信。把应用层给予的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等等。
- UDP为应用层提供一种简单的服务。只是把称作数据的分组从一台足迹发送到另外一台主机,但是不保证其数据报一定可以到达另外一端口。任何必须的可靠性必须通过应用层提供。
- TCP域UDP的主要区别在于,UDP是不可靠的,不能保证数据报文可以安全无误的传输到最终目的。
- 应用层:负责处理特定的应用程序细节。
连接网络的途径
- 利用路由器和网桥
- 这二者的区别在于:路由器是在网络层上对网络进行互连,但是网桥在链路层上进对网络进行互连,网桥使多个局域网组合在一起,对于上层看上去就像是一个网络。
网络地址
- 互联网的每个接口都有唯一的Internet地址(也称作IP地址)。IP地址长32bit。以下是地址分类:
其中32位的对用4个十进制数,一个数对应一个字节,即“点分十进制表示法”。四类地址范围如下:
由于互联网上每个接口对应一个唯一的IP地址,因此需要一个管理接入互联网的网络分配地址。这个管理机构就是互联网络信息中心(Internet Network Information Centre)InterNIC。InterNIC只分配网络好。主机号的分配由系统管理员负责。
域名系统
- 在TCP/IP领域中,域名系统(DNS)是一个分布的数据库,由其提供IP地址和主机名之间的映射信息。
可以认为是一个一对一的映射表,输入IP地址或者域名都可以可以找到该主机。
数据的封装
- 当应用程序使用TCP传输数据时候,数据送入协议栈,然后逐个通过每一层直到被当做一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还增加尾部信息)。传递过程如下:
- TCP传递给IP层数据单元称作TCP报文段即TCP段(TCP segment),UDP传递给IP层称为UDP数据报(UDP datagram),IP传递个网络接口层的数据单元称为IP数据报(IP datagram),通过以太网传输的比特流称为帧(Frame)。
- 由于TCP、UDP、ICMP、IGMP都要想IP发送数据,因此在IP首部存入一个8bit的数值,称为协议域,以此作为区分协议,1表示ICMP协议,2表示IGMp协议,6表示TCP协议,17表示UDP协议。
- 类似地,由于许多应用程序可以使用TCP和UDP来传送数据,所以TCP与UDP都用一个16bit的端口号来表示不同额应用程序。TCP和UDP把与源端口号和目的端口号存入头部。
- 网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16 bit的帧类型域。
分用
- 当目的主机收到以太网数据帧的时候,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。没曾想协议盒都要去价差报文首部中的协议表示,用以确认接受数据的上层协议。