心无尘土
一段平凡的日子,一段流逝的岁月

1.分层
   TCP/IP是一组不同协议组合在一起构成的协议族。也叫做Internet Protocal Suite(协议族)。
   TCP/IP通常被认为是一个四层协议系统。

            应用层--------Telnet,FTP,E-mail...
                ↓
            运输层--------TCP,UDP
                ↓
            网络层--------IP,ICMP,IGMP
                ↓
            链路层--------设备驱动程序及接口卡

   一般来说,应用程序是一个用户进程,而下三层是在操作系统的内核执行。应用程序关心的是应用程序的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,而要处理所有的通信细节。

2.链路层
   也称为数据链路层或者网络接口层。
   通常包括操作系统中的设备驱动程序和计算机中的网络接口卡。

3.网络层
   也称为互联网层。
   处理分组在网络中的活动,如分组的选路。
   IP:网际协议
   ICMP:Internet互联网控制报文协议
   IGMP:Internet组管理协议

4.运输层
   主要是为两台主机上的应用程序提供端到端的通信。
   TCP:传输控制协议。提供可靠性的数据通信。
   UDP:用户数据报协议。提供简单的服务,可靠性必须由应用层来提供。

5.应用层
   负责处理特定的应用程序细节。
   Telnet:远程登录
   FTP:文件传输协议
   SMTP:简单邮件传送协议
   SNMP:简单网络管理协议

6.路由器
   构造互联网最简单的方法就是把两个或者多个网络通过路由器连接。
   它是一种特殊的用于网络互连的硬件盒。也称作IP路由器。(IP Router)。
   以前,这些盒子也称为网关(gateway).
   现在网关指的是应用层网关:一个连接两种不同协议族的进程。(如TCP/IP和IBM的SNA)。它为某个特殊的应用程序服务(常常是电子邮件或文件传输)。
   
7.网络层和应用层分开的原因
  
   FTP客户← ---------------------------------------------------------------------------------- → FTP服务器
         ↑ --------------------------------------------------------------------------------------------------- ↑
         ↓ --------------------------------------------------------------------------------------------------- ↓
       TCP←‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐→TCP
         ↑ --------------------------------------------------------------------------------------------------- ↑
         ↓ --------------------------------------------------------------------------------------------------- ↓
         IP← --------------------------- IP协议 =======IP======= IP协议 --------------- →IP
         ↑                                           |                                     |                                    ↑
         ↓                                           |                                     |                                      ↓
   以太网驱动程序←以太网→以太网                        令牌环← 令牌环→令牌环驱动程序
                                      协议      驱动程序                    驱动程序      协议


   这是个简单的草图,构成为:
      End System(端系统:两边的主机-客户机服务器形式)。
      Intermediate system(中间系统:中间的路由器)。
   由此我们可以得出以下结论
   1.应用层和运输层使用的是端到端协议(End-to-end)
   2.网络层提供的是逐跳协议(Hop-by-hop).端系统和每个中间系统都要使用它
   3.路由器具有两个或者多个网络接口层(为了连接2个或多个网络)→multihomed多接口的
   4.网络层提供的是一种不可靠的服务,只是尽可能快地把分组从源结点送到目的结点,但是不提供可靠性保证
   5.TCP在不可靠的IP层上提供了一个可靠的运输层,为了提供该可靠服务,TCP采用了超时重传,发送和接受的端到端确认分组等机制
   6.综上,运输层和网络层分别负责不同的功能,分开是有必要的。

   备注:
   连接网络的另一个途径是通过网桥。它是在链路层上对网络进行互连。网桥使多个局域网组合在一起,这样对上层来说好像就是一个局域网。
   数据报:发送方传输到接收方的一个消息单位。

8.互联网地址
   互联网上每个接口都必须有一个唯一的Internet地址(IP地址)。IP地址长32bit.
   A类:   0 7位网络号 24位主机号               0.0.0.0 - 127.255.255 (点分十进制表示法:Dotted decimal notation)
   B类:   10 14位网络号 16位主机号            128.0.0.0 - 191.255.255.255
   C类:   110 21位网络号 8位主机号            192.0.0.0 - 223.255.255.255
   D类:   1110 28位多播组号                          224.0.0.0 - 239.255.255.255
   E类:   11110 27位留待后用                        240.0.0.0 - 247.255.255.255

   多接口主机具有多个IP地址,其中每个接口对应一个。
   互联网网络信息中心InterNIC(Internet Network Information Centre)负责分配网络号,主机号由系统管理员来负责。

9.域名系统
   DNS域名系统是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。
   任何应用程序都可以调用一个标准的库函数来查看主机名对应的IP地址,或者相反。所以一般以主机名为参数的应用程序也可以IP地址为参数。

10.封装和分用
   封装:传送数据的时候,数据被送入协议栈,然后逐个通过每一层直到被当作一窜比特流送入网络。每一层对收到的数据都要增加一些首部信息,有时候还要加上尾信息。TCP传给IP的数据单元叫做TCP报文段TCP段TCP segment)。IP传给网络接口层的数据单元称作IP数据报IP datagram)。通过以太网传输的比特流称作Frame)。
   分用:当目的主机收到一个以太网数据帧的时候,数据从数据栈中有底部开始往上升,同时去掉各层协议加上的报文首部。分层的协议盒都要去检查报文首部的协议标识,以确认接收数据的上层协议。这个过程就是分用(Demultiplexing)。
   
   以太网的数据帧的物理特性是其长度必须在46-1500字节之间。(字节:octet,byte)
   IP在首部中存入一个长度为8bit的数值,称为协议域。1:ICMP,2:IGMP,6:TCP,17:UDP。
   TCP和UDP都用一个16bit的端口号来表示不同的应用程序。TCP和UDP把源端口号和目的端口号分别存入报文首部中。
   给ICMP,IGMP定位的问题:IGMP,ICMP的报文实际上封装在IP数据报中。

11.客户-服务器模型
   服务分为两种类型:
   ①重复型
      1.等待一个客户请求的到来
      2.处理用户请求
      3.发送响应给发送请求的客户
      4.返回第一步
   ②并发型
      1.等待一个客户请求的到来
      2.启动新的服务器(生成新的进程,任务,线程...)来处理用户要求。
         (新的服务器对用户要求处理并返回。处理后,结束这个新的服务器)
      3.返回第一步

   TCP服务器通常是并发的,UDP服务器通常是重复的。

12.端口号
   任何TCP/IP实现所提供的服务都用知名的1-1023之间的端口号。这些端口号是Internet号分配机构(Internet Assigned Numbers Authority,IANA)来管理。
   FTP服务器的TCP端口号 21
   Telnet服务器的TCP端口号 23
   TFTP服务器的UDP端口号 69

   客户端对使用的端口号并不关心,只需要保证该端口号在本机上唯一即可。客户端口号又称作临时端口号。这是应为它通常只在用户运行该客户程序时才存在。大多数TCP/IP给临时端口号分配的1024-5000之间的端口号。Solaris2.2是一个有名的例外。它的临时端口号是从32768开始。
   大多数Unix的系统的文件/etc/services里面包含了常用的端口号。查找的时候-〉grep servicename /etc/services

   Unix系统有保留端口号的概念。只有特级用户权限的用户的进程才能允许给自己分配保留端口号。保留端口号介于1-1023之间。

13.标准的简单服务
   service     tcp   udp  RFC
   echo         7     7   862服务器返回客户发送的所有内容
   discard      9     9   863服务器丢弃客户发送的所有内容
   daytime      13    13  867服务器以可读方式返回时间和日期
   chargen      19    19  864当用户发送一个数据报时,TCP服务器发送一窜连续的字符流直到客户中断连接。
                                         UDP服务器发送一个随机长度的数据报
   time         37    37  868服务器返回一个2进制的32bit数,表示从UTC1900年1月1日午夜至今的秒数

14.应用编程接口
   socket:Berkeley socket
   TLI(运输层接口):Transport Layer Interface,AT&T开发,又称XTI(X/Open运输层接口)



 

 

   
posted on 2005-12-19 10:53 Yama的家 阅读(1000) 评论(7)  编辑 收藏 引用 所属分类: 网络之TCP/IP

FeedBack:
# re: TCP/IP 第一章 概述
2005-12-25 05:35 |
呵呵 感觉不错,和我们学的一样哦
你是学生吧!  回复  更多评论
  
# re: TCP/IP 第一章 概述
2005-12-25 16:01 | Yama的家
回上面的小弟,我看上去还那么年轻么。哈哈,我可已经工作N年了。这个不过是我最近想自己解析一部分浏览器而已。我现在的工作你可以看我里面工作方面的目录哦。  回复  更多评论
  
# re: TCP/IP 第一章 概述
2007-02-14 17:02 |
简单明了,一看就懂了,不知道还有没有第二章或第三章什么的。  回复  更多评论
  
# re: TCP/IP 第一章 概述
2007-02-15 01:36 | yama
@葛
本来写了一部分,但是一直不是很满意也就没有拿上来,最近还找不到了。实在是惭愧面对还在看我帖子的朋友,偶最近完全的不务正业,一门心思放在波澜壮阔的中国股市大跃进中,哈哈,不过我做的明天都可以进入中长线投资,可以收心回来继续探讨技术问题。前段时间的超分也有朋友问我,主要工作一直停止,最近忙于一个手机中文件夹和java应用程序的互联架构设计和编程,估计下下月超分还要再开  回复  更多评论
  
# re: TCP/IP 第一章 概述
2007-06-18 00:38 | QQ粉丝圈
整理的不错,去掉了课本上比较啰嗦的部分,全是精华知识点  回复  更多评论
  
# re: TCP/IP 第一章 概述
2007-06-18 00:39 | PICASA
如果能继续接着往下面讲解的话,就更好了,网络里很多东西,期待系统的知识。  回复  更多评论
  
# re: TCP/IP 第一章 概述
2008-07-14 10:19 | 海军基地
IP协议层的丢包率或数据包重传个数怎么确定?  回复  更多评论
  
只有注册用户登录后才能发表评论。

<2007年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(5)

随笔分类(66)

相册

积分与排名

  • 积分 - 35634
  • 排名 - 138

最新评论

阅读排行榜