网络

Table of Contents

1.1分层

 1.2 TCP/IP分层

1.3互联网地址

 1.4封装

 1.5分用

 1.6应用编程接口


 

1.1分层

网络协议层通常分不同层次进行开发,每一层分别负责不同的通信功能,一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议。

每一层负责不同的功能:

1)链路层,有时,也被称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆的物理接口细节。

2)网络层,有时也被称作互联网层,处理分组在网络中活动,例如分组选路。在TCP/IP协议族中,网络层协议包括IP(网际协议)、ICMP协议(Internet互联网控制报文协议),IGMP协议

3)运输层,主要为两台主机上应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议TCP(传输控制协议)和UDP(用户数据报协议)。

TCP把应用程序交给它的数据分成合适的小块交给下面的网络层,确定接收到的分组,设置发送最后确认分组的超时时钟等,UDP则为传输层提供一种简单的服务,它只是把称作数据报的分组从一台主机转发到另一台上,但是不保证一定能发送成功。可靠性必须要应用层来确认。

4)应用层,

Telnet远程登陆

FTP文件传输协议

SMTP简单邮件传送协议

SNMP简单网络管理协议

 两台主机路由器间通信:

 1.2 TCP/IP分层

 TCP/UDP是最著名的运输层协议,二者都使用IP作为网络协议。

TCP使用的不可靠的IP服务提供可靠的运输层服务。

1.3互联网地址

​五类互联网地址

 1.4封装

当应用程序用TCP传送数据时,数据被送到协议栈中,然后逐个通过每一层直到被当作一串比特流传送到互联网上。其中每过一层协议层就会多增加一些首部信息(有时候是尾部信息)

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

 1.5分用

​ 以太网数据帧的分用过程

 1.6应用编程接口

使用TCP/IP协议的应用程序通常采用这两种编程接口(API):socket和TLI(运输层接口)。

                                         链路层

2.1引言

在TCP/IP协议族中,链路层主要有三个目的:

1)为IP模块发送和接收IP数据报

2)为ARP模块发送ARP请求和接收ARP应答

3)为RARP发送RARP请求和接收RARP应答

TCP/IP支持多种链路层协议,这协议取决于硬件,以太网,令牌环网, FDDI(光纤分布式数据接口)及 R S-2 3 2串行线路等。

以下主要讲以太网链路层协议,还有两个串行接口链路层协议(S L I P和P P P),以及大多数实现包含的环回驱动程序。

2.2以太网和IEEE 802封装(电子电气工程协会)

在TCP/IP世界中,以太网I P数据报的封装是在RFC 894[Hornig 1984]中定义的, IEEE 802网络的I P数据报封装是在RFC 1042[Postel and Reynolds 1988]中定义的。主机需求 R F C要求每台I n t e r n e t主机都与一个10 Mb/s的以太网电缆相连接:

1)必须能发送和接收采用 RFC 894(以太网)封装格式的分组。

2)应该能接收与RFC 894混合的RFC 1042(IEEE 802)封装格式的分组。

3)也许能够发送采用 RFC 1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是 RFC 894分组。

最常使用的封装格式是 RFC 894定义的格式

​IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)

 2.2换回接口

大多数产品都支持换回接口(Loopback Interface),以允许同一台电脑上的客户端程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。按照惯例都是127.0.0.1分配给这个接口,并命名为localhost。

​环回接口处理IP数据报

2.3最大传输单元MTU

以太网和802.3对数据帧的长度都有限制,最大值分别是1500和1492Byte。链路层称这个为MTU。最大传输单元。不同类型的网络都有一个上限。

​几种常见的最大传输单元MTU

如果IP层有一个数据要传,而且数据长度比链路层的MTU还大,那么IP层需要分片,把数据报分成诺干片,这样每一片都小于MTU。

                                   第三章  IP:网际协议

 3.1IP首部

​IP数据报格式及首部中的各字段

 4个字节的32 bit值以下面的次序传输:首先是 0~7 bit,其次8~15 bit,然后1 6~23 bit,最后是24~31 bit。这种传输次序称作 big endian字节序。由于T C P / I P首部中所有的二进制整数,在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其他形式存储二进制整数的机器,如little endian格式,则必须在传输数据之前把首部转换成网络字节序。

1)版本:目前的协议版本号是 4,因此I P有时也称作I P v 4。

2)首部长度指的是首部占 32 bit字的数目,包括任何选项。由于它是一个 4比特字段,因此,首部最长为6 0个字节。在第8章中,我们将看到这种限制使某些选项如路由记录选项在当今已,没有什么用处。普通 I P数据报(没有任何选择项)字段的值是 5。

3)服务类型(TO S)字段包括一个 3 bit的优先权子字段(现在已被忽略), 4 bit的TO S子字段和1 bit未用位但必须置 0。 4 bit的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。 4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。 RFC 1340[Reynolds and Postel 1992] 描述了所有的标准应用如何设置这些服务类型。 RFC 1349
[Almquist 1992]对该R F C进行了修正,更为详细地描述了 TO S的特性。

原文地址:https://www.cnblogs.com/alex-gc/p/11144098.html