TCP/IP概述

TCP/IP

类型范围五类互联网地址
A0.0.0.0-127.255.255.2550.7位网络号.24位主机号
B128.0.0.0-191.255.255.25510.14位网络号.16位主机号
C192.0.0.0-223.255.255.255110.21位网络号.8位主机号
D224.0.0.0-239.255.255.2551110.28位多播组号
E240.0.0.0-247.255.255.25511110.留待后用
名字TCP端口号UDP端口号RFC描述
echo77862服务器返回客户发送的所有内容
discard99863服务器丢弃客户发送的所有内容
daytime1313867服务器以可读形式返回时间和日期
chargen1919864当客户发送一个数据报时,TCP服务器发送一串连续的字符流,直到客户中断连接。UDP服务器发送一个随机长度的数据报
time3737868服务器返回一个二进制形式的32bit数,表示从UTC时间1900年1月1号午夜至今的秒数

TIPS:如果仔细检查这些标准的简单服务以及其他标准的T C P / I P服务(如Te l n e t、F T P、
S M T P等)的端口号时,我们发现它们都是奇数。这是有历史原因的,因为这些端口号
都是从N C P端口号派生出来的(N C P,即网络控制协议,是A R PA N E T的运输层协议,
是T C P的前身)。N C P是单工的,不是全双工的,因此每个应用程序需要两个连接,需
预留一对奇数和偶数端口号。当T C P和U D P成为标准的运输层协议时,每个应用程序
只需要一个端口号,因此就使用了NCP中的奇数。

internet表示由一个共同的协议族把多个网络连接在一起。Internet指的是世界范围内通过TCP/IP互相通信的所有主机。Internet是一个internet,而internet不等于Internet。

链路层

以太网是技术标准,TCP/IP采用主要的局域网技术。采用CSMA/CD的媒体接入方法,带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection),速率为10Mb/s,地址为48bit。

SLIP,Serial Line IP。是一种串行线路上对IP数据报进行封装的简单形式,在RFC 1055 中有详细描述。

SLIP定义的帧格式:

  • IP数据报以一个称作END(0xc0)的特殊字符结束。为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个END字符。

  • 如果IP数据报文中某个字符为END,那么就要连续传输两个字节0xdb和0xdc来取代它。0xdb这个特殊字符被称作SLIP的ESC字符。

  • IP数据报文中某个字符为SLIP的ESC字符,那么就要连续传输两个字节0xdb和0xdd来取代它。

缺陷

  • 每端必须知道IP地址。

  • 数据帧中没有类型字段,一条串行线路只能用SLIP协议,不可同时复用。

  • SLIP没有在数据帧上加校验和。如果SLIP传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现。所以IP首部和TCP首部以及数据有校验和。UDP首部和数据的校验和确实可选的。

压缩的SLIP,CSLIP将TCP和IP首部各20个字节压缩到3-5个字节。在CSLIP的每端维持16个TCP连接,并且知道其中每个连接的首部中某些字段一般不会发生变化。

PPP:点对点协议

点对点协议修改了SLIP协议中的所有缺陷。

  • 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶校验的异步模式,还支持面向比特的同步链接。

  • 建立,配置及测试数据链路的链路控制协议LCP。允许通信双方进行协商,以确定不同的选项。

  • 针对不同网络层协议的网络控制协议NCP体系。当前RFC定义的网络层有IP、OSI网络层、DECnet以及AppleTalk。

  • 每一帧0x7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个值为0x03的控制字节。

由于标志字符的值是0 x 7 e,因此当该字符出现在信息字段中时, P P P需要对它进行转义。
在同步链路中,该过程是通过一种称作比特填充(bit stuff i n g )的硬件技术来完成的[ Ta n e n b a u m
1 9 8 9 ]。在异步链路中,特殊字符0 x 7 d用作转义字符。当它出现在P P P数据帧中时,那么紧接
着的字符的第6个比特要取其补码,具体实现过程如下:
1) 当遇到字符0 x 7 e时,需连续传送两个字符: 0 x 7 d和0 x 5 e,以实现标志字符的转义。
2) 当遇到转义字符0 x 7 d时,需连续传送两个字符: 0 x 7 d和0 x 5 d,以实现转义字符的转义。
3 ) 默认情况下,如果字符的值小于0 x 2 0(比如,一个A S C I I控制字符),一般都要进行转
义。例如,遇到字符0 x 0 1时需连续传送0 x 7 d和0 x 2 1两个字符(这时,第6个比特取补码后变为
1,而前面两种情况均把它变为0)。

环回接口:

允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。大多数系统把127.0.0.1分配给这个接口,并命名为localhost。一个传给环回接口的IP数据报不能再任何网络上出现。

最大传输单元MTU

如果IP层有一个数据报要传,IP层要进行分片。

路径MTU

同一网络上的两台主机进行通信时,每个网络链路层中最小MTU。两台主机之间的路径MTU不一定是常数,取决于所选择的路由。而选路不一定是对称,因此路径MTU在两个方向上不一定是一致的。

IP首部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值