TCP/IP-学习笔记-1

 

一、网络分层

TCP/IP-学习笔记-1_第1张图片

以上为TCP/IP协议的四个分层

每层大概功能:

链路层 : 又叫数据链路层或网络接口层,通常包括设备驱动和网络接口,处理物理接口数据。包含:

  1. ARP协议,地址解析协议
  2. RARP协议,逆地址解析协议

网络层:有时候又叫着互联网层,处理网络中的活动。包括:

  1. IP协议(网际协议),主要被TCP/IP使用
  2. ICMP协议(网络控制报文协议),IP层用其与其他主机或路由器交换错误信息和其他重要信息
  3. IGMP协议(网络组管理协议),它用来把一个 UDP 数据报多播到多个主机

运输层: 主要为两台主机上的应用程序提供端到端的通信服务。 主要包含

  1. TCP协议,提供高可靠性的通信传输。
  2. UDP协议,提供一种简单的传输协议,不保证数据传输的准确性

应用层:负责处理特定的应用。包括:

  1. Telnet原程登陆服务, 对应端口:23
  2. FTP文件传输协议,对应端口:69
  3. SMTP,简单邮件传送协议
  4. SNMP,简单网络管理协议

二、数据报文

以太网数据帧的物理特性是其长度必须在 4 6 ~ 1 5 0 0 字节之间。

TCP/IP-学习笔记-1_第2张图片

为什么呢?

TCP/IP-学习笔记-1_第3张图片

  1. 8 0 2 . 3 规 定 数 据 部 分 必 须 至 少 为 3 8字节,而对于以太网,则要求最少要有 4 6 字 节。
  2. 检查冲突检查时间要求不能大于了1500个字节。MTU默认值是1500,不过现在可以通过设置最大改为9000了,得双方两端口都得设置为9000,如果一方9000一方1500,那么9000向1500发送数据就会出现丢包现象 。

这里问题来了,什么是MTU?

MTU :最大传输单元:

以太网和802.3 对数据帧的长度都有一个限制 ,其最大值分别是1500 和 1492字节

从上图可以看出:以太网最大帧长度为: 6(目的) + 6(源)  +2 (类型)+ 1500 + 4(校验) = 1518 字节

三、SLIP (SerialLineIP)

串行线路IP。其规则如下:

  1. 数据报以一个称作END(0xC0)的特殊字符作为结束,很多实现,也会传这个字符
  2. 如果报文中存在0xC0这个字符,就连续传 0xDB和0X=xDD来取代它,这两个特殊字符又被叫做SPLIT和ESC字符(和ASCII中字符不想干)
  3. 如果这个报文中有SPLIT和ESC字符,就连续传两个相同字节来替换它

TCP/IP-学习笔记-1_第4张图片

存在的问题: 

  1. 没有CRC校验
  2. 无法将自己的ip传输出去。
  3. 数据帧中没有类型字段

改进协议:

CSLIP: 压缩SLIP 将IP和TCP首部压缩到3-5个字节 (细节去其他文献查找)

PPP点对点协议:

每一帧都以标志字符 0 x 7 e 开始和结束。紧接着是一个地址字节,值始终是 0 x ff ,然后是一 个值为 0 x 0 3 的控制字节。

TCP/IP-学习笔记-1_第5张图片

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-学习笔记-1)