网络传输
2015-06-14 10:14
375 查看
本文是建立在已经掌握了计算机网络基本分层及各层主要功能和实现后的进阶整理。如果基础还没有掌握牢固请自行复习。
下图显示了一个网络服务器向客户端传输的过程:
来回顾一下之前的网络基础。User Data是网络服务器的HTML页面;
应用层的HTTP协议将HTTP头添加到HTML数据之前,并将其发送给传输层;
传输层的TCP协议用于管理网络服务器和客户端之间的会话,并提供可靠传输;
网络的的IP协议将IP信息添加到TCP信息之前,指定适当的源和目的IP地址,这些信息就构成了IP报文;
数据链路层的以太网协议将IP报文封装成帧,就形成了数据链路帧;
数据链路帧通过物理层提供的通道发送至最近的一个路由器。路由器移除以太网信息,观察IP报文,判定最佳路径,将报文插入一个新的帧,并发送至目标路径上下一个相邻路由器。每一个路由器在转发之前都会移除并添加新的数据链路层信息;
客户端接受到包含数据的数据链路帧,处理掉各层的协议头后,将网页信息传递给客户端网页浏览器软件。
一个网页在网络中的完整传输过程就是这样子。
以网络服务器为例,HTTP应用层协议发送HTML格式网页数据到传输层,应用层数据被分为TCP分段,各分段被打上标签,称为头,表明接收方哪一个进程应当接收此消息,同时也包含使得接收方能够按照原有的格式来重组数据的信息。
传输层将分段发送至网络层,执行IP协议,整个TCP分段分别封装成IP报文,添加IP头,IP头包括源和目的IP地址,以及发送报文至目的地址所必须的信息。
网络层将IP报文发送至数据链路层,封装以帧头和帧尾。每个帧头都包含源和目的的物理地址。帧尾包含差错校正信息。
最后,网卡将比特编码传输给物理层介质。
MAC地址的物理植入网卡的48比特地址。
在网络传输过程中,发送方必须知道接受方的物理和逻辑地址。对与IP地址而言很简单,发送方可以通过DNS(域名系统)来获取,那么MAC地址如何识别呢?这就用到了网络层的ARP(地址解析)协议。将IP地址对应的MAC地址查询出。
下图显示了一个网络服务器向客户端传输的过程:
来回顾一下之前的网络基础。User Data是网络服务器的HTML页面;
应用层的HTTP协议将HTTP头添加到HTML数据之前,并将其发送给传输层;
传输层的TCP协议用于管理网络服务器和客户端之间的会话,并提供可靠传输;
网络的的IP协议将IP信息添加到TCP信息之前,指定适当的源和目的IP地址,这些信息就构成了IP报文;
数据链路层的以太网协议将IP报文封装成帧,就形成了数据链路帧;
数据链路帧通过物理层提供的通道发送至最近的一个路由器。路由器移除以太网信息,观察IP报文,判定最佳路径,将报文插入一个新的帧,并发送至目标路径上下一个相邻路由器。每一个路由器在转发之前都会移除并添加新的数据链路层信息;
客户端接受到包含数据的数据链路帧,处理掉各层的协议头后,将网页信息传递给客户端网页浏览器软件。
一个网页在网络中的完整传输过程就是这样子。
封装
封装是指在传输之前为数据添加额外的协议头信息的过程。在绝大多数数据通信过程中,源数据在传输前都会封装数层协议。以网络服务器为例,HTTP应用层协议发送HTML格式网页数据到传输层,应用层数据被分为TCP分段,各分段被打上标签,称为头,表明接收方哪一个进程应当接收此消息,同时也包含使得接收方能够按照原有的格式来重组数据的信息。
传输层将分段发送至网络层,执行IP协议,整个TCP分段分别封装成IP报文,添加IP头,IP头包括源和目的IP地址,以及发送报文至目的地址所必须的信息。
网络层将IP报文发送至数据链路层,封装以帧头和帧尾。每个帧头都包含源和目的的物理地址。帧尾包含差错校正信息。
最后,网卡将比特编码传输给物理层介质。
MAC和IP地址
IP地址包含两个部分:网络前缀和主机。路由器使用网络前缀部分讲报文转发给适当的网络,在同一网络中,网络前缀是相同的,只有主机设备地址部分不同。MAC地址的物理植入网卡的48比特地址。
在网络传输过程中,发送方必须知道接受方的物理和逻辑地址。对与IP地址而言很简单,发送方可以通过DNS(域名系统)来获取,那么MAC地址如何识别呢?这就用到了网络层的ARP(地址解析)协议。将IP地址对应的MAC地址查询出。
相关文章推荐
- BZOJ 3391: [Usaco2004 Dec]Tree Cutting网络破坏( dfs )
- TCP/IP详解_网际协议IP(二)_IP数据报格式
- TCP 报文
- 关于DNS DHCP FTP TFTP HTTP WEB
- TCP/IP 11种状态变迁
- 使用TCP协议写一个可以上传文件的服务器和客户端
- Linux网络设备驱动-- skb
- HDU--杭电--2732//POJ--2711--Leapin' Lizards--网络流
- Wireshark过滤规则之:IP数据包过滤
- 基于MFC的网络浏览器Demo
- android 网络传输中UDP和TCP传输
- Qt开发:TCP和UDP网络通信
- 启动脚本中避免目标地址为域名的网络连接
- 计算机网络技术中的网络互连技术
- Linux下限制网络带宽
- 网络管理关键和局域网络管理
- TCP紧急数据
- 网络攻防之SQL注入攻击
- 【iOS开发-网络】两种常用的方法解析XML数据
- delete分析 引用于 http://www.cnblogs.com/yuzhongwusan/archive/2012/06/14/2549879.html