TCP/IP  分层

TCP/IP是一组不同层次上的多个协议的组合。

通常被分为:链路层、网络层、运输层、应用层

1. 链路层(数据链路层 或 网络接口层)

通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理与电缆或其他传输媒介的物理接口细节。

链路层主要有三个目的:

#1. 为IP模块发送和接收IP数据报

#2. 为ARP模块发送请求和接收ARP应答

#3. 为RARP发送请求和接收RARP应答

TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如:以太网、令牌坏网、FDDI光纤分布式数据接口、RS-232串行线路等。

2. 网络层(互联网层)

处理分组在网络中的活动。包括:IP协议(网际协议)、ICMP协议(Internet互联网控制报文协议)、IGMP协议(Internet组管理协议)。

IP协议:   是TCP/IP协议中最为核心的协议。所有的TCP、UDP、ICMP、IGMP的数据都是IP数据报格式传输。

ICMP协议: 传递差错报文以及其他需要注意的信息。一些ICMP报文把差错报文传给用户进程。

IGMP协议: 是TCP/IP协议中的一个组播协议。该协议运行在主机和组播路由器之间,用于支持主机和路由器进行多播数据报转发。它让一个物理网络上的所有系统知道主机当前所在的多播组,多播路由器需要知道这些信息以便知道多播数据报应该向哪些接口转发。

3. 运输层

主要为两台主机上的应用程序提供端到端的通信。包括:TCP传输控制协议、UDP用户数据报协议。

TCP:主两台主机提供高可靠数据通信。把应用程序交给他的数据分成合适的大小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。

UDP:为应用层提供非常简单的服务,它只把数据报分组从一台主机发送到另一台主机,但并不保证数据报能到达另一端。

4. 应用层

负责处理特定的应用程序细节。通用的有Telnet、FTP、SMTP 、SNMP。

[TCPIP] 分层 Note的更多相关文章

  1. [TCPIP] DNS Note

    TCPIP DNS  域名系统 DNS 是一个应用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 对DNS的访问是通过一个地址解析器来完成的,在Un ...

  2. 【lwip】04-网络数据包流向

    目录 前言 4.1 TCPIP分层与lwip数据共享 4.2 协议栈线程模型 4.3 pbuf 结构体 4.3.1 pbuf的标志位flags 4.4 pbuf的类型 4.4.1 PBUF_RAM类型 ...

  3. 计算机网络通信TCP/IP协议浅析 网络发展简介(二)

    本文对计算机网络通信的原理进行简单的介绍 首先从网络协议分层的概念进行介绍,然后对TCP.IP协议族进行了概念讲解,然后对操作系统关于通信抽象模型进行了简单介绍,最后简单描述了socket   分层的 ...

  4. Goldengate OGG常见问题与错误列表

     Goldengate OGG常见问题与错误列表  以下列出了OGG一些常见的问题与错误及其解答:   Note: 966211.1 How To Resync A Single Table With ...

  5. [TCPIP] 传输控制协议 Note

    TCPIP  TCP 传输控制协议 TCP提供一种面向连接的,可靠的字节流服务. 面向连接意味着两个使用TCP的应用在传输数据之前先建立一个TCP连接,这个过程跟打电话相似.在一个TCP连接中仅有两方 ...

  6. [TCPIP] IP路由表及选路 Note

    TCP/IP IP路由表及选路 1.路由表信息 路由表一般包含信息:目的IP地址.下一站路由器的IP地址.标志. 为数据报传送指定的一个网络接口. 查看路由表信息mac-abeen:~ abeen$ ...

  7. 分层服务提供者(LSP)

    分层服务提供者(LSP)(1) 开发过滤数据包的LSP程序可以定义过滤规则,恩,先看看LSP本身是DLL,可以将它安装至Winsock目录,创建套接字的应用程序不必知道此LSP的任何信息就能调用它 1 ...

  8. Effective C++ 第二版 40)分层 41)继承和模板 42)私有继承

    条款40 通过分层来体现"有一个"或"用...来实现" 使某个类的对象成为另一个类的数据成员, 实现将一个类构筑在另一个类之上, 这个过程称为 分层Layeri ...

  9. 【BZOJ3627】【JLOI2014】路径规划 分层图

    意甲冠军:要查找.有门户网站:http://www.lydsy.com/JudgeOnline/problem.php? id=3627 注意:点的等待时长示意图为: 非常清晰了吧?没事,不清晰就不清 ...

随机推荐

  1. cloudera learning8:MapReduce and Spark

    YARN:Yet Another Resource Negotiator, Hadoop集群的资源管理器,可以对运行在Hadoop上的MapReduce V2,Spark,Impala等进行内存和CP ...

  2. const

     const int i = 20; int const i = 20; 这两个语句是完全相同的:const与int哪个写在前面都不影响语义. 所以: const int *p; int const ...

  3. Linux-001-nmon系统性能监控工具的使用及报表产出

    在进行性能测试的时候,需要获取服务器的各项指标,例如 CPU.MEM.I/O.DISK 等.网上有很多的监控工具,nmon 就是其中的一个,其可与 JMeter结合使用,测试系统的性能.其概要的介绍, ...

  4. Java 的静态代理 动态代理(JDK和cglib)

    转载:http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是 ...

  5. mysql 主从

    1.首先 主库创建二进制数据访问账户(账户:repl 密码:repl@01) GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to repl@'% ...

  6. find命令的拾遗

    find -maxdepth 1 -regextype posix-extended -type f -regex "\./${name}[-\.].*\.(gz|bz2|tgz|zip|t ...

  7. android 中获取当前焦点所在屏幕中的位置 view.getLocationOnScreen(location)

    final int[] location = new int[2]; view.getLocationOnScreen(location); final int[] location = new in ...

  8. haproxy学习之https配置

    haproxy学习之https配置   原文  http://www.cnblogs.com/ilanni/p/4941056.html   如何配置https,以及https在实际生产环境中的应用. ...

  9. nodejs 的ajax获取数据express

    var request = require('request'); request('https://api.weixin.qq.com/cgi-bin/ticket/getticket?access ...

  10. mac安装paramiko

    $ brew install openssl $ /usr/local/opt/openssl/bin/c_rehash $ export ARCHFLAGS="-arch x86_64&q ...