网络服务基础理论

最近学习了有关网络管理的有关知识,所以给也在学习这些知识的童鞋分享一下我的一些经验。

听了这几天课,总结了几个前提。

有关网络的通信均是基于数据传输的,且数据均是二进制格式的流式数据。

在网络中需要把大包分成小包,

每传一个包都需要有三个地址,由内向外为端口号、IP地址、MAC地址。端口号确定应用,IP确定网段,MAC确定广播域中的某个网卡。

OSI模型     

简化接口,简化理解 。
七层    由上至下,分别为:
  1. 应用层    

    1. 为应用程序进程提供网络服务(例如,电子邮件、文件传输、视频语音聊天)
    2. 提供用户身份验证
  2. 表示层

    1. 确保接受系统可以读出该数据
    2. 格式化数据
    3. 构建数据
    4. 协商用于应用层的数据传输语法
    5. 提供加密
  3. 会话层

    1. 建立、管理和终止在应用程序之间的会话
  4. 传输层

    1. 确保数据传输的可靠性
    2. 建立、维护和终止虚拟电路
    3. 通过错误检测和恢复
    4. 信息流控制来保障可靠性
  5. 网络层

    1. 路由数据包
    2. 选择传递数据的最佳路径
    3. 支持逻辑寻址和路径选择
  6. 数据链路层

    1. 访问介质,访问接口接收数据,进行格式化判断,并进行错误检测
    2. 定义如何格式或数据以便进行传输以及如何控制对网络的访问
    3. 支持错误检测
  7. 物理层  

    1. 二进制传输
    2. 为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范
     
TCP/IP协议   与OSI  对比   TCP/IP整合了OSI的上三层  
  1. 应用层         PDU   消   息   message

    1. 应用层    
    2. 表示层
    3. 会话层
  2. 传输层        PDU   数据   段    segment

    1. TCP协议
    2. UDP协议
  3. 网络层     PDU   数据   包   packet

    1. IP协议
  4. 网络访问层

    1. 数据链路层     PDU    数据   帧   frame
    2. 物理层     PDU   数据  位    bit
    
    
  1. TCP协议

    1. 工作在传输层的面向连接协议   
    2. 全双工协议    
    3. 半关闭  
    4. 错误检查
    5. 将数据打包成段,排序
    6. 确认机制
    7. 数据恢复,重传
    8. 流量控制,滑动窗口
    9. 拥塞控制,慢启动和拥塞避免算法
网络服务基础理论
  1. TCP包头

网络服务基础理论

          第一行   源端口,位置端口,分别16位
          第二行   序号     32位
          第三行   确认号   32位  为所接收的包的序号加1
          第四行   
    1. 数据偏移   4位   一位为4字节
    2. 保留位       6位
    3. 校验位       6位

      1. URG    紧急校验位

        1. 表示该报文段中发送的数据是否包含紧急数据,后面的紧急指针字段只有当URG=1时才有效
      2. ACK     确认校验位

        1. 表示前面的确认号字段是否有效,TCP规定,建议链接后,ACK必须为1,且为1的TCP报文段称为确认报文段。
      3. PSH     立即从缓存区读取数据为位

        1. 校验位为1表示立即对方应当立即把数据提交给上层应用,不为1则是通常情况
      4. RST      错误校验位

        1. 校验位为1表示链接出现严重错误,必须释放链接,然后重新建立链接。或者说明上次发给主机的数据有问题,主机拒绝响应,带RST标志的TCP报文段称为复位报文段
      5. SYN     链接请求校验位

        1.  校验位为1表示请求时使用,用来同步序号。带SYN标志的TCP报文段称为同步报文段
      6. FIN       断开请求校验位

        1. 校验位为1表示通知对方本端要关闭链接了,标记数据是否发送完毕。带FIN标志的TCP报文段称为结束报文段。
    4. 窗口    16位   表示现在允许对方发送的数据量
     第五行
  1. 校验和    提供额外的可靠性
  2. 紧急指针   标记紧急数据在数据字段中的位置
     第六行   
  1. 选项(长度可变)  常见选项

    1. 最大报文长度
    2. 窗口扩大
    3. 时间戳
  2. 填充    无实意    补齐偏移量位
网络服务基础理论
三次握手  
     第一次  客户端对服务器端发送标记位SYN为1的报文段,同时客户端从CLOSED转为SYN-SENT状态
     第二次  服务器端接收到后,同时发送标记位ACK,SYN分别为1的报文段,同时由LISTEN转为SYN-RECEIVED的状态
     第三次   客户端接受到后,发送标记位ACK为1的报文段,同时由SYN-SENT转为ESTABLISHED状态之后服务器接受到也由SYN-RECEIVED转为ESTABLISHED状态。
     实质:当服务器端接收到SYN为1的报文段1时,将该报文段中的序号x记录并同时发送SYN,ACK分别为1的,且序号为a确认号为x+1的报文段2。
     当客户端收到服务器端发来的报文段时,即为发现ACK位为1确认服务器收到之前发送的报文段1,SYN位为1则将报文段2的序号记录,并发送ACK位为1且序号为x+1确认位为a+1的报文段3。
     当服务器收到报文段3,读到ACK位1,即了解报文2发送成功。双方完成序号同步。

四次挥手
     其一端发出断开请求,另一端表示已经接收
     另一端也发出断开请求,该端也表示接收就是四次挥手。

有限状态机制

网络服务基础理论

网络服务基础理论

客户端

网络服务基础理论

网络服务基础理论
服务器端
网络服务基础理论
网络服务基础理论
网络服务基础理论
拥塞控制
网络服务基础理论
网络服务基础理论
UDP特性
     工作在传输层
     提供不可靠的网络访问
     非面向连接协议
     有限的错误检查
     传输性能高
     无数据恢复特性
UDP包头
网络服务基础理论
网络服务基础理论
包头之后源端口,目标端口,包长度,校验和,分别16位,无需回复。
ICMP协议    Internet control message protocol      互联网控制消息协议
  1. 工作在网络层,偏上层。

ARP协议     address resolution protocol     地址分辨协议

网络服务基础理论

  1.      网络层协议
  2.      一般查看网络是否联通。
  3. 一般为广播的散播方式
网络服务基础理论
Internet协议特征
  1. 运行于OSI网络层
  2. 面向无连接的协议
  3. 独立处理数据包
  4. 分层编址
  5. 尽力而为传输
  6. 无数据恢复功能
IP协议  PDU报头
网络服务基础理论
网络服务基础理论
第一行
  1. 版本   4字节     是IP协议的版本
  2. 首部长度    4字节   是说明报头长度的
  3. 区分服务     8字节   
  4. 总长度        16字节   本数据包的总长度
第二行
  1. 标识    16字节  
  2. 标志    3字节   只有后两字节有用
  3. 片偏移   13字节    显示该数据包的最后一个字节在整个大包中是哪个字节。
第三行
  1. 生存时间   8字节   显示该包在网络中生存多少个路由节点
  2. 协议    8字节    显示上层协议编号
  3. 首部校验和     16字节  首部校验
第四行  源地址   IP地址   
第五行   目的地址    IP地址
第六行    可选字段     
              填充
整个数据包
由左到右,由外到内
mac目的地址 mac源地址 IP源地址 IP目标地址 源端口号 目标端口号 正文数据 校验
IP地址分析
分为A,B,C,D,E,五类
A类地址(0xxxxxxx.A.B.C)  0为没有地址 127为本机地址
     前八位为网络位,起始位为零,即为1-126,
B类地址 (10xxxxxx.xxxxxxxx.A.B)
     前16位为网络地址,前八位为128-191
C类地址(110xxxxx.xxxxxxxx.xxxxxxxx.A)
     前24位为网络地址,前八位为192-223
D类地址 (1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxxx)  组播地址
      分段为224-239
E类地址 240-255
 
特殊地址
   网络服务基础理论网络服务基础理论
私有地址范围
A类  10.0.0.0到10.255.255.255
B类   172.16.0.0到172.31.255.255
C类   192.168.0.0到192.168.255.255
子网掩码   表示方式,网络位全为1表示
划分子网,网络IP位向主机位借位划分
划分超网,主机IP位向网络位借位
交换器
集线器
路由器
中继器
模型路线
总线型拓扑
星型拓扑
环形拓扑

原创文章,作者:何必呢,如若转载,请注明出处:http://www.178linux.com/85854

(0)
上一篇 2017-09-01 16:27
下一篇 2017-09-01 21:00

相关推荐

  • N25第三周总结

    linux   bassic The third week of blogging 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  ~]# who | cut -d' ' -f1 | uniqr…

    Linux干货 2016-12-17
  • ☞磁盘管理、MBR、GPT、分区工具、文件系统、常见分区挂载

    磁盘管理{磁盘结构;MBR;GPT;分区工具;文件系统;分区挂载;}

    Linux干货 2016-08-29
  • inode的理解

    一、inode是什么 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的&q…

    Linux干货 2017-01-16
  • Linuxd的发展史

    Linux发展史 Linux诞生:   1991年的八月,一个芬兰的名为Linus Torvalds的大学生为自己开始写作一个类似minix,可运行在386上的操作系统寻找志同道合的合作伙伴。FREAX系统后改名Linux。  Linux是什么:   按照Linux开发者的说法,Linux是一个遵循POSIX(注一)标作系统,标…

    Linux干货 2016-10-14
  • 记马哥教育第30期Linux云计算面授班开班典礼

    记马哥教育第30期Linux云计算面授班开班典礼

    2018-03-26
  • Linux文本处理三剑客之sed

    处理文本工具sed sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文…

    Linux干货 2016-08-15