数据包进入互联网在网络中的传输

本章是‘网络是怎么连接的--读后感’第四章

前言

  本章是系列博客的第四章;第一章讲数据发送的场景;第二章主要讲叙消息是如何发送出去的.;第三章主要阐述数据包在客户端局域网中的传输;本章详细阐述数据在互联网中是如何传输的。

实现需求

本章主要阐述数据在互联网中的传输;主要讲两种网络接入方式;在接入网的过程中运营商通过使用ppp协议和隧道技术实现对用户的身份验证和公有地址分配;同时会对网络运营商内部网络进行介绍;同时还会对互联网中跨运营商通信进行介绍。

  • ADSL接入网的结构和工作方式
  • 光纤接入网
  • 接入网时通过使用ppp和隧道来进行用户身份验证
  • 网络运营商的内部
  • 跨运营商通信时网络包传输

正文

一、ADSL接入网的结构和工作方式(不对称数字用户线,利用电话线将用户接入互联网的一种技术)

 

结构如上图所示:

  • 用户端的互联网接入路由器首先会将收到的包转发给adsl模块,在转发前会在包前面加入mac头部,pppoe头部,ppp头部;
  • adsl modem接收数据包的操作和网卡是一样的;接收到包后会将数据包拆分成很小段的数据块,称之为信元,并转化为电信号发给分离器;(通信运营商传输数据是通过atm技术实现的,这种技术传的就是信元因此需要拆分)
  • adsl model中会将信元调制成电信号,并将电信号发给分离器,这一步可以统称为调制;
  • 分离器是将电话信号和网络信号分离的设备,防止相互干扰导致信号失真;(电话信号和adsl信号频率不一样,通过频率高低来分离)
  • 信号通过电话线到电话局后,会经过配线盘,分离器到达dslam;
  • 在dslam model中会通过atm接口接收信号;会将电信号还原成数字信号信元(这一步可统称为解调)
  • 然后通过dslam的atm接口,将atm信元传给后面的BAS路由器(BAS具有atm接口可以接收信元)
  • 最后BAS路由器将接收到的信元还原成数据包;并将包头部的mac头和pppoe丢弃(这两个头部是为了将包传输到bas,到了自然会被丢弃);同时在包头部加上隧道专用头部,一般是l2tptou1

原文地址:https://www.cnblogs.com/1009gavin/p/9256112.html

时间: 2024-10-10 10:39:50

数据包进入互联网在网络中的传输的相关文章

网络-数据包在路由转发过程中MAC地址和IP地址,变与不变

关于MAC地址和IP地址在传输过程中变与不变的问题: 结论:MAC地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的:而IP地址在传输过程中是不会改变的(除NAT的时候),总结为 路由转发MAC不变,IP变. 我们知道的几个概念: 首先我们要知道,MAC地址是用于同意物理或逻辑第2层网络上的设备间进行通信的: 而第三层地址(IP地址)是可以在多个网络设备之间通信的. 下面我们来分析一下: MAC地址是在同一个广播域有效的,那么去了另外一个广播域(网段)MAC地址肯定要改变的:

网络数据包头部在linux网络协议栈中的变化

接收时使用skb_pull()不断去掉各层协议头部:发送时使用skb_push()不断添加各层协议头部. 先说说接收: 150 * eth_type_trans - determine the packet's protocol ID. 151 * @skb: received socket data 152 * @dev: receiving network device 153 * 154 * The rule here is that we 155 * assume 802.3 if th

IP数据包的分片与重组过程

一.IP分片 (一)IP分片的原理: 分片和重新组装的过程对传输层是透明的,其原因是当IP数据报进行分片之后,只有当它到达下一站时,才可进行重新组装,且它是由目的端的IP层来完成的.分片之后的数据报根据需要也可以再次进行分片.    IP分片和完整IP报文差不多拥有相同的IP头,ID域对于每个分片都是一致的,这样才能在重新组装的时候识别出来自同一个IP报文的分片.在IP头里面,16位识别号唯一记录了一个IP包的ID(ipid),具有同一个ID的IP分片将会重新组装:而13位片偏移则记录了某IP片

网络中的NAT模式

一.概述 NAT英文全称是"Network?Address?Translation",中文意思是"网络地址转换",它是一个IETF(Internet?Engineering?Task?Force,?Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet?Protocol)地址出现在Internet上.顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术.NAT 可以让那些使用私有地址的内部网络连接到Internet

Linux内核中网络数据包的接收-第一部分 概念和框架

与网络数据包的发送不同,网络收包是异步的的,因为你不确定谁会在什么时候突然发一个网络包给你,因此这个网络收包逻辑其实包含两件事:1.数据包到来后的通知2.收到通知并从数据包中获取数据这两件事发生在协议栈的两端,即网卡/协议栈边界以及协议栈/应用边界:网卡/协议栈边界:网卡通知数据包到来,中断协议栈收包:协议栈栈/应用边界:协议栈将数据包填充socket队列,通知应用程序有数据可读,应用程序负责接收数据.本文就来介绍一下关于这两个边界的这两件事是怎么一个细节,关乎网卡中断,NAPI,网卡poll,

Linux网络之设备接口层:发送数据包流程dev_queue_xmit

转自:http://blog.csdn.net/wdscq1234/article/details/51926808 写在前面 本文主要是分析kernel-3.8的源代码,主要集中在Network的netdevice层面,来贯穿interface传输数据包的流程,kernel 博大精深,这也仅仅是一点个人愚见,作为一个笔记形式的文章,如有错误或者表述不当之处,还请大家留言批评指正,非常感谢! 主要涉及的file:kernel-3.18/net/core/dev.c kernel-3.18/net

Linux程序设计学习笔记----网络编程之网络数据包拆封包与字节顺序大小端

网络数据包的封包与拆包 过程如下: 将数据从一台计算机通过一定的路径发送到另一台计算机.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示: 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据包(packet),在链路层叫做帧(frame).数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理. 上图对应两台计算机在同一网段中的情况,

linux 内核网络数据包接收流程

转:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后面参考里的两篇文章,里面介绍的更详细. 本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个UDP包的接收过程作为示例. 本示例里列出的函数调用关系来自于kernel 3.13.0,如果你的内核不是这个版本,函数名称和相关路径可能不一样,但背后的原理应该是一样的(或者有细微差别) 网卡到内存 网卡需

数据包级网络遥测和网络安全推送分析

随着网络规模,复杂性和流量的增长,对连续和精确监控的需求比以往任何时候都要大.持续监控是检测安全问题,错误配置,设备故障以及执行流量工程的重要部分. 在最高级别,它是一种基于推送的监控方法:数据平面设备(如交换机和路由器)将有关流量和性能的数据流式传输到执行分析的软件.网络遥测正在成为支持这些需求的有力方式. 今天的遥测系统迫使用户在粒度和覆盖范围之间进行选择.分组级系统将每个分组(或报头)流式传输到软件.这提供了细粒度的可见性,但是在软件中处理每个数据包的成本使得高覆盖率变得不切实际.流级系统