计算机网络概览

计算机网络的两种定义方式:

1.一般地说,将分散的多台计算机、终端和外部设备用通信线路互联起来,彼此间实现互相通信,并且计算机的硬件、软件和数据资源大家都可以共同使用,实现资源共享的整个系统就叫做计算机网络。

2.计算机网络(Computer Network):就是指使用一定的通信线路,把地理位置上相对分散的、具有独立自治能力的计算机系统等连接起来,在一定通信协议的约束与控制下,实现数据交换的通信系统。

TCP/IP5层模型:

1.应用层(application layer)

直接为用户的应用进程提供服务

2.运输层(transport layer)

负责向两个主机中进程之间的通信提供服务

3.网络层(network layer)

负责为分组交换网上的不同主机提供通信服务

4.数据链路层(data link layer)

将源自网络层来的数据可靠地传输到相邻节点的目标机网络层

常见的数据链路层设备有网卡、网桥和二层交换机。

安装在计算机上,用来连接计算机网络的,是计算机网络中最基础的网络设备。

5.分类:有线以太网卡,WLAN无线网卡

物理层(physical layer)

为数据端设备提供传送数据通路、传输数据

OSI7层模型:

各层上传输的数据格式

对等层之间传送的数据单位称为PDU(协议数据单元)

物理层:以最原始的比特流格式传输,其PDU为比特

数据链路层:传输的单位是帧,一个帧包括多个比特,但一个帧的大小必须是一个整数字节。不同协议的真大小也不一样。

网络层:传输的单位是分组(或者是包),一个分组可以包含多个真,分组的大小也要根据不同协议而定。

传输层:在TCP/IP协议体系当中,TCP是以数据段为单位进行传输,UDP是以数据报为单位进行传输

会话层、表示层、应用层:以具体的数据报文为单位进行传输

通信子网和资源子网:

1.通信子网:

把计算机网络中实现网络通信功能的设备及其软件的集合称为网络的通信子网

而把网络中实现资源共享功能的设备及其软件的集合称为资源子网。

网络中实现网络通信功能的设备及其软件的集合,通信设备、网络通信协议、通信控制软件,是网络的内层,负责信息的传输。主要为用户提供数据的传输,转接,加工,变换等

中继器

集线器

交换机

通讯线缆

路由器

各种网关硬件设备等

2.资源子网:

资源子网主要由网络的服务器、工作站、共享的打印机和其他设备及相关软件所组成。资源子网的主体为网络资源设备,包括:

用户计算机(也称工作站)

网络存储系统

网络打印机

独立运行的网络数据设备

网络终端

服务器

网络上运行的各种软件资源

数据资源等

网桥工作机制:

二层交换机工作机制:

vlan基础概念:

VLAN的主要用途就是把一个大的交换网络划分成多个小的交换网络。

缩小广播域,减小二层网络中广播流量对整个交换网络的影响。

VLAN是二层协议,VLAN的虚拟,或者逻辑属性决定了这些VLAN之间没有物理二层连接(只有逻辑连接),各自彼此独立,相当于一个个独立的二层交换网络一样。每个VLAN成员与其他VLAN中的成员进行通信都必须通过双方作为各自VLAN成员网关的三层SVI接口来进行互访。

1.线路交换

“线路交换”(CircuitSwitching,也称“电路交换”)是最原始的数据交换方式,是在网络中利用可切换的物理通信线路直接连接通信双方所进行的一种数据交换方式。

线路交换”是面向连接的服务,两台计算机通过通信子网进行数据交换之前,首先要在通信子网中建立一个实际的物理线路连接(通常是由一种开关电路来控制)。其最主要特点就是在进行数据交换前先需在一对用户之间建立起一条专用的数据通路,在整个数据传输过程中要经过线路建立、数据传输与线路释这三个

2.存储-转发

存储-转发”是网络结点运用程序先将途径的数据流按传输单元(可以是报文或报文分组)接收并存储下来,一个数据单元接收完后根据相关的路由算法选择一条合适的路由路径将数据转发出去,在逻辑(不是物理线路)上为数据流提供了传输通路

①报文交换

“报文交换”是指信息以“报文”(message,完整数据的一个信息段)为单位进行存储-转发的一种数据交换方式。在“报文交换”方式中,“报文”是网络中交换与传输的数据单元,即站点一次性要发送的数据块,包含了将要发送的完整的数据信息,其长短可能不一致,长度不限且可变。

②分组交换

⑴数据报服务

其中的分组称之为“数据报”(datagram)。它采用路由技术,在要转发的数据包头部加上源节点和目的节点的IP地址,然后通过路由技术一级级地把数据转发下去。

⑵虚电路服务

所建立的虚拟通道称之为“虚电路”(Virtual Circuit,VC)。不依靠路由技术,而是在进行数据分组转前先在源节点和目的节点间的所有路由器间建立一条虚拟的通信通道,然后再把数据分组从这个虚拟通道中转发到目的节点。

IPV4报文格式:

1.版本:占4位,比如0100代表ipv4,0110表示ipv6

2.首部长度:数据包的可选字段大小会发生变化(20-60),就是上图的固定部分+可选部分

首部长度占4 位,可表示的最大数值是15 个单位,注意:这个字段所表示的数的单位是32位字(一个32位字长是4 字节),因此IP 的首部长度的最大值是60 字节。

3.服务类型:优先权,TOS,用于分类,识别数据包优先级

4.显示拥塞通知(ECN):用于拥塞信号

5.总长度——占16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535 字节。

总长度必须不超过最大传送单元 MTU。

6.标识符:与标记字段和分段偏移字段共同用于数据包分段(如果数据包大小大于数据链MTU值,则需要分解数据包再进行转发)

7.标记字段:长度为3位,第一位没用,第二位是不分段DF位(当DF=1表示数据包不允许被分段,从而被丢弃,可以用于测试MTU值)用ping可以对DF设置

第三位(MF位):当路由器对MF进行分段时,路由器对数据包进行分段时,除了最后一个MF位设置为0外,其他所有分段MF值都为1,接受者收到MF位为0的分段为止

8.分段偏移:片偏移(13 位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以8 个字节为偏移单位。作用是防止错序,使接受者收到数据段重组时按照正确的顺序

9.生存时间:TTL防止数据包在网络上无休止转发,到0则丢弃

10.协议:协议(8 位)字段指出此数据报携带的数据使用何种协议,以便目的主机的IP 层将数据部分上交给哪个处理过程。协议号 1代表icmp  4代表ip  6是TCP  17是UDP  47是GRE  89 OSPF

11.首部校验和:纠错,校验首部但不校验数据部分

12.源地址和目的地址:发送者,接受者

13.可选项:用于测试

松散源路由选择(loose):允许跨越多台路由器

严格源路由选择(strict):下一跳在列表中就转发,不在则丢弃

记录路由:记录了数据包双向路径上的出接口信息,就是走过的接口

时间戳:记录了时间(什么时候走过哪台路由器的哪一个接口)

14.填充:用于在可选项字段后添加0来补足32位,保证报头长度是32的倍数

ARP概述:

ARP是将IP地址解析为以太网MAC地址(或称物理地址)的协议。

ARP是一个独立的三层协议

ARP报文在向数据链路层传输时是不需要经过IP协议的封装,而是直接生成自己的报文。

ARP映射表

IP地址与MAC地址的对应关系:

ARP地址解析原理:

ICMP(InternetContral Message Protocol)Internet控制报文协议

IP协议簇中的一个子协议

用于在IP主机、路由器之间传递控制消息

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息

网络地址

用来标识一个有类或无类网络的地址,是对应网络或子网的第一个IPv4地址,即“主机ID”部分全为0的IPv4地址

主机地址

除了网络地址和广播地址这两个一头一尾的地址外,中间的其他所有地址都是主机地址,可以直接分配给主机使用

广播地址

是一个有类或无类网络中的最后一个IPv4地址,即“主机ID”部分全为1的IPv4地址

示例题目:

1、一公司原来使用的是192.168.1.0/24这个标准网络,现在想为公司中每个部门(共6个)单独配置一个子网,其中最大一个部门要分配IPv4地址的数量不超过25个。求每个子网的子网掩码、地址范围、网络地址和广播地址。

答案:

掩码:255.255.255.224---2^5>25,所以主机位为5,网络位为3,即11100000=224

地址范围:0-31,32-63,64-95,96-127,128-159,160-191,192-223,224-255

网络地址:.0 .32 .64 .96 .128 .160 .192 .224

广播地址: 31 63 95 127 159 191 223 255

传输层协议解析请参考另一篇博客传输层协议详解

时间: 2024-10-05 04:58:53

计算机网络概览的相关文章

程序员的自我修养(2)——计算机网络

转:http://kb.cnblogs.com/page/211867/ 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量的系列文章链接,以方便大家随时参考学习.相信通过本文的学习,你能对计算机网络有全面的认识! 在阅读本文之前,建议阅读以下两遍文章,以便对”计算机网络是如何工作”的有个大概的了解. 互联网协议入门(一) 互联网协议入门(二) 接下来,我们介绍一些基础网络知识. OSI参

程序员的自我修养(2)——计算机网络(转)

相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量的系列文章链接,以方便大家随时参考学习.相信通过本文的学习,你能对计算机网络有全面的认识! 在阅读本文之前,建议阅读以下两遍文章,以便对”计算机网络是如何工作”的有个大概的了解. 互联网协议入门(一) 互联网协议入门(二) 接下来,我们介绍一些基础网络知识. OSI参考模型 一上来就是OSI七层参考

计算机网络(一)——互联网层

计算机网络,顾名思义,是由若干链路组成的,这些链路结点可以是计算机,集线器,交换机或路由器等:网络和网络之间可以通过路由器进行互联,这就是互联网的由来,而因特网就是最大的互联网:网络的存在是将许多计算机连接在一起,而因特网的存在是将许多网络连接在一起:网络的主要功能是让不同的主机之间进行数据的通信,实现大范围的资源共享:计算机之间的数据通信是通过接口来实现的: 因特网的组成部分分为边缘部分和核心部分:边缘部分为网络中的各个主机组成,核心部分是由连接这些网络的路由器组成,为边缘部分的主机提供服务:

有关计算机网络的知识分享一~

计算机网络这些基本的知识,之前学过,但那时正是爱玩绝不学习的时候,所以基本没什么印象,现在正常重新补一下. 所谓网络,是一系列可用于通信的设备相互连接构成的.在这个定义里面,一个设备可以是一台主机(或用另一种称呼,端系统),比如一台大型计算机,台式机,便携式计算机,工作站,手机或安全系统.在这种定义中,设备也可以是一个连接设备,比如用来将一个网络与另一个网络相连接的路由器,一个将不同设备连接在一起的交换机,或者一个用于改变数据形式的调制解调器,等等. 局域网(LAN,Local Area Net

计算机网络编程基本概念

网络: 计算机网络由一组通过通信信道相互连接的机器组成.我们把这些机器称为主机(hosts)和路由器(routers). 路由: 路由器的作用是将信息从一个通信信道传递或转发(forward)到另一个通信信道. 信道: 通信信道(communication channel)进行解释:它是将字节序列从一个主机传输到另一个主机的一种手段,可能是有线电缆,如以太网(Ethernet),也可能是无线的,如WiFi[ ],或是其他方式的连接. 报文: 这里的信息(information)是指由程序创建和解

网络基础篇----计算机网络基本概述(1)

享受生活  热爱挑战                                                                刘明远分享    一   计算机网络基本概述(1) 每章一段话: 不要让自己闲下来,给自己找些事情做.哪怕是看看书. 正文   (提示:本章内容比较无聊,最好当看故事一样来看,不必记下只需了解,内容基础) 1什么是计算机网络 号称新的"电力火花"是以计算机.通信.信息技术为支撑的计算机网络技术. 计算机网络将两台或多台计算机通过电缆或网络设

计算机网络学习1-网络层次

计算机网络学习中最基本的是计算机网络分层模型,目前学习需要了解的有两种 1.OSI(开放系统互连)有七层,记忆方法:无数网传会报应(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层) 具体每层功能分析: 1.1物理层:规定建立,维持,断开通信端之间的机械.电气.功能.过程特性.单位bit: 物理层标准有:RJ-45,V3.5等 1.2数据链路层:不可靠物理介质上提供可靠的传输.单位frame: 数据链路层标准:SDLC,HDLC,PPP,帧中继等 1.3网络层:对数据包进行路由选择和转

PHP整体概览

PHP概览及基础入门 1.PHP面向对象 2.smarty 3.AJax 4.PHP访问MYSQL数据库 5.PHP Date()函数 6.PHP正则表达式(PCRE) 7.PHP异常处理 8.PHP错误处理 9.PHP Sessions 10.PHP Cookie 11.文件处理 12.包含文件 13.命名空间(namespace) 14.魔术变量 15.函数 16.循环 17.超级全局变量 18.数组排序 19.数组 20.条件语句 21.运算符 22.字符串变量 23.常量 24.数据类型

PHP概览

PHP概览及基础入门 1.PHP面向对象 2.smarty 3.AJax 4.PHP访问MYSQL数据库 5.PHP Date()函数 6.PHP正则表达式(PCRE) 7.PHP异常处理 8.PHP错误处理 9.PHP Sessions 10.PHP Cookie 11.文件处理 12.包含文件 13.命名空间(namespace) 14.魔术变量 15.函数 16.循环 17.超级全局变量 18.数组排序 19.数组 20.条件语句 21.运算符 22.字符串变量 23.常量 24.数据类型