当前位置:首页 » 网络连接 » 计算机网络连续传输协议
扩展阅读
连接网络主页 2024-05-05 08:43:26

计算机网络连续传输协议

发布时间: 2022-12-07 12:38:05

㈠ 我们经常使用的计算机网络协议主要有哪些

常用的网络协议有:

IP/IPv4:网际协议
TCP:传输控制协议
IGMP:Internet 组管理协议
ICMP/ICMPv6:Internet控制信息协议
SNMP:简单网络管理协议
DNS:域名系统(服务)协议

具体介绍:

IP/IPv4:网际协议

网际协议(IP)是一个网络层协议,它包含寻址信息和控制信息 ,可使数据包在网络中路由。IP 协议是 TCP/IP 协议族中的主要网络层协议,与 TCP 协议结合组成整个因特网协议的核心协议。IP 协议同样都适用于 LAN 和 WAN 通信。

IP 协议有两个基本任务:提供无连接的和最有效的数据包传送;提供数据包的分割及重组以支持不同最大传输单元大小的数据连接。对于互联网络中 IP 数据报的路由选择处理,有一套完善的 IP 寻址方式。每一个 IP 地址都有其特定的组成但同时遵循基本格式。IP 地址可以进行细分并可用于建立子网地址。TCP/IP 网络中的每台计算机都被分配了一个唯一的 32 位逻辑地址,这个地址分为两个主要部分:网络号和主机号。网络号用以确认网络,如果该网络是因特网的一部分,其网络号必须由 InterNIC 统一分配。一个网络服务器供应商(ISP)可以从 InterNIC 那里获得一块网络地址,按照需要自己分配地址空间。主机号确认网络中的主机,它由本地网络管理员分配。

当你发送或接受数据时(例如,一封电子信函或网页),消息分成若干个块,也就是我们所说的“包”。每个包既包含发送者的网络地址又包含接受者的地址。由于消息被划分为大量的包,若需要,每个包都可以通过不同的网络路径发送出去。包到达时的顺序不一定和发送顺序相同, IP 协议只用于发送包,而 TCP 协议负责将其按正确顺序排列。

除了 ARP 和 RARP,其它所有 TCP/IP 族中的协议都是使用 IP 传送主机与主机间的通信。当前 IP 协议有两种版本:IPv4 和 IPv6。本文主要阐述 IPv4 。IPv6 的相关细节将在其它文件中再作介绍。

TCP:传输控制协议
传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。

由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。 TCP 在端点间建立连接或虚拟电路进行可靠通信。

TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。

关于流数据传输 ,TCP 交付一个由序列号定义的无结构的字节流。 这个服务对应用程序有利,因为在送出到 TCP 之前应用程序不需要将数据划分成块, TCP 可以将字节整合成字段,然后传给 IP 进行发送。

TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。 TCP 在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包。 TCP 的可靠机制允许设备处理丢失、延时、重复及读错的包。超时机制允许设备监测丢失包并请求重发。

TCP 提供了有效流控制。当向发送者返回确认响应时,接收 TCP 进程就会说明它能接收并保证缓存不会发生溢出的最高序列号。

全双工操作: TCP 进程能够同时发送和接收包。

TCP 中的多路技术:大量同时发生的上层会话能在单个连接上时进行多路复用。

IGMP:Internet 组管理协议
Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况。IGMP 信息封装在 IP 报文中,其 IP 的协议号为 2。IGMP 具有三种版本,即 IGMP v1、v2 和 v3。

IGMPv1: 主机可以加入组播组。没有离开信息(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。
IGMPv2: 该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。
IGMPv3: 与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象。来自网络中其它主机的流量是被隔离的。IGMPv3 也支持主机阻止那些来自于非要求的主机发送的网络数据包。
IGMP 协议变种有:

距离矢量组播路由选择协议(DVMRP: Distance Vector Multicast Routing Protocol)
IGMP 用户认证协议 (IGAP: IGMP for user Authentication Protocol)
路由器端口组管理协议(RGMP: Router-port Group Management Protocol)

ICMP/ICMPv6:Internet控制信息协议
Internet 控制信息协议(ICMP)是 IP 组的一个整合部分。通过 IP 包传送的 ICMP 信息主要用于涉及网络操作或错误操作的不可达信息。ICMP 包发送是不可靠的,所以主机不能依靠接收 ICMP 包解决任何网络问题。ICMP 的主要功能如下:

通告网络错误。比如,某台主机或整个网络由于某些故障不可达。如果有指向某个端口号的 TCP 或 UDP 包没有指明接受端,这也由 ICMP 报告。

通告网络拥塞。当路由器缓存太多包,由于传输速度无法达到它们的接收速度,将会生成“ ICMP 源结束”信息。对于发送者,这些信息将会导致传输速度降低。当然,更多的 ICMP 源结束信息的生成也将引起更多的网络拥塞,所以使用起来较为保守。

协助解决故障。ICMP 支持 Echo 功能,即在两个主机间一个往返路径上发送一个包。 Ping 是一种基于这种特性的通用网络管理工具,它将传输一系列的包,测量平均往返次数并计算丢失百分比。

通告超时。如果一个 IP 包的 TTL 降低到零,路由器就会丢弃此包,这时会生成一个 ICMP 包通告这一事实。TraceRoute 是一个工具,它通过发送小 TTL 值的包及监视 ICMP 超时通告可以显示网络路由。

ICMP 在 IPv6 定义中重新修订。此外, IPv4 组成员协议(IGMP)的多点传送控制功能也嵌入到 ICMPv6 中。

SNMP:简单网络管理协议
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及 HUBS 等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

SNMP 管理的网络有三个主要组成部分:管理的设备、代理和网络管理系统。管理设备是一个网络节点,包含 ANMP 代理并处在管理网络之中。被管理的设备用于收集并储存管理信息。通过 SNMP , NMS 能得到这些信息。被管理设备,有时称为网络单元,可能指路由器、访问服务器,交换机和网桥、 HUBS 、主机或打印机。 SNMP 代理是被管理设备上的一个网络管理软件模块。 SNMP 代理拥有本地的相关管理信息,并将它们转换成与 SNMP 兼容的格式。 NMS 运行应用程序以实现监控被管理设备。此外, NMS 还为网络管理提供了大量的处理程序及必须的储存资源。任何受管理的网络至少需要一个或多个 NMS 。

目前, SNMP 有 3 种: SNMPV1 、 SNMPV2 、 SNMPV3。第 1 版和第 2 版没有太大差距,但 SNMPV2 是增强版本,包含了其它协议操作。与前两种相比, SNMPV3 则包含更多安全和远程配置。为了解决不同 SNMP 版本间的不兼容问题, RFC3584 种定义了三者共存策略。

SNMP 还包括一组由 RMON 、 RMON2 、 MTB 、 MTB2 、 OCDS 及 OCDS 定义的扩展协议。

DNS:域名系统(服务)协议
域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。大多数因特网服务依赖于 DNS 而工作,一旦 DNS 出错,就无法连接 Web 站点,电子邮件的发送也会中止。

DNS 有两个独立的方面 :

定义了命名语法和规范,以利于通过名称委派域名权限。基本语法是: local.group.site;
定义了如何实现一个分布式计算机系统,以便有效地将域名转换成 IP 地址。
在 DNS 命名方式中,采用了分散和分层的机制来实现域名空间的委派授权以及域名与地址相转换的授权。通过使用 DNS 的命名方式来为遍布全球的网络设备分配域名,而这则是由分散在世界各地的服务器实现的。

理论上, DNS 协议中的域名标准阐述了一种可用任意标签值的分布式的抽象域名空间。任何组织都可以建立域名系统,为其所有分布结构选择标签,但大多数 DNS 协议用户遵循官方因特网域名系统使用的分级标签。常见的顶级域是: COM 、 EDU 、 GOV 、 NET 、 ORG 、 BIZ ,另外还有一些带国家代码的顶级域。

DNS 的分布式机制支持有效且可靠的名字到 IP 地址的映射。多数名字可以在本地映射,不同站点的服务器相互合作能够解决大网络的名字与 IP 地址的映射问题。单个服务器的故障不会影响 DNS 的正确操作。 DNS 是一种通用协议,它并不仅限于网络设备名称。

㈡ 计算机网络之五层协议

一:概述

计算机网络 (网络)把许多 计算机 连接在一起,而 互联网 则把许多网络连接在一起,是 网络的网络 。因特网是世界上最大的互联网。

以小写字母i开始的internet( 互联网或互连网 )是 通用 名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(通信规则)可以是 任意 的。

以大写字母I开始的Interent( 因特网 )是 专有 名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用的是 TCP/IP 协议族 作为通信规则,且其前身是美国的 ARPANET 。

因特网现在采用 存储转发 的 分组交换 技术,以及三层因特网服务提供者(ISP)结构。

因特网按 工作方式 可以划分为 边缘 部分和 核心 部分,主机在网络的边缘部分,作用是进行信息处理。 路由器 是在网络的核心部分,作用是:按存储转发方式进行 分组交换 。

计算机通信是计算机的 进程 (运行着的程序)之间的通信,计算机网络采用 通信方式 :客户–服务器方式和对等连接方式(P2P方式)

按作用 范围 不同,计算机网络分为:广域网WAN,城域网MAN,局域网LAN和个人区域网PAN。

五层协议 的体系结构由:应用层,运输层,网络层,数据链路层和物理层。

<1>:应用层 : 是体系结构中的最高层,应用层的任务是 通过应用进程间的交互来完成特定网络应用 。应用层协议定义的是 应用进程间通信和交互的规则 。

<2>:运输层 :任务是负责向 两个主机中的进程之间的通信提供可靠的端到端服务 ,应用层利用该服务传送应用层报文。

TCP :提供面向连接的,可靠的数据传输服务,其数据传输的单位是报文段。

UDP :提供无连接的,尽最大努力的数据传输服务,不保证数据传输的可靠性。

<3>网络层: 网络层的任务就是要选择合适的路由,在发送数据时, 网络层把运输层产生的报文段或者用户数据报 封装 成分组或包进行交付给目的站的运输层。

<4>数据链路层: 数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。

<5>:物理层: 物理层的任务就是 透明 地传送比特流,物理层还要确定连接电缆插头的 定义 及 连接法 。

运输层最重要的协议是:传输控制协议 TCP 和用户数据报协议 UDP ,而网络层最重要的协议是网络协议 IP 。

分组交换的优点:高效、灵活、迅速、可靠。

网络协议主要由三个要素组成:   (1)语法:即数据和控制信息的结构或者格式; (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。 (3)同步:即事件实现顺序的详细说明。

二:物理层

物理层的主要任务:描述为确定与 传输媒体 的 接口 有关的一些特性。

机械特性 :接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定装置等,平时常见的各种规格的插件都有严格的 标准化的规定 。

电气特性 :接口电缆上的各条线上出现的电压 范围 。

功能特性 :某条线上出现的某一电平的点电压表示何种 意义 ;

过程特性 :指明对不同功能的各种可能事件的出现 顺序 。

通信的目的 是: 传送消息 , 数据 是运送消息的 实体 。 信号 是数据的电气或电磁的表现。

根据信号中代表 参数 的取值方式不同。 信号分为 : 模拟信号 (连续无限)+ 数字信号 (离散有限)。代表数字信号不同的离散数值的基本波形称为 码元 。

通信 的双方信息交互的方式来看,有三中 基本方式 :

单向 通信(广播)

双向交替 通信(**半双工**_对讲机)

双向同时 通信( 全双工 _电话)

调制 :来自信源的信号常称为基带信号。其包含较多低频成分,较多信道不能传输低频分量或直流分量,需要对其进行调制。

调制分为 两大类 : 基带调制 (仅对波形转换,又称 编码 ,D2D)+ 带通调制 (基带信号频率范围搬移到较高频段, 载波 调制,D2M)。

编码方式 :

不归零制 (正电平1/负0)

归零制度 (正脉冲1/负0)

曼彻斯特编码 (位周期中心的向上跳变为0/下1)

差分曼彻斯特编码 (每一位中心处有跳变,开始辩解有跳变为0,无跳变1)

带通调制方法 : 调 幅 ( AM ):(0, f1) 。调 频 ( FM ):(f1, f2) 。调 相 ( PM ):(0 , 180度) 。

正交振幅调制(QAM)物理层 下面 的 传输媒体 (介质): 不属于任何一层 。包括有: 引导性传输媒体 :双绞、同轴电缆、光缆 、 非引导性传输媒体 :短波、微波、红外线。

信道复用技术 : 频分复用 :(一样的时间占有不不同资源) ; 时分复用 :(不同时间使用同样资源) ;统计时分复用、波分复用(WDM)、码分复用(CDM)。

宽带接入技术 : 非对称数字用户线 ADSL (Asymmetric Digital Subcriber Line)(用数字技术对现有的模拟电话用户线进行改造)

三:数据链路层

数据链路层使用的 信道 有 两种类型: * 点对点(PPP) 信道+ 广播*信道

点对点信道的数据链路层的协议数据单元- -帧

数据链路层协议有许多, 三个基本问题 是共同的

封装成桢

透明传输

差错检测

局域网的数据链路层拆成两个子层,即 逻辑链路层(LLC) 子层+ 媒体接入控制(MAC) 子层;

适配器的作用:

计算机与外界局域网的连接是通过通信适配器,适配器本来是主机箱内插入的一块网络接口板,又称网络接口卡,简称( 网卡 )。

以太网采用 无连接 的工作方式,对发送的数据帧 不进行编号 ,也不要求对方发回确认,目的站收到差错帧就丢掉。

以太网采用的协议是:具有 冲突检测 的 载波监听多点接入 ( CSMA/CD )。协议的要点是: 发送前先监听,边发送边监听,一旦发现总线出现了碰撞,就立即停止发送。

以太网的硬件地址 , MAC 地址实际上就是适配器地址或者适配器标识符。 48位长 , 以太网最短帧长:64字节。争用期51.2微秒。

以太网适配器有 过滤 功能:只接收 单播帧,广播帧,多播帧 。

使用 集线器 可以在 物理层 扩展以太网(半双工),使用 网桥 可以在 数据链路层 扩展以太网(半双工),网桥转发帧时, 不改变帧 的源地址。网桥 优点 :对帧进行转发过滤,增大 吞吐量 。扩大网络物理范围,提高 可靠 性,可 互连 不同物理层,不同MAC子层和不同速率的以太网。 网桥 缺点 :增加时延,可能产生广播风暴。

透明网桥 : 自学习 办法处理接收到的帧。

四:网络层

TCP/IP 体系中的网络层向上只提供简单灵活的、无连接,尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限, 进程 之间的通信的 可靠性 由 运输层 负责。

一个IP地址在整个因特网范围内是唯一的,分类的 IP地址 包括A类( 1~126 )、B类( 128~191 )、C类( 192~223 单播地址)、D类( 多播 地址)。

分类的IP地址由 网络号字段 和 主机号字段 组成。

物理地址(硬件地址)是数据链路层和物理层使用的地址,而 IP 地址是网络层和以上各层使用的地址,是一种 逻辑地址 ,数据链路层看不见数据报的IP地址。

IP首部中的 生存时间 段给出了IP数据报在因特网中经过的 最大路由器数 ,可防止IP数据报在互联网中无限制的 兜圈 子。

地址解析协议 ARP(Address Resolution Protocol) 把IP地址解析为 硬件地址 ,它解决 同一个局域网的主机或路由器的IP地址和硬件地址的映射问题 ,是一种解决地址问题的协议。以目标IP地址为线索,用来定位一个下一个应该接收数据分包的网络设备对应的MAC地址。如果目标主机不再同一链路上时,可以通过ARP查找下一跳路由器的MAC地址,不过ARP只适用于IPV4,不能用于IPV6,IPV6中可以用ICMPV6替代ARP发送邻居搜索消息。

路由选择协议有两大类: 内部网关 协议(RIP和OSPE)和 外部网关 协议(BGP-4)。

网际控制报文协议 ICMP (Internet Control Message Protocol )控制报文协议。是IP层协议,ICMP报文作为IP数据报的数据,加上首部后组成IP数据报发送出去,使用ICMP并不是实现了可靠传输。ICMP允许主机或者路由器 报告差错 情况和 提供有关异常 的情况报告。

ICMP是一个重要应用是分组网间探测 PING

与单播相比,在一对多的通信中,IP多播可大大节约网络资源, IP多播使用D类地址,IP多播需要使用 网际组管理协议IGMP 和多播路由选择协议。

五: 运输层

网络层为主机之间提供逻辑通信,运输层为应用进程之间提供端到端的逻辑通信。

运输层有两个协议 TCP和UDP

运输层用一个 16位 端口号来标志一个端口。

UDP特点 :无连接、尽最大努力交付、面向报文、无拥塞控制、支持一对一,多对一,一对多,多对多的交互通信。首部开销小。

TCP特点: 面向连接,每一条TCP连接只能是点对点、提供可靠的交付服务,提供全双工通信、面向字节流。

TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这样的端点就叫 套接字 。

流量控制 是一个 端到端 的问题,是接收端抑制发送端发送数据的速率,以方便接收端来得及接收。 拥塞控制 是一个全局性过程,涉及到所有的主机,所有的路由器,以及与降低网络传输性能有关的所有因素。

TCP拥塞控制采用四种算法: 慢开始、拥塞避免、快重传、快恢复 。

传输有 三个连接 :连接建立、数据传送、连接释放。

TCP连接建立采用三次握手机制,连接释放采用四次握手机制。

六:应用层

文件传送协议FTP 使用 TCP 可靠传输服务。FTP使用客户服务器方式,一个FTP服务器进程可同时为多个客户进程提供服务。在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接,控制连接和数据连接,实际用于传输文件的是 数据连接 。

万维网 WWW 是一个大规模,联机式的信息储藏所,可以方便从因特网上一个站点链接到另一个站点。

万维网使用 统一资源定位符URL 来标志万维网上的各种文档,并使每一个文档在整个因特网的范围内具有唯一的标识符 URL 。

㈢ 网络传输协议有哪些

TCP/IP,互联网传输协议。
以下为各种网络传输协议列表(后面数字表示应用层协议默认服务端口):
A
ARP (ARP Address Resolution Protocol)
B
BGP (边缘网关协议 Border Gateway Protocol)
蓝牙(Blue Tooth)
BOOTP (Bootstrap Protocol)
D
DHCP(动态主机配置协议 Dynamic Host Configuration Protocol)
DNS(域名服务 Domain Name Service)
DVMRP (Distance-Vector Multicast Routing Protocol)
E
EGP (Exterior Gateway Protocol)
F
FTP (文件传输协议 File Transfer Protocol) 21
H
HDLC (高级数据链路控制协议 High-level Data Link Control)
HELLO(routing protocol)
HTTP 超文本传输协议 80
HTTPS 安全超级文本传输协议
I
ICMP (互联网控制报文协议 Internet Control Message Protocol)
IDRP (InterDomain Routing Protocol)
IEEE 802
IGMP (Internet Group Management Protocol)
IGP (内部网关协议 Interior Gateway Protocol )
IMAP
IP (互联网协议 Internet Protocol)
IPX
IS-IS(Intermediate System to Intermediate System Protocol)
L
LCP (链路控制协议 Link Control Protocol)
LLC (逻辑链路控制协议 Logical Link Control)
M
MLD (多播监听发现协议 Multicast Listener Discovery)
N
NCP (网络控制协议 Network Control Protocol)
NNTP (网络新闻传输协议 Network News Transfer Protocol) 119
NTP (Network Time Protocol)
P
PPP (点对点协议 Point-to-Point Protocol)
POP (邮局协议 Post Office Protocol) 110
R
RARP (逆向地址解析协议 Reverse Address Resolution Protocol)
RIP (路由信息协议 Routing Information Protocol)
S
SLIP (串行链路连接协议Serial Link Internet Protocol)
SNMP (简单网络管理协议 Simple Network Management Protocol)
SMTP (简单邮件传输协议 Simple Mail Transport Protocol) 25
SCTP(流控制传输协议 Stream Control Transmission Protocol)
T
TCP (传输控制协议 Transmission Control Protocol)
TFTP (Trivial File Transfer Protocol)
Telnet (远程终端协议 remote terminal protocol) 23
U
UDP (用户数据报协议 User Datagram Protocol)
常用的有以下几种:
ARP(Address Resolution Protocol)地址解析协议

它是用于映射计算机的物理地址和临时指定的网络地址。启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用,如果没有被使用,此结点被使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,只有再选另一个地址了。

SNMP(Simple Network Management P)网络管理协议

它是TCP/IP协议中的一部份,它为本地和远端的网络设备管理提供了一个标准化途径,是分布式环境中的集中化管理的重要组成部份。

BGP4(Border Gateway Protocol Vertion 4)边界网关协议-版本4

它是用于在自治网络中网关主机(每个主机有自己的路由)之间交换路由信息的协议,它使管理员能够在已知的路由策略上配置路由加权,可以更方便地使用无级内部域名路由(CIDR),它是一种在网络中可以容纳更多地址的机制,它比外部网关协议(EGP)更新。BGP4经常用于网关主机之间,主机中的路由表包括了已知路由的列表,可达的地址和路由加权,这样就可以在路由中选择最好的通路了。BGP在局域网中通信时使用内部BGP(IBGP),因为IBGP不能很好工作。

DHCP(Dynamic Host Configuration Protocol)动态主机配置协议

它是在TCP/IP网络上使客户机获得配置信息的协议,它是基于BOOTP协议,并在BOOTP协议的基础上添加了自动分配可用网络地址等功能。这两个协议可以通过一些机制互操作。DHCP协议在安装TCP/IP协议和使用TCP/IP协议进行通迅时,必须配置IP地址、子网掩码、缺省网关三个参数,这三个参数可以手动配置,也可以使用DHCP自动配置。

FTP(File Transfer Protocol)文件传输协议

它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。象传送可显示文件的HTTP和电子邮件的SMTP一样,FTP也是应用TCP/IP协议的应用协议标准。FTP通常用于将网页从创作者上传到服务器上供人使用,而从服务器上下传文件也是一种非常普遍的使用方式。作为用户,您可以用非常简单的DOS界面来使用FTP,也可以使用由第三方提供的图形界面的FTP来更新(删除,重命名,移动和复制)服务器上的文件。现在有许多服务器支持匿名登录,允许用户使用FTP和ANONYMOUS作为用户名进行登录,通常可使用任何口令或只按回车键。

HDLC(High-Level Data Link Control)高层数据链路协议

它是一组用于在网络结点间传送数据的协议。在HDLC中,数据被组成一个个的单元(称为帧)通过网络发送,并由接收方确认收到。HDLC协议也管理数据流和数据发送的间隔时间。HDLC是在数据链路层中最广泛最使用的协议之一。现在作为ISO的标准,HDLC是基于IBM的SDLC协议的,SDLC被广泛用于IBM的大型机环境之中。在HDLC中,属于SDLC的被称为通响应模式(NRM)。在通常响应模式中,基站(通常是大型机)发送数据给本地或远程的二级站。不同类型的HDLC被用于使用X.25协议的网络和帧中继网络,这种协议可以在局域网或广域网中使用,无论此网是公共的还是私人的。

HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1

它是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议族之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。您的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议

它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

ICMP(Internet Control Message Protocol)Internet控制信息协议

它是一个在主机和网关之间消息控制和差错报告协议。ICMP使用IP数据报,但消息由TCP/IP软件处理,对于应用程序使用者是不可见的。在被称为Catenet的系统中,IP协议被用作主机到主机的数据报服务。网络连接设备称为网关。这些网关通过网关到网关协议(GGP)相互交换用于控制的信息。通常,赡养或目的主机将和源主机通信,例如,为报告在数据报过程中的错误。为了这个目的才使用了ICMP,它使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。ICMP消息在以下几种情况下发送:当数据报不能到达目的地时,当网关的已经失去缓存功能,当网关能够引导主机在更短路由上发送。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。一些数据报仍将在没有任何报告的情况下丢失。

IPv6(Internet Protocol Version 6)Internet协议-版本6

它是Internet协议的最新版本,已作为IP的一部分并被许多主要的操作系统所支持。IPv6也被称为“Ipng”(下一代IP),它对现行的IP(版本4)进行重大的改进。使用IPv4和IPv6的网络主机和中间结点可以处理IP协议中任何一层的包。用户和服务商可以直接安装IPv6而不用对系统进行什么重大的修改。相对于版本4新版本的最大改进在于将IP地址从32位改为128位,这一改进是为了适应网络快速的发展对IP地址的需求,也从根本上改变了IP地址短缺的问题。简化IPv4首部字段被删除或者成为可选字段,减少了一般情况下包的处理开销以及IPv6首部占用的带宽。改进IP 首部选项编码方式的修改导致更加高效的传输,在选项长度方面更少的限制,以及将来引入新的选项时更强的适应性。加入一个新的能力,使得那些发送者要求特殊处理的属于特别的传输流的包能够贴上标签,比如非缺省质量的服务或者实时服务。为支持认证,数据完整性以及(可选的)数据保密的扩展都在IPv6中说明。本文描述IPv6基本首部以及最初定义的IPv6 扩展首部和选项。还将讨论包的大小问题,数据流标签和传输类别的语法,以及IPv6对上层协议的影响。IPv6 地址的格式和语法在其它文章中单独说明。IPv6版的 ICMP 是所有IPv6应用都需要包含的。

OSPF(Open Shortest Path First)开放最短路优先

OSPF是用于大型自主网络中替代路由信息协议的协议标准。象RIP一样,OSPF也是由IETF设计用作内部网关协议族中的一个标准。在使用OSPF时网络拓朴结构的变化可以立即在路由器上反映出来。不象RIP,OSPF不是全部当前结点保存的路由表,而是通过最短路优先算法计算得到最短路,这样可以降低网络通信量。如果您熟悉最短路优先算法就会知道,它是一种只关心网络拓朴结构的算法,而不关心其它情况,如优先权的问题,对于这一点,OSPF改变了算法使它根据不同的情况给某些通路以优先权。

POP3(Post Office Protocol Version 3)邮局协议-版本3

它是一个关于接收电子邮件的客户/服务器协议。电子邮件由服务器接收并保存,在一定时间之后,由客户电子邮件接收程序检查邮箱并下载邮件。POP3它内置于IE和Netscape浏览器中。另一个替代协议是交互邮件访问协议(IMAP)。使用IMAP您可以将服务器上的邮件视为本地客户机上的邮件。在本地机上删除的邮件还可以从服务器上找到。E-mail 可以被保存在服务器上,并且可以从服务器上找回。

PPP(Point to Point Protocol)点对点协议

它是用于串行接口的两台计算机的通信协议,是为通过电话线连接计算机和服务器而彼此通信而制定的协议。网络服务提供商可以提供您点对点连接,这样提供商的服务器就可以响应您的请求,将您的请求接收并发送到网络上,然后将网络上的响应送回。PPP是使用IP协议,有时它被认为是TCP/IP协议族的一员。PPP协议可用于不同介质上包括双绞线,光纤和卫星传输的全双工协议,它使用HDLC进行包的装入。PPP协议既可以处理同步通信也可以处理异步通信,可以允许多个用户共享一个线路,又可发进行SLIP协议所没有的差错控制。

RIP(Routing Infomation Protocol)路由信息协议

RIP是最早的路由协议之一,而且现在仍然在广泛使用。它从类别上应该属于内部网关协议(IGP)类,它是距离向量路由式协议,这种协议在计算两个地方的距离时只计算经过的路由器的数目,如果到相同目标有两个不等速或带宽不同的路由器,但是经过的路由器的个数一样,RIP认为两者距离一样,而实际传送数据时,很明显一个快一个慢,这就是RIP协议的不足之处,而OSPF在它的基础上克服了RIP的缺点。

SMTP(Simple Mail Transfer Protocol)简单邮件传送协议

它是用来发送电子邮件的TCP/IP协议。它的内容由IETF的RFC 821定义。另外一个和SMTP相同功能的协议是X.400。SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮件可以通过连接在不同IPCE上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。

TCP/IP(Transmission Control Protocol/Internet Protocol)传输控制协议/Internet协议

TCP/IP协议起源于美国国防高级研究计划局。提供可靠数据传输的协议称为传输控制协议TCP,好比货物装箱单,保证数据在传输过程中不会丢失;提供无连接数据报服务的协议称为网络协议IP,好比收发货人的地址和姓名,保证数据到达指定的地点。TCP/IP协议是互联网上广泛使用的一种协议,使用TCP/IP协议的因特网等网络提供的主要服务有:电子邮件、文件传送、远程登录、网络文件系统、电视会议系统和万维网。它是Interent的基础,它提供了在广域网内的路由功能,而且使Internet上的不同主机可以互联。从概念上,它可以映射到四层:网络接口层,这一层负责在线路上传输帧并从线路上接收帧;Internet层,这一层中包括了IP协议,IP协议生成Internet数据报,进行必要的路由算法,IP协议实际上可以分为四部分:ARP,ICMP,IGMP和IP;再上向就是传输层,这一层负责管理计算机间的会话,这一层包括两个协议TCP和UDP,由应用程序的要求不同可以使用不同的协议进行通信;最后一层是应用层,就是我们熟悉的FTP,DNS,TELNET等。熟悉TCP/IP是熟悉Internet的必由之路。

TELNET Protocol虚拟终端协议

TELNET协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,它主要的目标是允许接口终端设备的标准方法和面向终端的相互作用。是让用户在远程计算机登录,并使用远程计算机上对外开放的所有资源。

Time Protocol时间协议

该协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是以秒数,是从1900年1月1日午夜到现在的秒数。设计这个协议的一个重要目的在于,网络上的许多主机并没有时间的观念,在分布式的系统上,我们可以想一想,北京的时间和东京的时间如何分呢?主机的时间往往可以人为改变,而且因为机器时钟内的误差而变得不一致,因此需要使用时间服务器通过选举方式得到网络时间,让服务器有一个准确的时间观念。不要小看时间,这对于一些以时间为标准的分布运行的程序简单是太重要了。这个协议可以工作在TCP和UDP协议下。时间是由32位表示的,是自1900年1月1日0时到当前的秒数,我们可以计算一下,这个协议只能表示到2036年就不能用了,但是我们也知道计算机发展速度这么快,到时候可能就会有更好的协议代替这个协议。

TFTP(Trivial File Transfer Protocol)小文件传输协议

它是一个网络应用程序,它比FTP简单也比FTP功能少。它在不需要用户权限或目录可见的情况下使用,它使用UDP协议而不是TCP协议。

UDP(User Datagram Protocol)用户数据报协议

它是定义用来在互连网络环境中提供包交换的计算机通信的协议,此协议默认认为网路协议(IP)是其下层协议。UDP是TCP的另外一种方法,象TCP一样,UDP使用IP协议来获得数据单元(叫做数据报),不象TCP的是,它不提供包(数据报)的分组和组装服务。而且,它还不提供对包的排序,这意味着,程序程序必须自己确定信息是否完全地正确地到达目的地。如果网络程序要加快处理速度,那使用UPD就比TCP要好。UDP提供两种不由IP层提供的服务,它提供端口号来区别不同用户的请求,而且可以提供奇偶校验。在OSI模式中,UDP和TCP一样处于第四层,传输层。

㈣ 计算机网络协议有哪些

网络协议(Protocol)是一种特殊的软件,是计算机网络实现其功能的最基本机制。网络协议的本质是规则,即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件,它融合于其他所有的软件系统中,因此可以说,协议在网络中无所不在。网络协议遍及OSI通信模型的各个层次,从我们非常熟悉的TCP/IP、HTTP、FTP协议,到OSPF、IGP等协议,有上千种之多。对于普通用户而言,不需要关心太多的底层通信协议,只需要了解其通信原理即可。在实际管理中,底层通信协议一般会自动工作,不需要人工干预。但是对于第三层以上的协议,就经常需要人工干预了,比如TCP/IP协议就需要人工配置它才能正常工作。
局域网常用的三种通信协议分别是TCP/IP协议、NetBEUI协议和IPX/SPX协议。
TCP/IP协议毫无疑问是这三大协议中最重要的一个,作为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不过TCP/IP协议也是这三大协议中配置起来最麻烦的一个,单机上网还好,而通过局域网访问互联网的话,就要详细设置IP地址,网关,子网掩码,DNS服务器等参数。
TCP/IP协议族中包括上百个互为关联的协议,不同功能的协议分布在不同的协议层,
几个常用协议如下:
1、Telnet(Remote
Login):提供远程登录功能,一台计算机用户可以登录到远程的另一台计算机上,如同在远程主机上直接操作一样。
2、FTP(File
Transfer
Protocol):远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。
3、SMTP(Simple
Mail
transfer
Protocol):简单邮政传输协议,用于传输电子邮件。
4、NFS(Network
File
Server):网络文件服务器,可使多台计算机透明地访问彼此的目录。
5、UDP(User
Datagram
Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。
HTTP协议简介
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next
Generation
of
HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

㈤ 网络上用于管理计算机之间信息流的协议被称为传输协议,都有哪几种协议这些协些解决了哪几个方面的问题

7层,由低到高为:

物理层:

物理层(physical layer)的主要功能是完成相邻结点之间原始比特流传输。物理层协议关心的典型问题是使用什么样的物理信号来表示数据0和1。1位持续的时间多长。数据传输是否可同时在两个方向上进行。最初的廉洁如何建立以及完成通信后连接如何终止。物理接口(插头和插座)有多少针以及各针的作用。物理层的设计主要涉及物理层接口的机械、电气、功能和过电特性,以及物理层接口连接的传输介质等问题。物理层的实际还涉及到通信工程领域内的一些问题。

数据链路层:

数据链路层(data link layer)的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。数据链路层完成的是网络中相邻结点之间可靠的数据通信。为了保证书觉得可靠传输,发送出的数据针,并按顺序传送个针。由于物理线路不可靠,因此发送方发出的数据针有可能在线路上出错或丢失,从而导致接受方无法正确接收数据。为了保证能让接收方对接收到的数据进行正确的判断,发送方位每个数据块计算出CRC(循环冗余检验)并加入到针中,这样接收方就可以通过重新计算CRC来判断接收到的数据是否正确。一旦接收方发现接收到的数据有错误,则发送方必须重新传送这一数据。然而,相同的数据多次传送也可能是接收方收到重复的数据。
数据链路层要解决的另一个问题是防止高速发送方的数据把低速接收方“淹没”。因此需要某种信息流量控制机制使发送方得知接收方当前还有多少缓存空间。为了控制的方便,流量控制常常和差错处理一同实现。
在广域网中,数据链路层负责主机IMP、IMP-IMP之间数据的可靠传送。在局域网中,数据链路层负责制及之间数据的可靠传输。

网络层:

网络层(network layer)的主要功能是完成网络中主机间的报文传输,其关键问题之一是使用数据链路层的服务将每个报文从源端传输到目的端。在广域网中,这包括产生从源端到目的端的路由,并要求这条路径经过尽可能少的IMP。如果在子网中同时出现过多的报文,子网就可能形成拥塞,因为必须加以避免这种情况的出现。
当报文不得不跨越两个或多个网络时,又会带来很多新问题。比
在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,因此网络层所要做的工作很少。

传输层:

传输层(transport layer)的主要功能是实现网络中不同主机上的用户进程之间可靠的数据通信。
传输层要决定会话层用户(最终对网络用户)提供什么样的服务。最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接时真正的点到点。
由于绝大多数的主机都支持多用户操作,因而机器上有多道程序就意味着将有多条连接进出于这些主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头中除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和取消。这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象。另外,还需要有一种机制来调节信息流,使高速主机不会过快的向低速主机传送数据。尽管主机之间的流量控制与IMP之间的流量控制不尽相同。

会话层:

会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系。会话层循序进行类似的传输层的普通数据的传送,在某某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。
会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。一种与对话控制有关的服务是令牌管理(token management)。有些协议会保证双方不能同时进行同样的操作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。另一种会话层服务是同步。如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理)。

表示层:

表示层(presentation layer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决办法,而不必由每个用户自己来实现。表示层以下各层只关心从源端机到目标机到目标机可靠的传送比特流,而表示层关心的是所传送的信息的语法和语义。表示层服务的一个典型例子就是大家一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象使用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示的。
在网络上计算机可能采用不同的数据表示,所以需要在数据传输时进行数据格式转换。为了让采用不同数据表示法的计算机之间能够相互通信而且交换数据,就要在通信过程中使用抽象的数据结构来表示所传送的数据。而在机器内部仍然采用各自的标准编码。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法以及在接收方做相反的转换等噢年工作都是由表示层来完成的。
另外,表示层还涉及数据压缩和解压、数据加密和解米等工作(winrar的那一套)。

应用层:

连网的目的在于支持运行于不同计算机的进程彼此之间的通信,而这些进程则是为用户完成不同人物而设计的。可能的应用是多方面的,不受网络结构的限制。应用层(app;ocation layer)包括大量人们普遍需要的协议。虽然,对于需要通信的不同应用来说,应用层的协议都是必须的。例如:http、ftp、TCP/IP。
由于每个应用有不同的要求,应用层的协议集在OSI模型中并没有定义。但是,有些确定的应用层协议,包括虚拟终端、文件传输、电子邮件等都可以作为标准化的候选。

㈥ 什么是网络协议请简要说明之。请写出五种常用的网络协议。

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

划分

1、物理层:以太网、调制解调器、电力线通信(PLC)、SONET/SDH、G.709、光导纤维、同轴电缆、双绞线等。

2、数据链路层:Wi-Fi(IEEE 802.11)、WiMAX(IEEE 802.16)、ATM、DTM、令牌环、以太网、FDDI、帧中继、GPRS、EVDO、HSPA、HDLC、PPP、L2TP、PPTP、ISDN、STP、CSMA/CD等。

3、网络层协议:IP (IPv4、IPv6)、ICMP、ICMPv6、IGMP、IS-IS、IPsec、ARP、RARP、RIP等。

4、传输层协议:TCP、UDP、TLS、DCCP、SCTP、RSVP、OSPF等。

5、应用层协议:DHCP、DNS、FTP、Gopher、HTTP、IMAP4、IRC、NNTP、XMPP、POP3、SIP、SMTP、SNMP、SSH、TELNET、RPC、RTCP、RTP、RTSP、SDP、SOAP、GTP、STUN、NTP、SSDP、BGP 等。



(6)计算机网络连续传输协议扩展阅读

网络协议通常由语法,语义和定时关系3部分组成。网络传输协议或简称为传送协议(Communications Protocol),计算机通信的共同语言。最普及的计算机通信为网络通信,所以“传送协议”一般都指计算机通信的传送协议,如:TCP/IP、NetBEUI等。

然而,传送协议也存在于计算机的其他形式通信,例如:面向对象编程里面对象之间的通信;操作系统内不同程序之间的消息,都需要有一个传送协议,以确保传信双方能够沟通无间。

㈦ 计算机网络的协议是什么

计算机协议,也叫作网络协议,是通信计算机双方必须共同遵从的一组约定。

为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式。最常见的计算机协议是OSI/RM协议。

国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即着名的OSI/RM模型。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中第四层完成数据传送服务,上面三层面向用户。

(7)计算机网络连续传输协议扩展阅读

常见的计算机协议还有:

1、IPX/SPX协议

是Novell开发的专用于NetWare网络中的协议,但是也非常常用。大部分可以联机的游戏都支持IPX/SPX协议,比如星际争霸,反恐精英等等。

2、ARP/RARP协议

地址解析协议,原理是主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

3、TCP/IP协议

是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

㈧ 我们经常使用的计算机网络协议主要有哪些

常用的网络协议有:x0dx0ax0dx0aIP/IPv4:网际协议x0dx0aTCP:传输控制协议x0dx0aIGMP:Internet 组管理协议x0dx0aICMP/ICMPv6:Internet控制信息协议x0dx0aSNMP:简单网络管理协议x0dx0aDNS:域名系统(服务)协议x0dx0ax0dx0a具体介绍:x0dx0ax0dx0aIP/IPv4:网际协议x0dx0ax0dx0a 网际协议(IP)是一个网络层协议,它包含寻址信息和控制信息 ,可使数据包在网络中路由。IP 协议是 TCP/IP 协议族中的主要网络层协议,与 TCP 协议结合组成整个因特网协议的核心协议。IP 协议同样都适用于 LAN 和 WAN 通信。x0dx0ax0dx0a IP 协议有两个基本任务:提供无连接的和最有效的数据包传送;提供数据包的分割及重组以支持不同最大传输单元大小的数据连接。对于互联网络中 IP 数据报的路由选择处理,有一套完善的 IP 寻址方式。每一个 IP 地址都有其特定的组成但同时遵循基本格式。IP 地址可以进行细分并可用于建立子网地址。TCP/IP 网络中的每台计算机都被分配了一个唯一的 32 位逻辑地址,这个地址分为两个主要部分:网络号和主机号。网络号用以确认网络,如果该网络是因特网的一部分,其网络号必须由 InterNIC 统一分配。一个网络服务器供应商(ISP)可以从 InterNIC 那里获得一块网络地址,按照需要自己分配地址空间。主机号确认网络中的主机,它由本地网络管理员分配。x0dx0ax0dx0a 当你发送或接受数据时(例如,一封电子信函或网页),消息分成若干个块,也就是我们所说的“包”。每个包既包含发送者的网络地址又包含接受者的地址。由于消息被划分为大量的包,若需要,每个包都可以通过不同的网络路径发送出去。包到达时的顺序不一定和发送顺序相同, IP 协议只用于发送包,而 TCP 协议负责将其按正确顺序排列。x0dx0ax0dx0a 除了 ARP 和 RARP,其它所有 TCP/IP 族中的协议都是使用 IP 传送主机与主机间的通信。当前 IP 协议有两种版本:IPv4 和 IPv6。本文主要阐述 IPv4 。IPv6 的相关细节将在其它文件中再作介绍。 x0dx0ax0dx0aTCP:传输控制协议x0dx0a 传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。 x0dx0ax0dx0a 由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。 TCP 在端点间建立连接或虚拟电路进行可靠通信。x0dx0ax0dx0a TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。x0dx0ax0dx0a 关于流数据传输 ,TCP 交付一个由序列号定义的无结构的字节流。 这个服务对应用程序有利,因为在送出到 TCP 之前应用程序不需要将数据划分成块, TCP 可以将字节整合成字段,然后传给 IP 进行发送。x0dx0ax0dx0a TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。 TCP 在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包。 TCP 的可靠机制允许设备处理丢失、延时、重复及读错的包。超时机制允许设备监测丢失包并请求重发。x0dx0ax0dx0a TCP 提供了有效流控制。当向发送者返回确认响应时,接收 TCP 进程就会说明它能接收并保证缓存不会发生溢出的最高序列号。x0dx0ax0dx0a 全双工操作: TCP 进程能够同时发送和接收包。x0dx0ax0dx0a TCP 中的多路技术:大量同时发生的上层会话能在单个连接上时进行多路复用。x0dx0ax0dx0aIGMP:Internet 组管理协议x0dx0a Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况。IGMP 信息封装在 IP 报文中,其 IP 的协议号为 2。IGMP 具有三种版本,即 IGMP v1、v2 和 v3。x0dx0ax0dx0aIGMPv1: 主机可以加入组播组。没有离开信息(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。 x0dx0aIGMPv2: 该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。 x0dx0aIGMPv3: 与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象。来自网络中其它主机的流量是被隔离的。IGMPv3 也支持主机阻止那些来自于非要求的主机发送的网络数据包。 x0dx0a IGMP 协议变种有: x0dx0ax0dx0a距离矢量组播路由选择协议(DVMRP: Distance Vector Multicast Routing Protocol) x0dx0aIGMP 用户认证协议 (IGAP: IGMP for user Authentication Protocol) x0dx0a路由器端口组管理协议(RGMP: Router-port Group Management Protocol) x0dx0ax0dx0aICMP/ICMPv6:Internet控制信息协议x0dx0a Internet 控制信息协议(ICMP)是 IP 组的一个整合部分。通过 IP 包传送的 ICMP 信息主要用于涉及网络操作或错误操作的不可达信息。ICMP 包发送是不可靠的,所以主机不能依靠接收 ICMP 包解决任何网络问题。ICMP 的主要功能如下:x0dx0ax0dx0a 通告网络错误。比如,某台主机或整个网络由于某些故障不可达。如果有指向某个端口号的 TCP 或 UDP 包没有指明接受端,这也由 ICMP 报告。x0dx0ax0dx0a 通告网络拥塞。当路由器缓存太多包,由于传输速度无法达到它们的接收速度,将会生成“ ICMP 源结束”信息。对于发送者,这些信息将会导致传输速度降低。当然,更多的 ICMP 源结束信息的生成也将引起更多的网络拥塞,所以使用起来较为保守。x0dx0ax0dx0a 协助解决故障。ICMP 支持 Echo 功能,即在两个主机间一个往返路径上发送一个包。 Ping 是一种基于这种特性的通用网络管理工具,它将传输一系列的包,测量平均往返次数并计算丢失百分比。x0dx0ax0dx0a 通告超时。如果一个 IP 包的 TTL 降低到零,路由器就会丢弃此包,这时会生成一个 ICMP 包通告这一事实。TraceRoute 是一个工具,它通过发送小 TTL 值的包及监视 ICMP 超时通告可以显示网络路由。x0dx0ax0dx0a ICMP 在 IPv6 定义中重新修订。此外, IPv4 组成员协议(IGMP)的多点传送控制功能也嵌入到 ICMPv6 中。 x0dx0ax0dx0aSNMP:简单网络管理协议x0dx0a SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及 HUBS 等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。x0dx0ax0dx0a SNMP 管理的网络有三个主要组成部分:管理的设备、代理和网络管理系统。管理设备是一个网络节点,包含 ANMP 代理并处在管理网络之中。被管理的设备用于收集并储存管理信息。通过 SNMP , NMS 能得到这些信息。被管理设备,有时称为网络单元,可能指路由器、访问服务器,交换机和网桥、 HUBS 、主机或打印机。 SNMP 代理是被管理设备上的一个网络管理软件模块。 SNMP 代理拥有本地的相关管理信息,并将它们转换成与 SNMP 兼容的格式。 NMS 运行应用程序以实现监控被管理设备。此外, NMS 还为网络管理提供了大量的处理程序及必须的储存资源。任何受管理的网络至少需要一个或多个 NMS 。x0dx0ax0dx0a 目前, SNMP 有 3 种: SNMPV1 、 SNMPV2 、 SNMPV3。第 1 版和第 2 版没有太大差距,但 SNMPV2 是增强版本,包含了其它协议操作。与前两种相比, SNMPV3 则包含更多安全和远程配置。为了解决不同 SNMP 版本间的不兼容问题, RFC3584 种定义了三者共存策略。x0dx0ax0dx0a SNMP 还包括一组由 RMON 、 RMON2 、 MTB 、 MTB2 、 OCDS 及 OCDS 定义的扩展协议。 x0dx0ax0dx0aDNS:域名系统(服务)协议x0dx0a 域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。大多数因特网服务依赖于 DNS 而工作,一旦 DNS 出错,就无法连接 Web 站点,电子邮件的发送也会中止。x0dx0ax0dx0a DNS 有两个独立的方面 : x0dx0ax0dx0a定义了命名语法和规范,以利于通过名称委派域名权限。基本语法是: local.group.site; x0dx0a定义了如何实现一个分布式计算机系统,以便有效地将域名转换成 IP 地址。 x0dx0a 在 DNS 命名方式中,采用了分散和分层的机制来实现域名空间的委派授权以及域名与地址相转换的授权。通过使用 DNS 的命名方式来为遍布全球的网络设备分配域名,而这则是由分散在世界各地的服务器实现的。x0dx0ax0dx0a 理论上, DNS 协议中的域名标准阐述了一种可用任意标签值的分布式的抽象域名空间。任何组织都可以建立域名系统,为其所有分布结构选择标签,但大多数 DNS 协议用户遵循官方因特网域名系统使用的分级标签。常见的顶级域是: COM 、 EDU 、 GOV 、 NET 、 ORG 、 BIZ ,另外还有一些带国家代码的顶级域。x0dx0ax0dx0a DNS 的分布式机制支持有效且可靠的名字到 IP 地址的映射。多数名字可以在本地映射,不同站点的服务器相互合作能够解决大网络的名字与 IP 地址的映射问题。单个服务器的故障不会影响 DNS 的正确操作。 DNS 是一种通用协议,它并不仅限于网络设备名称。

㈨ 计算机网络——TCP/UDP协议

计算机网络七层模型中,传输层有两个重要的协议:
(1)用户数据报协议UDP (User Datagram Protocol)
(2)传输控制协议TCP (Transmission Control Protocol)

UDP 在传送数据之前不需要先建立连接。远地主机的运输层在收到UDP 报文后,不需要给出任何确认。虽然UDP 不提供可靠交付,但在某些情况下UDP 却是一种最有效的工作方式。

TCP 则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP 不提供广播或多播服务。由于TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销,如确认、流量控制、计时器以及连接管理等。

UDP 的主要特点是:

首部手段很简单,只有8 个字节,由四个字段组成,每个字段的长度都是两个字节。

前面已经讲过,每条TCP 连接有两个端点,TCP 连接的端点叫做套接字(socket)或插口。套接字格式如下:

套接宁socket= (IP 地址:端口号’)

每一条TCP 连接唯一地被通信两端的两个端点(即两个套接宇)所确定。即:
TCP 连接= {socket1, socket2} = {(IP1: port1), (IP2: port2)}

3次握手链接

4次握手释放链接

断开连接请求可以由客户端发出,也可以由服务器端发出,在这里我们称A端向B端请求断开连接。

各个状态节点解释如下:

下面为了讨论问题的万便,我们仅考虑A发送数据而B 接收数据并发送确认。因此A 叫做发送方,而B 叫做接收方。

“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。像上述的这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。意思是重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。

滑动窗口协议比较复杂,是TCP 协议的精髓所在。这里先给出连续ARQ 协议最基本的概念,但不涉提到许多细节问题。详细的滑动窗口协议将在后面讨论。

下图表示发送方维持的发送窗口,它的意义是:位于发送窗口内的5 个分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。

连续ARQ 协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

接收方一般都是采用 累积确认 的方式。这就是说,接收方不必对收到的分组逐个发送确认,而是可以在收到几个分组后,对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都己正确收到了。

累积确认 的优点是容易实现,即使确认丢失也不必重传。但缺点是不能向发送方反映出接收方己经正确收到的所有分组的信息。

例如,如果发送方发送了前5 个分组,而中间的第3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做Go-back-N (回退N ),表示需要再退回来重传己发送过的N 个分组。可见当通信线路质量不好时,连续ARQ 协议会带来负面的影响。

TCP 的滑动窗口是以字节为单位的。现假定A 收到了B 发来的确认报文段,其中窗口是20 (字节),而确认号是31 (这表明B 期望收到的下一个序号是31 ,而序号30 为止的数据己经收到了)。根据这两个数据, A 就构造出自己的发送窗口,其位置如图所示。

发送窗口表示:在没有收到B 的确认的情况下, A可以连续把窗口内的数据都发送出去。凡是己经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。

发送窗口后沿的后面部分表示己发送且己收到了确认。这些数据显然不需要再保留了。而发送窗口前沿的前面部分表示不允许发送的,因为接收方都没有为这部分数据保留临时存放的缓存空间。

现在假定A 发送了序号为31 ~ 41 的数据。这时发送窗口位置并未改变,但发送窗口内靠后面有11个字节(灰色小方框表示)表示己发送但未收到确认。而发送窗口内靠前面的9 个字节( 42 ~ 50 )是允许发送但尚未发送的。】

再看一下B 的接收窗口。B 的接收窗口大小是20,在接收窗口外面,到30 号为止的数据是已经发送过确认,并且己经交付给主机了。因此在B 可以不再保留这些数据。接收窗口内的序号(31~50)足允许接收的。B 收到了序号为32 和33 的数据,这些数据没有按序到达,因为序号为31 的数据没有收到(也许丢失了,也许滞留在网络中的某处)。 请注意, B 只能对按序收到的数据中的最高序号给出确认,因此B 发送的确认报文段中的确认号仍然是31 (即期望收到的序号)。

现在假定B 收到了序号为31 的数据,并把序号为31~33的数据交付给主机,然后B删除这些数据。接着把接收窗口向前移动3个序号,同时给A 发送确认,其中窗口值仍为20,但确认号是34,这表明B 已经收到了到序号33 为止的数据。我们注意到,B还收到了序号为37, 38 和40 的数据,但这些都没有按序到达,只能先存在接收窗口。A收到B的确认后,就可以把发送窗口向前滑动3个序号,指针P2 不动。可以看出,现在A 的可用窗口增大了,可发送的序号范围是42~53。整个过程如下图:

A 在继续发送完序号42-53的数据后,指针P2向前移动和P3重合。发送窗口内的序号都已用完,但还没有再收到确认。由于A 的发送窗口己满,可用窗口己减小到0,因此必须停止发送。

上面已经讲到, TCP 的发送方在规定的时间内没有收到确认就要重传已发送的报文段。这种重传的概念是很简单的,但重传时间的选择却是TCP 最复杂的问题之一。

TCP采用了一种自适应算法 ,它记录一个报文段发出的时间,以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间RTT,TCP 保留了RTT的一个加权平均往返时间RTTs (这又称为平滑的往返时间, S 表示Smoothed 。因为进行的是加权平均,因此得出的结果更加平滑)。每当第一次测量到RTT样本时, RTTs值就取为所测量到的RTT样本值。但以后每测量到一个新的RTT样本,就按下式重新计算一次RTTs:

新的RTTs = (1 - α)×(旧的RTTs) + α ×(新的RTT样本)

α 越大表示新的RTTs受新的RTT样本的影响越大。推荐的α 值为0.125,用这种方法得出的加权平均往返时间RTTs 就比测量出的RTT值更加平滑。

显然,超时计时器设置的超时重传时间RTO (RetransmissionTime-Out)应略大于上面得出的加权平均往返时间RTTs。RFC 2988 建议使用下式计算RTO:

RTO = RTTs + 4 × RTTd

RTTd是RTT 的偏差的加权平均值,它与RTTs和新的RTT样本之差有关。计算公式如下:

新的RTTd= (1- β)×(旧的RTTd) + β × |RTTs-新的RTT样本|

发现问题: 如图所示,发送出一个报文段。设定的重传时间到了,还没有收到确认。于是重
传报文段。经过了一段时间后,收到了确认报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?

若收到的确认是对重传报文段的确认,但却被源主机当成是对原来的报文段的确认,则这样计算出的RTTs 和超时重传时间RTO 就会偏大。若后面再发送的报文段又是经过重传后才收到确认报文段,则按此方法得出的超时重传时间RTO 就越来越长。

若收到的确认是对原来的报文段的确认,但被当成是对重传报文段的确认,则由此计算出的RTTs 和RTO 都会偏小。这就必然导致报文段过多地重传。这样就有可能使RTO 越来越短。

Kam 提出了一个算法:在计算加权平均RTTs 时,只要报文段重传了就不采用其往返时间样本。这样得出的加权平均RTTs 和RTO 就较准确。

新问题: 设想出现这样的情况:报文段的时延突然增大了很多。因此在原来得出的重传时间内,不会收到确认报文段。于是就重传报文段。但根据Kam 算法,不考虑重传的报文段的往返时间样本。这样,超时重传时间就无法更新。

解决方案: 对Kam 算法进行修正,方法是z报文段每重传一次,就把超时重传时间RTO 增大一些。典型的做法是取新的重传时间为2 倍的旧的重传时间。当不再发生报文段的重传时,才根据上面给出的公式计算超时重传时间。

流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来得及接收。

利用滑动窗口机制可以很方便地在TCP 连接上实现对发送方的流量控制。

接收方的主机B 进行了三次流量控制。第一次把窗口减小到rwnd =300,第二次又减到rwnd = 100 ,最后减到rwnd = 0 ,即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机B 重新发出一个新的窗口值为止。我们还应注意到,B 向A 发送的三个报文段都设置了ACK=1,只有在ACK=1 时确认号字段才有意义。

发生死锁: 现在我们考虑一种情况。上图中, B 向A 发送了零窗口的报文段后不久, B 的接收缓存又有了一些存储空间。于是B 向A 发送了rwnd = 400 的报文段。然而这个报文段在传送过程中丢失了。A 一直等待收到B 发送的非零窗口的通知,而B 也一直等待A 发送的数据。如果没有其他措施,这种互相等待的死锁局面将一直延续下去。

解决方案: TCP 为每一个连接设有一个 持续计时器(persistence timer) 。只要TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期,就发送一个 零窗口探测报文段 (仅携带1 宇节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。

1 TCP连接时是三次握手,那么两次握手可行吗?

在《计算机网络》中是这样解释的:已失效的连接请求报文段”的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送ACK包。这样就会白白浪费资源。而经过三次握手,客户端和服务器都有应有答,这样可以确保TCP正确连接。

2 为什么TCP连接是三次,挥手确是四次?

在TCP连接中,服务器端的SYN和ACK向客户端发送是一次性发送的,而在断开连接的过程中,B端向A端发送的ACK和FIN是是分两次发送的。因为在B端接收到A端的FIN后,B端可能还有数据要传输,所以先发送ACK,等B端处理完自己的事情后就可以发送FIN断开连接了。

3 为什么在第四次挥手后会有2个MSL的延时?

MSL是Maximum Segment Lifetime,最大报文段生存时间,2个MSL是报文段发送和接收的最长时间。假定网络不可靠,那么第四次发送的ACK可能丢失,即B端无法收到这个ACK,如果B端收不到这个确认ACK,B端会定时向A端重复发送FIN,直到B端收到A的确认ACK。所以这个2MSL就是用来处理这个可能丢失的ACK的。

1 文件传送协议

文件传送协议FTP (File Transfer Protocol) [RFC 959]是因特网上使用得最广泛的文件传送协议,底层采用TCP协议。

盯P 使用客户服务器方式。一个FTP 服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求:另外有若干个从属进程,负责处理单个请求。

在进行文件传输时,客户和服务器之间要建立两个并行的TCP 连接:“控制连接”(21端口)和“数据连接”(22端口)。控制连接在整个会话期间一直保持打开, FTP 客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

2 简单文件传送协议TFTP

TCP/IP 协议族中还有一个简单文件传送协议TFfP (Trivial File Transfer Protocol),它是一个很小且易于实现的文件传送协议,端口号69。

TFfP 也使用客户服务器方式,但它使用UDP 数据报,因此TFfP 需要有自己的差错改正措施。TFfP 只支持文件传输而不支持交耳。

3 TELNET

TELNET 是一个简单的远程终端协议,底层采用TCP协议。TELNET 也使用客户服务器方式。在本地系统运行TELNET 客户进程,而在远地主机则运行TELNET 服务器进程,占用端口23。

4 邮件传输协议

一个电子邮件系统应具如图所示的三个主要组成构件,这就是用户代理、邮件服务器,以及邮件发送协议(如SMTP )和邮件读取协议(如POP3), POP3 是邮局协议(Post Office Protocol)的版本3 。

SMTP 和POP3 (或IMAP )都是在TCP 连接的上面传送邮件,使用TCP 的目的是为了使邮件的传送成为可靠的。

㈩ 计算机网络TCP/IP等相关协议与原理

网络分层(由下到上):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

重点在: 物理层、数据链路层(这两层需要了解基本的原理)、网络层、传输层(这两层需要了解功能作用,原理和相关的一些协议)、应用层(http协议)。

开始之前先跟大家说一下协议,很多人不知道协议是什么,尤其是刚接触这方面东西的时候,一听协议,感觉很吊的样子,但是又不知其所云,其实,协议可以理解为:一个双方通信需要共同遵守的规范。

记住,在网络分层协议中,所有下层的协议的作用就是为了上层服务,谨记!

接下来,我跟大家一一道来,首先登场的是物理层。

这一层主要就是跟硬件打交道,这一层也是所有上层的基础。

数据链路层强调的是一种传输规范,这是指什么呢?说白了,就是指每次传输的最大容量(最大传输单元),数据组织结构(以太网帧的概念)、传输的目的地等。

MAC地址:烧录在网卡ROM中的一串数字,长度48bit。

分组交换:较大数组分割为较小数组,依次发送。
原因是数据链路层有不定长度的最大传输单元。

以太网的帧的概念:前导码(8字节)+本体(首部+数据+FCS)

原理:依靠MAC地址决定向哪个端发送数据,需要“转发表”。
转发表是交换机自动学习得到的。

作用:保证不同数据链路层下数据的可达性。

ARP协议(获取MAC地址)和ICMP协议(数据发送异常通知)

作用:识别对端信息的地址。地址为32位正整数表示,分为四个部分,每个部分由8位整数组成。说白了,是识别要传输目的地的地址。
每位对应十进制范围:0-255。

[注]:网络标识和主机标识是为了寻址而发明。

A类:
第一位为“0”的地址,前8位为网络标识,0.0.0.0-127.0.0.0是A类IP地址的理论范围。
B类:
前两位为“10”的地址,前16位是网络标识,128.0.0.0-191.255.0.0,主机标识16位。
C类:
前三位为“110”的地址。前24位网络标识,192.0.0.0-223.255.255.0,主机标识为8位。
D类:
前4位为“1110”的地址。网络标识为32位,没有主机标识。

IP地址长度仅可表达43亿左右的主机数目,(区分网络标识和主机标识)共32位(一段连续的0和一段连续的1)组成,1的长度就表示网络标识的长度。

子网掩码的作用是区分IP地址是否在同一子网内。

分组数据发送到目标地址的功能,持有路由控制表,它在路由控制表中查找目标IP地址对应的下一个路由器地址。

源主机--->网卡--->路由器1(路由器控制表)--->路由器2--->网卡--->目标主机

IP协议最大包为2的16次幂,等于65536.

接下来介绍几个IP协议相关的协议或技术:

将域名转化为IP地址(域名也是分层处理请求的,每一层都有对应的DNS服务器)。

通过目标IP地址,定位下一个接收数据包的网络设备(主机或路由器)的MAC地址。

在数据链路层发送广播,如果没有ARP技术,就没有办法穿透中间的服务器(ARP请求+ARP应答)。

NAT:用于将局域网中的私有地址转换为全局IP地址的技术。
每个路由器只有一个对外的全局IP地址,如果一个内网主机都向外通讯,怎么办?
就要使用到NATP技术,可转为TCP和UDP端口号。
不同的内网IP被转换成同一个公共的IP,但是NAPT技术可以使用不同的端口加以区分。

NAT和NAPT都需要路由器内部维护一张转换表。

举例:TCP首次SYN时,会生成这个表,关闭连接时会发出FIN包,收到这个包应答时转换表会被删除。

定义:实现应用程序之间的通信。
TCP:面向有连接的协议,建立连接需要3步,关闭连接需要4步。
具备数据重传、流量控制等功能,能正确处理丢包功能并有效利用宽带。
UDP:比较适合做实时视频和音频,效率比TCP高。

TCP有5个要素:源IP地址、目标IP地址、源端口号、目标端口号、协议号,同一台机器的端口号可以区分为不同的应用程序。

校验和=源IP地址(IP协议首部)+目标IP地址(IP协议首部)+源端口+目标端口

包长度=首部长度+数据长度

应该可以从下图看出来,TCP的首部比UDP的首部要复杂的多,所以也一定会影响的传输的速度和效率。

简单介绍一下首部的相关参数:

序列号:发送数据的位置
确认应答号:下一次应用接收到的数据的序列号
数据偏移:TCP首部的长度,单位为4字节。
控制位:长度为8位。
窗口大小:用于表示从应答号开始能够接受多少个8位字节。
紧急指针:尽在URG控制位为1时有效,表示紧急数据的末尾在TCP数据部分中的位置。

接下来最重要的一个技术点来了:

以下是通俗话解释连接和断开过程:
建立连接的过程:
1.client:我要建立连接。
2.server:我知道你要建立连接了,我这边没问题。
3.client:我了解你知道我要建立连接了,开始通信吧!

结束连接的过程:
1.client:我要关闭连接了
2.server:你那边可以关闭了
3.server:我这边也准备关闭了
4.client:我已关闭,你可以关闭了

[注]:连接是双方面的,所以关闭也是要自行关闭的。

数据包重发:保证ACK的值和发送方下次发送数据包的序列号相等。

接收方通过TCP首部中的控制位SYN判断这个数据是否曾经接收过?接收过就会舍弃。
重传超时时间(RTO)动态改变,略大于连接往返时间(RTT),RTO有自己的估算公式

定义:无需等待ACK,可以发送的最大数量。(窗口大小由接收端控制)
作用:为了解决发送数据包后,直至ACK确认返回之前,发送端都无法在进行发送的问题。

定义:接收端有缓存区数据溢出(如果窗口较大)
通俗一点的意思就是让发送方慢一点,免得接收方接收不过来。

TCP会慢启动算法得出窗口的大小,对发送数据量进行控制。
发送方拥有一个拥塞窗口,对发送的数据量进行控制。
TCP协议中的窗口是指:发送方和接收方窗口中的最小值。

1.通讯开始,发送方窗口为1。每收到一个ACK确认后,拥塞窗口翻倍。
2.由于指数级增长快,很快就会出现确认包超时。
3.设置慢启动阈值,它的值为拥塞窗口的大小的一半。
4.将拥塞窗口大小设置为1,重新进入慢启动过程。
5.慢启动阈值存在,当拥塞窗口大小达到阈值时,不再翻倍,而是线性增长。
6.随窗口大小的不断增长,可以收到三次重复的ACK,进入“快速重发”阶段。
7.TCp将慢启动阈值设置为当前拥塞窗大小的一半,再将拥塞窗口大小设成阈值大小。
8.拥塞窗口又会线性增加,直至下一次出现3次ACK或者超时。