第二章 TCP/IP 基础知识

第二章 TCP/IP 基础知识

 

TCP/IP  transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的。

 

2.2 TCP/IP 的标准化

2.2.2 TCP/IP 标准化精髓

TCP/IP 协议始终具有很强的实用性。

相比于TCP/IP ,OSI 之所以未能达到普及,主要原因在于未能尽早的制定可行性较强的协议、未能提出应对技术快速更新的协议以及没有能及时进行后期的改良的方案。

2.2.3 TCP/IP 规范 ——RFC

那些需要标准化的协议,被人们列为RFC (Request For Comment)文档并在互联网上公布。RFC不仅记录了协议规范内容,还包含了协议的实现和运用的相关信息,以及实验方面的信息。

 

2.3 互联网基础知识

互联网与TCP/IP 的关系

互联网的协议就是TCP/IP ,TCP/IP 就是互联网协议

2.3.3 互联网的结构

互联网中的每个网络都是由骨干网(BackBone)和末端网(Stub)组成的。每个网络之间通过NOC network opeartion center 相连。如果网络的运营商不同,它的网络连接方式和使用方法也会不同。连接这种异构网络需要IX 的支持 internet

 exchange 网络交换中心 。总之互联网就是众多异构的网络通过IX 互联的一个巨型网络。

 

 

 

2.4 TCP/IP 协议分层模型

 

2.4.4 互联网层  网络层

 

IP   是跨越网络传送数据包,使整个互联网 都能收到数据的协议。IP协议使数据能够发送到地球的另一端这期间它使用IP地址作为主机的标识。

ICMP 

IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知。ICMP就是为这一功能而指定的。它有时也被用来诊断网络的健康状况。

ARP 

从分组数据包的IP地址中解析出物理地址MAC地址的一种协议。

2.4.5  传输层

传输层最主要的功能就是嫩巩固让应用程序之间实现通信。计算机内部,通常同一时间运行着多个程序。为此,必须分清是那些程序与哪些程序在进行通信。识别这些应用程序的是端口号。

TCP

TCP是一种面向有链接的传输层协议。他可以保证两端通信主机之间的通信可达。TCP 能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外TCP还能够有效利用带宽,缓解网络拥堵。

为了建立与断开链接,有时需要至少7次的发包收包,导致网络流量的浪费。

UDP 

面向无连接的传输层协议。UDP 不会关注对端是否真的收到了传送过去的数据,如果需要见擦汗对端是否收到分组数据包,或者对端首付连接到网络,则需要在应用程序中实现。

 

2.5 TCP /IP 分层模型与通信示例

2.5.1 数据包首部

包、帧、数据报、段、消息

包可以说是全能性术语。帧用于表示数据链路层中包的单位。而数据报是IP和UDP等网络层以上的分层中包的单位。段则表示TCP数据流的信息。最后,消息是指应用协议中数据的单位。

在数据包的首部,明确标明了协议应该如何读取数据。反过来,看到首部也就能够了解协议必要的信息以及所要处理内容。因此看到包首部就如同看到协议的规范。 首部就像是协议 的脸。

2.5.3 经过数据链路的包

分组数据包 经过以太网的数据链路时如图

 

 

第三章 

数据链路

3.1 数据链路的作用

3.2.1 MAC 地址

MAC 地址用于识别 数据链路中互连的节点。

3.2.2 共享介质网络

共享介质网络指由多个设备共享一个通信介质的一种网络。设备之间使用同一个载波信道进行发送和接受。。为此,基本采用半双工通信,并有必要对介质进行访问控制。

共享介质网络有两种介质访问控制方式 :一种是争用方式,另一种是令牌传递方式

争用方式 是指争夺获取数据传输的权利 也叫CSMA 载波监听多路访问 。这种方式通常令网络中的各个站采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象。也因此会导致网络拥堵与性能下降。

在一部分以太网上,采用了改良的CSMA的另一种方式CSMA/CD 方式 。CSMA/CD 要求每个站提前见检查冲突,一旦发生冲突,则尽早释放信道。carrier sense multiple access with collision detection .

 

令牌传递方式

令牌传递方式是沿着令牌环发送一种叫做令牌的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。这种方式有两个特点:一是不会有冲突,二是每个站都有通过平等循环获得两排的机会。

3.2.3 非共享介质网络

非共享介质网络是指不共享介质,是对介质采取专用的一种传输控制方式。

网络中的每个站直连交换机,由交换机负责转发数据帧。此方式下,发送端与接收端并不共享通信介质,因此很多情况下采用全双工通信方式。

 

3.2.5 环路检测技术

通过网桥连接网络时,一旦出现环路该如何处理?这与网络的拓扑结构和所使用的网桥种类有直接关系。最坏的情况下,数据帧会在环路中被一而再再而三的持续转发。而一旦这种数据帧越积越多将会导致网络瘫痪。

为此,有必要解决网络中的环路问题。具体有生成树与源路由两种方式。

生成树方式

 

每个网桥必须在每1~10秒内相互交换BPDU birdge protocol data unit 包,从而判断哪些端口使用哪些不适用,以便消除环路。一旦发生故障,则自动切换通信线路,利用哪些没有被使用的端口继续进行传输。

 

以某一网桥为构造树的根,并对每个端口设置权重。这一权重可以由网络管理员适当的设置,指定优先使用哪些端口以及发生问题时该使用哪些端口。

生成树发其实语计算机和路由器的功能没有关系,但是只要有生成树的功能就足以消除环路。

IEEE802.1 D中所定义的生成树方法有一个弊端,就是在发生故障切换网络时需要几十秒。为了解决这个用时过长的问题,在IEEE 802.1W中定义了一个叫RSTPrapid spanning tree protocl 的方法。

源路由法 

源路由判断发送数据的源地址是通过那个网桥实现传输的,并将帧写入RIF (Routing information field )。网桥则根据这个RIF 信息发送帧给目标地址。因此,即使网桥中出现了环路,数据帧也不会被反复转发,可成功的发送到目标地址。

 

 

3.2.6 VLAN 

该交换机按照其端口区分了多个网段,从而区分了广播数据传播的范围、减少了网络负载并提高了网络的安全性。然而异构的两个网段之间,就需要利用具有路由功能的交换机,或者在各段中间通过路由器的连接才能实现通信。

对这种VLAN 进行了扩展,定义了IEEE 802.1Q的标准,该标准允许包含跨越异构交换机的网段。TAG VLAN ID 的标签进行唯一标识。在交换机中传输帧时,在以太网首部加入这个VID标签,根据这个值将数据帧发送给哪个网段。

3.3 以太网 

在众多链路中最为著名,使用最为广泛的是以太网。它的规范简单,易于NIC网卡及驱动程序实现。

3.3.1 以太网连接形式

3.3.2 以太网的分类

3.3.4 以太网的帧格式 

以太网帧前端有一个叫做前导码preamble的部分,它由0、1数字交替组合而成,表示一个以太网的开始,也是对端网卡能够确保与其同步的标志。前导码末尾是一个叫做SFD Start frame delimiter的域,它的值是11.在这个域之后就是以太网的本体。前导码与SFD 合起来占8个字节。

以太网本体的前端是以太网的首部,它总共占14个字节。分别是6个字节的目标MAC地址、6个字节的源MAC 地址以及2个字节的上层协议类型。

 

紧随帧头后面的是数据。一个数据帧所能容纳的最大数据范围是46~1500个字节。帧尾是一个叫做FCS frame check sequence 帧检验序列 的四个字节。

类型通常跟数据一起传送,它包含用以标识协议类型的编号,即比哦啊名以太网的再上一层网络协议的类型。

帧尾最后出现的是FCS。用它可以检查帧是否有所损坏。

 

FCS 中保存着整个帧除以生成多项式的余数。在接收端也用同样的方式计算,如果得到的FCS的值相同,就判断所接受的帧没有差错。

 

带有VLAN标记的交换机之间流动的以太网帧格式

 

数据链路层分为两层

如果再进一步细分,还可以将数据链路层分为介质访问控制层和逻辑链路控制层

介质访问控制层 根据以太网或FDDI等不同数据链路所特有的首部信息进行控制。与之相比,逻辑链路层则根据以太网或FDDI等不同数据链路所共有的帧头信息进行控制。

 

3.4 无线通信

无线通信通常使用电磁波、红外线、激光等方式进行传播数据。一般在办公室的局域网内组成的较高速的连接称为无线局域网

3.4.1 无线通信的种类 

无线PAN personal area network 

无线Lan local area network 802.11 

无线MAN metropolitan area network 802.16 

无线RAN regional area network 802.22等无线标准

无线WAN wide area network 的最典型就是手机通信。

 

3.4.2 IEEE 802.11

定义了无线LAN协议中物理层与数据链路层的一部分(MAC)。

作为一种通信方式,IEEE 802.11 在物理层上使用电磁波或红外线,通信速度为1Mpbs或2Mbps。现在已经基本无人使用了。

 

3.4.6 使用无线LAN 时的注意事项

3.4.7 蓝牙

 

3.5PPP 

3.5.1 ppp定义

Point to point protocol PPP 指点对点,即1对1 连接计算机的协议。PPP相当于位于OSI参考模型第二层的数据链路层

PPP可以使用电话线或ISDN、专线、ATM线路 。人们更多的是在用ADSL或有线电视通过PPPo  Etry 实现互联网接入。

PPPoE  PPP over ethernet 

仅有PPP无法实现通信,还需要有物理层的支持。

3.5.2 LCP 与NCP 

 

在PPP的主要功能有两个协议:一个是不依赖上层的LCP 协议(Link control protocol ),另一个是依赖上层的NCP 协议(Network control protocol)

如果上层 为IP,此时的NCP也叫做IPCP ip control protocol 

通过PPP连接 ,通常需要进行用户名密码的验证,并且对通信两端进行双方向的验证。

3.5.3 PPP的帧格式

PPP 的数据帧格式

HDLC就是在每个帧的前后加上一个8位字节 "01111110"用来区分帧。这一个8位字节叫做标志码。在两个标志码中间不允许出现连续6个以上的1。

在通过电脑进行拨号时,PPP已在软件中实现。因此,那些插入或删除0的操作或FCS 计算都交由电脑的CPU去处理。这也是为什么人们常说PPP这种方式会给计算机带来大量负荷的原因所在。

3.5.4 PPPoE 

有些互联网接入服务商在以太网上利用PPPoE  PPP over ethernet 提供PPP功能。

 

单纯的以太网没有验证能力,也没有建立和断开连接的处理,因此无法按时计费。

而才哟个PPPoE管理以太网连接,就可以利用PPP的验证等功能使各家ISP 可以有效的管理终端用户的使用。

3.6  其他数据链路

ATM asynchronous transfer mode 是以一个叫做信元 的单位进行传输的数据链路,由于其线路占用时间段和能够高效传输大容量数据等特点主要用于广域网的连接。

ATM的特点 

3.6.13 高速PLC

高速PLC 是指在家里或办公室内利用电力线上传MHz~数十MHz 频带范围,实现通信方式。使用电力线不用重新布线,也能进行日常生活以及家电设备或办公设备的控制。然而,本不是为通信目的而设计的电力线在传输高频信号时,极容易收到电波干扰,一般仅限于市内使用。

3.7 VPN

虚拟专用网络用于连接距离较远的地域。这种服务包括IP-VPN和广域以太网

IP-VPN 

 

在IP网络上建立VPN

网络服务商提供一种在IP网络上使用MPLS技术构建VPN的服务。其中MPLS(Multiprotocol Label Switching  多协议标签交换 )在IP包种附加一个骄傲做标签(Label)的信息进行传输控制。每个用户的标签信息不同,因此在通过MPLS网时,可以轻松的判断出目标地址。这样一来就可以将多个不同用户的VPN信息 通过MPLS 网加以区分,形成封闭的私有网络。还能进行用户级的带宽控制。

除了使用服务提供商 的IP -VPN 服务之外,有时企业还可以在互联网上建立自己的VPN,一般采用的是IPsec技术。该方法对VPN通信中的IP包进行验证和加密,在互联网上构造一个封闭的私有网络。虽然这种方式可以利用价格低廉的互联网通信线路,并且还可以根据自己的情况对数据进行不同级别的加密,但是有时会收到网络拥堵的影响。

广域以太网

广域以太网 则是作为数据链路层的以太网上利用VLAN 实现VPN的技术。该技术还可以使用TCP/IP 中的其他协议。

 

转载于:https://www.cnblogs.com/ljlkfx/p/4786910.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS太阳月亮地球三角恋旋转效果

纯粹玩一下&#xff0c;好像没有什么实际的卵用&#xff0c;but&#xff0c;纯玩买不了上当&#xff0c;纯玩买不了受骗。。。。。。。。 地月旋转的一个css效果&#xff0c;无聊玩玩&#xff0c;可以复制到记事本试试 <!DOCTYPE html><html lang"en">&l…

gorm preload 搜索_LeetCode刷题笔记|95:不同的二叉搜索树 II

题目描述给定一个整数 n&#xff0c;生成所有由 1 ... n 为节点所组成的 二叉搜索树 。示例输入&#xff1a;3输出&#xff1a;[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释&#xff1a;以上的输出对应以下 5 种不同结构的二叉搜索树&#xf…

Java初学者指南

Java编程的第一步。 对于Java中的入门教程&#xff0c;请参阅Sun的官方帮助这里 除了核心语言外&#xff0c;还有几种技术和API 介绍。 我们建议首先阅读涵盖 基础知识&#xff0c;并继续其余的教程。 我们建议&#xff1a; 保持代码简单易读 拆分逻辑组件&#xff08;类…

Javascript中Promise对象的实现

http://segmentfault.com/a/1190000000684654 http://www.infoq.com/cn/news/2011/09/js-promise/转载于:https://www.cnblogs.com/zuiyirenjian/p/4787864.html

字符串分割与存入List集合

List<string> namelist new List<string>(); string[] namejh null; string name "张三李四王五"; 第一步&#xff1a;将三个名字分离出来 namejh name.Split("".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); namelist new Li…

GTJ2018如何导出全部工程量_如何成为优秀的造价员?广联达编制内刊手册,造价员算量高手秘籍...

如何成为优秀的造价员&#xff1f;广联达编制内刊手册&#xff0c;造价员算量高手秘籍[高手秘籍]是广联达课程编制委员会暨直播委员会精心打造的&#xff0c;能够“让您深入理解软件计算、设置等原理,遇到问题有处理思路,以常见问题为导向&#xff0c;重点进行原因分析&#xf…

带有Spring,Hibernate,Akka,Twitter Bootstrap,Apache Tiles和jQuery的Maven Web项目Kickstarter代码库...

我很高兴将第二个项目上传到GitHub&#xff0c;以帮助人们尽快开始Java Web App开发。 我正在与Apache License 2.0共享此代码。 这是相同的网址&#xff1a; https://github.com/ykameshrao/spring-hibernate-springdata-springmvc-maven-project-framework 该项目包括以下部…

git项目添加.gitigore文件

以前一直没有注意这个文件&#xff0c;最近读到了黄勇的《架构探险》&#xff0c;觉得这个文件还是很有用的。 .gitigore文件可以自己配置。 我使用的是书中所用的配置&#xff0c;简洁明了。 # Maven # target/#log# logs/# IDEA # .idea/ *.iml# Eclipse # .settings/ .metad…

463. 岛屿的周长

给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完全包围&#xff0c;但其中恰好有一个岛屿&a…

C++服务器设计(七):聊天系统服务端实现

在之前的章节中&#xff0c;我们对服务端系统的设计实现原理进行了剖析&#xff0c;在这一章中&#xff0c;我们将对服务端框架进行实际运用&#xff0c;实现一款运行于内网环境的聊天系统。该聊天系统由客户端与服务器两部分组成&#xff0c;同时服务端通过数据库维护用户的账…

高校实验室管理系统_史上最全面的实验室信息管理系统(LIMS)全解

1. LIMS的基本概念和发展状况1.1 概括LIMS实验室管理系统是为实验、检测等业务板块提供流程化、模块化、标准化操作管理系统&#xff0c;打造基于行业法规的实验室全流程质量控制管理系统&#xff0c;实现实验室“人、机、料、法、环”关键环节管理。1.2 发展状况随着科研规范化…

ORM问题

在过去的几年中&#xff0c;像Hibernate这样的对象关系映射工具已经帮助开发人员在处理关系数据库方面取得了巨大的生产力增长。 ORM使开发人员可以将精力集中在应用程序逻辑上&#xff0c;并避免为诸如插入或查询之类的简单任务编写大量样板SQL。 但是&#xff0c;充分证明的对…

ActiveMQ中Session设置的相关理解

名词解释&#xff1a; P&#xff1a;生产者 C&#xff1a;消费者 服务端&#xff1a;P 或者 ActiveMQ服务 客户端&#xff1a;ActiveMQ服务 或者 C 客户端成功接收一条消息的标志是这条消息被签收。成功接收一条消息一般包括如下三个阶段&#xff1a; 1&#xff0e;客户端接收…

python中的 descriptor

学好和用好python&#xff0c; descriptor是必须跨越过去的一个点&#xff0c;现在虽然Python书籍花样百出&#xff0c;但是似乎都是在介绍一些Python库而已&#xff0c;对Python语言本身的关注很少&#xff0c;或者即使关注了&#xff0c;但是能够介绍把 dscriptor介绍清楚的&…

Heroku运行Java

如果您是像我这样的Java迷&#xff0c;那么您有个好消息值得振奋。 Heroku现在运行Java&#xff01; 嗯&#xff0c;与其他流行的“ Web”语言&#xff08;如PHP / RoR&#xff09;不同&#xff0c;Java具有在Web服务器中进行部署和维护的麻烦。 一直以来&#xff0c;只有企业才…

配置了坐标还是找不到serv_为什么老人家总是这疼那疼,还找不到原因?是矫情还是另有原因...

“哎呀&#xff0c;怎么回事&#xff0c;腰痛腿痛的&#xff0c;痛的我一晚上都没怎么睡觉&#xff0c;怎么回事昨天也没干嘛啊&#xff01;”对于这一句话&#xff0c;相信很多朋友都不是很陌生。这句话是来自于一位网友的留言&#xff0c;而说这话的真是她的妈妈。这也是很多…

Nginx负载均衡和LVS负载均衡的比较分析

lvs和nginx都可以用作多机负载的方案&#xff0c;它们各有优缺&#xff0c;在生产环境中需要好好分析实际情况并加以利用。 首先提醒&#xff0c;做技术切不可人云亦云&#xff0c;我云即你云&#xff1b;同时也不可太趋向保守&#xff0c;过于相信旧有方式而等别人来帮你做垫被…

QuartZ.net 常用配置说明

配置文件说明app.config中的quartz部分<quartz><!-- configure Thread Pool--><addkey"quartz.threadPool.type"value"Quartz.Simpl.SimpleThreadPool,Quartz" /><addkey"quartz.threadPool.threadCount"value"10&quo…

qopenglwidget 透明_廊坊透明真空袋用途-祺泰包装

功能方面&#xff1a;平面真空袋抽真空后易形成不平整&#xff0c;不均匀的现象。目前&#xff0c;真空包装主要用于食品的包装&#xff0c;如肉类、谷类加工食品以及易氧化变质的食品&#xff0c;也可用于机械零件、仪器和羽绒制品、毛制品等蓬松制品的包装。在超shi中&#x…

使用Spring Data Neo4j进行领域建模

大家好&#xff0c;威利在这里。 上次我告诉您&#xff0c;我正在使用Neo4j和Spring Data Neo4j构建Skybase CMDB&#xff0c;我很高兴收到很多对此的积极反馈。 我展示了一些代码&#xff0c;但没有那么多。 在本文中&#xff0c;我将向您展示如何使用Spring Data Neo4j在Skyb…