zoukankan      html  css  js  c++  java
  • 图解TCP/IP笔记(1)——TCP/IP协议群

    转载请注明:https://www.cnblogs.com/igoslly/p/9167916.html

       

    TCP/IP制定

       制定:IETF

       记录:RFC - Request for comment

       协议规范内容,协议实现和运用信息,实验方面信息

       RFC文档通过编号组织每个协议的标准化请求

       STD记载哪个编号记载哪个协议

    TCP/IP与OSI参考模型

       

    数据包首部

       

    发送数据包

       

    应用程序处理

      编码处理,建立TCP连接

    TCP模块处理

       根据会话层的指示,在应用层发来的数据附加TCP首部。

     IP模块处理

       添加IP首部,参考路由控制表决定接受此IP包的路由或主机,发送给连接这些路由器或主机网络接口的驱动程序,真正发送数据。

     网络接口(以太网驱动)处理

       附加以太网首部,通过物理层传输给接收端。发送处理中的FCS由硬件计算,添加到包最后,判断数据包是否损坏。

     

    每个包至少会包含两个信息:发送端和接收端地址、上一层协议类型

       TCP首部:源端口号、目标端口号、序号校验和。

       IP首部:接收端IP地址、发送端IP地址。

       以太网首部:接收端MAC地址、发送端MAC地址、标志以太网类型。

    接收数据包

    1. 首先从以太网的包首部判断是否是自己的MAC地址,传给相关子程序(IP/ARP)
    2. 对于有路由控制器,接收端地址往往不同,需要借助路由控制表,调查应该送达的主机或路由器再转发数据。
    3. TCP模块时计算一下检验和检查数据,检查是否按序接收数据、端口号,确定具体应用程序
    4. 接收端发送“确认回执”给发送端,若发送端未接受则会一直反复发送
    5. 数据完整接收后,发送给端口号识别应用程序

    网络接口层(数据链路层)

       利用以太网中的数据链路层进行通信,属于接口层。当做让NIC起作用的驱动程序。

     互联网层(网络层)

       互联网层使用IP协议,相当于OSI模型中的网络层,基于IP地址转发分包数据

      IP

      IP是跨越网络传送数据包,使整个互联网都能收到的数据的协议。

      属于非可靠性传输协议,分组交换,不重发

      ICMP

      IP数据包在发送途中一旦发生异常无法到达时,需要发回一个发生异常的通知。

      可以诊断网络的健康状况。

      ARP

      从分组数据包的IP地址中解析出MAC地址的协议

      ARPA

      从分组数据包的MAC地址中解析IP地址的协议

    传输层

      让应用程序之间实现通信,分清哪个程序正在通信,是使用识别端口号

      TCP

      面向有连接,保证两段通信主机之间的通信

      可以处理丢包、乱序、利用带宽、缓解网络拥堵

      三次握手,四次握手,造成网络流量的浪费

      UDP

      面向无连接,不重发

    应用层

      WWW

      浏览器与服务端之间通信所用的协议是HTTP,传输格式是HTML

      WWW中HTTP属于OSI应用层协议,HTML表示层协议

      电子邮件

      发送电子邮件使用SMTP - simple mail transfer protocal

      接收电子邮件使用POP3

      电子邮件格式由MIME协议扩展后,发送声音、图像格式。

      文件传输FTP-file transfer protocol

      互连计算机之间可以相互发送、接收文件

      进行文件传输时建立两个TCP连接,分别是发出传输请求和实际传输连接时

      远程登录TELNET

      登录到远程计算机上,

    网络管理 SNMP-simple network management protocol

      可以对连网的设备进行远程修改配置,检查是否正常运行

      通过SNMP管理器管理SNMP代理(服务器,PC机,WS,路由器,交换机等)

      SNMP代理端保存着网络接口,通信数据量,异常数据量等信息,通过MIB - management information base访问

      对于大网络,SNMP可以让管理员及时检查网络拥堵情况

  • 相关阅读:
    腾讯云环境配置之PHP5.6.3 + redis扩展 稳定版
    越狱后的ios如何用apt-get 安装各种命令
    批量 kill mysql 中运行时间长的sql
    谷歌Chrome浏览器开发者工具的基础功能
    话说好像是这样,ios下面通常用iframe来打开你的scheme地址; Android下通常用location.href来。。。 不过实际情况好像比这个复杂得多。。
    js判断移动端是否安装某款app的多种方法
    设计不错的网站
    BADIP filter
    开窗函数 函数() OVER()
    2018年1月初的一次面试题
  • 原文地址:https://www.cnblogs.com/igoslly/p/9167916.html
Copyright © 2011-2022 走看看