1、TCP/IP 详解读书笔记(第一章) 第 1 章 概述TCP/IP 起源于 60 年代末美国政府资助的一个分组交换网络研究项目,到 90 年代已发展成为计算机之间最常应用的组网形式。分层网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如 TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP 通常被认为是一个四层协议系统,每一层负责不同的功能:1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2) 网络层,有时也称作互联网层,处理分组在网络中的活动
2、,例如分组的选路。在 TCP/IP 协议族中,网络层协议包括 IP 协议(网际协议),ICMP 协议(Internet 互联网控制报文协议),以及 IGMP 协议(Internet 组管理协议)。3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在 TCP/IP 协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。U
3、DP 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的 TCP/IP 实现都会提供下面这些通用的应用程序: Telnet 远程登录。 FTP 文件传输协议。 SMTP 简单邮件传送协议。 SNMP 简单网络管理协议。互联网地址(IP 地址)Internet 上的每台主机(Host)都有一个唯一的 IP 地址。 IP 协议就是使用这个地址在主机之间传递信息,这是 Internet 能够运行的基础。IP 地址的长度为 32 位,分为 4
4、段,每段 8 位,用十进制数字表示,每段数字范围为 0255,段与段之间用句点隔开。例如 159.226.1.1。IP 地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP 地址分为 A、B、C、D、E5 类。常用的是 B 和 C 两类。ip 地址就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道他(她)的地址,这样邮递员才能把信送到,计算机发送信息是就好比是邮递员,它必须知道唯一的“家庭地址”才能不至于把信送错人家。只不过我们的地址使用文字来表示的,计算机的地址用十进制数字表示。IP 地址分类1A 类 IP 地址 一个 A 类 IP 地址由 1 字节的网络地址和 3 字节主机
5、地址组成,网络地址的最高位必须是“0”, 地址范围从 0.0.0.1 到 126.0.0.0。可用的 A 类网络有 126个,每个网络能容纳 1 亿多个主机。 2B 类 IP 地址 一个 B 类 IP 地址由 2 个字节的网络地址和 2 个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从 128.0.0.0 到 191.255.255.255。可用的B 类网络有 16382 个,每个网络能容纳 6 万多个主机 。 3C 类 IP 地址 一个 C 类 IP 地址由 3 字节的网络地址和 1 字节的主机地址组成,网络地址的最高位必须是“110”。范围从 192.0.0.0 到 223
6、.255.255.255。C 类网络可达 209 万余个,每个网络能容纳 254 个主机。 4D 类地址用于多点广播(Multicast)。 D 类 IP 地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 5E 类 IP 地址 以“11110”开始,为将来使用保留。 全零(“0.0.0.0”)地址对应于当前主机。全“1”的 IP 地址(“255.255.255.255”)是当前子网的广播地址。什么是公有地址和私有地址?公有地址(Public
7、address)由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些 IP 地址分配给注册并向 Inter NIC 提出申请的组织机构。通过它直接访问因特网。私有地址(Private address)属于非注册地址,专门为组织机构内部使用。以下列出留用的内部私有地址A 类 10.0.0.0-10.255.255.255B 类 172.16.0.0-172.31.255.255C 类 192.168.0.0-192.168.255.255封装与分用当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当
8、作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。TCP 传给 IP 的数据单元称作 TCP 报文段或简称为 TCP 段(TCP segment)。IP 传给网络接口层的数据单元称作 IP 数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用( Demultiplexing)客户-服务器模型大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。端口号通过端口号来识别应用程序