TCP/IP协议学习笔记(一)

来源:互联网 发布:主要的网络侦查技术有 编辑:程序博客网 时间:2024/05/21 02:34

历史

TCP/IP起源于60年代末美国政府自主的一个分组交换网络的研究项目,到90年代已经发展成为计算机之间最常应用的组网形式。

一、分层

TCP/IP通常被认为是一个四层协议系统

Tables 应用层 运输层 网络层 链路层

1. 链路层:也称数据链路层或网络接口层,通常包括操作系统中的设备驱动程序以及计算机中对应的网络接口卡
2. 网络层:也称互联网层,处理分组在网络中的活动,例如分组的选路。网络层协议包括IP协议(网际协议),ICMP协议(internet互联网控制报文协议),IGMP协议(internet组管理协议)。ps.分组(packet):网络层和链路层传输的单元就是分组。
3. 运输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性数据通信,而UDP只是简单的负责将数据报从一台主机发送到另一台主机,但并不保证是否能到达,所需的可靠性必须由应用层来提供。
4. 应用层:负责处理特定的应用程序细节。如Telnet(远程登录),Ftp(文件传输协议),SMTP(简单邮件传送协议),SNMP(简单网络管理协议)等

在下图中,我们可以划分出端系统(两边的两台主机)和中间系统(中间的路由器)应用层和运输层使用端到端协议,在图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳协议,两个端系统和每个中间系统都要使用它。
这里写图片描述

在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。而TCP在不可靠的IP层上提供了一个可靠的运输层,TCP采用了超时重传,发送和接收端到端的确认分组等机等。

路由器的功能:把分组从一个接口传送到另一个接口。

连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互联,而路由器则是在网络层上。
TCP/IP倾向于使用路由器而不是网桥来连接网络。
TCP/IP协议族中不同层次的协议
在本图中,由上至下分别为应用层,运输层,网络层,链路层,媒体。

  • TCP和UDP是两种最著名的运输层协议,二者都使用IP作为网络层协议。
  • UDP为应用程序发送和接受数据报。一个数据报是指从发送方传输到接收方的一个信息单元。但是UDP是不可靠的,他不在意是否能将信息安全无误的送达目的端。
  • IP是网络层上的主要协议,同时被TCP和UDP使用,TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。但是也存在直接访问IP的应用程序
  • ICMP是IP协议的附属协议。IP层使用它来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP被IP使用,但是也有应用程序可以直接使用它。
  • IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。
  • ARP(地址解析协议)和RARP(逆地址解析协议)使某些网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。

    互联网的地址

    互联网上每个接口必须有一个唯一的IP地址。每个IP地址长32bit。
    5类不同的互联网地址格式如下:
    这里写图片描述
    这些32位的地址通常写成四个十进制的数,这种表示法称为“点分十进制表示法”

  • 区分各类地址的最简单方法就是看它第一个十进制整数

  • 注意,定义中是每个接口有一个惟一的IP地址,所以一台多接口主机就有多个IP地址。
  • IP地址分三类:单播地址,广播地址以及多播地址。
    这里写图片描述

封装及分用
这里写图片描述
UDP数据与TCP数据基本一致,唯一不同的是UDP传给IP的信息单元称作UDP数据报,且UDP的首部长为8字节
IP在首部中存入一个长度为8bit的数值,称为协议域,来表示数据属于哪一层。1表示为ICMP协议,2表示为IGMP协议,6表示TCP协议,17表示UDP协议。
TCP和UDP则都用一个16bit的端口号来表示不同的应用程序,把源端口号和目的端口号分别存入首部。
网络接口分别要发送和接收IP,ARP,RARP数据,因此也需要加入首部以指明生成数据的网络层协议。

分用则是封装的逆过程,通过首部中的信息逐层确定接受数据的上层协议。
目前大部分网络应用程序都采用C/S模型,这种服务分为两种类型,重复型与并发型。一般来说,TCP服务器是并发的,UDP服务器是重复的。

  • 网络层(IP)提供点到点的服务,运输层(TCP和UDP)提供端到端的服务

这一章主要是对整体一个概述,引入一些日后要用的概念。