《TCP/IP协议详解》学习笔记(一):概述

1. 网络分层

  • TCP/IP模型层次

clip_image002

OSI参考模型与TCP/IP模型层次关系

链路层:处理各种传输媒介的物理接口细节;

网络层:处理分组在网络中的活动,提供逐跳(Hop by hop)的通信;

运输层:为两台主机上应用程序提供端对端(End to end)的通信;

应用层:处理特定应用程序细节。

端系统(End system,如主机)间通信,需要应用层和运输层的端到端协议;

而端系统与中间系统(Intermediate system,如路由器)间的通信的,则需要网络层的逐跳协议。

网络层IP只是尽可能快地将分组从源节点送到目的节点,是不可靠的服务;

TCP采用超时重传、发送和接收端到端确认分组等机制,在IP服务的基础上实现可靠的服务。

clip_image002[5]

TCP/IP协议族间不同层次协议的通信

  • 连接网络的方法

路由器具有两个以上的网络接口层,称之为多接口(Multihomed),是在网络层对网络进行互连,功能为单纯把分组从一个接口传递到另外一个接口;

网桥是链路层上对网络进行互连;

TCP/IP更倾向于使用路由器而非网桥连接网络。

2. 数据的封装与分用

  • 数据的封装

应用程序往TCP传输数据时,数据被送入协议栈,然后逐层通过,每层在收到的数据上添加该层的首部信息。

TCP层 --> IP层:TCP报文段、TCP段(TCP segment);

IP层 --> 链路层:IP数据报(IP datagram)。关于IP层到链路层间数据传输的单元,更准确的说法应该是分组(packet)。分组既可以是IP数据报,也可以是IP数据报的一个片(fragment)。

以太网数据帧(即IP数据报部分)的物理特征是长度必须介于46 ~ 1500字节间。

clip_image002[9]

数据进入协议栈的封装过程

运输层协议在生成报文首部时需要传入一个应用程序的标示符,TCP和UDP都使用一个16bit的端口号来标识不同的应用程序。TCP和UDP的首部都包含源端口号和目标端口号;

IP首部中有一个长度为8bit的协议域,用于标识数据所属协议,1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议;

以太网帧首部中含有16bit的帧类型域,其中以某种形式标识生成数据的网络协议。

  • 以太网帧的分用

每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议,该过程叫分用(Demultiplexing)。

clip_image002[11]

以太网数据帧分用的过程

3. 杂项

  • 互联网地址

网络地址由网络号与主机号组成;

五类地址分类:

类别

IP地址组成

范围

A类

0

网络号7位

主机号24位

0.0.0.0 ~ 127.255.255.255

B类

1

0

网络号14位

主机号16位

128.0.0.0 ~ 191.255.255.255

C类

1

1

0

网络号21位

主机号8位

192.0.0.0 ~ 223.255.255.255

D类

1

1

1

0

多播组号28位

224.0.0.0 ~ 239.255.255.255

E类

1

1

1

1

0

后备使用27位

240.0.0.0 ~ 255.255.255.255

三类IP地址:

单播地址(目的端为单个主机);

广播地址(目的端为给定网络上的所有主机);

多播地址(目的端为同一组内所有主机)。

  • 域名系统

域名系统是一个分布的数据库,提供IP地址和主机名间的映射信息。

  • 客户--服务器模型

服务器为客户提供一些特定的服务;

服务分为:

重复型,客户独占服务器,在处理客户请求时服务器不能为其他客户机提供服务;

并行型,服务器启动新的服务来处理客户请求,完成后该服务将被终止。可以并发处理客户机的请求。

  • 端口号

TCP和UDP采用16bit的端口号来识别应用程序;

任何TCP/IP实现所提供的服务都用知名端口(1~1023),这些知名端口由IANA管理;

Unix系统有保留端口。

客户端端口

客户端不关心其使用的端口号,仅需保证端口号在机器上唯一即可;

又称为临时端口,仅在用户运行客户端程序时存在;而服务器只要开机其服务就运行;

大多数TCP/IP实现给临时端口分配1024~5000之间的端口;大于5000的端口是为其他服务预留。

  • 标准化

标准化过程;

RFC;

标准的简单服务;

互联网;

TCP/IP软件实现;

TCP/IP应用编程接口:socket和TLI(Transport Layer Interface)

原文地址:https://www.cnblogs.com/alonecat06/p/2863183.html