转载:http://www.cnblogs.com/imyalost/p/6139191.html

一、TCP/IP的标准化

1、TCP/IP的含义

一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称。

具体点,IP或ICMP、TCP或UDP、TELENT或FTP、以及HTTP等都属于TCP/IP协议,而TCP/IP一词泛指这些协议,有时称它们为TCP/IP为网际协议族/TCP/IP协议族

如下图所示:

 

2、标准化的精髓

特性:开放性、注重实用性(被标准化的协议能否被实际运用)

TCP/IP协议由IETF(国际互联网工程任务组)讨论制定;即将协议的大致规范定下来,然后进行通信试验,及时修订

3、规范——RFC

RFC:request for comment,即征求意见表;那些需要标准化的协议,会被计入RFC并在互联网上公布;RFC不仅包含协议规范内容,还包括协议实现和运用的相关信息,以及实验方面的信息

RFC通过编号组织每个协议的标准化请求;其编码是既定的,一旦成为某个RFC的内容,就不能再对其进行修改;若要修改已有某个协议内容,则需要重新发行一个新的RFC文档,同时,老的RFC文档作废

新的RFC文档会明确规定是扩展了哪个已有RFC以及要作废哪个已有RFC

基于每次修改RFC时都会产生新的RFC编号太麻烦,为此,采用了STD(standard)方式管理编号,其作用是:用来记录哪个编号制定哪个协议

4、TCP/IP的标准化流程

TCP/IP的标准化流程大概分为以下几个阶段:

①.互联网草案阶段:从提出开始不断进行讨论实验,有了一定成熟度,觉得实际可行,认为其可以进行标准化,可进入下一阶段

②.提议标准阶段:计入RFC,开始进入众多设备厂商生产环节,投入试验使用,一般为6个月,当所有参与协议的人觉得其“实用性强,不存在太多问题”,则进入下一阶段

③.草案标准阶段:一般为期4个月,在经过不断的使用和讨论改进后,被大众所使用接受,那么这个草案标准就进入下一个阶段

④.标准阶段:到这个阶段,意味着该标准已广泛被使用且具有很强的实用性

5、RFC获取方法

①.网址:http://www.rfc-editor.org/rfc/

ftp://ftp.rfc-editor.org/in-notes/

这两个网址保存着所有的RFC文件,网站中有一个名为rfc-index.txt的文件,包含所有RFC概览;RFC网站除了发布RFC相关信息,还提供RFC检索功能

②.STD或FYI以及ID获取地址

关于STD、FYI、ID也可以从以下网站获取,其概览一分别记录在std-index.txt、fyi-index.txt等文件中

STD获取地址:http://www.rfc-edctor.org/in-notes/std/

FYI获取地址:http://www.rfc-edctor.org/in-notes/fyi/

ID获取地址:http://www.rfc-edctor.org/Internet-drafts/

JPNIC的ftp服务器中的目录:

STD获取网址:ftp://ftp.nic.ad.jp/rfc/std/

FYI获取网址:ftp://ftp.nic.ad.jp/rfc/fyi/

ID获取网址:ftp://ftp.nic.ad.jp/internet-drafts/

二、互联网基础知识

1、互联网定义

互联网,英文单词为Internet;Internet指的是将多个网络连接使其构成一个更大的网络,所以Internet本意为网际网

“互联网”是指由ARPANET发展而来、互联全世界的计算机网络;互联全世界的计算机网络,现在“互联网”对应的英文单词为“The Internet”

与Internet对应的另一种网络叫做intranet,该网络指使用Internet技术将企业内部组织机构连接起来形成一个企业范围的内部网络,提供面向企业内部的通信服务

2、互联网与TCP/IP关系

互联网进行通信时,需要相应的网络协议,TCP/IP是为使用互联网而开发定制的协议族;因此,互联网的协议就是TCP/IP

3、互联网的结构

小范围内的网络连接形成机构内部网络,机构内部网络连接形成区域网络,各个区域相互连接,则形成连接全是的互联网;互联网是一个有层次的网络

互联网中每个网络都是由骨干网(BackBone)和末端网(Stub)组成;每个网络之间通过NOC相连;如果运营商不同,则网络连接方式和使用方法也不同。异构网络需要有IX支持

互联网就是众多异构网络通过IX互联的一个巨型网络

△ NOC:Network Operation Center(网络操作中心)

△ IX:Internet Exchange:网络交换中心

4、ISP和区域网

连接互联网需要向ISP(internet service provider:互联网服务提供商)或区域网提出申请,不同的ISP提供的互联网接入服务也不同

区域网指的是特定区域内由团体或志愿者提供的网络服务,通常价格比较便宜,但有时会出现连接方式复杂或者使用有限制的情况

当申请网络服务时,建议确认了解一下提供的具体服务条目、服务的细则(接入方式、条件、费用)等,再决定

三、TCP/IP协议分层模型

1、TCP/IP与OSI参考模型

TCP/IP与OSI在分层模块上的区别:

OSI:注重通信协议必要的功能是什么

TCP/IP:在计算机上实现协议应该开发哪种程序

2、硬件(物理层)

TCP/IP的最底层是负责数据传输的硬件。这种硬件就相当于以太网或电话线路等物理层的设备,TCP/IP是在网络互连的设备之间能够通信的前提下才被提出的协议。

3、网络接口层(数据链路层)

利用以太网中的数据链路进行通信,属于接口层;将其当做“驱动程序”也可以(驱动程序是在操作系统与硬件之前起桥梁作用的软件)

PS:有时也将硬件层和网络接口层合并起来,称为“网络通信层”

4、互联网层(网络层)

互联网层使用IP协议,相当于OSI中的第三层模型;IP协议基于IP地址转发分包数据

IP协议的作用:将分组数据包发送到目的主机

TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供,尤其是路由器,它必须得实现通过互联网层转发分组数据包的功能

连接互联网的所有主机跟路由器必须都实现IP功能,其他链接互联网的网络设备(网桥、中继器)则不是必须

IP:跨越网络传送数据包,使整个互联网都能收到数据的协议;传送数据时,IP地址作为主机的标识

IP还隐含数据链路层的功能:通过IP,相互通信的主机之间不论经过怎样的数据链路,都可以实现通信

IP是分组交换的一种协议,但是不具有重发机制;即使分组数据包未到达对端主机也不会重发;属于非可靠性传输协议

ICMP:IP数据包发送过程中一旦发生异常导致无法到达对端目标地址时,需要给发送端一个发生异常的通知,ICMP就是为了该功能而定制;有时可用来诊断网络健康状况

ARP:从分组数据包的IP地址解析出物理地址(MAC地址)的一种协议

5、传输层

TCP/IP传输层有TCP和UDP两个具有代表性的协议,主要功能是让应用程序之间实现通信;其通信逻辑如下图:

TCP:面向有连接的传输层协议,可以保证通信两端主机之间的通信可达;可以正确的处理传输过程中丢包、传输乱序等异常情况;还能有效利用带宽,缓解网络拥堵。

UDP:面向无连接的传输层协议,不关注对端是否真的收到传送的数据;如需检查对端是否收到分组数据包,或对端是否连接到网络,需要在应用程序中实现常用于分组数据较少或多播。广播通信及视频通信等领域。

6、应用层(会话层以上的分层)

TCP/IP分层中,将OSI中的会话层、表示层、应用层都集中到了应用程序中实现

TCP/IP应用的架构绝大多数术语客户端/服务端模型;提供服务的程序叫服务端,接受服务的程序叫客户端,服务器会预先部署到主机上,等待接收任何时刻客户端发送的请求

常见的应用层协议:

HTTP协议:(HyperText Transfer Protocol)

浏览器与客户端通信所使用的协议,传输数据主要格式为HTML,http协议OSI应用层协议,而HTML属于表示层的协议

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

传输过程可以选择用二进制还是文本方式,传输时会建立两个TCP连接:发送传输请求时用到的控制连接和实际传输时用到的数据连接

电子邮件协议:SMTP(Simple Mail Transfer Protocol)

可以发送声音图像文字,甚至改变文字大小、颜色等

远程登录(TELNET与SSH):

常见的还有其他远程登录协议,比如:BSD UNIX系中的rlogin的r命令和X Window System中的X协议

网络管理协议:SNMP(Simple Newwork Management Protocol)

在TCP/IP进行网络管理时,采用该协议,其中使用SNMP管理的主机。网桥、路由器等称作SNMP代理(Agent),进行管理的那一段叫做管理器(Manager)

在SNMP代理端,保存着网络接口信息、通信数据量、异常数据量以及设备温度等信息,这些信息通过MIB访问,在TCP/IP中,SNMP属于应用协议,MIB属于表示层协议

MIB(Management Information Base):可透过网络的结构变量

四、TCP/IP分层模型

1、数据包首部

每个分层都会对所发送的数据附加一个首部,首部中包含该层必要的信息;通常为协议提供的信息为包首部,所要发送的内容为数据

关于包、帧、数据报、段、消息的概述:

包:一个概括性术语,指数据整体

帧:数据链路层中包的单位

数据报:IP和UDP等网络层以上分层中包的单位

段:TCP数据流中的信息

消息:应用协议中数据的单位

2、发送数据包

假设A发送邮件“早上好”给B,那么它的通信过程大概如下:

①.应用程序处理

应用程序启动,新建邮件及内容,点击发送,应用程序对邮件进行编码处理,然后发送给下一层TCP

②.TCP模块的处理

根据上层应用发来的指示,建立负责建立连接、发送连接及断开连接;TCP提供将应用层发来的数据顺利发送至对端的可靠传输

为了实现该功能,会在应用层数据前端加一个TCP首部,首部包括源端口号和目标端口号。序号以及校验,随后将附加了TCP首部的包发送给IP

③.IP模块的处理

IP将TCP传递的首部和数据合并,并在首部之前加上自己的IP,IP包生成后,参考路由控制表决定接受此IP包的路由或者主机,随后,IP包将被发送给连接这些路由或主机网络接口的驱动程序,实现发送数据

④.网络接口(以太网驱动)的处理

以太网接受到的IP包,对其来说就是数据,会给其加上以太网首部并进行发送处理,首部中包含接收端MAC地址,发送端MAC地址以及标志以太网类型的以太网数据协议

3、数据包接收处理

①.网络接口(以太网驱动)的处理

主机收到以太网包,首先找到MAC地址判断是否为发送给自己的,如果不是则丢弃数据

如果是,则确认数据类型,然后将数据包发送给对应的类型处理程序处理

②.IP模块的处理

收到数据包先进行判断处理,如果包首部IP地址与自己匹配则接受数据并寻找到上一层协议,并转发给上一层进行处理

③.TCP模块的处理

接收到数据包首先计算校验和,判断数据包是否被破坏,然后检查是否按序接受数据,最后检查端口号,确定具体应用程序

数据接受完毕,接收端发送一个“确认回执”个发送端

④.应用程序的处理

接收端应用程序会直接接收发送端的数据,并进行解析处理

转载于:https://www.cnblogs.com/huangjianping/p/7995547.html

TCP/IP协议(二)tcp/ip基础知识相关推荐

  1. 【TCP/IP 协议】 TCP/IP 基础

    总结 : 通过学习 TCP/IP 基础, 并总结相关笔记 和 绘制思维导图 到博客上, 对 TCP/IP 框架有了大致了解, 之后开始详细学习数据链路层的各种细节协议, 并作出笔记; 博客地址 : h ...

  2. [架构之路-43]:目标系统 - 系统软件 - Linux下的网络通信-3-TCP/IP协议族:IP、TCP/UDP/SCTP、Socket、应用层协议

    目录 第1章 TCP/IP协议简介 1.1 简介 1.2 协议栈 1.3 IP网络 第2章 IP协议 2.1 简介 2.2 IP功能 2.4 IP V4地址 2.5 IP V6地址 2.6 IPV4地 ...

  3. 【计算机网络】TCP/IP协议(DNS协议、IP协议、TCP协议、UDP协议、三次握手、四次挥手)

    TCP/IP协议 TCP/IP协议 TCP/IP各层作用与常见协议 各种协议与HTTP协议的关系 TCP/IP协议 本文参考<图解HTTP>--上野宣 TCP/IP是Internet上所有 ...

  4. TPC/IP协议中与IP相关的知识点简介

    TPC/IP协议中与IP相关的知识点简介 简介 TCP/IP参考模型作为实现网络连接性和互操作性的关键,它使得网络上不同的计算机具有互操作能力,并且在较差的网络环境下可维持主机之间的连接 其协议结构分 ...

  5. IP协议详解(IP协议格式、IP地址管理、路由转发)

    目录 1. IP协议格式 2. IP地址管理 2.1 早期地址管理方式 2.2 CIDR方式 3. 网络层的路由转发 1. IP协议格式 如图: 4位版本:标识当前是ipv4协议. 4位首部长度:和T ...

  6. 第三十二章 XML基础知识概念

    文章目录 第三十二章 XML基础知识概念 attribute CDATA区域 comment content model default namespace DOM DTD(文档类型定义) eleme ...

  7. 【小波分析】二、小波分析基础知识

    [小波分析]二.小波分析基础知识 文章目录 [小波分析]二.小波分析基础知识 基本记号 信号空间 内积和模(范数) 傅里叶变换及其性质 正变换(分解) 逆变换(重构) 傅里叶变换的性质 小波基 傅里叶 ...

  8. 网络编程--TCP/IP协议(二)

    目录 前言 一丶TCP协议格式 端口号 序列号 确认号 首部长度 保留字段 标志位字段 窗口大小 检验位 紧急指针 可选项字段 二丶TCP协议的特性 <1>TCP协议的特点 <2&g ...

  9. TCP/IP协议族的网络层基础(1)——网段划分

        网络层实现数据包的选路和转发.WAN(广域网)通常使用众多分级的路由器来连接分散的主机或LAN(局域网),因此通信的两端通常不是直接相连的,而是通过多个中间节点(路由器)连接的.     网络 ...

  10. python http协议获取对方的ip地址_http协议(一)基础知识

    参考:老张 http://link.zhihu.com/?target=https%3A//www.cnblogs.com/imyalost/p/5627816.html 参考书籍--<图解ht ...

最新文章

  1. 当前路径_[JSP] 07 JSP 路径问题
  2. IDEA Reference - Essentials(基本要义)
  3. window查看端口号使用_踩坑搭建vue说端口号被占用?
  4. abb变频器如何就地增加频率_abb变频器报接地故障如何处理,故障原因分析
  5. 分析递归函数的时间复杂度
  6. ORACLE ORA-02030: can only select from fixed tables/views
  7. Lesson 1:单线程 Socket Communications(一)
  8. Image Cup,我和几位师兄一起奋战!
  9. python教程-Python教程
  10. 同事:你居然还在用 try catch 处理异常? 有点Low啊
  11. [转载] 在 CentOS 7 中安装 MySQL 8
  12. Java练手小游戏集结,你还在等什么
  13. C语言视频教程-谭浩强版-小甲鱼主讲—P19
  14. Linux内核模块编程入门( 最简单的内核模块编程)
  15. esp8266 继电器接线图_如何使用ESP8266和Android控制继电器
  16. 微信小程序云开发入门详细教程
  17. 同一个服务器装oracle,windows下同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库...
  18. python 删除指定目录_删除Python中除一个子目录外的目录
  19. 书单 | 做数字化转型,离不开这10本书!
  20. Hive数据库创建表

热门文章

  1. Git使用列表(四)
  2. 1365 浴火银河星际跳跃 (并查集)
  3. 使用 gpg 加密文件 - 通过 shell 或 php
  4. MySQL 删除字段数据某关键字后的所有数据
  5. 戴尔笔记本win8全新安装
  6. gzip与patch说明
  7. 如何自定义IHttpHandler
  8. caffe在ubuntu18.04下编译
  9. Android的JNI开发涉及的char和string之间的互相转换
  10. java 会话跟踪技术_JavaEE基础(04):会话跟踪技术,Session和Cookie详解