[TCPIP] 分层 Note
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的更多相关文章
- [TCPIP] DNS Note
TCPIP DNS 域名系统 DNS 是一个应用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 对DNS的访问是通过一个地址解析器来完成的,在Un ...
- 【lwip】04-网络数据包流向
目录 前言 4.1 TCPIP分层与lwip数据共享 4.2 协议栈线程模型 4.3 pbuf 结构体 4.3.1 pbuf的标志位flags 4.4 pbuf的类型 4.4.1 PBUF_RAM类型 ...
- 计算机网络通信TCP/IP协议浅析 网络发展简介(二)
本文对计算机网络通信的原理进行简单的介绍 首先从网络协议分层的概念进行介绍,然后对TCP.IP协议族进行了概念讲解,然后对操作系统关于通信抽象模型进行了简单介绍,最后简单描述了socket 分层的 ...
- Goldengate OGG常见问题与错误列表
Goldengate OGG常见问题与错误列表 以下列出了OGG一些常见的问题与错误及其解答: Note: 966211.1 How To Resync A Single Table With ...
- [TCPIP] 传输控制协议 Note
TCPIP TCP 传输控制协议 TCP提供一种面向连接的,可靠的字节流服务. 面向连接意味着两个使用TCP的应用在传输数据之前先建立一个TCP连接,这个过程跟打电话相似.在一个TCP连接中仅有两方 ...
- [TCPIP] IP路由表及选路 Note
TCP/IP IP路由表及选路 1.路由表信息 路由表一般包含信息:目的IP地址.下一站路由器的IP地址.标志. 为数据报传送指定的一个网络接口. 查看路由表信息mac-abeen:~ abeen$ ...
- 分层服务提供者(LSP)
分层服务提供者(LSP)(1) 开发过滤数据包的LSP程序可以定义过滤规则,恩,先看看LSP本身是DLL,可以将它安装至Winsock目录,创建套接字的应用程序不必知道此LSP的任何信息就能调用它 1 ...
- Effective C++ 第二版 40)分层 41)继承和模板 42)私有继承
条款40 通过分层来体现"有一个"或"用...来实现" 使某个类的对象成为另一个类的数据成员, 实现将一个类构筑在另一个类之上, 这个过程称为 分层Layeri ...
- 【BZOJ3627】【JLOI2014】路径规划 分层图
意甲冠军:要查找.有门户网站:http://www.lydsy.com/JudgeOnline/problem.php? id=3627 注意:点的等待时长示意图为: 非常清晰了吧?没事,不清晰就不清 ...
随机推荐
- Sublime Text的心得经验。 全面
Sublime Text的心得经验.jikeytang/sublime-text · GitHub
- yii2 查询去重
- vuejsLearn--- -- 怎么查看、修改、追加数据---->data对象
实例观察的数据对象.可以用一个新的对象替换.实例代理了它的数据对象的属 我们现在对data2添加几项 使用数组push()追加 但是直接这样不能进行数组操作 var data2 = { city: ' ...
- golang调用c++文件
简要步骤: 1,将c++ 的方法提取到头文件.h中( ) 2,编译cc(c++)文件为动态链接库so文件 3,将头文件放入include目录 .so放入lib目录 4,go程序中指定 CFLAGS 和 ...
- iOS 面试题(一):寻找最近公共 View --转自唐巧
题目:找出两个 UIView 的最近的公共 View,如果不存在,则输出 nil . 分析:这其实是数据结构里面的找最近公共祖先的问题. 一个 UIViewController 中的所有 view 之 ...
- 配置 Docker 加速器(Docker Hub Mirror)
Docker 加速器是什么,我需要使用吗? 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCl ...
- Magento后台简单更换favicon.ico
刚才需要更换网站的favicon.ico,就是浏览器url前面的那个小图标. 网上稍微搜搜一下,然后就震惊了,号多方法是替换文件的方法,而且文件散步在网站的各个角落. 其实,后台是有直接上传更换的方法 ...
- cocos2dx 3.x(获得父类的node型指针调用父类函数this->getParent())
void CenterLayer::zhanzheng(CCObject* pSender){ ((GameScene*)this->getParent())->showLayer(Gam ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 记录所有操作的Sql
在实际开发或试运行过程中,我们有时需要查看或分析模块执行的所有sql,以便进行相关分析.有时我们可以通过数据库自带的软件抓取,如:SQL Server Profiler.在我们RDIFramework ...
- 发布一款Github博客皮肤
Major是一款基于jekyll的皮肤,没有用hexo,原因是换机器后无法更新博客,但是可以用U盘考环境.总之很麻烦!折腾纠结好久,还是用jekyll!不用发布直接push文章即可,方便快捷.用的放心 ...