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. 将时间转换为xxx天前 xxx..前

    <?php echo (time_fitle('2016-08-17 17:00:00')); function time_fitle($date){ date_default_timezone ...

  2. js == 与 === 的区别,‘’与“”的区别

    js == 与 === 的区别 1.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较"转化成同一类型后的值"看"值&quo ...

  3. 如何安装并使用hibernate tools

    参考资料:http://radiumwong.iteye.com/blog/358585 http://linjia880714.iteye.com/blog/859334 Hibernate Too ...

  4. Ubuntu的安装与配置

    一.Ubuntu的安装与配置 Ubuntu 快速下载地址 1.安装VMwareTools 系统安装后,工具栏"虚拟机"-->"安装VMwareTools" ...

  5. rbd cache (一)

    cache 1.why The existence of cache is based on a mismatch between the performance characteristics of ...

  6. MyEclipse 及Tomcate 安装 配置

    使用的工具为myeclipse-pro-2014-GA-offline-installer-windows(需安装).apache-tomcat-6.0.37.jdk1.6.0.14. 1.MyEcl ...

  7. Apache安装及配置ssl

    目录 1.windows安装 软件准备 安装apache 开启ssl(Https访问) 打开httpd.conf,解除下面配置的注释 查看ssl模块使用哪一个配置文件 配置https虚拟主机 简单配置 ...

  8. python不是内部或外部命令

    原因是环境变量没有添加. 比如python安装再C:\Python27 环境变量path增加C:\Python27即可,不需重启. 但是之前报错的cmd窗口需要重新打开再执行python命令

  9. 终端检测HTTPS服务端

    nscurl --ats-diagnostics --verbose https:ssl.tianwensm.xyz

  10. mysql 几个命令

    show databases; 显示所有数据库 create database 数据库名; 创建数据库 drop database 数据库名; 删除数据库