2013-08-17 17:31:49


  • 1.7 分用

  分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接受数据的上层协议——换一种思路理解就是,为数据制定一条解析的路线。

  • 1.8 客户-服务器模型

服务的类型:

(多为UDP服务器,当然也存在例外)重复型 (TCP服务器)并发型
I1.等待一个客户请求的到来 C1.等待一个客户请求的到来
I2.处理客户请求(这个时候,它不能为其他客户机提供服务) C2.启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程或任务线程,并依赖底层操作系统的支持。这个步骤如何进行取决与操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个服务器
I3.发送响应给发送请求的客户 C3.返回C1步
I4.返回I1布  

以上分类是对服务器分的,为什么不对客户分?因为客户通常不能辨别自己是与一个重复型服务器或并发型服务器进行对话。

  • 1.9 端口号
1.TCP和UDP采用16bit的端口号来识别应用程序
2.任何TCP/UDP实现所提供的服务都用知名的1~1023之间的端口号。这些知名端口号由Internet号分配机构(Internet Assigned Numbers Authority, IANA)来管理
3.客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行
4.大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的(Internet上并不常用的服务)
5.在Linux下端口-服务信息存在/etc/services文件中,我们可以通过grep telnet /etc/services来查看telnet的端口号(我们可以发现相同的端口可以既有TCP服务又有UDP服务哦~)

查看一些端口号和服务:

 raphael@raphael-Aspire-5741G:~$ grep  /etc/services

输出:

 http        /tcp        www        # WorldWideWeb HTTP
http /udp     # HyperText Transfer Protocol
socks /tcp       # socks proxy server
socks /udp
http-alt /tcp    webcache # WWW caching service
http-alt /udp
nbd         /tcp      # Linux Network Block Device
amanda /tcp      # amanda backup services
amanda /udp
omirr /tcp omirrd # online mirror
omirr /udp omirrd
canna /tcp       # cannaserver
zope-ftp /tcp       # zope management by ftp
tproxy /tcp       # Transparent Proxy
omniorb /tcp       # OmniORB
omniorb /udp
  • 1.10 标准化过程

Q:究竟是谁控制着TCP/IP协议族,又是谁在定义新的标准以及其他类似的事情?

A:

Internet协会(ISOC, Internet Society) 是一个推动、支持和促进Internet不断增长和发展的专业组织,它把Internet作为全球研究通信的基础设施
Internet体系结构委员会(IAB, Interent Architecture Board) 是一个技术监督和协调的机构。它由国际上来自不同专业的15个志愿者组成,其只能是负责Internet标准的最后编辑技术审核。IAB隶属于ISOC。后两个隶属与IAB。
Interent工程专门小组(IETF, Internet Engineering Task Force) 是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。IETF开发成为Internet标准的规范。为帮助IETF主席,又成立了Internet工程指导小组(IESG, Internet Engineering Steering Group)
Interent研究专门小组(IRIF, Interent Research Task Force) 主要对长远的项目进行研究。
  • 1.11 RFC

RFC(Request for Comment):关于Internet的正式标准文档。下面为重要的RFC文档:

赋值RFC 列出了所有Internet协议中使用的数字和常量
Internet正式协议标准 描述了各种Interent协议的标准化现状
主机需求RFC 列出了协议中关于“必须”、“应该”、“可以”、“不应该”或者“不能”等特性及其实现细节
路由器需求RFC 与主机需求RFC类似,但是只单独描述了路由器的需求
  • 1.12 简单的标准服务

  从该图中可以看出,当使用TCP和UDP提供相同的服务时,一般选择相同的端口号。

我们仔细检查标准的简单服务以及其他标准的TCP/IP服务(如,Telnet、FTP、SMTP等)的单口号会发现,它们都是奇数!这是有历史原因的。当年使用NCP协议的时候(TCP前身,ARPANET的运输层协议),由于NCP是单工的,所以每个应用程序需要两个连接,需要预留一对奇数和偶数端口号。如今为了纪念科技的进步(也许由其他原因==!),都选用奇数作为全双工协议的端口号。

  • 1.13 互联网
internet 用一个共同协议族把多个网络连接起来
Internet 世界范围内通过TCP/IP相互通信的所有主机集合。Interent是一个internet,但internet不等于Internet
  • 1.14 实现

  现在使用的TCP/IP协议是随同4.x BSD(Berkeley Software Distribution)系统的网络版一起开发并发布的。可以简单看一下它们的发展历史:

  • 1.15 应用编程接口

  使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket(又称作“Berkeley socket”,表明是从伯克利版发展而来的)和TLI(运输层接口:Transport Layer Interface,起初由AT&T开发)。

  • 1.16 测试网络

  下图是书中所有例子运行的测试网络,很重要!

  在这个图中(作者的子网),大多数的例子都运行在下面四个系统中。图中所有的IP地址属于B类地址,网络好为140.252。所有的主机名属于.tuc.noao.edu这个域。例如,右下方的系统有一个完整的名字:svr4.tuc.noao.edu,其IP地址是:140.252.13.34.每个方框上方的名称是该主机运行的操作系统。这一组系统和网络上的主机及路由器运行于不同的TCP/IP实现。

  • 1.17 小结

  本章快速的浏览了TCP/IP协议族,介绍了在后面的章节中将要详细讨论的许多术语和协议。

  TCP/IP协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任。在TCP/IP中,网络层和运输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而运输层(TCP和UDP)提供端到端的服务。

  一个互联网是网络的网络。构造互联网的共同基石是路由器,它们在IP层把网络连在一起。第一个字母大写的Internet是指分布在世界各地的大型互联网,其中包括1万多个网络和超过100万台主机。

  在一个互联网上,每个接口都用IP地址来标识,尽管用户习惯使用主机名而不是IP地址。域名系统为主机名和IP地址之间提供动态的映射。端口号用来标识互相通信的应用程序。服务器使用知名端口号,而客户使用临时设定的端口号。

『TCP/IP详解——卷一:协议』读书笔记——03的更多相关文章

  1. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  2. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  3. 『TCP/IP详解——卷一:协议』读书笔记——18

    2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送 ...

  4. 『TCP/IP详解——卷一:协议』读书笔记——14

    2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...

  5. 『TCP/IP详解——卷一:协议』读书笔记——13

    2013-08-24 16:03:39 4.6 ARP代理 ARP代理(Proxy ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求.这样可 ...

  6. 『TCP/IP详解——卷一:协议』读书笔记——11

    2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...

  7. 『TCP/IP详解——卷一:协议』读书笔记——07

    2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图 ...

  8. 『TCP/IP详解——卷一:协议』读书笔记——06

    2013-08-20 14:41:01 2.8 最大传输单元MTU MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节.这个不同网络对应的传输上限 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——05

    2013-08-19 22:35:57 2.6 PPP:点对点协议 PPP点对点协议修改了SLIP协议中的所有缺陷: 1. 在串联链路上封装IP数据报的方法.PPP即支持数据为8位&无奇偶检验 ...

  10. 『TCP/IP详解——卷一:协议』读书笔记——04

    2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接 ...

随机推荐

  1. win32手动创建windows窗口的,小记

    摘抄自文档,其中的函数需要以后花时间看 向 WinMain 添加功能 首先,在 WinMain 函数内部创建 WNDCLASSEX 类型的窗口类结构. 此结构包含有关窗口的信息,如应用程序图标.窗口的 ...

  2. 我要崩溃了,要解出这么一段js代码背后的东西,这真是一坨啊,别被高度欺骗了,他还有宽度!!!!!试着按下方向右键

    一坨js代码: function s_gi(un, pg, ss) { var c = "s.version='H.26';s.an=s_an;s.logDebug=function(m){ ...

  3. NHibernate系列文章二十六:NHibernate查询之SQL Query查询(附程序下载)

    摘要 NHibernate在很早的版本就提供了SQL Query(原生SQL查询),对于很复杂的查询,如果使用其他的查询方式实现比较困难的时候,一般使用SQL Query.使用SQL Query是基于 ...

  4. [转]df命令

    linux中df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法:df [选项] 该命令各个选项的含义如下: -a 显示所有文件 ...

  5. eclipse javascript验证报错

    项目右键->properties

  6. oracle 方向及资料

    总结了一下大家的意见,也加了一些个人的看法,Oracle的学习路径,可供参考: 初级阶段: 可以从OCP教材开始,还有文档中的Administrator's Guide.Concepts.Perfor ...

  7. webform注册和Repeater

    一.注册1.日期(1)年月日用三DropDownList个,分别循环写入数字 代码写在后台  Page_Load中的代码 if (IsPostBack == false) { //年绑定数据 ; i- ...

  8. Adapter(适配器)-类对象结构型模式

    1.意图 将一个类接口转换成客户希望的另外一个接口.Adapter模式使那些原本不能一起工作的类,可以一起工作. 2.别名 包装器 Wrapper. 3.动机 一个应用可能会有一些类具有不同的接口,并 ...

  9. poj 2536 Gopher II (二分匹配)

    Gopher II Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6345   Accepted: 2599 Descrip ...

  10. JS中的this对象详解

    JS中this关键字很常见,但是它似乎变幻莫测,让人抓狂.这篇文章就来揭示其中的奥秘. 借助阮一峰老师的话:它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.这句话看似平常,可是要非常注意 ...